X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltProperties.h;h=e236675727f4911cfb59fb979a27eb2f55c55a84;hb=14cff280de066eb895c91bb13245ac81f5fdb25b;hp=6dae3827e1f43e5e746e3ba5325c6aa4c73db0c2;hpb=a300a3d71ba13c4063bcc919d4c0193ab66eeb73;p=melted diff --git a/mlt++/src/MltProperties.h b/mlt++/src/MltProperties.h index 6dae382..e236675 100644 --- a/mlt++/src/MltProperties.h +++ b/mlt++/src/MltProperties.h @@ -21,6 +21,8 @@ #ifndef _MLTPP_PROPERTIES_H_ #define _MLTPP_PROPERTIES_H_ +#include "config.h" + #include #include @@ -31,44 +33,54 @@ namespace Mlt /** Abstract Properties class. */ - class Properties + class MLTPP_DECLSPEC Properties { private: mlt_properties instance; - protected: - virtual mlt_properties get_properties( ); 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_values( 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( char *title = "Object", FILE *output = stderr ); - int save( char *file ); - void listen( char *id, void *object, mlt_listener listener ); - Event *setup_wait_for( char *id ); + 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( const char *id, void *object, void (*)( ... ) ); + #else + Event *listen( const char *id, void *object, mlt_listener ); + #endif + static void delete_event( Event * ); + Event *setup_wait_for( const char *id ); void wait_for( Event *, bool destroy = true ); }; }