Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Related Pages  

ipPlugin.h

00001 /* ipPlugin.h
00002  * Last modified: 
00003  * Authors: Daniel Venkitachalam <venki-d@ee.uwa.edu.au>
00004  *          Leon Koch <leon@redfishsoftware.com.au>
00005  */
00012 #ifndef IPPLUGIN_H
00013 #define IPPLUGIN_H
00014 
00015 #ifdef HAVE_CONFIG_H
00016 #include <config.h>
00017 #endif
00018 
00019 #include <dlfcn.h>
00020 #include <assert.h>
00021 #include <string.h>
00022 
00023 #include "improv_plugin.h"
00024 #include "plugin.h"
00025 
00026 class ipPlugin : public Plugin
00027 {
00028         public:
00030                 ipPlugin(const char* plugin_file);
00032                 ~ipPlugin();
00033 
00035                 pluginReturnType processId(int id, Picture **in, Picture *out, float *params, void *result);
00037                 void printInfo(void);
00039                 bool isReady(void);
00041                 void listOps(void);
00043                 unsigned int getNumOps(void);
00045                 bool getOpInfo(int id, char** category, char** name, unsigned int* num_inputs, unsigned int* num_params, char*** param_names, pluginResultType *resultType, size_t *resultSize);
00047                 int getUniqueId(void);
00049                 const char *getFileName(void);
00050 
00051         private:
00053                 const char* plugin_file;
00055                 void* phandle;
00057                 IP_Handle* iphandle;
00059                 IP_Descriptor* desc;
00061                 int init_plugin(void);
00063                 IP_Descriptor* get_plugin_desc(void);
00064                 
00065 };
00066 
00067 #endif

Generated on Tue Apr 1 11:01:16 2003 for ImprovQT by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002