Constness changes
[melted] / mlt++ / src / MltProperties.h
index c9429c1..e236675 100644 (file)
 #ifndef _MLTPP_PROPERTIES_H_
 #define _MLTPP_PROPERTIES_H_
 
+#include "config.h"
+
+#include <stdio.h>
 #include <framework/mlt.h>
 
 namespace Mlt 
 {
+       class Event;
+
        /** Abstract Properties class.
         */
 
-       class Properties 
-       {
-               public:
-                       virtual mlt_properties get_properties( ) = 0;
-                       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 );
-       };
-       
-       /** Instance class.
-        */
-       
-       class PropertiesInstance : public Properties
+       class MLTPP_DECLSPEC Properties 
        {
                private:
-                       bool destroy;
                        mlt_properties instance;
                public:
-                       mlt_properties get_properties( );
-                       PropertiesInstance( );
-                       PropertiesInstance( Properties &properties );
-                       PropertiesInstance( mlt_properties properties );
-                       virtual ~PropertiesInstance( );
+                       Properties( );
+                       Properties( bool dummy );
+                       Properties( Properties &properties );
+                       Properties( mlt_properties properties );
+                       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( 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( 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( 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 );
        };
 }