|
NDS3
1.0.0
API reference manual
|
An input PV that delegates the read operation to an external function.
Calling PVDelegateIn::read() will result in a call to the delegated functions.
| T | the PV data type. The following data types are supported:
|
#include <pvDelegateIn.h>
Public Types | |
| typedef std::function< void(timespec *, T *)> | read_t |
| Definition of the method used to read the PV value. More... | |
Public Member Functions | |
| PVDelegateIn (const std::string &name, read_t readFunction) | |
| Construct the PVDelegateIn object and specifies the external function that must be called to read the data. More... | |
Public Member Functions inherited from nds::PVBaseIn | |
| PVBaseIn () | |
| Construct an empty PVBaseIn. More... | |
| template<typename T > | |
| void | read (timespec *pTimestamp, T *pValue) const |
| Call to read the value of the PV. More... | |
| template<typename T > | |
| void | push (const timespec ×tamp, const T &value) |
| Pushes a value to the control system. More... | |
| void | setDecimation (const std::uint32_t decimation) |
| Specifies the decimation factor used when pushing data to the control system. More... | |
| void | replicateFrom (const std::string &sourceInputPVName) |
| Replicate the data from another input PV which may be located on any other device running in the same NDS process. More... | |
Public Member Functions inherited from nds::PVBase | |
| void | setDescription (const std::string &description) |
| Set a human readable description of the PV. More... | |
| void | setUnits (const std::string &units) |
| Set the engineering units of the PV. More... | |
| void | setInterfaceName (const std::string &interfaceName) |
| Set the name of the PV as seen by the control system. More... | |
| void | setScanType (const scanType_t scanType, const double periodSeconds=1) |
| Set how the PV value is retrieved by the control system. More... | |
| void | setMaxElements (const size_t maxElements) |
| If the data type of the PV is a vector then set the maximum number of elements that the vector will contain. More... | |
| void | setEnumeration (const enumerationStrings_t &enumerations) |
| If the data type is an integer then assigns a list of strings that enumerate the values (starting from zero). More... | |
| void | processAtInit (const bool bProcessAtInit) |
| Specifies if the read() function of the PV should be called during the device initialization. More... | |
Public Member Functions inherited from nds::Base | |
| Base (const Base &right) | |
| Copy constructor. The copy will refer to the same implementation object referenced in the copied object. More... | |
| Base & | operator= (const Base &right) |
| Copy operator. The copy will refer to the same implementation object referenced in the copied object. More... | |
| void | setExternalName (const std::string &externalName) |
| Set the string to pass to the naming rules in order to build the full node name as seen by the control system. More... | |
| virtual Port | getPort () |
| Get the Node that communicate with the device (ASYN port on EPICS, Device on Tango). Query the parent nodes if necessary. More... | |
| const std::string & | getComponentName () const |
| Return the node's name. More... | |
| const std::string & | getFullName () const |
| Return the full node's name, prepending the parents' names if necessary (e.g. "ROOT-CHANNEL1-THISNODE") More... | |
| const std::string & | getFullExternalName () const |
| Return the full node's name as seen by the control system clients. More... | |
| const std::string & | getFullNameFromPort () const |
| Return the node's name as seen by the parent Port node (the node that communicates with the device). More... | |
| timespec | getTimestamp () const |
| Get the current time. More... | |
| void | setTimestampDelegate (getTimestampPlugin_t timestampDelegate) |
| Specify the delegate function to call to get the timestamp. More... | |
| std::ostream & | getLogger (const logLevel_t logLevel) |
| Retrieve a logging stream for the specified log level. More... | |
| bool | isLogLevelEnabled (const logLevel_t logLevel) const |
| Returns true if the logging for a particular severity level has been enabled. More... | |
| void | setLogLevel (const logLevel_t logLevel) |
| Enable the logging for a particular severity level. More... | |
| void | defineCommand (const std::string &command, const std::string &usage, const size_t numParameters, const command_t function) |
| Define a command specific for the node. More... | |
| Thread | runInThread (const std::string &name, threadFunction_t function) |
| Create and run a thread using the control system facilities. More... | |
| Thread | runInThread (threadFunction_t function) |
| Create and run a thread using the control system facilities. The created thread will have the node's name. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from nds::Base | |
| Base () | |
| Initializes an empty base class. | |
| nds::PVDelegateIn< T >::PVDelegateIn | ( | const std::string & | name, |
| read_t | readFunction | ||
| ) |
Construct the PVDelegateIn object and specifies the external function that must be called to read the data.
| name | name of the PV |
| readFunction | function to be used for reading |