00001
00002
00003
00004
00005
00010 #ifndef PLUGIN_H
00011 #define PLUGIN_H
00012
00013 #ifdef HAVE_CONFIG_H
00014 #include <config.h>
00015 #endif
00016
00017 #include "FW/labImage.h"
00018 #include "improv_plugin.h"
00019
00020 class Plugin
00021 {
00022 public:
00024 Plugin(void) {}
00026 virtual ~Plugin(void) {}
00027
00029 virtual pluginReturnType processId(int id, Picture **in, Picture *out, float *params, void *result) = 0;
00031 virtual void printInfo(void) = 0;
00033 virtual void listOps(void) = 0;
00035 virtual bool isReady(void) = 0;
00037 virtual unsigned int getNumOps(void) = 0;
00039 virtual bool getOpInfo(int id, char** category, char** name, unsigned int* num_inputs, unsigned int* num_params, char*** param_names, pluginResultType *resultType, size_t *resultSize) = 0;
00041 virtual int getUniqueId(void) = 0;
00043 virtual const char *getFileName(void) = 0;
00044
00045 protected:
00047 bool ready;
00048
00049 };
00050
00051 #endif
00052