.NET Based OPC UA Client/Server SDK
3.3.1.531
|
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... | |
The root node manager for a server.
UnifiedAutomation.UaServer.RootNodeManager.RootNodeManager | ( | ServerManager | server | ) |
Initializes a new instance of the RootNodeManager class.
server | The server. |
void UnifiedAutomation.UaServer.RootNodeManager.AddCrossReference | ( | NodeId | sourceNodeId, |
INodeManager | manager | ||
) |
Adds the cross reference.
sourceNodeId | The source node id. |
manager | The manager. |
Implements UnifiedAutomation.UaServer.INodeManagerEx.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.AddNode | ( | RequestContext | context, |
AddNodeSettings | settings, | ||
out NodeId | assignedNodeId | ||
) |
Adds a new node.
context | The request context. |
settings | The settings. |
assignedNodeId | The assigned node id. |
Implements UnifiedAutomation.UaServer.INodeManagementManager.
void UnifiedAutomation.UaServer.RootNodeManager.AddNodeManager | ( | BaseNodeManager | nodeManager | ) |
Adds a node manager.
nodeManager | The node manager. |
ushort UnifiedAutomation.UaServer.RootNodeManager.AddNodeManager | ( | string | namespaceUri, |
INodeManager | nodeManager | ||
) |
Adds q node manager.
namespaceUri | The namespace URI. |
nodeManager | The node manager. |
void UnifiedAutomation.UaServer.RootNodeManager.AddNotifier | ( | NodeId | notifierId, |
IEventManager | manager | ||
) |
Adds a link to a notifier.
notifierId | The notifier id. |
manager | The 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.
context | The request context. |
sourceNodeId | The source node id. |
referenceTypeId | The reference type id. |
isInverse | if set to true then the reference is a inverse reference. |
targetNodeId | The target node id. |
addBiDirectional | if set to true then the reverse reference is added as well. |
Implements UnifiedAutomation.UaServer.INodeManagementManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginBrowse | ( | RequestContext | context, |
BrowseOperationHandle | nodeToBrowse, | ||
ContinuationPoint | continuationPoint, | ||
bool | releaseContinuationPoint, | ||
Delegate | callback, | ||
object | callbackData | ||
) |
Begins the browse.
context | The request context. |
nodeToBrowse | The node to browse. |
continuationPoint | The continuation point. |
releaseContinuationPoint | if set to true [release continuation point]. |
callback | The callback. |
callbackData | The callback data. |
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.
context | The request context. |
totalItemCountHint | The total item count hint. |
transactionType | Type of the transaction. |
callback | The callback to raise when an operation completes. |
callbackData | The callback data. |
handle | The transaction handle. |
Implements UnifiedAutomation.UaServer.IEventManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginModifyEventMonitoring | ( | MonitoredItemOperationHandle | operationHandle, |
MonitoredItemModifyRequest | settings | ||
) |
Modifies the monitoring for an item.
operationHandle | The operation handle. |
settings | The settings. |
Implements UnifiedAutomation.UaServer.IEventManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginSetEventMonitoringMode | ( | MonitoredItemOperationHandle | operationHandle, |
MonitoringMode | monitoringMode, | ||
MonitoringParameters | parameters | ||
) |
Changes the monitoring mode for an item.
operationHandle | The operation handle. |
monitoringMode | The monitoring mode. |
parameters | The parameters. |
Implements UnifiedAutomation.UaServer.IEventManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginStartEventMonitoring | ( | NotifierOperationHandle | operationHandle, |
MonitoredItemCreateRequest | settings, | ||
uint | monitoredItemId, | ||
EventNotificationEventHandler | callback | ||
) |
Starts monitoring a notifier for events.
operationHandle | The operation handle. |
settings | The settings. |
monitoredItemId | The monitored item id. |
callback | The callback. |
Implements UnifiedAutomation.UaServer.IEventManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.BeginStopEventMonitoring | ( | MonitoredItemOperationHandle | operationHandle | ) |
Stops monitoring an item.
operationHandle | The operation handle. |
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.
context | The request context. |
nodeToBrowse | The node to browse. |
relativePath | The relative path. |
index | The index. |
callback | The callback. |
callbackData | The callback data. |
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.
context | The context. |
notifierId | The id for the notifier. |
itemHandle | The item handle. |
callback | The callback to call with the current state of all conditions. |
System.ArgumentNullException | notifierId |
Implements UnifiedAutomation.UaServer.IEventManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.DeleteNode | ( | RequestContext | context, |
NodeId | nodeId, | ||
bool | deleteTargetReferences | ||
) |
Deletes a node.
context | The request context. |
nodeId | The node id. |
deleteTargetReferences | if set to true [delete target references]. |
Implements UnifiedAutomation.UaServer.INodeManagementManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.DeleteReference | ( | RequestContext | context, |
NodeId | sourceNodeId, | ||
NodeId | referenceTypeId, | ||
bool | isInverse, | ||
ExpandedNodeId | targetNodeId, | ||
bool | deleteBiDirectional | ||
) |
Deletes a reference.
context | The request context. |
sourceNodeId | The source node id. |
referenceTypeId | The reference type id. |
isInverse | if set to true then the reference is a inverse reference. |
targetNodeId | The target node id. |
deleteBiDirectional | if set to true then the reverse reference is deleted as well. |
Implements UnifiedAutomation.UaServer.INodeManagementManager.
void UnifiedAutomation.UaServer.RootNodeManager.Dispose | ( | ) |
Frees any unmanaged resources.
|
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.
context | The context. |
notifierId | The id for the notifier in the other IEventManager. |
itemHandle | The item handle. |
parameters | The parameters. |
System.ArgumentNullException | notifierId |
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.
context | The context. |
notifierId | The id for the notifier in the other IEventManager. |
itemHandle | The item handle. |
parameters | The parameters. |
callback | The callback to use when events occur. |
System.ArgumentNullException | notifierId |
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.
context | The context. |
notifierId | The id for the notifier in the other IEventManager. |
itemHandle | The item handle. |
System.ArgumentNullException | notifierId |
Implements UnifiedAutomation.UaServer.IEventManager.
INodeManager UnifiedAutomation.UaServer.RootNodeManager.FindNodeManager | ( | ushort | namespaceIndex | ) |
Finds the node manager responsible for the specified namespace.
namespaceIndex | Index of the namespace. |
void UnifiedAutomation.UaServer.RootNodeManager.FinishEventTransaction | ( | TransactionHandle | transaction | ) |
Finishes the transaction.
transaction | The 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.
context | The request context. |
view | The view. |
nodeId | The node id. |
handle | The handle. |
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.
context | The request context. |
variableId | The variable id. |
handle | The handle. |
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.
context | The request context. |
notifierId | The notifier id. |
handle | The handle. |
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.
context | The request context. |
objectId | The object id. |
methodId | The method id. |
handle | The handle. |
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.
context | The request context. |
nodeId | The node id. |
attributeId | The attribute id. |
handle | The handle. |
Implements UnifiedAutomation.UaServer.INodeManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetNotifierHandle | ( | RequestContext | context, |
NodeId | nodeId, | ||
out NotifierHandle | handle | ||
) |
Gets the notifier handle for the specified notifier.
context | The request context. |
nodeId | The node id. |
handle | The handle. |
Implements UnifiedAutomation.UaServer.INodeManager.
StatusCode UnifiedAutomation.UaServer.RootNodeManager.GetViewHandle | ( | RequestContext | context, |
ViewDescription | view, | ||
out ViewHandle | handle | ||
) |
Gets the view handle for the specified view.
context | The request context. |
view | The view. |
handle | The handle. |
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.
context | The request context. |
view | The view. |
sourceHandle | The source handle. |
referenceTypeId | The reference type id. |
isInverse | if set to true then the reference is an inverse reference. |
targetId | The target id. |
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.
rootId | The root id. |
instance | The instance. |
syncLock | The sync lock. |
mapper | The mapper. |
minimumSamplingInterval | The minimum sampling interval. |
useValuesFromAddressspace | If a mapped node already has a value that is not null, this value will be set in the model. |
Implements UnifiedAutomation.UaServer.IObjectMappingManager.
void UnifiedAutomation.UaServer.RootNodeManager.RemoveCrossReference | ( | NodeId | sourceNodeId, |
INodeManager | manager | ||
) |
Removes the cross reference.
sourceNodeId | The source node id. |
manager | The manager. |
Implements UnifiedAutomation.UaServer.INodeManagerEx.
void UnifiedAutomation.UaServer.RootNodeManager.RemoveNotifier | ( | NodeId | notifierId, |
IEventManager | manager | ||
) |
Removes a link to a notifier.
notifierId | The notifier id. |
manager | The manager. |
Implements UnifiedAutomation.UaServer.IEventManagerEx.
void UnifiedAutomation.UaServer.RootNodeManager.ReportEvent | ( | NodeId | notifierId, |
GenericEvent | e | ||
) |
Reports an event for the notifier id.
notifierId | The notifier id. |
e | The event. |
Implements UnifiedAutomation.UaServer.IEventManagerEx.
void UnifiedAutomation.UaServer.RootNodeManager.SessionActivated | ( | Session | session | ) |
Called when a session is activated.
session | The session. |
Implements UnifiedAutomation.UaServer.INodeManager.
void UnifiedAutomation.UaServer.RootNodeManager.SessionClosed | ( | Session | session | ) |
Called when a new session is closed.
session | The session. |
Implements UnifiedAutomation.UaServer.INodeManager.
void UnifiedAutomation.UaServer.RootNodeManager.SessionOpened | ( | Session | session | ) |
Called when a new session is created.
session | The 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.
rootId | The root id. |
handle | The handle. |
Implements UnifiedAutomation.UaServer.IObjectMappingManager.
|
get |
Gets the core node manager.
The core node manager.