11 #ifndef NINETVAR_INTERFACE_H
12 #define NINETVAR_INTERFACE_H
28 #include <epicsMutex.h>
29 #include <epicsThread.h>
30 #include <epicsExit.h>
50 NINetVarInterface(
const char* configSection,
const char *configFile,
int options);
55 void report(FILE* fp,
int details);
56 template<
typename T>
void setValue(
const char* param,
const T& value);
57 template<
typename T>
void setArrayValue(
const char* param,
const T* value,
size_t nElements);
61 template <
typename T>
void readArrayValue(
const char* paramName, T* value,
size_t nElements,
size_t* nIn);
70 typedef std::map<std::string,NvItem*>
params_t;
75 void setValueCNV(
const std::string& name, CNVData value);
79 template<
typename T>
void updateParamValue(
int param_index, T val,
bool do_asyn_param_callbacks);
81 void updateParamCNV (
int param_index, CNVData data,
bool do_asyn_param_callbacks);
82 template<CNVDataType cnvType>
void updateParamCNVImpl(
int param_index, CNVData data, CNVDataType type,
unsigned int nDims,
bool do_asyn_param_callbacks);
NINetVarInterface(const char *configSection, const char *configFile, int options)
section name of configFile to use to configure this asyn port
details about a network shared variable we have connected to an asyn parameter
int m_options
the various NINetVarOptions currently in use
void dataTransferredCallback(void *handle, int error, CallbackData *cb_data)
called when data has been transferred to the variable
void updateParamValue(int param_index, T val, bool do_asyn_param_callbacks)
std::map< std::string, NvItem * > params_t
void setValue(const char *param, const T &value)
void updateParamArrayValue(int param_index, T *val, size_t nElements)
void updateParamCNVImpl(int param_index, CNVData data, CNVDataType type, unsigned int nDims, bool do_asyn_param_callbacks)
void setArrayValue(const char *param, const T *value, size_t nElements)
void setValueCNV(const std::string &name, CNVData value)
void statusCallback(void *handle, CNVConnectionStatus status, int error, CallbackData *cb_data)
called when status of a network shared variable changes
IXMLDOMDocument2 * m_pxmldom
bool checkOption(NINetVarOptions option)
Stores information to be passed back via a shared variable callback on a subscriber connection...
void dataCallback(void *handle, CNVData data, CallbackData *cb_data)
called when new data is available on a subscriber connection
void createParams(asynPortDriver *driver)
NINetVarOptions
option argument in NINetVarConfigure() of st.cmd not used at present
asynPortDriver * m_driver
void report(FILE *fp, int details)
Helper for EPICS driver report function.
Manager class for the NetVar Interaction. Parses an netvarconfig.xml file and provides access to the ...
std::string m_configSection
section of configFile to load information from
void updateParamCNV(int param_index, CNVData data, bool do_asyn_param_callbacks)
void updateParamArrayValueImpl(int param_index, T *val, size_t nElements)
static void epicsExitFunc(void *arg)
void readArrayValue(const char *paramName, T *value, size_t nElements, size_t *nIn)