IOManager2 Class Reference
[Core Module Interfaces]

#include <iomanager2.h>

List of all members.


Public Member Functions

 IOManager2 ()
virtual ~IOManager2 ()
virtual UaStatus beginRead (IOManager2Callback *pCallback, OpcUa_UInt32 hTransaction, const ServiceContext &serviceContext, VariableHandle **ppVariableHandleArray, OpcUa_ReadRequest *pReadRequest, OpcUa_ReadResponse *pReadResponse)=0
virtual UaStatus beginWrite (IOManager2Callback *pCallback, OpcUa_UInt32 hTransaction, const ServiceContext &serviceContext, VariableHandle **ppVariableHandleArray, OpcUa_WriteRequest *pWriteRequest, OpcUa_WriteResponse *pWriteResponse)=0
virtual UaStatus beginStartMonitoring (IOManager2Callback *pCallback, OpcUa_UInt32 hTransaction, const ServiceContext &serviceContext, OpcUa_UInt32 itemCount, VariableHandle **ppVariableHandleArray, MonitoringContext *pMonitoringContextArray, IOVariableCallback **ppCallbackInterfaceArray)=0
virtual UaStatus beginModifyMonitoring (IOManager2Callback *pCallback, OpcUa_UInt32 hTransaction, const ServiceContext &serviceContext, const UaUInt32Array &hIOVariableArray, OpcUa_UInt32 itemCount, MonitoringContext *pMonitoringContextArray)=0
virtual UaStatus beginStopMonitoring (IOManager2Callback *pCallback, OpcUa_UInt32 hTransaction, const ServiceContext &serviceContext, const UaUInt32Array &hIOVariableArray)=0

Detailed Description

Optimized but limited version of the IOManager interface. The interface allows optimized access to one data source. It allows to access the in and out parameters of the Read and Write Services directly. Is is espeacially used for server implemenations where the data access information is already consolidated in one interface. Therefore the multiplexing provided by the server SDK can be reduced to all other nodes not consolidated in one place like the type and diagnostic nodes managed by the server SDK.

This is a very optimized version of the IOManager interface introducing several limitation.

  • This interface works only with the UA Module and not with the COM DA module
  • Only one instance of this interface can be registered with the SDK

The methods of the interface provide direct access to the request and response parameters. The implementer of the method must check if the variable handle is not NULL or if he is responsible for the namespace of the node in the request. The request may contain other nodes not handled by this IOManager2 instance.
The IOManager2 instance is responsible for Value attributes of Variables if


Constructor & Destructor Documentation

IOManager2::IOManager2 (  )  [inline]

Construction

virtual IOManager2::~IOManager2 (  )  [inline, virtual]

Destruction


Member Function Documentation

virtual UaStatus IOManager2::beginRead ( IOManager2Callback pCallback,
OpcUa_UInt32  hTransaction,
const ServiceContext serviceContext,
VariableHandle **  ppVariableHandleArray,
OpcUa_ReadRequest *  pReadRequest,
OpcUa_ReadResponse *  pReadResponse 
) [pure virtual]

Read values for a list of nodes.

Parameters:
pCallback Callback interface used for the transaction. The IOManager2 must use this interface to finish the async transaction.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks.
serviceContext Service context including the session context used for the UA service call.
ppVariableHandleArray Array of VariableHandle pointers. If the pointer in the array element is not NULL, the node must be handled by the IOManager 2 instance.
pReadRequest The read request containing the list of NodesToRead. If the namespace in the NodeId matches the namespace index the IOManager2 is responsible for and the requested attribute is Value, the node must be handled by the IOManager 2 instance.
pReadResponse The read response containing the list of Results for the read. The result array is allocated and the read results for the affected nodes can be copied directly to the corresponding Result array element.
Returns:
Result code

virtual UaStatus IOManager2::beginWrite ( IOManager2Callback pCallback,
OpcUa_UInt32  hTransaction,
const ServiceContext serviceContext,
VariableHandle **  ppVariableHandleArray,
OpcUa_WriteRequest *  pWriteRequest,
OpcUa_WriteResponse *  pWriteResponse 
) [pure virtual]

Write values for a list of nodes.

Parameters:
pCallback Callback interface used for the transaction. The IOManager2 must use this interface to finish the async transaction.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks.
serviceContext Service context including the session context used for the UA service call.
ppVariableHandleArray Array of VariableHandle pointers. If the pointer in the array element is not NULL, the node must be handled by the IOManager 2 instance.
pReadRequest The read request containing the list of NodesToRead. If the namespace in the NodeId matches the namespace index the IOManager2 is responsible for and the requested attribute is Value, the node must be handled by the IOManager 2 instance.
pReadResponse The read response containing the list of Results for the read. The result array is allocated and the read results for the affected nodes can be copied directly to the corresponding Result array element.
Returns:
Error code

virtual UaStatus IOManager2::beginStartMonitoring ( IOManager2Callback pCallback,
OpcUa_UInt32  hTransaction,
const ServiceContext serviceContext,
OpcUa_UInt32  itemCount,
VariableHandle **  ppVariableHandleArray,
MonitoringContext pMonitoringContextArray,
IOVariableCallback **  ppCallbackInterfaceArray 
) [pure virtual]

Begin start monitoring values for a list of nodes.

Parameters:
pCallback Callback interface used for the transaction. The IOManager2 must use this interface to finish the async transaction.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks.
serviceContext Service context including the session context used for the UA service call.
itemCount Count of items to create
ppVariableHandleArray Array of variable handles provided by the NodeManager::getVariableHandle
pMonitoringContextArray Array of the monitoring context for the items to create. See MonitoringContext for more details
ppCallbackInterfaceArray Array of callback interfaces used for data change callbacks to the MonitoredItem managed by the SDK.
Returns:
Error code

virtual UaStatus IOManager2::beginModifyMonitoring ( IOManager2Callback pCallback,
OpcUa_UInt32  hTransaction,
const ServiceContext serviceContext,
const UaUInt32Array &  hIOVariableArray,
OpcUa_UInt32  itemCount,
MonitoringContext pMonitoringContextArray 
) [pure virtual]

Begin modify monitoring values for a list of nodes.

Parameters:
pCallback Callback interface used for the transaction. The IOManager2 must use this interface to finish the async transaction.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks.
serviceContext Service context including the session context used for the UA service call.
hIOVariableArray Array of handles for the items returned in the finishStartMonitoring callback.
itemCount Count of items to modify
pMonitoringContextArray Array of the monitoring context for the items to create. See MonitoringContext for more details
Returns:
Error code

virtual UaStatus IOManager2::beginStopMonitoring ( IOManager2Callback pCallback,
OpcUa_UInt32  hTransaction,
const ServiceContext serviceContext,
const UaUInt32Array &  hIOVariableArray 
) [pure virtual]

Begin stop monitoring values for a list of nodes.

Parameters:
pCallback Callback interface used for the transaction. The IOManager2 must use this interface to finish the async transaction.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks.
serviceContext Service context including the session context used for the UA service call.
Returns:
Error code


The documentation for this class was generated from the following file:
  • src/uaserver/uaservercpp/coremodule/iomanager2.h