11 #ifndef NETSHRVARDRIVER_H
12 #define NETSHRVARDRIVER_H
14 #include "asynPortDriver.h"
25 virtual asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
26 virtual asynStatus
writeFloat64(asynUser *pasynUser, epicsFloat64 value);
27 virtual asynStatus
writeOctet(asynUser *pasynUser,
const char *value,
size_t maxChars,
size_t *nActual);
28 virtual asynStatus
writeInt8Array(asynUser *pasynUser, epicsInt8 *value,
size_t nElements);
29 virtual asynStatus
writeInt16Array(asynUser *pasynUser, epicsInt16 *value,
size_t nElements);
30 virtual asynStatus
writeInt32Array(asynUser *pasynUser, epicsInt32 *value,
size_t nElements);
31 virtual asynStatus
writeFloat32Array(asynUser *pasynUser, epicsFloat32 *value,
size_t nElements);
32 virtual asynStatus
writeFloat64Array(asynUser *pasynUser, epicsFloat64 *value,
size_t nElements);
33 virtual asynStatus
readInt32(asynUser *pasynUser, epicsInt32 *value);
34 virtual asynStatus
readFloat64(asynUser *pasynUser, epicsFloat64 *value);
35 virtual asynStatus
readOctet(asynUser *pasynUser,
char *value,
size_t maxChars,
size_t *nActual,
int *eomReason);
36 virtual asynStatus
readFloat32Array(asynUser *pasynUser, epicsFloat32 *value,
size_t nElements,
size_t *nIn);
37 virtual asynStatus
readFloat64Array(asynUser *pasynUser, epicsFloat64 *value,
size_t nElements,
size_t *nIn);
38 virtual asynStatus
readInt8Array(asynUser *pasynUser, epicsInt8 *value,
size_t nElements,
size_t *nIn);
39 virtual asynStatus
readInt16Array(asynUser *pasynUser, epicsInt16 *value,
size_t nElements,
size_t *nIn);
40 virtual asynStatus
readInt32Array(asynUser *pasynUser, epicsInt32 *value,
size_t nElements,
size_t *nIn);
41 virtual void report(FILE* fp,
int details);
56 asynStatus
readValue(asynUser *pasynUser,
const char* functionName);
57 template<
typename T> asynStatus
writeValue(asynUser *pasynUser,
const char* functionName, T value);
58 template<
typename T> asynStatus
writeArrayValue(asynUser *pasynUser,
const char* functionName, T* value,
size_t nElements);
59 template<
typename T> asynStatus
readArrayValue(asynUser *pasynUser,
const char* functionName, T *value,
size_t nElements,
size_t *nIn);
virtual asynStatus writeFloat64Array(asynUser *pasynUser, epicsFloat64 *value, size_t nElements)
static void epicsExitFunc(void *arg)
virtual asynStatus writeInt8Array(asynUser *pasynUser, epicsInt8 *value, size_t nElements)
virtual asynStatus readOctet(asynUser *pasynUser, char *value, size_t maxChars, size_t *nActual, int *eomReason)
void shuttingDown(bool state)
NetShrVarInterface * m_netvarint
virtual asynStatus writeFloat32Array(asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
virtual asynStatus readInt32(asynUser *pasynUser, epicsInt32 *value)
virtual asynStatus readFloat64Array(asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
static void NetShrVarTask(void *arg)
asynStatus readArrayValue(asynUser *pasynUser, const char *functionName, T *value, size_t nElements, size_t *nIn)
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Manager class for the NetVar Interaction. Parses an netvarconfig.xml file and provides access to the ...
virtual void report(FILE *fp, int details)
EPICS driver report function for iocsh dbior command.
virtual asynStatus readInt16Array(asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
virtual asynStatus readInt32Array(asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
asynStatus readValue(asynUser *pasynUser, const char *functionName)
EPICS Asyn port driver class.
asynStatus writeArrayValue(asynUser *pasynUser, const char *functionName, T *value, size_t nElements)
write an array to the driver
asynStatus writeValue(asynUser *pasynUser, const char *functionName, T value)
write a value to the driver
virtual asynStatus readFloat64(asynUser *pasynUser, epicsFloat64 *value)
NetShrVarDriver(NetShrVarInterface *netvarint, int poll_ms, const char *portName)
Constructor for the NetShrVarDriver class.
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
void updateValues()
This is called from a polling loop in the driver to update values from buffered subscribers.
virtual asynStatus readFloat32Array(asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
virtual asynStatus writeInt32Array(asynUser *pasynUser, epicsInt32 *value, size_t nElements)
virtual asynStatus writeInt16Array(asynUser *pasynUser, epicsInt16 *value, size_t nElements)
virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64 value)
write a float to the driver
virtual asynStatus readInt8Array(asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)