X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltProperties.h;h=4e5166877dc85a8f08462eb5e4c52105dcc24a3c;hb=55757b000043f6e370b9e963ce2e3542962c03c0;hp=25016f3cf73f942b77c88134c2bed7b8af0cd8d4;hpb=01116637238e74419971afc26311c7a65b7b43aa;p=melted diff --git a/mlt++/src/MltProperties.h b/mlt++/src/MltProperties.h index 25016f3..4e51668 100644 --- a/mlt++/src/MltProperties.h +++ b/mlt++/src/MltProperties.h @@ -21,45 +21,67 @@ #ifndef _MLTPP_PROPERTIES_H_ #define _MLTPP_PROPERTIES_H_ +#include "config.h" + #include #include namespace Mlt { + class Event; + /** Abstract Properties class. */ - class Properties + class MLTPP_DECLSPEC Properties { private: - bool destroy; mlt_properties instance; public: Properties( ); + Properties( bool dummy ); Properties( Properties &properties ); Properties( mlt_properties properties ); - Properties( char *file ); + Properties( const char *file ); virtual ~Properties( ); virtual mlt_properties get_properties( ); + int inc_ref( ); + int dec_ref( ); + int ref_count( ); + void block( void *object = NULL ); + void unblock( void *object = NULL ); + void fire_event( const char *event ); bool is_valid( ); int count( ); - char *get( char *name ); - int get_int( char *name ); - double get_double( char *name ); - void *get_data( char *name, int &size ); - int set( char *name, char *value ); - int set( char *name, int value ); - int set( char *name, double value ); - int set( char *name, void *value, int size, mlt_destructor destroy = NULL, mlt_serialiser serial = NULL ); - int pass( Properties &that, char *prefix ); - int parse( char *namevalue ); + char *get( const char *name ); + int get_int( const char *name ); + double get_double( const char *name ); + void *get_data( const char *name, int &size ); + void *get_data( const char *name ); + int set( const char *name, const char *value ); + int set( const char *name, int value ); + int set( const char *name, double value ); + int set( const char *name, void *value, int size, mlt_destructor destroy = NULL, mlt_serialiser serial = NULL ); + int pass_values( Properties &that, const char *prefix ); + int parse( const char *namevalue ); char *get_name( int index ); char *get( int index ); void *get_data( int index, int &size ); void mirror( Properties &that ); int inherit( Properties &that ); - int rename( char *source, char *dest ); + int rename( const char *source, const char *dest ); void dump( FILE *output = stderr ); + void debug( const char *title = "Object", FILE *output = stderr ); + void load( const char *file ); + int save( const char *file ); + #if defined( __DARWIN__ ) && GCC_VERSION < 40000 + Event *listen( char *id, void *object, void (*)( ... ) ); + #else + Event *listen( char *id, void *object, mlt_listener ); + #endif + static void delete_event( Event * ); + Event *setup_wait_for( char *id ); + void wait_for( Event *, bool destroy = true ); }; }