/**
* 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 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 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( );
};
}