Add a .gitignore file
[melted] / mlt++ / src / MltRepository.cpp
index a9d1d54..d8984a2 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "MltRepository.h"
 #include "MltProfile.h"
+#include "MltProperties.h"
 using namespace Mlt;
 
 Repository::Repository( const char* directory ) :
@@ -39,7 +40,7 @@ Repository::~Repository( )
        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 );
 }
@@ -48,3 +49,33 @@ void *Repository::create( Profile& profile, mlt_service_type type, const char *s
 {
        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 ) );
+}