UA Server SDK C++ Bundle
1.4.0.258
|
#include <uatransactionmanager.h>
Inherits HistoryManagerCallback, IOManager2Callback, and IOManagerCallback.
Public Member Functions | |
UaTransactionManager (ServerManager *pServerManager, UaSubscriptionManager *pUaSubscriptionManager) | |
construction More... | |
~UaTransactionManager () | |
destruction | |
UaStatus | startUp () |
Start up transaction manager. More... | |
UaStatus | shutDown () |
Shut down transaction manager. More... | |
void | waitForTransactionCompletion () |
UaStatus | finishRead (OpcUa_UInt32, OpcUa_UInt32, UaDataValue &, OpcUa_Boolean detachValue=OpcUa_False, OpcUa_Boolean allowThreadUse=OpcUa_False, UaDiagnosticInfo *pDiagnosticInfo=NULL) |
Finish a Read transaction. More... | |
UaStatus | finishWrite (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &, OpcUa_Boolean allowThreadUse=OpcUa_False) |
Finish a Write transaction. More... | |
UaStatus | finishStartMonitoring (OpcUa_UInt32, OpcUa_UInt32, OpcUa_UInt32, OpcUa_Double, OpcUa_Boolean, const UaDataValue &, const UaStatus &) |
Finished start monitoring of an attribute value of a node. More... | |
UaStatus | finishModifyMonitoring (OpcUa_UInt32, OpcUa_UInt32, OpcUa_Double, const UaStatus &) |
Finished modify monitoring of an attribute value of a node. More... | |
UaStatus | finishStopMonitoring (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &) |
Finished stop monitoring of an attribute value of a node. More... | |
virtual UaStatus | finishRead (OpcUa_UInt32 hTransaction, OpcUa_UInt32 processedCount, OpcUa_Boolean allowThreadUse) |
Finished read transaction for IOManager2 nodes. More... | |
virtual UaStatus | finishWrite (OpcUa_UInt32 hTransaction, OpcUa_UInt32 processedCount, OpcUa_Boolean allowThreadUse) |
Finished write transaction for IOManager2 nodes. More... | |
virtual UaStatus | finishStartMonitoring (OpcUa_UInt32, OpcUa_Boolean, const UaUInt32Array &, const UaUInt32Array &, const UaDoubleArray &, const UaStatusCodeArray &) |
Finished start monitoring transaction for IOManager2 nodes. More... | |
virtual UaStatus | finishModifyMonitoring (OpcUa_UInt32, OpcUa_Boolean, const UaUInt32Array &, const UaDoubleArray &, const UaStatusCodeArray &) |
Finished modify monitoring transaction for IOManager2 nodes. More... | |
virtual UaStatus | finishStopMonitoring (OpcUa_UInt32, OpcUa_Boolean, const UaUInt32Array &, const UaStatusCodeArray &) |
Finished stop monitoring transaction for IOManager2 nodes. More... | |
UaStatus | finishHistoryReadData (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &, HistoryReadCPUserDataBase *, UaDataValues &, OpcUa_Boolean) |
Finish a history data read transaction. More... | |
UaStatus | finishHistoryReadModifiedData (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &, HistoryReadCPUserDataBase *, UaDataValues &, UaModificationInfo &, OpcUa_Boolean) |
Callback function for a historical read of modified data. More... | |
UaStatus | finishHistoryReadEvent (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &, HistoryReadCPUserDataBase *, UaHistoryEventFieldLists &s, OpcUa_Boolean) |
Finish a history event read transaction. More... | |
UaStatus | finishHistoryUpdate (OpcUa_UInt32, OpcUa_UInt32, const UaStatus &, UaStatusCodeArray &, UaDiagnosticInfos &, OpcUa_Boolean) |
Finish a history update transaction. More... | |
UaStatus | beginHistoryRead (UaHistoryReadContext *pUaHistoryReadContext) |
Begin a HistoryRead transaction. More... | |
UaStatus | beginHistoryUpdate (UaHistoryUpdateContext *pUaHistoryUpdateContext) |
Begin a HistoryUpdate transaction. More... | |
UaStatus | cancelServices (const ServiceContext &serviceContext, OpcUa_UInt32 requestHandle, OpcUa_UInt32 &cancelCount) |
Cancel services in the session context. More... | |
virtual UaStatus | registerNodes (const ServiceContext &serviceContext, const UaNodeIdArray &nodesToRegister, UaNodeIdArray ®isteredNodesIds) |
Register nodes to create handles in the session context. More... | |
virtual UaStatus | unregisterNodes (const ServiceContext &serviceContext, const UaNodeIdArray ®isteredNodesIds) |
Unregister nodes used as handles in the session context. More... | |
virtual UaStatus | beginBrowse (UaBrowseContext *pUaBrowseContext) |
Begin a Browse transaction. More... | |
virtual UaStatus | beginBrowseNext (UaBrowseNextContext *pUaBrowseNextContext) |
Begin a BrowseNext transaction. More... | |
virtual UaStatus | beginQuery (UaQueryContext *pUaQueryContext) |
Begin a Query transaction. More... | |
UaStatus | beginRead (UaReadContext *pUaReadContext) |
Begin a Read transaction. More... | |
UaStatus | beginWrite (UaWriteContext *pUaWriteContext) |
Begin a Write transaction. More... | |
UaStatus | beginMethodCall (UaCallContext *pUaCallContext) |
Begin a Call transaction. More... | |
void | executeMethodCall (UaCallContext *pUaCallContext) |
Public Member Functions inherited from HistoryManagerCallback | |
HistoryManagerCallback () | |
construction | |
virtual | ~HistoryManagerCallback () |
destruction | |
Public Member Functions inherited from IOManager2Callback | |
IOManager2Callback () | |
Construction. | |
virtual | ~IOManager2Callback () |
Destruction. | |
Public Member Functions inherited from IOManagerCallback | |
IOManagerCallback () | |
Construction. | |
virtual | ~IOManagerCallback () |
Destruction. | |
Protected Attributes | |
OpcUa_Boolean | m_isStarted |
ServerManager * | m_pServerManager |
NodeManagerRoot * | m_pNodeManagerRoot |
UaSubscriptionManager * | m_pUaSubscriptionManager |
UaThreadPool * | m_pThreadPool |
UaMutex | m_mutex |
HandleManager< UaTMBaseContext > | m_TransactionHandleManager |
std::list< IOManager2 * > | m_listIOManager2 |
Implements the UA node manager. Derived from HistoryManagerCallback, and IOManagerCallback. It is not possible to create plane copies of this class. It is not possible to use the default constructor.
UaTransactionManager::UaTransactionManager | ( | ServerManager * | pServerManager, |
UaSubscriptionManager * | pUaSubscriptionManager | ||
) |
construction
pServerManager | Interface to the central ServerManager object. This interface pointer should be stored in the NodeManager instance to have access to core module objects like the root NodeManager or the ServerConfig |
pUaSubscriptionManager | Interface of the UaSubscriptionManager |
|
virtual |
Begin a Browse transaction.
pUaBrowseContext | the needed browse context. |
|
virtual |
Begin a BrowseNext transaction.
pUaBrowseNextContext | the needed BrowseNext context. |
UaStatus UaTransactionManager::beginHistoryRead | ( | UaHistoryReadContext * | pUaHistoryReadContext | ) |
Begin a HistoryRead transaction.
pUaHistoryReadContext | the needed read context for historizing. |
List of objects to store a subset of the data for a HistoryManager
UaStatus UaTransactionManager::beginHistoryUpdate | ( | UaHistoryUpdateContext * | pUaHistoryUpdateContext | ) |
Begin a HistoryUpdate transaction.
pUaHistoryUpdateContext | the needed update context for historizing. |
List of objects to store a subset of the data for a HistoryManager
UaStatus UaTransactionManager::beginMethodCall | ( | UaCallContext * | pUaCallContext | ) |
Begin a Call transaction.
pUaCallContext | the needed call context. |
|
virtual |
Begin a Query transaction.
pUaQueryContext | the needed query context. |
UaStatus UaTransactionManager::beginRead | ( | UaReadContext * | pUaReadContext | ) |
Begin a Read transaction.
pUaReadContext | the needed read context. |
List of objects to store a subset of the data for a IOManager
UaStatus UaTransactionManager::beginWrite | ( | UaWriteContext * | pUaWriteContext | ) |
Begin a Write transaction.
pUaWriteContext | the needed write context. |
List of objects to store a subset of the data for a IOManager
UaStatus UaTransactionManager::cancelServices | ( | const ServiceContext & | serviceContext, |
OpcUa_UInt32 | requestHandle, | ||
OpcUa_UInt32 & | cancelCount | ||
) |
Cancel services in the session context.
serviceContext | General context for the service calls containing information like the session object, return diagnostic mask and timeout hint. |
requestHandle | RequestHandle of service requests to cancel. |
cancelCount | Number of cancelled requests. |
|
virtual |
Finish a history data read transaction.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
result | the result of the current Operation. |
pContinuationPoint | The continuation point data if not all results can be returned in one Read call. Implementers of this interface can store the continuation point data in a derived class. |
dataValues | the requested Values for this operation. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
Implements HistoryManagerCallback.
|
virtual |
Finish a history event read transaction.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
result | the result of the current Operation. |
pContinuationPoint | The continuation point data if not all results can be returned in one Read call. Implementers of this interface can store the continuation point data in a derived class. |
events | a field list of events that can occur. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
Implements HistoryManagerCallback.
|
virtual |
Callback function for a historical read of modified data.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
result | the result of the current Operation. |
pContinuationPoint | The continuation point data if not all results can be returned in one Read call. Implementers of this interface can store the continuation point data in a derived class. |
dataValues | the requested Values for this operation. |
modificationInformations | The modification information for the requested Values for this operation. The information array will be detached by the SDK. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
Implements HistoryManagerCallback.
|
virtual |
Finish a history update transaction.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
result | the result of the current Operation. |
operationResults | the results of an actual operation |
operationDiagnosticInfos | the diagnostic information of the current operation. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
Implements HistoryManagerCallback.
|
inlinevirtual |
Finished modify monitoring of an attribute value of a node.
The method is called to finish the modifying of the sampling attributes for a monitored item. The modifying is started with the beginModifyMonitoring method of the interface IOManager.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
revisedSamplingInterval | The corresponding revised sampling interval for the requested sampling interval in beginModifyMonitoring. |
statusCode | Result of the ModifyMonitoring operation. |
Implements IOManagerCallback.
|
inlinevirtual |
Finished modify monitoring transaction for IOManager2 nodes.
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager2 with the beginModifyMonitoring method. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last nodes in the transaction. |
callbackHandles | Array of callback handles for the nodes processed by the the IOManager2. |
revisedSamplingIntervalArray | The array of revised sampling intervals for the created items. |
resultArray | The array of the create results for the created monitored items. |
Implements IOManager2Callback.
|
virtual |
Finish a Read transaction.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
dataValue | the requested Value for this operation. |
detachValue | Indicates if the method can detach the value from the wrapper class. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
pDiagnosticInfo | Optional diagnostic information requested by the client in the parameter ServiceContext::returnDiagnostics of IOManager::beginTransaction |
Implements IOManagerCallback.
|
virtual |
Finished read transaction for IOManager2 nodes.
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager2 with the beginRead method. |
processedCount | Number of processed items |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last nodes in the transaction. |
Implements IOManager2Callback.
|
inlinevirtual |
Finished start monitoring of an attribute value of a node.
The method is called to finish the starting of the sampling for a monitored item. The sampling is started with the beginStartMonitoring method of the interface IOManager.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
hIOVariable | The handle of the item in the IOManager created with beginStartMonitoring. The handle is used by the SDK in beginModifyMonitoring and beginStopMonitoring to adress the item in the IOManager. |
revisedSamplingInterval | The corresponding revised sampling interval for the requested sampling interval in beginStartMonitoring. |
initialDataValueAvailable | Indicates if the initial value parameter is valid. |
initialDataValue | Contains the value, timestamps and result code for the initial value. |
statusCode | Result of the StartMonitoring operation. |
Implements IOManagerCallback.
|
inlinevirtual |
Finished start monitoring transaction for IOManager2 nodes.
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager2 with the beginStartMonitoring method. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last nodes in the transaction. |
callbackHandles | Array of callback handles for the nodes processed by the the IOManager2. |
hIOVariableArray | The array of handles for the items created by the the IOManager2 in beginStartMonitoring. |
revisedSamplingIntervalArray | The array of revised sampling intervals for the created items. |
resultArray | The array of the create results for the created monitored items. |
Implements IOManager2Callback.
|
inlinevirtual |
Finished stop monitoring of an attribute value of a node.
The method is called to finish the stopping of the sampling for a monitored item. The stopping is started with the beginStopMonitoring method of the interface IOManager.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStopMonitoring method. |
statusCode | Result of the StopMonitoring operation. |
Implements IOManagerCallback.
|
inlinevirtual |
Finished stop monitoring transaction for IOManager2 nodes.
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager2 with the beginStopMonitoring method. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last nodes in the transaction. |
callbackHandles | Array of callback handles for the nodes processed by the the IOManager2. |
resultArray | The array of the remove results for the monitored items. |
Implements IOManager2Callback.
|
virtual |
Finish a Write transaction.
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. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginStartMonitoring method. |
statusCode | Result of the finishWrite operation. |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last node in the transaction. |
Implements IOManagerCallback.
|
virtual |
Finished write transaction for IOManager2 nodes.
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager2 with the beginWrite method. |
processedCount | Number of processed items |
allowThreadUse | Indicates if the calling thread can be used to send the response if this is the callback for the last nodes in the transaction. |
Implements IOManager2Callback.
|
virtual |
Register nodes to create handles in the session context.
serviceContext | General context for the service calls containing information like the session object, return diagnostic mask and timeout hint. |
nodesToRegister | the current used Nodes to register. |
registeredNodesIds | the registered NodeId of the current Node. |
Possible check for structural invalid NodeIds - should be handled by stack already for ( i=0; i<itemCount; i++ ) {
Size checks can be added Schould be handled by stack already if ( nodesToRegister[i].IdentifierType > OpcUa_IdentifierType_Opaque ) { TRACE1_ERROR(UA_MODULE, "<– UaTransactionManager::registerNodes [ret=OpcUa_BadNodeIdInvalid] - NodeId %u has invalid IdentifierType", i); return OpcUa_BadNodeIdInvalid; } }
UaStatus UaTransactionManager::shutDown | ( | ) |
Shut down transaction manager.
UaStatus UaTransactionManager::startUp | ( | ) |
Start up transaction manager.
|
virtual |
Unregister nodes used as handles in the session context.
serviceContext | General context for the service calls containing information like the session object, return diagnostic mask and timeout hint. |
registeredNodesIds | the registered NodeId of the current Node. |