00001 #ifndef NDPluginColorConvert_H
00002 #define NDPluginColorConvert_H
00003
00004 #include <epicsTypes.h>
00005
00006 #include "NDPluginDriver.h"
00007
00009 typedef enum
00010 {
00011 NDPluginColorConvertColorModeOut
00012
00013 = NDPluginDriverLastParam,
00014 NDPluginColorConvertLastParam
00015 } NDPluginColorConvertParam_t;
00016
00017 #define NUM_COLOR_CONVERT_PARAMS (sizeof(NDPluginColorConvertParamString)/sizeof(NDPluginColorConvertParamString[0]))
00018
00019
00032 class NDPluginColorConvert : public NDPluginDriver {
00033 public:
00034 NDPluginColorConvert(const char *portName, int queueSize, int blockingCallbacks,
00035 const char *NDArrayPort, int NDArrayAddr,
00036 int maxBuffers, size_t maxMemory,
00037 int priority, int stackSize);
00038
00039
00040 void processCallbacks(NDArray *pArray);
00041 asynStatus drvUserCreate(asynUser *pasynUser, const char *drvInfo,
00042 const char **pptypeName, size_t *psize);
00043 private:
00044
00045 template <typename epicsType> void convertColor(NDArray *pArray);
00046 };
00047
00048
00049 #endif