Mlt.h, MltFactory.{h,cpp}, MltRepository.{h,cpp}, swig/mltpp.i: update to deal with...
[melted] / mlt++ / src / MltFactory.h
index 0128698..aeec588 100644 (file)
@@ -1,6 +1,7 @@
 /**
  * MltFactory.h - MLT Wrapper
  * Copyright (C) 2004-2005 Charles Yates
+ * Copyright (C) 2008 Dan Dennedy <dan@dennedy.org>
  * Author: Charles Yates <charles.yates@pandora.be>
  *
  * This program is free software; you can redistribute it and/or modify
 #ifndef _MLTPP_FACTORY_H_
 #define _MLTPP_FACTORY_H_
 
+#include "config.h"
+
+#ifdef SWIG
+#define MLTPP_DECLSPEC
+#endif
+
 #include <framework/mlt.h>
 
 namespace Mlt
@@ -30,16 +37,22 @@ namespace Mlt
        class Filter;
        class Transition;
        class Consumer;
+       class Profile;
+       class Repository;
 
-       class Factory
+       class MLTPP_DECLSPEC Factory
        {
                public:
-                       static int init( char *arg = NULL );
+                       static Repository *init( const char *directory = NULL );
                        static Properties *event_object( );
-                       static Producer *producer( char *id, char *arg = NULL );
-                       static Filter *filter( char *id, char *arg = NULL );
-                       static Transition *transition( char *id, char *arg = NULL );
-                       static Consumer *consumer( char *id, char *arg = NULL );
+                       static Producer *producer( Profile& profile, char *id, char *arg = NULL );
+                       static Filter *filter( Profile& profile, char *id, char *arg = NULL );
+                       static Transition *transition( Profile& profile, char *id, char *arg = NULL );
+                       static Consumer *consumer( Profile& profile, char *id, char *arg = NULL );
+#ifdef WIN32
+                       static char *getenv( const char * );
+                       static int setenv( const char *, const char * );
+#endif
                        static void close( );
        };
 }