X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltProperties.h;h=4e5166877dc85a8f08462eb5e4c52105dcc24a3c;hb=55757b000043f6e370b9e963ce2e3542962c03c0;hp=c8bb1995bca0d317a17b4670c59b7ad7eaaa5233;hpb=abc4d14957a257a91fcab8177d91d5a067450afd;p=melted diff --git a/mlt++/src/MltProperties.h b/mlt++/src/MltProperties.h index c8bb199..4e51668 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,19 +33,18 @@ 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( ); @@ -52,26 +53,33 @@ namespace Mlt 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 ); - Event *listen( char *id, void *object, mlt_listener listener ); + 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 ); };