11 #ifndef NINETVARDRIVER_H
12 #define NINETVARDRIVER_H
14 #include "asynPortDriver.h"
27 static std::string
win32_message(
unsigned int code, EXCEPTION_POINTERS * pExp);
38 virtual asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
39 virtual asynStatus
writeFloat64(asynUser *pasynUser, epicsFloat64 value);
40 virtual asynStatus
writeOctet(asynUser *pasynUser,
const char *value,
size_t maxChars,
size_t *nActual);
41 virtual asynStatus
writeInt8Array(asynUser *pasynUser, epicsInt8 *value,
size_t nElements);
42 virtual asynStatus
writeInt16Array(asynUser *pasynUser, epicsInt16 *value,
size_t nElements);
43 virtual asynStatus
writeInt32Array(asynUser *pasynUser, epicsInt32 *value,
size_t nElements);
44 virtual asynStatus
writeFloat32Array(asynUser *pasynUser, epicsFloat32 *value,
size_t nElements);
45 virtual asynStatus
writeFloat64Array(asynUser *pasynUser, epicsFloat64 *value,
size_t nElements);
46 virtual asynStatus
readFloat32Array(asynUser *pasynUser, epicsFloat32 *value,
size_t nElements,
size_t *nIn);
47 virtual asynStatus
readFloat64Array(asynUser *pasynUser, epicsFloat64 *value,
size_t nElements,
size_t *nIn);
48 virtual asynStatus
readInt8Array(asynUser *pasynUser, epicsInt8 *value,
size_t nElements,
size_t *nIn);
49 virtual asynStatus
readInt16Array(asynUser *pasynUser, epicsInt16 *value,
size_t nElements,
size_t *nIn);
50 virtual asynStatus
readInt32Array(asynUser *pasynUser, epicsInt32 *value,
size_t nElements,
size_t *nIn);
51 virtual void report(FILE* fp,
int details);
66 template<
typename T> asynStatus
writeValue(asynUser *pasynUser,
const char* functionName, T value);
67 template<
typename T> asynStatus
writeArrayValue(asynUser *pasynUser,
const char* functionName, T* value,
size_t nElements);
68 template<
typename T> asynStatus
readArrayValue(asynUser *pasynUser,
const char* functionName, T *value,
size_t nElements,
size_t *nIn);
virtual void report(FILE *fp, int details)
EPICS driver report function for iocsh dbior command.
virtual asynStatus readInt32Array(asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
virtual asynStatus writeOctet(asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
An STL exception describing a Win32 Structured Exception.
void shuttingDown(bool state)
asynStatus writeValue(asynUser *pasynUser, const char *functionName, T value)
write a value to the driver
virtual asynStatus readFloat32Array(asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
EPICS Asyn port driver class.
static void epicsExitFunc(void *arg)
static std::string win32_message(unsigned int code, EXCEPTION_POINTERS *pExp)
Helper function to map a win32 structured exception into a C++ standard exception.
virtual asynStatus readInt16Array(asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
virtual asynStatus writeInt8Array(asynUser *pasynUser, epicsInt8 *value, size_t nElements)
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
virtual asynStatus readFloat64Array(asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
Win32StructuredException(unsigned int code, EXCEPTION_POINTERS *pExp)
virtual asynStatus writeInt16Array(asynUser *pasynUser, epicsInt16 *value, size_t nElements)
NINetVarDriver(NINetVarInterface *netvarint, int poll_ms, const char *portName)
Constructor for the NINetVarDriver class.
virtual asynStatus writeFloat32Array(asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
NINetVarInterface * m_netvarint
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)
Win32StructuredException(const std::string &message)
Manager class for the NetVar Interaction. Parses an netvarconfig.xml file and provides access to the ...
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)
virtual asynStatus writeInt32Array(asynUser *pasynUser, epicsInt32 *value, size_t nElements)
static void NINetVarTask(void *arg)
asynStatus writeArrayValue(asynUser *pasynUser, const char *functionName, T *value, size_t nElements)
write an array to the driver