IOManagerUaNode Class Reference
[Core Module Interface Base Implementations]

#include <iomanageruanode.h>

Inheritance diagram for IOManagerUaNode:
Collaboration diagram for IOManagerUaNode:

List of all members.


Public Member Functions

 IOManagerUaNode ()
virtual ~IOManagerUaNode ()
UaStatus beginTransaction (IOManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 hTransaction, OpcUa_UInt32 totalItemCountHint, OpcUa_Double maxAge, OpcUa_TimestampsToReturn timestampsToReturn, TransactionType transactionType, OpcUa_Handle &hIOManagerContext)
UaStatus beginStartMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, IOVariableCallback *pIOVariableCallback, VariableHandle *pVariableHandle, MonitoringContext &monitoringContext)
UaStatus beginModifyMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 hIOVariable, MonitoringContext &monitoringContext)
UaStatus beginStopMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 hIOVariable)
UaStatus beginRead (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, VariableHandle *pVariableHandle, OpcUa_ReadValueId *pReadValueId)
UaStatus beginWrite (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, VariableHandle *pVariableHandle, OpcUa_WriteValue *pWriteValue)
UaStatus finishTransaction (OpcUa_Handle hIOManagerContext)
virtual UaStatus readValues (const UaVariableArray &arrUaVariables, UaDataValueArray &arrDataValues)
virtual UaStatus writeValues (const UaVariableArray &arrUaVariables, const PDataValueArray &arrpDataValues, UaStatusCodeArray &arrStatusCodes)

Detailed Description

Implementation of the interface IOManager operating on a generic address space node model.

Constructor & Destructor Documentation

IOManagerUaNode::IOManagerUaNode (  ) 

construction

IOManagerUaNode::~IOManagerUaNode (  )  [virtual]

destruction


Member Function Documentation

UaStatus IOManagerUaNode::beginTransaction ( IOManagerCallback pCallback,
const ServiceContext serviceContext,
OpcUa_UInt32  hTransaction,
OpcUa_UInt32  totalItemCountHint,
OpcUa_Double  maxAge,
OpcUa_TimestampsToReturn  timestampsToReturn,
TransactionType  transactionType,
OpcUa_Handle &  hIOManagerContext 
) [virtual]

Start a transaction.

Parameters:
pCallback Callback interface used for the transaction. The IOManager must use this interface to finish the action for each passed node in the transaction.
serviceContext General context for the service calls containing information like the session object, return diagnostic mask and timeout hint.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager with the beginTransaction method.
totalItemCountHint A hint for the IOManager about the total number of nodes in the transaction. The IOManager may not be responsible for all nodes but he can use this hint if he wants to optimize memory allocation.
maxAge Max age parameter used only in the Read service.
timestampsToReturn Indicates which timestamps should be returned in a Read or a Publish response. The possible enum values are: OpcUa_TimestampsToReturn_Source OpcUa_TimestampsToReturn_Server OpcUa_TimestampsToReturn_Both OpcUa_TimestampsToReturn_Neither
transactionType Type of the transaction. The possible enum values are: READ WRITE MONITOR_BEGIN MONITOR_MODIFY MONITOR_STOP
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::beginStartMonitoring ( OpcUa_Handle  hIOManagerContext,
OpcUa_UInt32  callbackHandle,
IOVariableCallback pIOVariableCallback,
VariableHandle pVariableHandle,
MonitoringContext monitoringContext 
) [virtual]

Start monitoring of an item.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
callbackHandle Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method.
pIOVariableCallback Callback interface used for data change callbacks to the MonitoredItem managed by the SDK.
pVariableHandle Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context.
monitoringContext handle for the monitoring context.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::beginModifyMonitoring ( OpcUa_Handle  hIOManagerContext,
OpcUa_UInt32  callbackHandle,
OpcUa_UInt32  hIOVariable,
MonitoringContext monitoringContext 
) [virtual]

Notify IOManager after modifying monitoring parameters of an item.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
callbackHandle Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method.
hIOVariable The handle of the variable in the IOManager created with beginStartMonitoring. The handle was passed to the SDK in the callback finishStartMonitoring.
monitoringContext handle for the monitoring context.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::beginStopMonitoring ( OpcUa_Handle  hIOManagerContext,
OpcUa_UInt32  callbackHandle,
OpcUa_UInt32  hIOVariable 
) [virtual]

Notify IOManager after stopping monitoring of an item.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
callbackHandle Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method.
hIOVariable The handle of the variable in the IOManager created with beginStartMonitoring. The handle was passed to the SDK in the callback finishStartMonitoring.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::beginRead ( OpcUa_Handle  hIOManagerContext,
OpcUa_UInt32  callbackHandle,
VariableHandle pVariableHandle,
OpcUa_ReadValueId *  pReadValueId 
) [virtual]

Read attribute value of a node.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
callbackHandle Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method.
pVariableHandle Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context.
pReadValueId Context for the node to read. The context contains the IndexRange and the DataEncoding requested by the client. The other parameters of this context are already handled by the VariableHandle.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::beginWrite ( OpcUa_Handle  hIOManagerContext,
OpcUa_UInt32  callbackHandle,
VariableHandle pVariableHandle,
OpcUa_WriteValue *  pWriteValue 
) [virtual]

Write attribute value of a node.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
callbackHandle Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method.
pVariableHandle Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context.
pWriteValue Context for the node to write. The context contains the IndexRange requested by the client. The NodeId and Attribute parameters of this context are already handled by the VariableHandle
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::finishTransaction ( OpcUa_Handle  hIOManagerContext  )  [virtual]

Finish a transaction.

Parameters:
hIOManagerContext IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager.
Returns:
Error code

Implements IOManager.

UaStatus IOManagerUaNode::readValues ( const UaVariableArray arrUaVariables,
UaDataValueArray arrDataValues 
) [virtual]

Reads the value attributes for a list of UaVariables. This method needs to be overwritten by a derived class if the value attribute should be read not from cache but from an external data source.

Parameters:
arrUaVariables An array of UaVariable interface pointers used to indicate which variables should be read. The implementation of the interface needs to have the necessary information to access the data from the external source.
arrDataValues An array of OpcUa_DataValue structures used to return the values to read.
Returns:
Error code

Reimplemented in NodeManagerRoot.

UaStatus IOManagerUaNode::writeValues ( const UaVariableArray arrUaVariables,
const PDataValueArray arrpDataValues,
UaStatusCodeArray &  arrStatusCodes 
) [virtual]

Writes the value attributes for a list of UaVariables. This method needs to be overwritten by a derived class if the value attribute should be written to an external data source.

Parameters:
arrUaVariables An array of UaVariable interface pointers used to indicate which variables should be written. The implementation of the interface needs to have the necessary information to update the data in the external source.
arrpDataValues Array of pointers to OpcUa_DataValue structures containing the data to write.
arrStatusCodes An array of OpcUa_StatusCode values used to indicate if the write succeeds on a single variable base.
Returns:
Error code

Reimplemented in NodeManagerRoot.


The documentation for this class was generated from the following files:
  • src/uaserver/uaservercpp/coremodule/iomanageruanode.h
  • src/uaserver/uaservercpp/coremodule/iomanageruanode.cpp