Implementation of lvDCOMDriver class and lvDCOMConfigure() iocsh command. More...
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <math.h>
#include <exception>
#include <iostream>
#include <map>
#include <epicsTypes.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsString.h>
#include <epicsTimer.h>
#include <epicsMutex.h>
#include <epicsEvent.h>
#include <errlog.h>
#include <iocsh.h>
#include "lvDCOMDriver.h"
#include <epicsExport.h>
#include "lvDCOMInterface.h"
#include "convertToString.h"
#include "variant_utils.h"
Go to the source code of this file.
Functions | |
static void | seTransFunction (unsigned int u, EXCEPTION_POINTERS *pExp) |
Function to translate a Win32 structured exception into a standard C++ exception. More... | |
static void | registerStructuredExceptionHandler () |
Register a handler for Win32 strcutured exceptions. This needs to be done on a per thread basis. More... | |
int | lvDCOMConfigure (const char *portName, const char *configSection, const char *configFile, const char *host, int options, const char *progid, const char *username, const char *password) |
EPICS iocsh callable function to call constructor of lvDCOMInterface(). More... | |
static void | initCallFunc (const iocshArgBuf *args) |
static void | lvDCOMRegister (void) |
Register new commands with EPICS IOC shell. More... | |
epicsExportRegistrar (lvDCOMRegister) | |
Variables | |
static const char * | driverName ="lvDCOMDriver" |
Name of driver for use in message printing. More... | |
static const iocshArg | initArg0 = { "portName", iocshArgString} |
A name for the asyn driver instance we will create - used to refer to it from EPICS DB files. More... | |
static const iocshArg | initArg1 = { "configSection", iocshArgString} |
section name of configFile we will load settings from More... | |
static const iocshArg | initArg2 = { "configFile", iocshArgString} |
Path to the XML input file to load configuration information from. More... | |
static const iocshArg | initArg3 = { "host", iocshArgString} |
host name where LabVIEW is running ("" for localhost) More... | |
static const iocshArg | initArg4 = { "options", iocshArgInt} |
options as per lvDCOMOptions enum More... | |
static const iocshArg | initArg5 = { "progid", iocshArgString} |
(optional) DCOM ProgID (required if connecting to a compiled LabVIEW application) More... | |
static const iocshArg | initArg6 = { "username", iocshArgString} |
(optional) remote username for host More... | |
static const iocshArg | initArg7 = { "password", iocshArgString} |
(optional) remote password for username on host More... | |
static const iocshArg *const | initArgs [] |
static const iocshFuncDef | initFuncDef = {"lvDCOMConfigure", sizeof(initArgs) / sizeof(iocshArg*), initArgs} |
Implementation of lvDCOMDriver class and lvDCOMConfigure() iocsh command.
Definition in file lvDCOMDriver.cpp.
epicsExportRegistrar | ( | lvDCOMRegister | ) |
|
static |
Definition at line 399 of file lvDCOMDriver.cpp.
References lvDCOMConfigure().
Referenced by lvDCOMRegister().
int lvDCOMConfigure | ( | const char * | portName, |
const char * | configSection, | ||
const char * | configFile, | ||
const char * | host, | ||
int | options, | ||
const char * | progid, | ||
const char * | username, | ||
const char * | password | ||
) |
EPICS iocsh callable function to call constructor of lvDCOMInterface().
The function is registered via lvDCOMRegister().
[in] | portName | A name for the asyn driver instance we will create - used to refer to it from EPICS DB files. |
[in] | configSection | section name of configFile we will load settings from |
[in] | configFile | Path to the XML input file to load configuration information from. |
[in] | host | host name where LabVIEW is running ("" for localhost) |
[in] | options | options as per lvDCOMOptions enum |
[in] | progid | (optional) DCOM ProgID (required if connecting to a compiled LabVIEW application) |
[in] | username | (optional) remote username for host |
[in] | password | (optional) remote password for username on host |
Definition at line 351 of file lvDCOMDriver.cpp.
References registerStructuredExceptionHandler().
Referenced by initCallFunc().
|
static |
Register new commands with EPICS IOC shell.
Definition at line 405 of file lvDCOMDriver.cpp.
References initCallFunc().
|
static |
Register a handler for Win32 strcutured exceptions. This needs to be done on a per thread basis.
Definition at line 47 of file lvDCOMDriver.cpp.
References seTransFunction().
Referenced by lvDCOMConfigure(), lvDCOMDriver::lvDCOMTask(), lvDCOMDriver::readArray(), lvDCOMDriver::readOctet(), lvDCOMDriver::readValue(), lvDCOMDriver::writeOctet(), and lvDCOMDriver::writeValue().
|
static |
Function to translate a Win32 structured exception into a standard C++ exception.
This is registered via registerStructuredExceptionHandler()
Definition at line 41 of file lvDCOMDriver.cpp.
Referenced by registerStructuredExceptionHandler().
|
static |
Name of driver for use in message printing.
Definition at line 37 of file lvDCOMDriver.cpp.
Referenced by lvDCOMDriver::lvDCOMDriver(), lvDCOMDriver::readArray(), lvDCOMDriver::readOctet(), lvDCOMDriver::readValue(), lvDCOMDriver::writeOctet(), and lvDCOMDriver::writeValue().
|
static |
A name for the asyn driver instance we will create - used to refer to it from EPICS DB files.
Definition at line 379 of file lvDCOMDriver.cpp.
|
static |
section name of configFile we will load settings from
Definition at line 380 of file lvDCOMDriver.cpp.
|
static |
Path to the XML input file to load configuration information from.
Definition at line 381 of file lvDCOMDriver.cpp.
|
static |
host name where LabVIEW is running ("" for localhost)
Definition at line 382 of file lvDCOMDriver.cpp.
|
static |
options as per lvDCOMOptions enum
Definition at line 383 of file lvDCOMDriver.cpp.
|
static |
(optional) DCOM ProgID (required if connecting to a compiled LabVIEW application)
Definition at line 384 of file lvDCOMDriver.cpp.
|
static |
(optional) remote username for host
Definition at line 385 of file lvDCOMDriver.cpp.
|
static |
(optional) remote password for username on host
Definition at line 386 of file lvDCOMDriver.cpp.
|
static |
Definition at line 388 of file lvDCOMDriver.cpp.
|
static |
Definition at line 397 of file lvDCOMDriver.cpp.