#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
+ 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 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 );
};
}