C# Class Opc.Ua.Sample.CustomNodeManager2

A node manager for a variety of test data.
Inheritance: INodeManager, INodeIdFactory, IDisposable
Mostra file Open project: OPCFoundation/UA-.NETStandardLibrary

Public Methods

Method Description
AddReferences ( IDictionary references ) : void

This method is used to add bi-directional references to nodes from other node managers.

The additional references are optional, however, the NodeManager should support them.

Browse ( OperationContext context, ContinuationPoint &continuationPoint, IList references ) : void

Browses the references from a node managed by the node manager.

The continuation point is created for every browse operation and contains the browse parameters. The node manager can store its state information in the Data and Index properties.

Call ( OperationContext context, IList methodsToCall, IList results, IList errors ) : void

Calls a method on the specified nodes.

ConditionRefresh ( OperationContext context, IList monitoredItems ) : ServiceResult

Tells the node manager to refresh any conditions associated with the specified monitored items.

This method is called when the condition refresh method is called for a subscription. The node manager must create a refresh event for each condition monitored by the subscription.

CreateAddressSpace ( IDictionary externalReferences ) : void

Does any initialization required before the address space can be used.

The externalReferences is an out parameter that allows the node manager to link to nodes in other node managers. For example, the 'Objects' node is managed by the CoreNodeManager and should have a reference to the root folder node(s) exposed by this node manager.

CreateMonitoredItems ( OperationContext context, uint subscriptionId, double publishingInterval, TimestampsToReturn timestampsToReturn, IList itemsToCreate, IList errors, IList filterErrors, IList monitoredItems, long &globalIdCounter ) : void

Creates a new set of monitored items for a set of variables.

This method only handles data change subscriptions. Event subscriptions are created by the SDK.

CreateNode ( ServerSystemContext context, NodeId parentId, NodeId referenceTypeId, QualifiedName browseName, BaseInstanceState instance ) : NodeId

Creates a new instance and assigns unique identifiers to all children.

CustomNodeManager2 ( IServerInternal server ) : System

Initializes the node manager.

DeleteAddressSpace ( ) : void

Frees any resources allocated for the address space.

DeleteMonitoredItems ( OperationContext context, IList monitoredItems, IList processedItems, IList errors ) : void

Deletes a set of monitored items.

DeleteNode ( ServerSystemContext context, NodeId nodeId ) : bool

Deletes a node and all of its children.

DeleteReference ( object sourceHandle, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId, bool deleteBiDirectional ) : ServiceResult

This method is used to delete bi-directional references to nodes from other node managers.

Dispose ( ) : void

Frees any unmanaged resources.

Find ( NodeId nodeId ) : NodeState

Returns the state object for the specified node if it exists.

FindPredefinedNode ( NodeId nodeId, Type expectedType ) : NodeState

Finds the specified and checks if it is of the expected type.

GetManagerHandle ( NodeId nodeId ) : object

Returns a unique handle for the node.

This must efficiently determine whether the node belongs to the node manager. If it does belong to NodeManager it should return a handle that does not require the NodeId to be validated again when the handle is passed into other methods such as 'Read' or 'Write'.

GetNodeMetadata ( OperationContext context, object targetHandle, BrowseResultMask resultMask ) : NodeMetadata

Returns the basic metadata for the node. Returns null if the node does not exist.

This method validates any placeholder handle.

HistoryRead ( OperationContext context, HistoryReadDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, IList nodesToRead, IList results, IList errors ) : void

Reads the history for the specified nodes.

HistoryUpdate ( OperationContext context, Type detailsType, IList nodesToUpdate, IList results, IList errors ) : void

Updates the history for the specified nodes.

LoadPredefinedNodes ( ISystemContext context, Assembly assembly, string resourcePath, IDictionary externalReferences ) : void

Loads a node set from a file or resource and addes them to the set of predefined nodes.

ModifyMonitoredItems ( OperationContext context, TimestampsToReturn timestampsToReturn, IList monitoredItems, IList itemsToModify, IList errors, IList filterErrors ) : void

Modifies the parameters for a set of monitored items.

New ( ISystemContext context, NodeState node ) : NodeId

Creates the NodeId for the specified node.

Read ( OperationContext context, double maxAge, IList nodesToRead, IList values, IList errors ) : void

Reads the value for the specified attribute.

SetMonitoringMode ( OperationContext context, MonitoringMode monitoringMode, IList monitoredItems, IList processedItems, IList errors ) : void

Changes the monitoring mode for a set of monitored items.

SubscribeToAllEvents ( OperationContext context, uint subscriptionId, IEventMonitoredItem monitoredItem, bool unsubscribe ) : ServiceResult

Subscribes or unsubscribes to events produced by all event sources.

This method is called when a event subscription is created or deleted. The node manager must start/stop reporting events for all objects that it manages.

SubscribeToEvents ( OperationContext context, object sourceId, uint subscriptionId, IEventMonitoredItem monitoredItem, bool unsubscribe ) : ServiceResult

Subscribes or unsubscribes to events produced by the specified source.

This method is called when a event subscription is created or deletes. The node manager must start/stop reporting events for the specified object and all objects below it in the notifier hierarchy.

TranslateBrowsePath ( OperationContext context, object sourceHandle, RelativePathElement relativePath, IList targetIds, IList unresolvedTargetIds ) : void

Returns the target of the specified browse path fragment(s).

If reference exists but the node manager does not know the browse name it must return the NodeId as an unresolvedTargetIds. The caller will try to check the browse name.

Write ( OperationContext context, IList nodesToWrite, IList errors ) : void

Writes the value for the specified attributes.

Protected Methods

Method Description
AddBehaviourToPredefinedNode ( ISystemContext context, NodeState predefinedNode ) : NodeState

Replaces the generic node with a node specific to the model.

AddExternalReference ( NodeId sourceId, NodeId referenceTypeId, bool isInverse, NodeId targetId, IDictionary externalReferences ) : void

Adds an external reference to the dictionary.

AddPredefinedNode ( ISystemContext context, NodeState node ) : void

Recursively indexes the node and its children.

AddReverseReferences ( IDictionary externalReferences ) : void

Ensures that all reverse references exist.

AddRootNotifier ( NodeState notifier ) : void

Add the node to the set of root notifiers.

AddTypesToTypeTree ( BaseTypeState type ) : void

Recursively adds the types to the type tree.

AddTypesToTypeTree ( NodeId typeId ) : void

Recursively adds the types to the type tree.

Call ( ISystemContext context, CallMethodRequest methodToCall, NodeState source, MethodState method, CallMethodResult result ) : ServiceResult

Calls a method on an object.

CreateMonitoredItem ( ISystemContext context, NodeState source, uint subscriptionId, double publishingInterval, DiagnosticsMasks diagnosticsMasks, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequest itemToCreate, long &globalIdCounter, MonitoringFilterResult &filterError, IMonitoredItem &monitoredItem ) : ServiceResult

Creates a new set of monitored items for a set of variables.

This method only handles data change subscriptions. Event subscriptions are created by the SDK.

DeleteMonitoredItem ( ISystemContext context, IMonitoredItem monitoredItem, bool &processed ) : ServiceResult

Deletes a monitored item.

Dispose ( bool disposing ) : void

An overrideable version of the Dispose.

GetManagerHandle ( ISystemContext context, NodeId nodeId, NodeState>.IDictionary cache ) : object

Returns a unique handle for the node.

This must efficiently determine whether the node belongs to the node manager. If it does belong to NodeManager it should return a handle that does not require the NodeId to be validated again when the handle is passed into other methods such as 'Read' or 'Write'.

HistoryRead ( ISystemContext context, NodeState source, HistoryReadDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodesToRead, HistoryReadResult result ) : ServiceResult

Reads the history for a single node which has already been validated.

HistoryReadAtTime ( ISystemContext context, BaseVariableState source, ReadAtTimeDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult

Reads the history for the variable value.

HistoryReadProcessed ( ISystemContext context, BaseVariableState source, ReadProcessedDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult

Reads the processed history for the variable value.

HistoryReadRaw ( ISystemContext context, BaseVariableState source, ReadRawModifiedDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult

Reads the raw history for the variable value.

IsHandleInNamespace ( object managerHandle ) : NodeState

Returns the node if the handle refers to a node managed by this manager.

IsNodeIdInNamespace ( NodeId nodeId ) : bool

Returns true if the namespace for the node id is one of the namespaces managed by the node manager.

LoadPredefinedNodes ( ISystemContext context ) : NodeStateCollection

Loads a node set from a file or resource and addes them to the set of predefined nodes.

LoadPredefinedNodes ( ISystemContext context, IDictionary externalReferences ) : void

Loads a node set from a file or resource and addes them to the set of predefined nodes.

ModifyMonitoredItem ( ISystemContext context, DiagnosticsMasks diagnosticsMasks, TimestampsToReturn timestampsToReturn, IMonitoredItem monitoredItem, MonitoredItemModifyRequest itemToModify, MonitoringFilterResult &filterError ) : ServiceResult

Modifies the parameters for a monitored item.

OnCreateMonitoredItem ( ISystemContext systemContext, MonitoredItemCreateRequest itemToCreate, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem ) : void

Does any processing after a monitored item is created.

OnDeleteMonitoredItem ( ISystemContext systemContext, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem ) : void

Does any processing after a monitored item is deleted.

OnModifyMonitoredItem ( ISystemContext systemContext, MonitoredItemModifyRequest itemToModify, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem, double previousSamplingInterval ) : void

Does any processing after a monitored item is created.

OnNodeRemoved ( NodeState node ) : void

Called after a node has been deleted.

OnSetMonitoringMode ( ISystemContext systemContext, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem, MonitoringMode previousMode, MonitoringMode currentMode ) : void

Does any processing after a monitored item is created.

OnSubscribeToEvents ( ISystemContext systemContext, MonitoredNode monitoredNode, IEventMonitoredItem monitoredItem ) : void

Does any processing after a monitored item is subscribed to.

OnUnsubscribeToEvents ( ISystemContext systemContext, MonitoredNode monitoredNode, IEventMonitoredItem monitoredItem ) : void

Does any processing after a monitored item is subscribed to.

RemovePredefinedNode ( ISystemContext context, NodeState node, List referencesToRemove ) : void

Recursively indexes the node and its children.

RemoveRootNotifier ( NodeState notifier ) : void

Remove the node from the set of root notifiers.

SetMonitoringMode ( ISystemContext context, IMonitoredItem monitoredItem, MonitoringMode monitoringMode, bool &processed ) : ServiceResult

Changes the monitoring mode for an item.

SubscribeToAllEvents ( ISystemContext systemContext, IEventMonitoredItem monitoredItem, bool unsubscribe, NodeState source ) : void

Subscribes/unsubscribes to all events produced by the specified node.

ValidateDataChangeFilter ( ISystemContext context, NodeState source, uint attributeId, ExtensionObject requestedFilter, DataChangeFilter &filter, Range &range ) : ServiceResult

Validates a data change filter provided by the client.

ValidateNode ( ServerSystemContext context, NodeState node ) : bool

Verifies that the specified node exists.

Private Methods

Method Description
CalculateSamplingInterval ( BaseVariableState variable, double samplingInterval ) : double

Calculates the sampling interval.

CreateSampledItem ( double samplingInterval, DataChangeMonitoredItem monitoredItem ) : void

Creates a new sampled item.

DeleteSampledItem ( DataChangeMonitoredItem monitoredItem ) : void

Deletes a sampled item.

DoSample ( object state ) : void

Polls each monitored item which requires sample.

GetReferenceDescription ( OperationContext context, IReference reference, ContinuationPoint continuationPoint ) : ReferenceDescription

Returns the references for the node that meets the criteria specified.

Method Details

AddBehaviourToPredefinedNode() protected method

Replaces the generic node with a node specific to the model.
protected AddBehaviourToPredefinedNode ( ISystemContext context, NodeState predefinedNode ) : NodeState
context ISystemContext
predefinedNode NodeState
return NodeState

AddExternalReference() protected method

Adds an external reference to the dictionary.
protected AddExternalReference ( NodeId sourceId, NodeId referenceTypeId, bool isInverse, NodeId targetId, IDictionary externalReferences ) : void
sourceId NodeId
referenceTypeId NodeId
isInverse bool
targetId NodeId
externalReferences IDictionary
return void

AddPredefinedNode() protected method

Recursively indexes the node and its children.
protected AddPredefinedNode ( ISystemContext context, NodeState node ) : void
context ISystemContext
node NodeState
return void

AddReferences() public method

This method is used to add bi-directional references to nodes from other node managers.
The additional references are optional, however, the NodeManager should support them.
public AddReferences ( IDictionary references ) : void
references IDictionary
return void

AddReverseReferences() protected method

Ensures that all reverse references exist.
protected AddReverseReferences ( IDictionary externalReferences ) : void
externalReferences IDictionary A list of references to add to external targets.
return void

AddRootNotifier() protected method

Add the node to the set of root notifiers.
protected AddRootNotifier ( NodeState notifier ) : void
notifier NodeState
return void

AddTypesToTypeTree() protected method

Recursively adds the types to the type tree.
protected AddTypesToTypeTree ( BaseTypeState type ) : void
type BaseTypeState
return void

AddTypesToTypeTree() protected method

Recursively adds the types to the type tree.
protected AddTypesToTypeTree ( NodeId typeId ) : void
typeId NodeId
return void

Browse() public method

Browses the references from a node managed by the node manager.
The continuation point is created for every browse operation and contains the browse parameters. The node manager can store its state information in the Data and Index properties.
public Browse ( OperationContext context, ContinuationPoint &continuationPoint, IList references ) : void
context Opc.Ua.Server.OperationContext
continuationPoint Opc.Ua.Server.ContinuationPoint
references IList
return void

Call() protected method

Calls a method on an object.
protected Call ( ISystemContext context, CallMethodRequest methodToCall, NodeState source, MethodState method, CallMethodResult result ) : ServiceResult
context ISystemContext
methodToCall CallMethodRequest
source NodeState
method MethodState
result CallMethodResult
return ServiceResult

Call() public method

Calls a method on the specified nodes.
public Call ( OperationContext context, IList methodsToCall, IList results, IList errors ) : void
context Opc.Ua.Server.OperationContext
methodsToCall IList
results IList
errors IList
return void

ConditionRefresh() public method

Tells the node manager to refresh any conditions associated with the specified monitored items.
This method is called when the condition refresh method is called for a subscription. The node manager must create a refresh event for each condition monitored by the subscription.
public ConditionRefresh ( OperationContext context, IList monitoredItems ) : ServiceResult
context Opc.Ua.Server.OperationContext
monitoredItems IList
return ServiceResult

CreateAddressSpace() public method

Does any initialization required before the address space can be used.
The externalReferences is an out parameter that allows the node manager to link to nodes in other node managers. For example, the 'Objects' node is managed by the CoreNodeManager and should have a reference to the root folder node(s) exposed by this node manager.
public CreateAddressSpace ( IDictionary externalReferences ) : void
externalReferences IDictionary
return void

CreateMonitoredItem() protected method

Creates a new set of monitored items for a set of variables.
This method only handles data change subscriptions. Event subscriptions are created by the SDK.
protected CreateMonitoredItem ( ISystemContext context, NodeState source, uint subscriptionId, double publishingInterval, DiagnosticsMasks diagnosticsMasks, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequest itemToCreate, long &globalIdCounter, MonitoringFilterResult &filterError, IMonitoredItem &monitoredItem ) : ServiceResult
context ISystemContext
source NodeState
subscriptionId uint
publishingInterval double
diagnosticsMasks DiagnosticsMasks
timestampsToReturn TimestampsToReturn
itemToCreate MonitoredItemCreateRequest
globalIdCounter long
filterError MonitoringFilterResult
monitoredItem IMonitoredItem
return ServiceResult

CreateMonitoredItems() public method

Creates a new set of monitored items for a set of variables.
This method only handles data change subscriptions. Event subscriptions are created by the SDK.
public CreateMonitoredItems ( OperationContext context, uint subscriptionId, double publishingInterval, TimestampsToReturn timestampsToReturn, IList itemsToCreate, IList errors, IList filterErrors, IList monitoredItems, long &globalIdCounter ) : void
context Opc.Ua.Server.OperationContext
subscriptionId uint
publishingInterval double
timestampsToReturn TimestampsToReturn
itemsToCreate IList
errors IList
filterErrors IList
monitoredItems IList
globalIdCounter long
return void

CreateNode() public method

Creates a new instance and assigns unique identifiers to all children.
public CreateNode ( ServerSystemContext context, NodeId parentId, NodeId referenceTypeId, QualifiedName browseName, BaseInstanceState instance ) : NodeId
context Opc.Ua.Server.ServerSystemContext The operation context.
parentId NodeId An optional parent identifier.
referenceTypeId NodeId The reference type from the parent.
browseName QualifiedName The browse name.
instance BaseInstanceState The instance to create.
return NodeId

CustomNodeManager2() public method

Initializes the node manager.
public CustomNodeManager2 ( IServerInternal server ) : System
server IServerInternal
return System

DeleteAddressSpace() public method

Frees any resources allocated for the address space.
public DeleteAddressSpace ( ) : void
return void

DeleteMonitoredItem() protected method

Deletes a monitored item.
protected DeleteMonitoredItem ( ISystemContext context, IMonitoredItem monitoredItem, bool &processed ) : ServiceResult
context ISystemContext
monitoredItem IMonitoredItem
processed bool
return ServiceResult

DeleteMonitoredItems() public method

Deletes a set of monitored items.
public DeleteMonitoredItems ( OperationContext context, IList monitoredItems, IList processedItems, IList errors ) : void
context Opc.Ua.Server.OperationContext
monitoredItems IList
processedItems IList
errors IList
return void

DeleteNode() public method

Deletes a node and all of its children.
public DeleteNode ( ServerSystemContext context, NodeId nodeId ) : bool
context Opc.Ua.Server.ServerSystemContext
nodeId NodeId
return bool

DeleteReference() public method

This method is used to delete bi-directional references to nodes from other node managers.
public DeleteReference ( object sourceHandle, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId, bool deleteBiDirectional ) : ServiceResult
sourceHandle object
referenceTypeId NodeId
isInverse bool
targetId ExpandedNodeId
deleteBiDirectional bool
return ServiceResult

Dispose() public method

Frees any unmanaged resources.
public Dispose ( ) : void
return void

Dispose() protected method

An overrideable version of the Dispose.
protected Dispose ( bool disposing ) : void
disposing bool
return void

Find() public method

Returns the state object for the specified node if it exists.
public Find ( NodeId nodeId ) : NodeState
nodeId NodeId
return NodeState

FindPredefinedNode() public method

Finds the specified and checks if it is of the expected type.
public FindPredefinedNode ( NodeId nodeId, Type expectedType ) : NodeState
nodeId NodeId
expectedType System.Type
return NodeState

GetManagerHandle() protected method

Returns a unique handle for the node.
This must efficiently determine whether the node belongs to the node manager. If it does belong to NodeManager it should return a handle that does not require the NodeId to be validated again when the handle is passed into other methods such as 'Read' or 'Write'.
protected GetManagerHandle ( ISystemContext context, NodeId nodeId, NodeState>.IDictionary cache ) : object
context ISystemContext
nodeId NodeId
cache NodeState>.IDictionary
return object

GetManagerHandle() public method

Returns a unique handle for the node.
This must efficiently determine whether the node belongs to the node manager. If it does belong to NodeManager it should return a handle that does not require the NodeId to be validated again when the handle is passed into other methods such as 'Read' or 'Write'.
public GetManagerHandle ( NodeId nodeId ) : object
nodeId NodeId
return object

GetNodeMetadata() public method

Returns the basic metadata for the node. Returns null if the node does not exist.
This method validates any placeholder handle.
public GetNodeMetadata ( OperationContext context, object targetHandle, BrowseResultMask resultMask ) : NodeMetadata
context Opc.Ua.Server.OperationContext
targetHandle object
resultMask BrowseResultMask
return Opc.Ua.Server.NodeMetadata

HistoryRead() protected method

Reads the history for a single node which has already been validated.
protected HistoryRead ( ISystemContext context, NodeState source, HistoryReadDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodesToRead, HistoryReadResult result ) : ServiceResult
context ISystemContext
source NodeState
details HistoryReadDetails
timestampsToReturn TimestampsToReturn
releaseContinuationPoints bool
nodesToRead HistoryReadValueId
result HistoryReadResult
return ServiceResult

HistoryRead() public method

Reads the history for the specified nodes.
public HistoryRead ( OperationContext context, HistoryReadDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, IList nodesToRead, IList results, IList errors ) : void
context Opc.Ua.Server.OperationContext
details HistoryReadDetails
timestampsToReturn TimestampsToReturn
releaseContinuationPoints bool
nodesToRead IList
results IList
errors IList
return void

HistoryReadAtTime() protected method

Reads the history for the variable value.
protected HistoryReadAtTime ( ISystemContext context, BaseVariableState source, ReadAtTimeDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult
context ISystemContext
source BaseVariableState
details ReadAtTimeDetails
timestampsToReturn TimestampsToReturn
releaseContinuationPoints bool
nodeToRead HistoryReadValueId
result HistoryReadResult
return ServiceResult

HistoryReadProcessed() protected method

Reads the processed history for the variable value.
protected HistoryReadProcessed ( ISystemContext context, BaseVariableState source, ReadProcessedDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult
context ISystemContext
source BaseVariableState
details ReadProcessedDetails
timestampsToReturn TimestampsToReturn
releaseContinuationPoints bool
nodeToRead HistoryReadValueId
result HistoryReadResult
return ServiceResult

HistoryReadRaw() protected method

Reads the raw history for the variable value.
protected HistoryReadRaw ( ISystemContext context, BaseVariableState source, ReadRawModifiedDetails details, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueId nodeToRead, HistoryReadResult result ) : ServiceResult
context ISystemContext
source BaseVariableState
details ReadRawModifiedDetails
timestampsToReturn TimestampsToReturn
releaseContinuationPoints bool
nodeToRead HistoryReadValueId
result HistoryReadResult
return ServiceResult

HistoryUpdate() public method

Updates the history for the specified nodes.
public HistoryUpdate ( OperationContext context, Type detailsType, IList nodesToUpdate, IList results, IList errors ) : void
context Opc.Ua.Server.OperationContext
detailsType System.Type
nodesToUpdate IList
results IList
errors IList
return void

IsHandleInNamespace() protected method

Returns the node if the handle refers to a node managed by this manager.
protected IsHandleInNamespace ( object managerHandle ) : NodeState
managerHandle object The handle to check.
return NodeState

IsNodeIdInNamespace() protected method

Returns true if the namespace for the node id is one of the namespaces managed by the node manager.
protected IsNodeIdInNamespace ( NodeId nodeId ) : bool
nodeId NodeId The node id to check.
return bool

LoadPredefinedNodes() protected method

Loads a node set from a file or resource and addes them to the set of predefined nodes.
protected LoadPredefinedNodes ( ISystemContext context ) : NodeStateCollection
context ISystemContext
return NodeStateCollection

LoadPredefinedNodes() public method

Loads a node set from a file or resource and addes them to the set of predefined nodes.
public LoadPredefinedNodes ( ISystemContext context, Assembly assembly, string resourcePath, IDictionary externalReferences ) : void
context ISystemContext
assembly System.Reflection.Assembly
resourcePath string
externalReferences IDictionary
return void

LoadPredefinedNodes() protected method

Loads a node set from a file or resource and addes them to the set of predefined nodes.
protected LoadPredefinedNodes ( ISystemContext context, IDictionary externalReferences ) : void
context ISystemContext
externalReferences IDictionary
return void

ModifyMonitoredItem() protected method

Modifies the parameters for a monitored item.
protected ModifyMonitoredItem ( ISystemContext context, DiagnosticsMasks diagnosticsMasks, TimestampsToReturn timestampsToReturn, IMonitoredItem monitoredItem, MonitoredItemModifyRequest itemToModify, MonitoringFilterResult &filterError ) : ServiceResult
context ISystemContext
diagnosticsMasks DiagnosticsMasks
timestampsToReturn TimestampsToReturn
monitoredItem IMonitoredItem
itemToModify MonitoredItemModifyRequest
filterError MonitoringFilterResult
return ServiceResult

ModifyMonitoredItems() public method

Modifies the parameters for a set of monitored items.
public ModifyMonitoredItems ( OperationContext context, TimestampsToReturn timestampsToReturn, IList monitoredItems, IList itemsToModify, IList errors, IList filterErrors ) : void
context Opc.Ua.Server.OperationContext
timestampsToReturn TimestampsToReturn
monitoredItems IList
itemsToModify IList
errors IList
filterErrors IList
return void

New() public method

Creates the NodeId for the specified node.
public New ( ISystemContext context, NodeState node ) : NodeId
context ISystemContext The context.
node NodeState The node.
return NodeId

OnCreateMonitoredItem() protected method

Does any processing after a monitored item is created.
protected OnCreateMonitoredItem ( ISystemContext systemContext, MonitoredItemCreateRequest itemToCreate, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem ) : void
systemContext ISystemContext
itemToCreate MonitoredItemCreateRequest
monitoredNode MonitoredNode
monitoredItem DataChangeMonitoredItem
return void

OnDeleteMonitoredItem() protected method

Does any processing after a monitored item is deleted.
protected OnDeleteMonitoredItem ( ISystemContext systemContext, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem ) : void
systemContext ISystemContext
monitoredNode MonitoredNode
monitoredItem DataChangeMonitoredItem
return void

OnModifyMonitoredItem() protected method

Does any processing after a monitored item is created.
protected OnModifyMonitoredItem ( ISystemContext systemContext, MonitoredItemModifyRequest itemToModify, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem, double previousSamplingInterval ) : void
systemContext ISystemContext
itemToModify MonitoredItemModifyRequest
monitoredNode MonitoredNode
monitoredItem DataChangeMonitoredItem
previousSamplingInterval double
return void

OnNodeRemoved() protected method

Called after a node has been deleted.
protected OnNodeRemoved ( NodeState node ) : void
node NodeState
return void

OnSetMonitoringMode() protected method

Does any processing after a monitored item is created.
protected OnSetMonitoringMode ( ISystemContext systemContext, MonitoredNode monitoredNode, DataChangeMonitoredItem monitoredItem, MonitoringMode previousMode, MonitoringMode currentMode ) : void
systemContext ISystemContext
monitoredNode MonitoredNode
monitoredItem DataChangeMonitoredItem
previousMode MonitoringMode
currentMode MonitoringMode
return void

OnSubscribeToEvents() protected method

Does any processing after a monitored item is subscribed to.
protected OnSubscribeToEvents ( ISystemContext systemContext, MonitoredNode monitoredNode, IEventMonitoredItem monitoredItem ) : void
systemContext ISystemContext
monitoredNode MonitoredNode
monitoredItem IEventMonitoredItem
return void

OnUnsubscribeToEvents() protected method

Does any processing after a monitored item is subscribed to.
protected OnUnsubscribeToEvents ( ISystemContext systemContext, MonitoredNode monitoredNode, IEventMonitoredItem monitoredItem ) : void
systemContext ISystemContext
monitoredNode MonitoredNode
monitoredItem IEventMonitoredItem
return void

Read() public method

Reads the value for the specified attribute.
public Read ( OperationContext context, double maxAge, IList nodesToRead, IList values, IList errors ) : void
context OperationContext
maxAge double
nodesToRead IList
values IList
errors IList
return void

RemovePredefinedNode() protected method

Recursively indexes the node and its children.
protected RemovePredefinedNode ( ISystemContext context, NodeState node, List referencesToRemove ) : void
context ISystemContext
node NodeState
referencesToRemove List
return void

RemoveRootNotifier() protected method

Remove the node from the set of root notifiers.
protected RemoveRootNotifier ( NodeState notifier ) : void
notifier NodeState
return void

SetMonitoringMode() protected method

Changes the monitoring mode for an item.
protected SetMonitoringMode ( ISystemContext context, IMonitoredItem monitoredItem, MonitoringMode monitoringMode, bool &processed ) : ServiceResult
context ISystemContext
monitoredItem IMonitoredItem
monitoringMode MonitoringMode
processed bool
return ServiceResult

SetMonitoringMode() public method

Changes the monitoring mode for a set of monitored items.
public SetMonitoringMode ( OperationContext context, MonitoringMode monitoringMode, IList monitoredItems, IList processedItems, IList errors ) : void
context OperationContext
monitoringMode MonitoringMode
monitoredItems IList
processedItems IList
errors IList
return void

SubscribeToAllEvents() public method

Subscribes or unsubscribes to events produced by all event sources.
This method is called when a event subscription is created or deleted. The node manager must start/stop reporting events for all objects that it manages.
public SubscribeToAllEvents ( OperationContext context, uint subscriptionId, IEventMonitoredItem monitoredItem, bool unsubscribe ) : ServiceResult
context OperationContext
subscriptionId uint
monitoredItem IEventMonitoredItem
unsubscribe bool
return ServiceResult

SubscribeToAllEvents() protected method

Subscribes/unsubscribes to all events produced by the specified node.
protected SubscribeToAllEvents ( ISystemContext systemContext, IEventMonitoredItem monitoredItem, bool unsubscribe, NodeState source ) : void
systemContext ISystemContext
monitoredItem IEventMonitoredItem
unsubscribe bool
source NodeState
return void

SubscribeToEvents() public method

Subscribes or unsubscribes to events produced by the specified source.
This method is called when a event subscription is created or deletes. The node manager must start/stop reporting events for the specified object and all objects below it in the notifier hierarchy.
public SubscribeToEvents ( OperationContext context, object sourceId, uint subscriptionId, IEventMonitoredItem monitoredItem, bool unsubscribe ) : ServiceResult
context OperationContext
sourceId object
subscriptionId uint
monitoredItem IEventMonitoredItem
unsubscribe bool
return ServiceResult

TranslateBrowsePath() public method

Returns the target of the specified browse path fragment(s).
If reference exists but the node manager does not know the browse name it must return the NodeId as an unresolvedTargetIds. The caller will try to check the browse name.
public TranslateBrowsePath ( OperationContext context, object sourceHandle, RelativePathElement relativePath, IList targetIds, IList unresolvedTargetIds ) : void
context OperationContext
sourceHandle object
relativePath RelativePathElement
targetIds IList
unresolvedTargetIds IList
return void

ValidateDataChangeFilter() protected method

Validates a data change filter provided by the client.
protected ValidateDataChangeFilter ( ISystemContext context, NodeState source, uint attributeId, ExtensionObject requestedFilter, DataChangeFilter &filter, Range &range ) : ServiceResult
context ISystemContext The system context.
source NodeState The node being monitored.
attributeId uint The attribute being monitored.
requestedFilter ExtensionObject The requested monitoring filter.
filter DataChangeFilter The validated data change filter.
range Range The EU range associated with the value if required by the filter.
return ServiceResult

ValidateNode() protected method

Verifies that the specified node exists.
protected ValidateNode ( ServerSystemContext context, NodeState node ) : bool
context ServerSystemContext
node NodeState
return bool

Write() public method

Writes the value for the specified attributes.
public Write ( OperationContext context, IList nodesToWrite, IList errors ) : void
context OperationContext
nodesToWrite IList
errors IList
return void