mlt 0.7.6

mlt_repository.h

Go to the documentation of this file.
00001 
00025 #ifndef _MLT_REPOSITORY_H_
00026 #define _MLT_REPOSITORY_H_
00027 
00028 #include "mlt_types.h"
00029 #include "mlt_profile.h"
00030 
00037 typedef void ( *mlt_repository_callback )( mlt_repository );
00038 
00042 typedef void *( *mlt_register_callback )( mlt_profile, mlt_service_type, const char * /* service name */, const void * /* arg */ );
00043 
00047 typedef mlt_properties ( *mlt_metadata_callback )( mlt_service_type, const char * /* service name */, void * /* callback_data */ );
00048 
00050 #define MLT_REPOSITORY void mlt_register( mlt_repository repository )
00051 
00053 #define MLT_REGISTER( type, service, symbol  ) ( mlt_repository_register( repository, (type), (service), ( mlt_register_callback )(symbol) ) )
00054 
00056 #define MLT_REGISTER_METADATA( type, service, callback, data ) ( mlt_repository_register_metadata( repository, (type), (service), ( mlt_metadata_callback )(callback), (data) ) )
00057 
00058 extern mlt_repository mlt_repository_init( const char *directory );
00059 extern void mlt_repository_register( mlt_repository self, mlt_service_type service_type, const char *service, mlt_register_callback );
00060 extern void *mlt_repository_create( mlt_repository self, mlt_profile profile, mlt_service_type type, const char *service, const void *arg );
00061 extern void mlt_repository_close( mlt_repository self );
00062 extern mlt_properties mlt_repository_consumers( mlt_repository self );
00063 extern mlt_properties mlt_repository_filters( mlt_repository self );
00064 extern mlt_properties mlt_repository_producers( mlt_repository self );
00065 extern mlt_properties mlt_repository_transitions( mlt_repository self );
00066 extern void mlt_repository_register_metadata( mlt_repository self, mlt_service_type type, const char *service, mlt_metadata_callback, void *callback_data );
00067 extern mlt_properties mlt_repository_metadata( mlt_repository self, mlt_service_type type, const char *service );
00068 extern mlt_properties mlt_repository_languages( mlt_repository self );
00069 extern mlt_properties mlt_repository_presets( );
00070 
00071 #endif
00072 
TWiki Appliance - Powered by TurnKey Linux