.NET Based OPC UA Client/Server SDK  3.3.3.537
UnifiedAutomation.UaServer.RootNodeManager Class Reference

The root node manager for a server. More...

Inherits UnifiedAutomation.UaServer.IModelManager, UnifiedAutomation.UaServer.INodeManagerEx, UnifiedAutomation.UaServer.IEventManagerEx, UnifiedAutomation.UaServer.IViewManager, UnifiedAutomation.UaServer.IObjectMappingManager, UnifiedAutomation.UaServer.INodeManagementManager, and IDisposable.

Public Member Functions

 RootNodeManager (ServerManager server)
 Initializes a new instance of the RootNodeManager class. More...
 
void Dispose ()
 Frees any unmanaged resources. More...
 
void Startup ()
 Called when the node manager is started. More...
 
void Shutdown ()
 Called when the node manager is stopped. More...
 
void SessionOpened (Session session)
 Called when a new session is created. More...
 
void SessionActivated (Session session)
 Called when a session is activated. More...
 
void SessionClosed (Session session)
 Called when a new session is closed. More...
 
StatusCode GetBrowseHandle (RequestContext context, ViewHandle view, NodeId nodeId, out BrowseHandle handle)
 Gets the browse handle for the specified node. More...
 
StatusCode GetViewHandle (RequestContext context, ViewDescription view, out ViewHandle handle)
 Gets the view handle for the specified view. More...
 
StatusCode GetNodeHandle (RequestContext context, NodeId nodeId, uint attributeId, out NodeAttributeHandle handle)
 Gets the node handle for the specified node. More...
 
StatusCode GetNotifierHandle (RequestContext context, NodeId nodeId, out NotifierHandle handle)
 Gets the notifier handle for the specified notifier. More...
 
StatusCode GetMethodHandle (RequestContext context, NodeId objectId, NodeId methodId, out MethodHandle handle)
 Gets the notifier handle for the specified notifier. More...
 
StatusCode GetHistoryDataHandle (RequestContext context, NodeId variableId, out HistoryDataHandle handle)
 Gets the history data handle for the specified variable. More...
 
StatusCode GetHistoryEventHandle (RequestContext context, NodeId notifierId, out HistoryEventHandle handle)
 Gets the history events handle for the specified notifier. More...
 
StatusCode BeginBrowse (RequestContext context, BrowseOperationHandle nodeToBrowse, ContinuationPoint continuationPoint, bool releaseContinuationPoint, Delegate callback, object callbackData)
 Begins the browse. More...
 
StatusCode BeginTranslate (RequestContext context, BrowseOperationHandle nodeToBrowse, RelativePath relativePath, uint index, Delegate callback, object callbackData)
 Begins the translate browse paths. More...
 
void AddCrossReference (NodeId sourceNodeId, INodeManager manager)
 Adds the cross reference. More...
 
void RemoveCrossReference (NodeId sourceNodeId, INodeManager manager)
 Removes the cross reference. More...
 
bool IsReferenceInView (RequestContext context, ViewHandle view, BrowseHandle sourceHandle, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId)
 Determines whether the reference is in the specified view. More...
 
ModelHandle LinkModelToNode (NodeId rootId, object instance, object syncLock, IModelMapper mapper, double minimumSamplingInterval, bool useValuesFromAddressspace=false)
 Links an object to a node in the address space. More...
 
void UnlinkModelFromNode (NodeId rootId, ModelHandle handle)
 Unlinks a object from a node in the address space. More...
 
StatusCode AddNode (RequestContext context, AddNodeSettings settings, out NodeId assignedNodeId)
 Adds a new node. More...
 
StatusCode DeleteNode (RequestContext context, NodeId nodeId, bool deleteTargetReferences)
 Deletes a node. More...
 
StatusCode AddReference (RequestContext context, NodeId sourceNodeId, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetNodeId, bool addBiDirectional)
 Adds a reference. More...
 
StatusCode DeleteReference (RequestContext context, NodeId sourceNodeId, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetNodeId, bool deleteBiDirectional)
 Deletes a reference. More...
 
StatusCode BeginEventTransaction (RequestContext context, uint totalItemCountHint, TransactionType transactionType, Delegate callback, object callbackData, out TransactionHandle handle)
 Begins the transaction. More...
 
void FinishEventTransaction (TransactionHandle transaction)
 Finishes the transaction. More...
 
StatusCode BeginStartEventMonitoring (NotifierOperationHandle operationHandle, MonitoredItemCreateRequest settings, uint monitoredItemId, EventNotificationEventHandler callback)
 Starts monitoring a notifier for events. More...
 
StatusCode BeginModifyEventMonitoring (MonitoredItemOperationHandle operationHandle, MonitoredItemModifyRequest settings)
 Modifies the monitoring for an item. More...
 
StatusCode BeginStopEventMonitoring (MonitoredItemOperationHandle operationHandle)
 Stops monitoring an item. More...
 
StatusCode BeginSetEventMonitoringMode (MonitoredItemOperationHandle operationHandle, MonitoringMode monitoringMode, MonitoringParameters parameters)
 Changes the monitoring mode for an item. More...
 
void EventMonitoringStarted (RequestContext context, NodeId notifierId, MonitoredItemHandle itemHandle, MonitoringParameters parameters, EventNotificationEventHandler callback)
 Called when monitoring starts for a notifier from another IEventManager higher in the hierarchy. More...
 
void EventMonitoringModified (RequestContext context, NodeId notifierId, MonitoredItemHandle itemHandle, MonitoringParameters parameters)
 Called when monitoring changes for a notifier from another IEventManager higher in the hierarchy. More...
 
void EventMonitoringStopped (RequestContext context, NodeId notifierId, MonitoredItemHandle itemHandle)
 Called when monitoring stops for a notifier from another IEventManager higher in the hierarchy. More...
 
void ReportEvent (NodeId notifierId, GenericEvent e)
 Reports an event for the notifier id. More...
 
void ConditionRefresh (RequestContext context, NodeId notifierId, MonitoredItemHandle itemHandle, EventNotificationEventHandler callback)
 Called when the condition refresh is called for a notifier higher in the hierarchy. More...
 
void AddNotifier (NodeId notifierId, IEventManager manager)
 Adds a link to a notifier. More...
 
void RemoveNotifier (NodeId notifierId, IEventManager manager)
 Removes a link to a notifier. More...
 
INodeManager FindNodeManager (ushort namespaceIndex)
 Finds the node manager responsible for the specified namespace. More...
 
void AddNodeManager (BaseNodeManager nodeManager)
 Adds a node manager. More...
 
ushort AddNodeManager (string namespaceUri, INodeManager nodeManager)
 Adds q node manager. More...
 
IDisposable BindModel (NodeId rootId, object instance, Func< object, CreateInstanceSettings > createInstanceSettings, SynchronizationContext context, NodeId parentNotifierId=null)
 Binds the model instance to the given node id. The driving idea behind the BindModel mechanism is that the model is independent of the Server or NodeManager. This makes it easier to write unit tests for parts of the model and relieves the user of the tedious OPC UA interactions. He can fully concentrate on the business logic within the model.If the parameter createInstanceSettings is null, a null returning delegate will be used as fallback value.
 

Protected Member Functions

virtual void Dispose (bool disposing)
 An overrideable version of the Dispose. More...
 

Properties

BaseNodeManager CoreNodeManager [get]
 Gets the core node manager. More...
 

Detailed Description

The root node manager for a server.

Constructor & Destructor Documentation

UnifiedAutomation.UaServer.RootNodeManager.RootNodeManager ( ServerManager  server)

Initializes a new instance of the RootNodeManager class.

Parameters
serverThe server.

Member Function Documentation

void UnifiedAutomation.UaServer.RootNodeManager.AddCrossReference ( NodeId  sourceNodeId,
INodeManager  manager 
)

Adds the cross reference.

Parameters
sourceNodeIdThe source node id.
managerThe manager.

Implements UnifiedAutomation.UaServer.INodeManagerEx.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.AddNode ( RequestContext  context,
AddNodeSettings  settings,
out NodeId  assignedNodeId 
)

Adds a new node.

Parameters
contextThe request context.
settingsThe settings.
assignedNodeIdThe assigned node id.
Returns
Good if successful; Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

void UnifiedAutomation.UaServer.RootNodeManager.AddNodeManager ( BaseNodeManager  nodeManager)

Adds a node manager.

Parameters
nodeManagerThe node manager.
ushort UnifiedAutomation.UaServer.RootNodeManager.AddNodeManager ( string  namespaceUri,
INodeManager  nodeManager 
)

Adds q node manager.

Parameters
namespaceUriThe namespace URI.
nodeManagerThe node manager.
void UnifiedAutomation.UaServer.RootNodeManager.AddNotifier ( NodeId  notifierId,
IEventManager  manager 
)

Adds a link to a notifier.

Parameters
notifierIdThe notifier id.
managerThe manager.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.AddReference ( RequestContext  context,
NodeId  sourceNodeId,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetNodeId,
bool  addBiDirectional 
)

Adds a reference.

Parameters
contextThe request context.
sourceNodeIdThe source node id.
referenceTypeIdThe reference type id.
isInverseif set to true then the reference is a inverse reference.
targetNodeIdThe target node id.
addBiDirectionalif set to true then the reverse reference is added as well.
Returns
Good if successful; Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginBrowse ( RequestContext  context,
BrowseOperationHandle  nodeToBrowse,
ContinuationPoint  continuationPoint,
bool  releaseContinuationPoint,
Delegate  callback,
object  callbackData 
)

Begins the browse.

Parameters
contextThe request context.
nodeToBrowseThe node to browse.
continuationPointThe continuation point.
releaseContinuationPointif set to true [release continuation point].
callbackThe callback.
callbackDataThe callback data.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginEventTransaction ( RequestContext  context,
uint  totalItemCountHint,
TransactionType  transactionType,
Delegate  callback,
object  callbackData,
out TransactionHandle  handle 
)

Begins the transaction.

Parameters
contextThe request context.
totalItemCountHintThe total item count hint.
transactionTypeType of the transaction.
callbackThe callback to raise when an operation completes.
callbackDataThe callback data.
handleThe transaction handle.
Returns
Good if the transaction could be created, an error code otherwise.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginModifyEventMonitoring ( MonitoredItemOperationHandle  operationHandle,
MonitoredItemModifyRequest  settings 
)

Modifies the monitoring for an item.

Parameters
operationHandleThe operation handle.
settingsThe settings.
Returns
Good if the monitored item can be modified, an error code otherwise.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginSetEventMonitoringMode ( MonitoredItemOperationHandle  operationHandle,
MonitoringMode  monitoringMode,
MonitoringParameters  parameters 
)

Changes the monitoring mode for an item.

Parameters
operationHandleThe operation handle.
monitoringModeThe monitoring mode.
parametersThe parameters.
Returns
Good if the monitored item can be modified, an error code otherwise.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginStartEventMonitoring ( NotifierOperationHandle  operationHandle,
MonitoredItemCreateRequest  settings,
uint  monitoredItemId,
EventNotificationEventHandler  callback 
)

Starts monitoring a notifier for events.

Parameters
operationHandleThe operation handle.
settingsThe settings.
monitoredItemIdThe monitored item id.
callbackThe callback.
Returns
Good if the monitored item can be created, an error code otherwise.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginStopEventMonitoring ( MonitoredItemOperationHandle  operationHandle)

Stops monitoring an item.

Parameters
operationHandleThe operation handle.
Returns
Good if the monitored item can be modified, an error code otherwise.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginTranslate ( RequestContext  context,
BrowseOperationHandle  nodeToBrowse,
RelativePath  relativePath,
uint  index,
Delegate  callback,
object  callbackData 
)

Begins the translate browse paths.

Parameters
contextThe request context.
nodeToBrowseThe node to browse.
relativePathThe relative path.
indexThe index.
callbackThe callback.
callbackDataThe callback data.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.ConditionRefresh ( RequestContext  context,
NodeId  notifierId,
MonitoredItemHandle  itemHandle,
EventNotificationEventHandler  callback 
)

Called when the condition refresh is called for a notifier higher in the hierarchy.

Parameters
contextThe context.
notifierIdThe id for the notifier.
itemHandleThe item handle.
callbackThe callback to call with the current state of all conditions.
Exceptions
System.ArgumentNullExceptionnotifierId

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.DeleteNode ( RequestContext  context,
NodeId  nodeId,
bool  deleteTargetReferences 
)

Deletes a node.

Parameters
contextThe request context.
nodeIdThe node id.
deleteTargetReferencesif set to true [delete target references].
Returns
Good if successful; Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.DeleteReference ( RequestContext  context,
NodeId  sourceNodeId,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetNodeId,
bool  deleteBiDirectional 
)

Deletes a reference.

Parameters
contextThe request context.
sourceNodeIdThe source node id.
referenceTypeIdThe reference type id.
isInverseif set to true then the reference is a inverse reference.
targetNodeIdThe target node id.
deleteBiDirectionalif set to true then the reverse reference is deleted as well.
Returns
Good if successful; Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

void UnifiedAutomation.UaServer.RootNodeManager.Dispose ( )

Frees any unmanaged resources.

virtual void UnifiedAutomation.UaServer.RootNodeManager.Dispose ( bool  disposing)
protectedvirtual

An overrideable version of the Dispose.

void UnifiedAutomation.UaServer.RootNodeManager.EventMonitoringModified ( RequestContext  context,
NodeId  notifierId,
MonitoredItemHandle  itemHandle,
MonitoringParameters  parameters 
)

Called when monitoring changes for a notifier from another IEventManager higher in the hierarchy.

Parameters
contextThe context.
notifierIdThe id for the notifier in the other IEventManager.
itemHandleThe item handle.
parametersThe parameters.
Exceptions
System.ArgumentNullExceptionnotifierId

Implements UnifiedAutomation.UaServer.IEventManager.

void UnifiedAutomation.UaServer.RootNodeManager.EventMonitoringStarted ( RequestContext  context,
NodeId  notifierId,
MonitoredItemHandle  itemHandle,
MonitoringParameters  parameters,
EventNotificationEventHandler  callback 
)

Called when monitoring starts for a notifier from another IEventManager higher in the hierarchy.

Parameters
contextThe context.
notifierIdThe id for the notifier in the other IEventManager.
itemHandleThe item handle.
parametersThe parameters.
callbackThe callback to use when events occur.
Exceptions
System.ArgumentNullExceptionnotifierId

Implements UnifiedAutomation.UaServer.IEventManager.

void UnifiedAutomation.UaServer.RootNodeManager.EventMonitoringStopped ( RequestContext  context,
NodeId  notifierId,
MonitoredItemHandle  itemHandle 
)

Called when monitoring stops for a notifier from another IEventManager higher in the hierarchy.

Parameters
contextThe context.
notifierIdThe id for the notifier in the other IEventManager.
itemHandleThe item handle.
Exceptions
System.ArgumentNullExceptionnotifierId

Implements UnifiedAutomation.UaServer.IEventManager.

INodeManager UnifiedAutomation.UaServer.RootNodeManager.FindNodeManager ( ushort  namespaceIndex)

Finds the node manager responsible for the specified namespace.

Parameters
namespaceIndexIndex of the namespace.
Returns
The matching node manager.
void UnifiedAutomation.UaServer.RootNodeManager.FinishEventTransaction ( TransactionHandle  transaction)

Finishes the transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetBrowseHandle ( RequestContext  context,
ViewHandle  view,
NodeId  nodeId,
out BrowseHandle  handle 
)

Gets the browse handle for the specified node.

Parameters
contextThe request context.
viewThe view.
nodeIdThe node id.
handleThe handle.
Returns

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetHistoryDataHandle ( RequestContext  context,
NodeId  variableId,
out HistoryDataHandle  handle 
)

Gets the history data handle for the specified variable.

Parameters
contextThe request context.
variableIdThe variable id.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetHistoryEventHandle ( RequestContext  context,
NodeId  notifierId,
out HistoryEventHandle  handle 
)

Gets the history events handle for the specified notifier.

Parameters
contextThe request context.
notifierIdThe notifier id.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetMethodHandle ( RequestContext  context,
NodeId  objectId,
NodeId  methodId,
out MethodHandle  handle 
)

Gets the notifier handle for the specified notifier.

Parameters
contextThe request context.
objectIdThe object id.
methodIdThe method id.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetNodeHandle ( RequestContext  context,
NodeId  nodeId,
uint  attributeId,
out NodeAttributeHandle  handle 
)

Gets the node handle for the specified node.

Parameters
contextThe request context.
nodeIdThe node id.
attributeIdThe attribute id.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetNotifierHandle ( RequestContext  context,
NodeId  nodeId,
out NotifierHandle  handle 
)

Gets the notifier handle for the specified notifier.

Parameters
contextThe request context.
nodeIdThe node id.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetViewHandle ( RequestContext  context,
ViewDescription  view,
out ViewHandle  handle 
)

Gets the view handle for the specified view.

Parameters
contextThe request context.
viewThe view.
handleThe handle.
Returns
Good if successful; An error code otherwise.

Implements UnifiedAutomation.UaServer.INodeManager.

bool UnifiedAutomation.UaServer.RootNodeManager.IsReferenceInView ( RequestContext  context,
ViewHandle  view,
BrowseHandle  sourceHandle,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId 
)

Determines whether the reference is in the specified view.

Parameters
contextThe request context.
viewThe view.
sourceHandleThe source handle.
referenceTypeIdThe reference type id.
isInverseif set to true then the reference is an inverse reference.
targetIdThe target id.
Returns
true if the reference is in the view; otherwise, false.

Implements UnifiedAutomation.UaServer.IViewManager.

ModelHandle UnifiedAutomation.UaServer.RootNodeManager.LinkModelToNode ( NodeId  rootId,
object  instance,
object  syncLock,
IModelMapper  mapper,
double  minimumSamplingInterval,
bool  useValuesFromAddressspace = false 
)

Links an object to a node in the address space.

Parameters
rootIdThe root id.
instanceThe instance.
syncLockThe sync lock.
mapperThe mapper.
minimumSamplingIntervalThe minimum sampling interval.
useValuesFromAddressspaceIf a mapped node already has a value that is not null, this value will be set in the model.
Returns
A handle that can be used to unlink the node.

Implements UnifiedAutomation.UaServer.IObjectMappingManager.

void UnifiedAutomation.UaServer.RootNodeManager.RemoveCrossReference ( NodeId  sourceNodeId,
INodeManager  manager 
)

Removes the cross reference.

Parameters
sourceNodeIdThe source node id.
managerThe manager.

Implements UnifiedAutomation.UaServer.INodeManagerEx.

void UnifiedAutomation.UaServer.RootNodeManager.RemoveNotifier ( NodeId  notifierId,
IEventManager  manager 
)

Removes a link to a notifier.

Parameters
notifierIdThe notifier id.
managerThe manager.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

void UnifiedAutomation.UaServer.RootNodeManager.ReportEvent ( NodeId  notifierId,
GenericEvent  e 
)

Reports an event for the notifier id.

Parameters
notifierIdThe notifier id.
eThe event.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

void UnifiedAutomation.UaServer.RootNodeManager.SessionActivated ( Session  session)

Called when a session is activated.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.SessionClosed ( Session  session)

Called when a new session is closed.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.SessionOpened ( Session  session)

Called when a new session is created.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.Shutdown ( )

Called when the node manager is stopped.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.Startup ( )

Called when the node manager is started.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.RootNodeManager.UnlinkModelFromNode ( NodeId  rootId,
ModelHandle  handle 
)

Unlinks a object from a node in the address space.

Parameters
rootIdThe root id.
handleThe handle.

Implements UnifiedAutomation.UaServer.IObjectMappingManager.

Property Documentation

BaseNodeManager UnifiedAutomation.UaServer.RootNodeManager.CoreNodeManager
get

Gets the core node manager.

The core node manager.


The documentation for this class was generated from the following files: