asyn 4-19
|
00001 #ifndef paramList_H 00002 #define paramList_H 00003 00004 #ifdef __cplusplus 00005 #include "asynStandardInterfaces.h" 00006 #include "asynParamType.h" 00007 #include "paramVal.h" 00008 00009 00010 00016 class paramList { 00017 public: 00018 paramList(int nVals, asynStandardInterfaces *pasynInterfaces); 00019 ~paramList(); 00020 paramVal* getParameter(int index); 00021 asynStatus createParam(const char *name, asynParamType type, int *index); 00022 asynStatus findParam(const char *name, int *index); 00023 asynStatus getName(int index, const char **name); 00024 asynStatus setInteger(int index, int value); 00025 asynStatus setUInt32(int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask); 00026 asynStatus setDouble(int index, double value); 00027 asynStatus setString(int index, const char *string); 00028 asynStatus getInteger(int index, int *value); 00029 asynStatus getUInt32(int index, epicsUInt32 *value, epicsUInt32 mask); 00030 asynStatus getDouble(int index, double *value); 00031 asynStatus getString(int index, int maxChars, char *value); 00032 asynStatus setUInt32Interrupt(int index, epicsUInt32 mask, interruptReason reason); 00033 asynStatus clearUInt32Interrupt(int index, epicsUInt32 mask); 00034 asynStatus getUInt32Interrupt(int index, epicsUInt32 *mask, interruptReason reason); 00035 asynStatus callCallbacks(int addr); 00036 asynStatus callCallbacks(); 00037 asynStatus setStatus(int index, asynStatus status); 00038 asynStatus getStatus(int index, asynStatus *status); 00039 void report(FILE *fp, int details); 00040 00041 private: 00042 asynStatus setFlag(int index); 00043 asynStatus int32Callback(int command, int addr); 00044 asynStatus uint32Callback(int command, int addr, epicsUInt32 interruptMask); 00045 asynStatus float64Callback(int command, int addr); 00046 asynStatus octetCallback(int command, int addr); 00047 void registerParameterChange(paramVal *param, int index); 00048 int nextParam; 00049 int nVals; 00050 int nFlags; 00051 asynStandardInterfaces *pasynInterfaces; 00052 int *flags; 00053 paramVal **vals; 00054 }; 00055 00056 #endif /* cplusplus */ 00057 00058 #endif 00059