#include "MltRepository.h"
#include "MltProfile.h"
+#include "MltProperties.h"
using namespace Mlt;
Repository::Repository( const char* directory ) :
instance = NULL;
}
-void Repository::register_service( mlt_service_type service_type, const char *service, void *symbol )
+void Repository::register_service( mlt_service_type service_type, const char *service, mlt_register_callback symbol )
{
mlt_repository_register( instance, service_type, service, symbol );
}
{
return mlt_repository_create( instance, profile.get_profile(), type, service, arg );
}
+
+Properties *Repository::consumers( ) const
+{
+ return new Properties( mlt_repository_consumers( instance ) );
+}
+
+Properties *Repository::filters( ) const
+{
+ return new Properties( mlt_repository_filters( instance ) );
+}
+
+Properties *Repository::producers( ) const
+{
+ return new Properties( mlt_repository_producers( instance ) );
+}
+
+Properties *Repository::transitions( ) const
+{
+ return new Properties( mlt_repository_transitions( instance ) );
+}
+
+void Repository::register_metadata( mlt_service_type type, const char *service, mlt_metadata_callback callback, void *callback_data )
+{
+ mlt_repository_register_metadata( instance, type, service, callback, callback_data );
+}
+
+Properties *Repository::metadata( mlt_service_type type, const char *service ) const
+{
+ return new Properties( mlt_repository_metadata( instance, type, service ) );
+}