Add a .gitignore file
[melted] / mlt++ / src / MltFactory.h
index 82d173a..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>
-#include "MltProducer.h"
-#include "MltFilter.h"
-#include "MltTransition.h"
-#include "MltConsumer.h"
 
 namespace Mlt
 {
-       class Factory
+       class Properties;
+       class Producer;
+       class Filter;
+       class Transition;
+       class Consumer;
+       class Profile;
+       class Repository;
+
+       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( 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( );
        };
 }