asyn 4-45
paramVal.h
Go to the documentation of this file.
1#ifndef asynparamVal_H
2#define asynparamVal_H
3
4#include "stdio.h"
5#include "epicsTypes.h"
6#include "asynParamType.h"
7#include "asynDriver.h"
8#ifdef __cplusplus
9
10#include <string>
11
13class paramVal {
14public:
15 paramVal(const char *name);
17 ~paramVal();
18 bool isDefined();
19 void setDefined(bool defined);
20 bool hasValueChanged();
21 void setValueChanged();
22 void resetValueChanged();
23 void setStatus(asynStatus status);
24 asynStatus getStatus();
25 void setAlarmStatus(int status);
26 int getAlarmStatus();
27 void setAlarmSeverity(int severity);
28 int getAlarmSeverity();
29 char* getName();
30 bool nameEquals(const char* name);
31 void setInteger(epicsInt32 value);
32 epicsInt32 getInteger();
33 void setInteger64(epicsInt64 value);
34 epicsInt64 getInteger64();
35 void setUInt32(epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask);
36 epicsUInt32 getUInt32(epicsUInt32 valueMask);
37 void setDouble(epicsFloat64 value);
38 epicsFloat64 getDouble();
39 void setString(const std::string& value);
40 const std::string& getString();
41 void report(int id, FILE *fp, int details);
42 const char* getTypeName();
44 static const char* typeNames[];
45 epicsUInt32 uInt32RisingMask;
46 epicsUInt32 uInt32FallingMask;
47 epicsUInt32 uInt32CallbackMask;
48
49protected:
50 asynStatus status_;
55 char *name;
56 std::string sval;
58 union
59 {
60 epicsInt32 ival;
61 epicsInt64 i64val;
62 epicsUInt32 uival;
63 epicsFloat64 dval;
64 epicsInt8 *pi8;
65 epicsInt16 *pi16;
66 epicsInt32 *pi32;
67 epicsInt64 *pi64;
68 epicsFloat32 *pf32;
69 epicsFloat64 *pf64;
70 void *pgp;
72};
73
74#endif /* cplusplus */
75
76#endif
asynParamType
Parameter data types for the parameter library.
Definition asynParamType.h:12
Structure for storing parameter value in parameter library.
Definition paramVal.h:13
epicsUInt32 getUInt32(epicsUInt32 valueMask)
Gets the value for a UInt32 in the parameter library.
Definition paramVal.cpp:230
void setStatus(asynStatus status)
Definition paramVal.cpp:71
epicsInt32 * pi32
Definition paramVal.h:66
static const char * typeNames[]
Definition paramVal.h:16
epicsInt16 * pi16
Definition paramVal.h:65
bool valueChanged
Definition paramVal.h:54
bool isDefined()
Definition paramVal.cpp:55
void setAlarmSeverity(int severity)
Definition paramVal.cpp:97
void setString(const std::string &value)
Sets the value for a string in the parameter library.
Definition paramVal.cpp:271
void setDefined(bool defined)
Definition paramVal.cpp:113
void setUInt32(epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
Sets the value for a UInt32 in the parameter library.
Definition paramVal.cpp:190
int getAlarmStatus()
Definition paramVal.cpp:93
epicsInt64 i64val
Definition paramVal.h:61
asynStatus getStatus()
Definition paramVal.cpp:80
const std::string & getString()
Gets the value for a string in the parameter library.
Definition paramVal.cpp:287
void report(int id, FILE *fp, int details)
Definition paramVal.cpp:296
epicsInt8 * pi8
Definition paramVal.h:64
void setInteger(epicsInt32 value)
Sets the value for an integer.
Definition paramVal.cpp:131
int getAlarmSeverity()
Definition paramVal.cpp:106
bool valueDefined
Definition paramVal.h:53
epicsUInt32 uInt32RisingMask
Definition paramVal.h:45
epicsFloat64 dval
Definition paramVal.h:63
epicsUInt32 uival
Definition paramVal.h:62
char * getName()
Definition paramVal.cpp:117
void setInteger64(epicsInt64 value)
Sets the value for a 64-bit integer.
Definition paramVal.cpp:160
epicsInt32 ival
Definition paramVal.h:60
int alarmStatus_
Definition paramVal.h:51
epicsInt64 * pi64
Definition paramVal.h:67
epicsFloat64 getDouble()
Gets the value for an double in the parameter library.
Definition paramVal.cpp:259
asynParamType type
Parameter data type.
Definition paramVal.h:43
void setAlarmStatus(int status)
Definition paramVal.cpp:84
epicsUInt32 uInt32FallingMask
Definition paramVal.h:46
~paramVal()
Definition paramVal.cpp:48
void setValueChanged()
Definition paramVal.cpp:63
epicsUInt32 uInt32CallbackMask
Definition paramVal.h:47
const char * getTypeName()
Definition paramVal.cpp:374
void * pgp
Definition paramVal.h:70
std::string sval
Definition paramVal.h:56
epicsInt32 getInteger()
Gets the value for an integer in the parameter library.
Definition paramVal.cpp:147
union paramVal::@0 data
Union for parameter value.
bool nameEquals(const char *name)
Definition paramVal.cpp:121
void setDouble(epicsFloat64 value)
Sets the value for a double in the parameter library.
Definition paramVal.cpp:243
epicsFloat32 * pf32
Definition paramVal.h:68
int alarmSeverity_
Definition paramVal.h:52
void resetValueChanged()
Definition paramVal.cpp:67
bool hasValueChanged()
Definition paramVal.cpp:59
epicsInt64 getInteger64()
Gets the value for a 64-bit integer in the parameter library.
Definition paramVal.cpp:176
asynStatus status_
Definition paramVal.h:50
char * name
Parameter name.
Definition paramVal.h:55
epicsFloat64 * pf64
Definition paramVal.h:69