X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltProperties.h;h=e236675727f4911cfb59fb979a27eb2f55c55a84;hb=14cff280de066eb895c91bb13245ac81f5fdb25b;hp=1734200b8604202a0d4881d75c3b6973f78d17a6;hpb=1a4cf7f5285d16d0530ea03c2b524be7c1aa5dbc;p=melted diff --git a/mlt++/src/MltProperties.h b/mlt++/src/MltProperties.h index 1734200..e236675 100644 --- a/mlt++/src/MltProperties.h +++ b/mlt++/src/MltProperties.h @@ -21,47 +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; - 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 ); - int save( char *file ); + 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 ); }; }