00001 00002 /* paramAttribute.h 00003 * 00004 * \author Mark Rivers 00005 * 00006 * \author University of Chicago 00007 * 00008 * \date April 30, 2009 00009 * 00010 */ 00011 #ifndef INCparamAttributeH 00012 #define INCparamAttributeH 00013 00014 #include <ellLib.h> 00015 #include <cadef.h> 00016 00017 #include "NDArray.h" 00018 #include "asynNDArrayDriver.h" 00019 00021 #define DBR_NATIVE -1 00022 00023 typedef enum { 00024 paramAttrTypeInt, 00025 paramAttrTypeDouble, 00026 paramAttrTypeString, 00027 paramAttrTypeUnknown 00028 } paramAttrType_t; 00029 00033 class paramAttribute : public NDAttribute { 00034 public: 00035 paramAttribute(const char *pName, const char *pDescription, const char *pSource, int addr, 00036 class asynNDArrayDriver *pDriver, const char *dataType); 00037 ~paramAttribute(); 00038 virtual int updateValue(); 00039 int report(int details); 00040 00041 private: 00042 int paramId; 00043 int paramAddr; 00044 paramAttrType_t paramType; 00045 class asynNDArrayDriver *pDriver; 00046 }; 00047 00048 #endif /*INCparamAttributeH*/