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

A base class for all node managers. More...

Inherits UnifiedAutomation.UaServer.INodeManagerEx, UnifiedAutomation.UaServer.INodeManagementManager, UnifiedAutomation.UaBase.IDefinitionHelper, UnifiedAutomation.UaBase.INodeAccessInfoFactory, UnifiedAutomation.UaServer.IModelManager, UnifiedAutomation.UaServer.IMethodManager, UnifiedAutomation.UaServer.IIOManager, UnifiedAutomation.UaServer.IHistoryReadEventManager, UnifiedAutomation.UaServer.IHistoryUpdateEventManager, UnifiedAutomation.UaServer.IHistoryReadDataManager, UnifiedAutomation.UaServer.IHistoryUpdateDataManager, UnifiedAutomation.UaServer.IEventManagerEx, UnifiedAutomation.UaServer.INotifierManagerCallback, UnifiedAutomation.UaServer.IConditionMethods, UnifiedAutomation.UaServer.IAlarmConditionMethods, UnifiedAutomation.UaServer.IShelvedStateMachineMethods, UnifiedAutomation.UaServer.IAdvancedNodeManager, IDisposable, UnifiedAutomation.UaServer.IObjectMappingManager, and UnifiedAutomation.UaServer.IUserAccessManager.

Inherited by UnifiedAutomation.UaServer.BaseNodeManagerEx, and UnifiedAutomation.UaServer.CoreNodeManager.

Classes

class  BuiltInBrowseStage
 The built-in handle types for the node manager. More...
 
class  MappedNode
 A class that maps an object to a node. More...
 

Public Member Functions

 BaseNodeManager (ServerManager server, params string[] namespaceUris)
 Initializes a new instance of the BaseNodeManager class. More...
 
void Dispose ()
 Frees any unmanaged resources. More...
 
ushort AddNamespaceUri (string namespaceUri)
 Adds the namespace URI. 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. This method can be used if the values of the children are stored in a single instance of a class. The values of instance can be accessed by using the specified mapper. More...
 
void UnlinkModelFromNode (NodeId rootId, ModelHandle handle)
 Unlinks an object from a node in the address space. 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...
 
virtual bool HasAccess (RequestContext context, BrowseHandle browseHandle)
 Determines whether the specified context has access to the browse handle. More...
 
virtual bool HasAccess (RequestContext context, MethodHandle methodHandle)
 Determines whether the specified context has access to the browse handle. More...
 
virtual bool HasAccess (RequestContext context, NodeAttributeHandle nodeHandle, UserAccessMask accessMasks)
 Determines whether the current context has specified access to the handle. More...
 
virtual bool HasAccess (RequestContext context, HistoryDataHandle nodeHandle, UserAccessMask accessMasks)
 Determines whether the specified context has access to the history data handle. More...
 
virtual bool HasAccess (RequestContext context, HistoryEventHandle nodeHandle, UserAccessMask accessMasks)
 Determines whether the specified context has access to the history event handle. More...
 
void ImportUaNodeset (Assembly assembly, string resourcePath)
 Imports the nodeset from an embedded resource. More...
 
void ImportUaNodeset (FileInfo file)
 Imports the ua nodeset from a file. More...
 
void ImportUaNodeset (Stream istrm)
 Imports the nodes from the stream. More...
 
void ImportUaNodeset (UaSchema.UANodeSet nodeset)
 Imports the specified nodeset. More...
 
void Import (List< Node > nodes)
 Imports the list of nodes. More...
 
void SetMethodDispatcher (NodeId methodId, IMethodDispatcher dispatcher, SynchronizationContext synchronizationContext=null)
 Sets the method dispatcher for a method. More...
 
void SetAsyncMethodDispatcher (NodeId methodId, IAsyncMethodDispatcher dispatcher, SynchronizationContext synchronizationContext=null)
 Sets the method dispatcher for a method. More...
 
void SetNodePermissions (NodeId nodeId, INodeAccessInfo permissions, bool recursive)
 Sets the permissions for a node. More...
 
void SetNodePermissions (NodeId parentId, QualifiedName browseName, INodeAccessInfo permissions, bool recursive=false)
 Sets the permissions for a node. More...
 
void SetNodePermissions (NodeId nodeId, RolePermissionTypeCollection permissions, bool recursive)
 Sets the permissions for a node. More...
 
void SetNodePermissions (NodeId parentId, QualifiedName browseName, RolePermissionTypeCollection permissions, bool recursive=false)
 Sets the permissions for a node. More...
 
void SetNodePermissions (NodeId nodeId, IRolePermissions permissions, bool recursive)
 Sets the permissions for a node. More...
 
void SetNodePermissions (NodeId parentId, QualifiedName browseName, IRolePermissions permissions, bool recursive=false)
 Sets the permissions for a node. More...
 
void SetNodeAccessRestriction (NodeId nodeId, AccessRestrictionType?accessRestriction, bool recursive)
 Sets the permissions for a node. More...
 
void SetNodeAccessRestriction (NodeId parentId, QualifiedName browseName, AccessRestrictionType?accessRestriction, bool recursive=false)
 Sets the permissions for a node. More...
 
INodeAccessInfo GetNodePermission (NodeId nodeId)
 Returns the permissions for a node. More...
 
object GetNodeUserData (NodeId nodeId)
 Gets the user data for a node. More...
 
void SetNodeUserData (NodeId nodeId, object userData)
 Sets the user data for a node. More...
 
void SetChildUserData (NodeId parentId, QualifiedName browseName, object userData)
 Sets the user data for the child of a node. More...
 
VariableNode SetVariableConfiguration (NodeId parentId, QualifiedName browseName, uint handleType, object handleData)
 Sets the variable configuration. More...
 
void SetVariableConfiguration (NodeId variableId, uint handleType, object handleData)
 Sets the variable configuration. More...
 
bool SetVariableDefaultValue (NodeId parentId, QualifiedName browseName, Variant value)
 Sets the variable default value. More...
 
bool SetVariableDefaultValue (NodeId variableId, Variant value)
 Sets the variable value configuration. More...
 
void SetNodeAttributeConfiguration (NodeId nodeId, uint attributeId, uint handleType, object handleData)
 Sets the node attribute configuration. More...
 
Node FindInMemoryNode (NodeId sourceId, NodeId referenceTypeId, bool isInverse, StringTable namespaceUris, string browsePath)
 Finds the in memory node. More...
 
Node FindInMemoryNode (NodeId sourceId, NodeId referenceTypeId, bool isInverse, params AbsoluteName[] browseNames)
 Finds the in memory node. More...
 
Node FindInMemoryNode (NodeId sourceId, NodeId referenceTypeId, bool isInverse, params QualifiedName[] browseNames)
 Finds the in memory node. More...
 
Node FindInMemoryNode (NodeId nodeId)
 Finds the in memory node. More...
 
bool TryGetNamespaceMetadata (ushort namespaceIndex, out NamespaceMetadataModel namespaceMetadata)
 Checks if a NamespaceMetadataModel is configured for a namespace index. More...
 
IRolePermissions ConvertRolePermissions (RolePermissionTypeCollection rolePermissionAttributeValue)
 Returns a class for an optimized evaluation of the access rights More...
 
virtual void EvaluateNamespaceMetaData ()
 Check the instances of NamespaceMetaDataType and gets the values for DefaultAccessRestriction and DefaultRolePermissions. More...
 
virtual void EvaluateRolePermissions ()
 Checks each Node if RolePermissions attribute is set and sets the IRolePermissions property. More...
 
SchemaBuilder CreateTypeDictionary (RequestContext context, CreateTypeDictionarySettings settings)
 Creates a class that can be used to dynamically build data types descriptions. More...
 
void CreateGenericDataType (RequestContext context, GenericDataType dataType, ushort namespaceIndex)
 Creates the nodes required to represent a generic data type in the address space, More...
 
virtual NodeMetadata GetNodeMetadata (RequestContext context, BrowseHandle browseHandle, NodeMetadataMask fieldsToReturn, NodeClass nodeClassFilter)
 Gets the node metadata. More...
 
virtual Node GetNodeAttributes (RequestContext context, BrowseHandle browseHandle, NodeClass expectedNodeClass)
 Gets the node attributes. More...
 
virtual DataValue ReadAttribute (RequestContext context, NodeAttributeHandle nodeHandle)
 Reads the attribute. More...
 
virtual T ReadValue< T > (RequestContext context, NodeAttributeHandle nodeHandle, QualifiedName componentName, T defaultValue)
 Reads the attribute value for a child node. More...
 
virtual T ReadValue< T > (RequestContext context, NodeAttributeHandle nodeHandle, QualifiedName[] browsePath, T defaultValue)
 Reads the attribute value for a child node. More...
 
virtual StatusCode WriteAttribute (RequestContext context, NodeAttributeHandle nodeHandle, Variant valueToWrite)
 Writes the attribute. More...
 
virtual StatusCode WriteValue (RequestContext context, NodeAttributeHandle nodeHandle, QualifiedName componentName, Variant valueToWrite)
 Writes the attribute value for a child node. More...
 
virtual StatusCode WriteValue (RequestContext context, NodeAttributeHandle nodeHandle, QualifiedName[] browsePath, Variant valueToWrite)
 Writes the attribute value for a child node. More...
 
virtual StatusCode BeginEventTransaction (RequestContext context, uint totalItemCountHint, TransactionType transactionType, Delegate callback, object callbackData, out TransactionHandle handle)
 Begins the transaction. More...
 
virtual void FinishEventTransaction (TransactionHandle transaction)
 Finishes the transaction. More...
 
StatusCode BeginStartEventMonitoring (NotifierOperationHandle operationHandle, MonitoredItemCreateRequest settings, uint monitoredItemId, EventNotificationEventHandler callback)
 Starts monitoring an item. 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...
 
virtual 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...
 
virtual 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...
 
virtual void EventMonitoringStopped (RequestContext context, NodeId notifierId, MonitoredItemHandle itemHandle)
 Called when monitoring stops for a notifier from another IEventManager higher in the hierarchy. More...
 
virtual 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 from an IEventManager to a notifier. More...
 
void RemoveNotifier (NodeId notifierId, IEventManager manager)
 Removes a link from IEventManager to a notifier. More...
 
virtual void ReportEvent (NodeId notifierId, GenericEvent e)
 Reports an event for the notifier id. More...
 
virtual void OnMonitoringStarted (NodeId notifierId, EventMonitoredItem monitoredItem)
 Called when event monitoring has started for a notifier. More...
 
virtual void OnMonitoringModified (NodeId notifierId, EventMonitoredItem monitoredItem)
 Called when event monitoring has been modified for a notifier. More...
 
virtual void OnMonitoringStopped (NodeId notifierId, EventMonitoredItem monitoredItem)
 Called when event monitoring has stopped for a notifier. More...
 
virtual void OnConditionRefresh (NodeId notifierId, MonitoredItemHandle itemHandle, EventNotificationEventHandler callback)
 Called when condition refresh has been called for the notifier. More...
 
virtual StatusCode Enable (RequestContext context, ConditionModel model)
 Enables a condition. More...
 
virtual StatusCode Disable (RequestContext context, ConditionModel model)
 Disables a condition. More...
 
virtual StatusCode AddComment (RequestContext context, ConditionModel model, byte[] eventId, LocalizedText comment)
 Adds a comment to a condition. More...
 
virtual StatusCode Acknowledge (RequestContext context, AcknowledgeableConditionModel model, byte[] eventId, LocalizedText comment)
 Acknowledges a condition. More...
 
virtual StatusCode Confirm (RequestContext context, AcknowledgeableConditionModel model, byte[] eventId, LocalizedText comment)
 Confirms a condition. More...
 
virtual StatusCode PlaceInService (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode RemoveFromService (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode Reset (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode Silence (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode Suppress (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode Unsuppress (RequestContext context, AlarmConditionModel model)
 
virtual StatusCode GetGroupMemberships (RequestContext context, AlarmConditionModel model, out NodeId[] Groups)
 The GetGroupMemberships Method is used to find the list of AlarmGroups that this alarm is in. Must be implemented by the concrete subtype. More...
 
virtual StatusCode PlaceInService2 (RequestContext context, AlarmConditionModel model, LocalizedText Comment)
 The PlaceInService2 Method applies to an Alarm instance, even if it is not currently in the Active State. Must be implemented by the concrete subtype. More...
 
virtual StatusCode RemoveFromService2 (RequestContext context, AlarmConditionModel model, LocalizedText Comment)
 The RemoveFromService2 Method extends the RemoveFromService Method, by adding an optional Comment. For other functionality see the RemoveFromService Method definition. Must be implemented by the concrete subtype. More...
 
virtual StatusCode Reset2 (RequestContext context, AlarmConditionModel model, LocalizedText Comment)
 The Reset2 Method extends the Reset Method, by adding an optional Comment. For other functionality see the Reset Method definition. Must be implemented by the concrete subtype. More...
 
virtual StatusCode Suppress2 (RequestContext context, AlarmConditionModel model, LocalizedText Comment)
 The Suppress2 Method extends the Suppress Method, by adding an optional Comment. For other functionality see the Suppress Method definition. Must be implemented by the concrete subtype. More...
 
virtual StatusCode Unsuppress2 (RequestContext context, AlarmConditionModel model, LocalizedText Comment)
 
virtual StatusCode OneShotShelve (RequestContext context, ShelvedStateMachineModel model)
 Shelves a condition until the next time it goes into the active state. More...
 
virtual StatusCode TimedShelve (RequestContext context, ShelvedStateMachineModel model, double shelvingTime)
 Shelves a condition for a period of time. More...
 
virtual StatusCode Unshelve (RequestContext context, ShelvedStateMachineModel model)
 Unshelves a condition. More...
 
virtual StatusCode OneShotShelve2 (RequestContext context, ShelvedStateMachineModel model, LocalizedText Comment)
 Must be implemented by the concrete subtype. More...
 
virtual StatusCode TimedShelve2 (RequestContext context, ShelvedStateMachineModel model, double ShelvingTime, LocalizedText Comment)
 The TimedShelve Method extends the TimedShelve Method, by adding an optional Comment. For other functionality see the TimedShelve Method definition. Must be implemented by the concrete subtype. More...
 
virtual StatusCode Unshelve2 (RequestContext context, ShelvedStateMachineModel model, LocalizedText Comment)
 The Unshelve2 Method extends the Unshelve Method, by adding an optional Comment. For other functionality see the Unshelve Method definition. Must be implemented by the concrete subtype. More...
 
StatusCode BeginHistoryReadDataTransaction (RequestContext context, uint totalItemCountHint, TimestampsToReturn timestampsToReturn, TransactionType transactionType, HistoryReadDetails details, Delegate callback, object callbackData, out HistoryDataTransactionHandle handle)
 Begins the history transaction. More...
 
void FinishHistoryReadDataTransaction (HistoryDataTransactionHandle transaction)
 Finishes the history transaction. More...
 
StatusCode BeginHistoryReadRaw (HistoryDataOperationHandle operationHandle, HistoryReadValueId valueToRead)
 Begins an operation to read raw history data. More...
 
StatusCode BeginHistoryReadProcessed (HistoryDataOperationHandle operationHandle, HistoryReadValueId valueToRead)
 Begins an operation to read processed history data. More...
 
StatusCode BeginHistoryReadAtTime (HistoryDataOperationHandle operationHandle, HistoryReadValueId valueToRead)
 Begins an operation to read raw history data. More...
 
StatusCode BeginHistoryUpdateDataTransaction (RequestContext context, uint totalItemCountHint, TransactionType transactionType, Delegate callback, object callbackData, out HistoryDataTransactionHandle handle)
 Begins the history transaction. More...
 
void FinishHistoryUpdateDataTransaction (HistoryDataTransactionHandle transaction)
 Finishes the history transaction. More...
 
StatusCode BeginHistoryUpdateData (HistoryDataOperationHandle operationHandle, UpdateDataDetails details)
 Begins an operation to update raw history data. More...
 
StatusCode BeginHistoryUpdateStructureData (HistoryDataOperationHandle operationHandle, UpdateStructureDataDetails details)
 Begins an operation to update structured history data. More...
 
StatusCode BeginHistoryDeleteRaw (HistoryDataOperationHandle operationHandle, DeleteRawModifiedDetails details)
 Begins an operation to delete raw history data. More...
 
StatusCode BeginHistoryDeleteAtTime (HistoryDataOperationHandle operationHandle, DeleteAtTimeDetails details)
 Begins an operation to delete history data at specific times. More...
 
StatusCode BeginHistoryReadEventTransaction (RequestContext context, uint totalItemCountHint, TransactionType transactionType, ReadEventDetails details, Delegate callback, object callbackData, out HistoryEventTransactionHandle handle)
 Begins the event history transaction. More...
 
void FinishHistoryReadEventTransaction (HistoryEventTransactionHandle transaction)
 Finishes the event history transaction. More...
 
StatusCode BeginHistoryReadEvent (HistoryEventOperationHandle operationHandle, HistoryReadValueId notifierToRead)
 Begins an operation to read event history. More...
 
StatusCode BeginHistoryUpdateEventTransaction (RequestContext context, uint totalItemCountHint, TransactionType transactionType, Delegate callback, object callbackData, out HistoryEventTransactionHandle handle)
 Begins the history transaction. More...
 
void FinishHistoryUpdateEventTransaction (HistoryEventTransactionHandle transaction)
 Finishes the history event transaction. More...
 
StatusCode BeginHistoryUpdateEvent (HistoryEventOperationHandle operationHandle, UpdateEventDetails details)
 Begins the history update event. More...
 
StatusCode BeginHistoryDeleteEvent (HistoryEventOperationHandle operationHandle, DeleteEventDetails details)
 Begins an operation to delete event history. More...
 
virtual StatusCode BeginDataTransaction (RequestContext context, uint totalItemCountHint, double maxAge, TimestampsToReturn timestampsToReturn, TransactionType transactionType, Delegate callback, object callbackData, out TransactionHandle handle)
 Begins the data transaction. More...
 
virtual void FinishDataTransaction (TransactionHandle transaction)
 Finishes the transaction. More...
 
StatusCode BeginRead (NodeAttributeOperationHandle operationHandle, ReadValueId settings)
 Begins a read operation (must not block). More...
 
StatusCode BeginWrite (NodeAttributeOperationHandle operationHandle, WriteValue settings)
 Begins the write. More...
 
StatusCode BeginStartDataMonitoring (NodeAttributeOperationHandle operationHandle, uint monitoredItemId, MonitoredItemCreateRequest settings, DataChangeEventHandler callback)
 Begins a start data monitoring operation (must not block). More...
 
StatusCode BeginModifyDataMonitoring (MonitoredItemOperationHandle operationHandle, MonitoredItemModifyRequest settings)
 Begins a modify data operation (must not block). More...
 
StatusCode BeginStopDataMonitoring (MonitoredItemOperationHandle operationHandle)
 Begins a stop data monitoring operation (must not block). More...
 
StatusCode BeginSetDataMonitoringMode (MonitoredItemOperationHandle operationHandle, MonitoringMode monitoringMode, MonitoringParameters parameters)
 Begins a set data monitoring mode operation (must not block). More...
 
bool CannotPassNodeAccessChecks (RequestContext context, NodeAttributeHandle nodeHandle, UserAccessMask accessMask, out StatusCode statusCode)
 Checks if a node can be accessed. Checks the AccessRestrictions and calls nodeHandle.UserAccessManager.HasAccess. More...
 
virtual StatusCode BeginCallTransaction (RequestContext context, uint totalItemCountHint, CallCompleteEventHandler callback, object callbackData, out TransactionHandle handle)
 Begins the call transaction. More...
 
virtual StatusCode BeginCall (MethodOperationHandle methodHandle, IList< Variant > inputArguments)
 Begins the method call. More...
 
virtual void FinishCallTransaction (TransactionHandle transaction)
 Finishes the call transaction. 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.
 
virtual INodeAccessInfo NodeAccessInfoFromShema (UaSchema.NodeAccessInfo nodeAccessInfo)
 Returns the INodeAccessInfo from the Extension defines in a NodeSet XML file More...
 
StatusCode AddNode (RequestContext context, AddNodeSettings settings, out NodeId assignedNodeId)
 Adds a new node. More...
 
StatusCode DeleteNode (RequestContext context, NodeId nodeId, bool deleteTargetReferences)
 Deletes the 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 the reference. More...
 
ObjectNode CreateObject (RequestContext context, CreateObjectSettings settings)
 Creates a new object node. More...
 
VariableNode CreateVariable (RequestContext context, CreateVariableSettings settings)
 Creates a new variable node. More...
 
MethodNode CreateMethod (RequestContext context, CreateMethodSettings settings)
 Creates a new method node. More...
 
ViewNode CreateView (RequestContext context, CreateViewSettings settings)
 Creates a new view node. More...
 
ObjectTypeNode CreateObjectTypeNode (RequestContext context, CreateObjectTypeSettings settings)
 Creates a new object type node. More...
 
VariableTypeNode CreateVariableTypeNode (RequestContext context, CreateVariableTypeSettings settings)
 Creates a new variable type node. More...
 
DataTypeNode CreateDataTypeNode (RequestContext context, CreateDataTypeSettings settings)
 Creates a new data type node. More...
 
ReferenceTypeNode CreateReferenceTypeNode (RequestContext context, CreateReferenceTypeSettings settings)
 Creates a new reference type node. More...
 
NodeId EncodingId (NodeId dataTypeId, UaBase.QualifiedName encodingName)
 
StructureFieldDataSettingsCollection StructureFields (NodeId dataTypeId)
 
virtual void Startup ()
 Called when the node manager is started. More...
 
virtual void Shutdown ()
 Called when the node manager is stopped. More...
 
virtual void SessionOpened (Session session)
 Called when a new session is created. More...
 
virtual void SessionActivated (Session session)
 Called when a session is activated. More...
 
virtual void SessionClosed (Session session)
 Called when a new session is closed. More...
 
virtual 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...
 
virtual StatusCode GetNodeHandle (RequestContext context, NodeId nodeId, uint attributeId, out NodeAttributeHandle handle)
 Gets the node handle for the specified node and attribute. More...
 
virtual StatusCode GetNotifierHandle (RequestContext context, NodeId nodeId, out NotifierHandle handle)
 Gets the notifier handle for the specified notifier. More...
 
virtual StatusCode GetMethodHandle (RequestContext context, NodeId objectId, NodeId methodId, out MethodHandle handle)
 Gets the method handle for the specified object and method. More...
 
virtual StatusCode GetHistoryDataHandle (RequestContext context, NodeId variableId, out HistoryDataHandle handle)
 Gets the history data handle for the specified variable. More...
 
virtual StatusCode GetHistoryEventHandle (RequestContext context, NodeId notifierId, out HistoryEventHandle handle)
 Gets the history events handle for the specified notifier. More...
 
virtual StatusCode BeginBrowse (RequestContext context, BrowseOperationHandle nodeToBrowse, ContinuationPoint continuationPoint, bool releaseContinuationPoint, Delegate callback, object callbackData)
 Begins a browse operation. More...
 
virtual StatusCode BeginTranslate (RequestContext context, BrowseOperationHandle nodeToBrowse, RelativePath relativePath, uint index, Delegate callback, object callbackData)
 Begins a translate browse paths operation. More...
 
void AddCrossReference (NodeId sourceNodeId, INodeManager manager)
 Adds the cross reference. More...
 
void RemoveCrossReference (NodeId sourceNodeId, INodeManager manager)
 Removes the cross reference. More...
 

Public Attributes

bool DisableAttributeReadAccessCheck
 Gets or sets a value indicating whether the access right check for ReadAttribute is disabled for in memory nodes. More...
 

Protected Member Functions

virtual void Dispose (bool disposing)
 An overrideable version of the Dispose. More...
 
virtual bool IsNodeIdInvalid (NodeId nodeId)
 Determines whether the node id is invalid. More...
 
virtual bool IsNodeIdInvalid (ExpandedNodeId nodeId)
 Determines whether the node id is invalid. More...
 
Node CopyNode (Node source, bool copyValue)
 Copies the node. More...
 
virtual void FinishStartEventMonitoringTransaction (TransactionHandle transaction)
 Finishes the start event monitoring transaction. More...
 
virtual EventMonitoringResult StartEventMonitoring (RequestContext context, NotifierHandle notifierHandle, uint monitoredItemId, MonitoredItemCreateRequest settings, EventNotificationEventHandler callback)
 Starts the event monitoring for a single item. More...
 
virtual void StartEventMonitoring (RequestContext context, TransactionHandle transaction, IList< NotifierOperationHandle > notifierHandles, IList< uint > monitoredItemIds, IList< MonitoredItemCreateRequest > settings, IList< EventNotificationEventHandler > callbacks)
 Starts the event monitoring for all unprocessed items in the transaction. More...
 
EventMonitoringResult ValidateEventMonitoringRequest (RequestContext context, NotifierHandle notifierHandle, ReadValueId itemToMonitor, MonitoringParameters parameters)
 Validates the event monitoring request. More...
 
virtual void FinishModifyEventMonitoringTransaction (TransactionHandle transaction)
 Finishes the modify event monitoring transaction. More...
 
virtual EventMonitoringResult ModifyEventMonitoring (RequestContext context, MonitoredItemOperationHandle itemHandle, MonitoredItemModifyRequest settings)
 Modifies the event monitoring for a single item. More...
 
virtual void ModifyEventMonitoring (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > itemHandles, IList< MonitoredItemModifyRequest > settings)
 Modifies the event monitoring for all unprocessed items in the transaction. More...
 
virtual void FinishStopEventMonitoringTransaction (TransactionHandle transaction)
 Finishes the stop event monitoring transaction. More...
 
virtual StatusCode StopEventMonitoring (RequestContext context, MonitoredItemOperationHandle itemHandle)
 Stops the event monitoring for a single item. More...
 
virtual void StopEventMonitoring (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > itemHandles, IList< MonitoredItemModifyRequest > settings)
 Stop the event monitoring for all unprocessed items in the transaction. More...
 
virtual void FinishSetEventMonitoringModeTransaction (TransactionHandle transaction)
 Finishes the set event monitoring mode transaction. More...
 
virtual StatusCode SetEventMonitoringMode (RequestContext context, MonitoredItemOperationHandle itemHandle, MonitoringMode monitoringMode)
 Changes the event monitoring mode for a single item. More...
 
virtual void SetEventMonitoringMode (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > itemHandles, IList< MonitoringMode > monitoringModes)
 Changes the event monitoring mode for all unprocessed items in the transaction. More...
 
void AddNotifier (NodeId notifierId, params NodeId[] parents)
 Removes a local notifier. More...
 
bool IsNotifierForSource (NotifierHandle notifierHandle, NodeId sourceId)
 Determines whether the notifier is above the source in the tree. More...
 
virtual HistoryReadResult HistoryReadRaw (RequestContext context, ReadRawModifiedDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, string indexRange, QualifiedName dataEncoding, ref HistoryContinuationPoint continuationPoint)
 Reads the raw history for a single variable. More...
 
virtual
HistoryDataReadRawContinuationPoint 
CreateHistoryContinuationPoint (RequestContext context, ReadRawModifiedDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, string indexRange, QualifiedName dataEncoding)
 Creates the history continuation point. More...
 
virtual void HistoryReadRaw (RequestContext context, HistoryDataTransactionHandle transaction, ReadRawModifiedDetails details, IList< HistoryDataOperationHandle > operationHandles, IList< HistoryReadValueId > valuesToRead, IList< HistoryContinuationPoint > continuationPoints)
 Reads the raw history for a group of variables. More...
 
virtual HistoryReadResult HistoryReadProcessed (RequestContext context, ReadProcessedDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, NodeId aggregateId, string indexRange, QualifiedName dataEncoding, ref HistoryContinuationPoint continuationPoint)
 Reads the processed history for a single variable. More...
 
virtual
HistoryDataReadProcessedContinuationPoint 
CreateHistoryContinuationPoint (RequestContext context, ReadProcessedDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, string indexRange, QualifiedName dataEncoding, NodeId aggregateId)
 Creates the history continuation point. More...
 
virtual void ReviseAggregateConfiguration (RequestContext context, HistoryDataHandle nodeHandle, AggregateConfiguration configurationToUse, out bool stepped)
 Revises the aggregate configuration. More...
 
virtual void HistoryReadProcessed (RequestContext context, HistoryDataTransactionHandle transaction, ReadProcessedDetails details, IList< HistoryDataOperationHandle > operationHandles, IList< HistoryReadValueId > valueToRead, IList< HistoryContinuationPoint > continuationPoints)
 Reads the processed history for a group of variables. More...
 
virtual HistoryReadResult HistoryReadAtTime (RequestContext context, ReadAtTimeDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, string indexRange, QualifiedName dataEncoding, ref HistoryContinuationPoint continuationPoint)
 Reads the history at specific time for a single variable. More...
 
virtual
HistoryDataReadAtTimeContinuationPoint 
CreateHistoryContinuationPoint (RequestContext context, ReadAtTimeDetails details, HistoryDataHandle nodeHandle, TimestampsToReturn timestampsToReturn, string indexRange, QualifiedName dataEncoding)
 Creates the history continuation point. More...
 
virtual void HistoryReadAtTime (RequestContext context, HistoryDataTransactionHandle transaction, ReadAtTimeDetails details, IList< HistoryDataOperationHandle > operationHandles, IList< HistoryReadValueId > valuesToRead, IList< HistoryContinuationPoint > continuationPoints)
 Reads the history at specific time for a group of variables. More...
 
virtual HistoryUpdateResult HistoryUpdateData (RequestContext context, HistoryDataHandle nodeHandle, UpdateDataDetails details)
 Updates the data history for a single variable. More...
 
virtual void HistoryUpdateData (RequestContext context, HistoryDataTransactionHandle transaction, IList< HistoryDataOperationHandle > operationHandles, IList< UpdateDataDetails > details)
 Updates the data history for a group of variables. More...
 
virtual HistoryUpdateResult HistoryUpdateStructureData (RequestContext context, HistoryDataHandle nodeHandle, UpdateStructureDataDetails details)
 Updates structured history data for a single variable. More...
 
virtual void HistoryUpdateStructureData (RequestContext context, HistoryDataTransactionHandle transaction, IList< HistoryDataOperationHandle > operationHandles, IList< UpdateStructureDataDetails > details)
 Updates structured history data for a group of variables. More...
 
virtual HistoryUpdateResult HistoryDeleteRaw (RequestContext context, HistoryDataHandle nodeHandle, DeleteRawModifiedDetails details)
 Delete raw history data for a single variable. More...
 
virtual void HistoryDeleteRaw (RequestContext context, HistoryDataTransactionHandle transaction, IList< HistoryDataOperationHandle > operationHandles, IList< DeleteRawModifiedDetails > details)
 Delete raw history data for a group of variables. More...
 
virtual HistoryUpdateResult HistoryDeleteAtTime (RequestContext context, HistoryDataHandle nodeHandle, DeleteAtTimeDetails details)
 Deletes history data at specific times for a single variable. More...
 
virtual void HistoryDeleteAtTime (RequestContext context, HistoryDataTransactionHandle transaction, IList< HistoryDataOperationHandle > operationHandles, IList< DeleteAtTimeDetails > details)
 Deletes history data at specific times for a group of variables. More...
 
virtual HistoryReadResult HistoryReadEvent (RequestContext context, ReadEventDetails details, HistoryEventHandle nodeHandle, ref HistoryContinuationPoint continuationPoint)
 Reads the event history for a single notifier. More...
 
virtual void HistoryReadEvent (RequestContext context, HistoryEventTransactionHandle transaction, ReadEventDetails details, IList< HistoryEventOperationHandle > operationHandles, IList< HistoryReadValueId > notifiersToRead, IList< HistoryContinuationPoint > continuationPoints)
 Reads the event history for a group of notifiers. More...
 
virtual HistoryUpdateResult HistoryUpdateEvent (RequestContext context, HistoryEventHandle nodeHandle, UpdateEventDetails details)
 Updates the event history for a single notifier. More...
 
virtual void HistoryUpdateEvents (RequestContext context, HistoryEventTransactionHandle transaction, IList< HistoryEventOperationHandle > operationHandles, IList< UpdateEventDetails > details)
 Updates the event history for a group of notifiers. More...
 
virtual HistoryUpdateResult HistoryDeleteEvent (RequestContext context, HistoryEventHandle nodeHandle, DeleteEventDetails details)
 Deletes event history for a single notifier. More...
 
virtual void HistoryDeleteEvents (RequestContext context, HistoryEventTransactionHandle transaction, IList< HistoryEventOperationHandle > operationHandles, IList< DeleteEventDetails > details)
 Deletes event history for a group of notifiers. More...
 
virtual StatusCode ValidateDataEncoding (RequestContext context, NodeAttributeHandle nodeHandle, QualifiedName dataEncoding)
 Validates the data encoding. More...
 
virtual void FinishReadTransaction (TransactionHandle transaction)
 Finishes the read transaction. More...
 
virtual DataValue Read (RequestContext context, NodeAttributeHandle nodeHandle, string indexRange, QualifiedName dataEncoding)
 Reads the attribute. More...
 
virtual void Read (RequestContext context, TransactionHandle transaction, IList< NodeAttributeOperationHandle > operationHandles, IList< ReadValueId > settings)
 Reads the attributes. More...
 
bool CannotPassNodeAccessChecks (RequestContext context, Node node, bool browseCheck, out StatusCode statusCode)
 Checks if a node can be accessed. More...
 
virtual DataValue Translate (RequestContext context, DataValue dv)
 Translates the specified text based on the strings stored in the ResourceManager. More...
 
byte GetUserAccessLevel (RequestContext context, NodeId nodeId)
 Gets the user access level. More...
 
DataValue ApplyIndexRangeAndEncoding (NodeAttributeHandle handle, DataValue input, string indexRange, QualifiedName dataEncoding)
 Applies the index range and the encoding (modifies the input DataValue). More...
 
DataValue ApplyIndexRangeAndEncoding (DataValue input, string indexRange, QualifiedName dataEncoding)
 Applies the index range and the encoding (modifies the input DataValue). More...
 
virtual DataValue ApplyDataEncoding (DataValue input, QualifiedName dataEncoding)
 Applies the data encoding (modifies the input DataValue). More...
 
virtual void FinishWriteTransaction (TransactionHandle transaction)
 Finishes the write transaction. More...
 
virtual StatusCode Write (RequestContext context, NodeAttributeHandle nodeHandle, string indexRange, DataValue value)
 Writes the value to a node attribute. More...
 
virtual void Write (RequestContext context, TransactionHandle transaction, IList< NodeAttributeOperationHandle > operationHandles, IList< WriteValue > settings)
 Writes a value to a group of node attributes. More...
 
StatusCode CanWriteDataType (RequestContext context, NodeAttributeHandle nodeHandle, DataValue value)
 Determines whether this instance can write a value with the specified data type to the node in the specified context. More...
 
void ReportDataChanges (RequestContext context, NodeAttributeHandle nodeHandle)
 Reports the data changes. More...
 
virtual void FinishStartDataMonitoringTransaction (TransactionHandle transaction)
 Finishes the start data monitoring transaction. More...
 
virtual DataMonitoringResult StartDataMonitoring (RequestContext context, MonitoredItemHandle itemHandle, MonitoredItemCreateRequest settings, DataChangeEventHandler callback)
 Start data monitoring for a single node attribute value. More...
 
virtual void StartDataMonitoring (RequestContext context, TransactionHandle transaction, IList< NodeAttributeOperationHandle > operationHandles, IList< uint > monitoredItemIds, IList< MonitoredItemCreateRequest > settings, IList< DataChangeEventHandler > callback)
 Start data monitoring for a group of node attributes. More...
 
DataMonitoringResult StartDataMonitoringInMemoryNode (RequestContext context, MonitoredItemHandle itemHandle, MonitoredItemCreateRequest request, DataChangeEventHandler callback, DataMonitoringResult result)
 Starts the data monitoring in memory node. More...
 
DataMonitoringResult StartDataMonitoringSampledNode (RequestContext context, MonitoredItemHandle itemHandle, MonitoredItemCreateRequest request, DataChangeEventHandler callback, DataMonitoringResult result)
 Starts the data monitoring of a mapped node. More...
 
virtual void FinishModifyDataMonitoringTransaction (TransactionHandle transaction)
 Finishes the modify data monitoring transaction. More...
 
virtual DataMonitoringResult ModifyDataMonitoring (RequestContext context, MonitoredItemHandle itemHandle, MonitoredItemModifyRequest settings)
 Modifies data monitoring for a single node attribute value. More...
 
virtual void ModifyDataMonitoring (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > operationHandles, IList< MonitoredItemModifyRequest > settings)
 Modifies data monitoring for a group of node attribute values. More...
 
virtual void FinishStopDataMonitoringTransaction (TransactionHandle transaction)
 Finishes the stop data monitoring transaction. More...
 
virtual StatusCode StopDataMonitoring (RequestContext context, MonitoredItemHandle itemHandle)
 Stops the data monitoring for a single node attribute value. More...
 
virtual void StopDataMonitoring (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > operationHandles)
 Stops the data monitoring for a group of node attribute values. More...
 
virtual void FinishSetDataMonitoringModeTransaction (TransactionHandle transaction)
 Finishes the set data monitoring mode transaction. More...
 
virtual StatusCode SetDataMonitoringMode (RequestContext context, MonitoredItemHandle itemHandle, MonitoringMode monitoringMode, MonitoringParameters parameters)
 Sets the monitoring mode for a single monitored item. More...
 
virtual void SetDataMonitoringMode (RequestContext context, TransactionHandle transaction, IList< MonitoredItemOperationHandle > operationHandles, IList< MonitoringMode > monitoringModes, IList< MonitoringParameters > parameters)
 Sets the monitoring mode for a group of monitored items. More...
 
virtual void InMemoryNodeReadStarted (RequestContext context, NodeAttributeHandle nodeHandle, Node node)
 Called before an in-memory node is read. More...
 
virtual void InMemoryNodeWriteCompleted (RequestContext context, NodeAttributeHandle nodeHandle, Node node)
 Called after an in-memory node (i.e. not configured by LinkModelToNode or SetVariableConfiguration) is updated by a client. More...
 
virtual void InMemoryNodeMonitoringStarted (RequestContext context, NodeAttributeHandle nodeHandle, double samplingInterval)
 Called when data monitoring starts. More...
 
virtual void InMemoryNodeMonitoringModified (RequestContext context, NodeAttributeHandle nodeHandle, double samplingInterval)
 Called when data monitoring is modified. More...
 
virtual void InMemoryNodeMonitoringStopped (RequestContext context, NodeAttributeHandle nodeHandle)
 Called when data monitoring is stopped. More...
 
virtual CallMethodEventHandler GetMethodDispatcher (RequestContext context, MethodHandle methodHandle)
 Gets the method handler. More...
 
CallMethodResult CallMethod (RequestContext context, MethodHandle methodHandle, IList< Variant > inputArguments)
 Calls the method. More...
 
virtual StatusCode CallMethod (RequestContext context, MethodHandle methodHandle, IList< Variant > inputArguments, out List< StatusCode > inputArgumentResults, out List< Variant > outputArguments)
 Calls the method. More...
 
async Task< CallMethodResultCallMethodAsync (RequestContext context, MethodHandle methodHandle, IList< Variant > inputArguments)
 Asynchronously calls the method. More...
 
virtual bool HasAccessToAddNode (RequestContext context, BrowseHandle parent, NodeId referenceTypeId, NodeId typeDefinitionId)
 Determines whether the specified context has permission to add nodes. More...
 
virtual void PersistAddedNode (RequestContext context, Node node)
 Called when a new persistent node is added. More...
 
void CollectNodesToDelete (Node node, List< Node > nodesToDelete)
 Collects the nodes to delete. The children of the node are added to nodesToDelete recursively. More...
 
virtual bool HasAccessToDeleteNode (RequestContext context, NodeId nodeToDelete)
 Determines whether the specified context has permission to delete nodes. More...
 
virtual void PersistDeletedNode (RequestContext context, Node node)
 Called when a new persistent node is deleted. More...
 
virtual void BeforeNodesAdded (RequestContext context, IList< Node > nodes)
 This method can be reimplemented in a subclass. The method is called before nodes are added. More...
 
virtual void AfterNodesAdded (RequestContext context, IList< Node > nodes)
 This method can be reimplemented in a subclass. The method is called after nodes are added. More...
 
virtual void BeforeNodesDeleted (RequestContext context, IList< Node > nodes)
 This method can be reimplemented in a subclass. The method is called before nodes are deleted. More...
 
virtual void AfterNodesDeleted (RequestContext context, IList< Node > nodes)
 This method can be reimplemented in a subclass. The method is called after nodes are deleted. More...
 
virtual void AfterAddReference (RequestContext context, Node node, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId)
 This method can be reimplemented in a subclass. The method is called after adding a reference to a node. More...
 
virtual void AfterDeleteReference (RequestContext context, Node node, NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId)
 This method can be reimplemented in a subclass. The method is called after deleting a reference. More...
 
virtual bool HasAccessToAddReference (RequestContext context, NodeId sourceId, NodeId referenceTypeId, bool isInverse)
 Determines whether the specified context has permission to add the reference. More...
 
virtual void PersistAddedReference (RequestContext context, Node node, ReferenceNode reference)
 Called when a new persistent reference is added. More...
 
virtual bool HasAccessToDeleteReference (RequestContext context, NodeId sourceId, NodeId referenceTypeId, bool isInverse)
 Determines whether the specified context has permission to delete the reference. More...
 
virtual void PersistDeletedReference (RequestContext context, Node node, ReferenceNode reference)
 Called when a new persistent reference is deleted. More...
 
NodeId CreateNodeId (bool persistent, ushort namespaceIndex)
 Creates a new node id. More...
 
virtual NodeId CreateNodeId (NodeId parentNodeId, QualifiedName browseName, NodeClass nodeClass, ushort namespaceIndex)
 Creates a new NodeId. More...
 
virtual ContinuationPoint Browse (RequestContext context, ContinuationPoint continuationPoint, List< ReferenceDescription > results)
 Browses the node specified in the continuation point. More...
 
ContinuationPoint ProcessReferences (RequestContext context, ContinuationPoint continuationPoint, List< ReferenceNode > references, List< ReferenceDescription > results)
 Processes the references in the list. More...
 

Properties

INodeAccessInfo DefaultPermissions [get, set]
 THe default permissions for nodes managed by the node manager. More...
 
ushort[] NamespaceIndexes [get]
 Gets the namespace indexes supported by the node manager. More...
 
string[] NamespaceUris [get]
 Gets the namespace uris supported by the node manager. More...
 
ushort DefaultNamespaceIndex [get, set]
 Gets or sets the default namespace index. More...
 
bool DisableMappingNamespaceMetadata [get, set]
 If true the instance of the NamespaceMetadataType will not be mapped automatically to a NamespaceMetadataModel. More...
 
ServerManager Server [get]
 Gets the server manager. More...
 
object InMemoryNodeLock [get]
 Gets the lock to use when accessing the memory nodes. More...
 
IEnumerable< NodeInMemoryNodes [get]
 Gets the set of in memory nodes. More...
 
virtual AdvancedNodeManagerMethods SupportedMethods [get]
 Gets the supported methods. More...
 
NodeIdGenerationSettings NodeIdGenerationSettings [get]
 Gets the node id generation settings. More...
 
- Properties inherited from UnifiedAutomation.UaServer.IAdvancedNodeManager
AdvancedNodeManagerMethods SupportedMethods [get]
 Gets the supported methods. More...
 

Detailed Description

A base class for all node managers.

Constructor & Destructor Documentation

UnifiedAutomation.UaServer.BaseNodeManager.BaseNodeManager ( ServerManager  server,
params string[]  namespaceUris 
)

Initializes a new instance of the BaseNodeManager class.

Parameters
serverThe server.
namespaceUrisThe namespace uris.

Member Function Documentation

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Acknowledge ( RequestContext  context,
AcknowledgeableConditionModel  model,
byte[]  eventId,
LocalizedText  comment 
)
virtual

Acknowledges a condition.

Parameters
contextThe request context.
modelThe condition being acknowledged.
eventIdThe event id.
commentThe comment.
Returns
Good, if the condition was acknowledged successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IAcknowledgeableConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.AddComment ( RequestContext  context,
ConditionModel  model,
byte[]  eventId,
LocalizedText  comment 
)
virtual

Adds a comment to a condition.

Parameters
contextThe request context.
modelThe condition to add a comment to.
eventIdThe event id.
commentThe comment.
Returns
Good, if the comment was added successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IConditionMethods.

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

Adds the cross reference.

Parameters
sourceNodeIdThe source node id.
managerThe manager.

The source node is a node managed by the NodeManager being called. This method tells the NodeManager that references from the source exist in another NodeManager. When the source is browsed the NodeManager will call the BrowseCrossReference method on the NodeManger passed to this method.

Implements UnifiedAutomation.UaServer.INodeManagerEx.

ushort UnifiedAutomation.UaServer.BaseNodeManager.AddNamespaceUri ( string  namespaceUri)

Adds the namespace URI.

Parameters
namespaceUriThe namespace URI.
Returns
The index assigned to the namespace URI.
StatusCode UnifiedAutomation.UaServer.BaseNodeManager.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.BaseNodeManager.AddNotifier ( NodeId  notifierId,
IEventManager  manager 
)

Adds a link from an IEventManager to a notifier.

Parameters
notifierIdThe notifier id.
managerThe event manager.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

void UnifiedAutomation.UaServer.BaseNodeManager.AddNotifier ( NodeId  notifierId,
params NodeId[]  parents 
)
protected

Removes a local notifier.

Parameters
notifierIdThe notifier id.
parentsThe parents.
StatusCode UnifiedAutomation.UaServer.BaseNodeManager.AddReference ( RequestContext  context,
NodeId  sourceNodeId,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetNodeId,
bool  addBiDirectional 
)

Adds a reference.

Parameters
contextThe request context.
sourceNodeIdThe NodeId of the source node. This node must be managed by the current BaseNodeManager. If the source node is not managed by the current BaseNodeManager, you can add an inverse reference from the target node to the source node.
referenceTypeIdThe NodeId of the reference type.
isInverseIf set to true, then the reference is a inverse reference.
targetNodeIdThe NodeId of the target node. This ExpandedNodeId must not be absolute, i.e. the NamespaceUri must be set, but neither the ServerIndex nor the NamespaceIndex.
addBiDirectionalIf set to true, then the reverse reference is added as well.
Returns
Good if successful; Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.AfterAddReference ( RequestContext  context,
Node  node,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called after adding a reference to a node.

Parameters
contextThe request context.
nodeThe node.
referenceTypeIdThe reference type id.
isInverseSet to true, if the reference is an inverse reference.
targetIdThe target id.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.AfterDeleteReference ( RequestContext  context,
Node  node,
NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called after deleting a reference.

Parameters
contextThe request context.
nodeThe node.
referenceTypeIdThe reference type id.
isInverseSet to true, if the reference is an inverse reference.
targetIdThe target id.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.AfterNodesAdded ( RequestContext  context,
IList< Node nodes 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called after nodes are added.

Parameters
contextThe request context.
nodesThe nodes.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.AfterNodesDeleted ( RequestContext  context,
IList< Node nodes 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called after nodes are deleted.

Parameters
contextThe request context.
nodesThe nodes.
virtual DataValue UnifiedAutomation.UaServer.BaseNodeManager.ApplyDataEncoding ( DataValue  input,
QualifiedName  dataEncoding 
)
protectedvirtual

Applies the data encoding (modifies the input DataValue).

Parameters
inputThe input.
dataEncodingThe data encoding.
Returns
The value after applying the encoding. An error if the encoding is invalid.
DataValue UnifiedAutomation.UaServer.BaseNodeManager.ApplyIndexRangeAndEncoding ( NodeAttributeHandle  handle,
DataValue  input,
string  indexRange,
QualifiedName  dataEncoding 
)
protected

Applies the index range and the encoding (modifies the input DataValue).

Parameters
handleThe handle.
inputThe input.
indexRangeThe index range.
dataEncodingThe data encoding.
Returns
A value containing an error code, if an error occurs. The modified input otherwise.
DataValue UnifiedAutomation.UaServer.BaseNodeManager.ApplyIndexRangeAndEncoding ( DataValue  input,
string  indexRange,
QualifiedName  dataEncoding 
)
protected

Applies the index range and the encoding (modifies the input DataValue).

Parameters
inputThe input.
indexRangeThe index range.
dataEncodingThe data encoding.
Returns
The value after applying the index range and/or encoding. An error if the index range or encoding is invalid.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.BeforeNodesAdded ( RequestContext  context,
IList< Node nodes 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called before nodes are added.

Parameters
contextThe request context.
nodesThe nodes.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.BeforeNodesDeleted ( RequestContext  context,
IList< Node nodes 
)
protectedvirtual

This method can be reimplemented in a subclass. The method is called before nodes are deleted.

Parameters
contextThe request context.
nodesThe nodes.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginBrowse ( RequestContext  context,
BrowseOperationHandle  nodeToBrowse,
ContinuationPoint  continuationPoint,
bool  releaseContinuationPoint,
Delegate  callback,
object  callbackData 
)
virtual

Begins a browse operation.

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.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginCall ( MethodOperationHandle  methodHandle,
IList< Variant inputArguments 
)
virtual

Begins the method call.

Parameters
methodHandleThe method handle.
inputArgumentsThe input arguments.

If this method returns Good, the callback passed to BeginCallTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IMethodManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginCallTransaction ( RequestContext  context,
uint  totalItemCountHint,
CallCompleteEventHandler  callback,
object  callbackData,
out TransactionHandle  handle 
)
virtual

Begins the call transaction.

Parameters
contextThe request context.
totalItemCountHintThe total item count hint.
callbackThe callback.
callbackDataThe callback data.
handleThe call transaction handle.
Returns
Good if the transaction could be created, an error code otherwise.

Implements UnifiedAutomation.UaServer.IMethodManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginDataTransaction ( RequestContext  context,
uint  totalItemCountHint,
double  maxAge,
TimestampsToReturn  timestampsToReturn,
TransactionType  transactionType,
Delegate  callback,
object  callbackData,
out TransactionHandle  handle 
)
virtual

Begins the data transaction.

Parameters
contextThe request context.
totalItemCountHintThe total item count hint.
maxAgeThe max age.
timestampsToReturnThe timestamps to return.
transactionTypeType of the transaction.
callbackThe callback.
callbackDataThe callback data.
handleThe data transaction handle.
Returns
Good, if successful; otherwise an error code.

Implements UnifiedAutomation.UaServer.IIOManager.

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

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.BaseNodeManager.BeginHistoryDeleteAtTime ( HistoryDataOperationHandle  operationHandle,
DeleteAtTimeDetails  details 
)

Begins an operation to delete history data at specific times.

Parameters
operationHandleThe operation handle.
details
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryUpdateDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryDeleteEvent ( HistoryEventOperationHandle  operationHandle,
DeleteEventDetails  details 
)

Begins an operation to delete event history.

Parameters
operationHandleThe operation handle.
detailsThe details.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryUpdateEventTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryDeleteRaw ( HistoryDataOperationHandle  operationHandle,
DeleteRawModifiedDetails  details 
)

Begins an operation to delete raw history data.

Parameters
operationHandleThe operation handle.
detailsThe details.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryUpdateDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadAtTime ( HistoryDataOperationHandle  operationHandle,
HistoryReadValueId  valueToRead 
)

Begins an operation to read raw history data.

Parameters
operationHandleThe operation handle.
valueToReadThe value to read.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryReadDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryReadDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadDataTransaction ( RequestContext  context,
uint  totalItemCountHint,
TimestampsToReturn  timestampsToReturn,
TransactionType  transactionType,
HistoryReadDetails  details,
Delegate  callback,
object  callbackData,
out HistoryDataTransactionHandle  handle 
)

Begins the history transaction.

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

Implements UnifiedAutomation.UaServer.IHistoryReadDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadEvent ( HistoryEventOperationHandle  operationHandle,
HistoryReadValueId  notifierToRead 
)

Begins an operation to read event history.

Parameters
operationHandleThe operation handle.
notifierToReadThe notifier to read.
Returns
Good, if successful; Otherwise an error code.

If this method returns Good the callback passed to BeginHistoryReadEventTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryReadEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadEventTransaction ( RequestContext  context,
uint  totalItemCountHint,
TransactionType  transactionType,
ReadEventDetails  details,
Delegate  callback,
object  callbackData,
out HistoryEventTransactionHandle  handle 
)

Begins the event history transaction.

Parameters
contextThe request context.
totalItemCountHintThe total item count hint.
transactionTypeType of the transaction.
detailsThe details.
callbackThe callback.
callbackDataThe callback data.
handleThe historical event transaction handle.
Returns
Good, if the transaction could be created; an error code otherwise.

Implements UnifiedAutomation.UaServer.IHistoryReadEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadProcessed ( HistoryDataOperationHandle  operationHandle,
HistoryReadValueId  valueToRead 
)

Begins an operation to read processed history data.

Parameters
operationHandleThe operation handle.
valueToReadThe value to read.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryReadDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryReadDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryReadRaw ( HistoryDataOperationHandle  operationHandle,
HistoryReadValueId  valueToRead 
)

Begins an operation to read raw history data.

Parameters
operationHandleThe operation handle.
valueToReadThe value to read.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryReadDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryReadDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryUpdateData ( HistoryDataOperationHandle  operationHandle,
UpdateDataDetails  details 
)

Begins an operation to update raw history data.

Parameters
operationHandleThe operation handle.
detailsThe details.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryUpdateDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryUpdateDataTransaction ( RequestContext  context,
uint  totalItemCountHint,
TransactionType  transactionType,
Delegate  callback,
object  callbackData,
out HistoryDataTransactionHandle  handle 
)

Begins the history transaction.

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

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryUpdateEvent ( HistoryEventOperationHandle  operationHandle,
UpdateEventDetails  details 
)

Begins the history update event.

Parameters
operationHandleThe operation handle.
detailsThe details.
Returns
Good, if the transaction could be created; an error code otherwise.

If this method returns Good, the callback passed to BeginHistoryUpdateEventTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryUpdateEventTransaction ( RequestContext  context,
uint  totalItemCountHint,
TransactionType  transactionType,
Delegate  callback,
object  callbackData,
out HistoryEventTransactionHandle  handle 
)

Begins the history transaction.

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

Implements UnifiedAutomation.UaServer.IHistoryUpdateEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginHistoryUpdateStructureData ( HistoryDataOperationHandle  operationHandle,
UpdateStructureDataDetails  details 
)

Begins an operation to update structured history data.

Parameters
operationHandleThe operation handle.
detailsThe details.
Returns
Good, if successful; Otherwise an error code.

If this method returns Good, the callback passed to BeginHistoryUpdateDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginModifyDataMonitoring ( MonitoredItemOperationHandle  operationHandle,
MonitoredItemModifyRequest  settings 
)

Begins a modify data operation (must not block).

Parameters
operationHandleThe operation handle.
settingsThe settings.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.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.

If this method returns Good, the callback passed to BeginTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginRead ( NodeAttributeOperationHandle  operationHandle,
ReadValueId  settings 
)

Begins a read operation (must not block).

Parameters
operationHandleThe operation handle.
settingsThe settings.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginSetDataMonitoringMode ( MonitoredItemOperationHandle  operationHandle,
MonitoringMode  monitoringMode,
MonitoringParameters  parameters 
)

Begins a set data monitoring mode operation (must not block).

Parameters
operationHandleThe operation handle.
monitoringModeThe monitoring mode.
parametersThe parameters.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.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.

If this method returns Good, the callback passed to BeginEventTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginStartDataMonitoring ( NodeAttributeOperationHandle  operationHandle,
uint  monitoredItemId,
MonitoredItemCreateRequest  settings,
DataChangeEventHandler  callback 
)

Begins a start data monitoring operation (must not block).

Parameters
operationHandleThe operation handle.
monitoredItemIdThe monitored item id.
settingsThe settings.
callbackThe callback.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

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

Starts monitoring an item.

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

If this method returns Good, the callback passed to BeginTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IEventManager.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginStopDataMonitoring ( MonitoredItemOperationHandle  operationHandle)

Begins a stop data monitoring operation (must not block).

Parameters
operationHandleThe operation handle.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

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

Stops monitoring an item.

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

If this method returns Good, the callback passed to BeginTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IEventManager.

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

Begins a translate browse paths operation.

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.

StatusCode UnifiedAutomation.UaServer.BaseNodeManager.BeginWrite ( NodeAttributeOperationHandle  operationHandle,
WriteValue  settings 
)

Begins the write.

Parameters
operationHandleThe operation handle.
settingsThe settings.
Returns
Good, if successful; otherwise an error code.

If this method returns Good, the callback passed to BeginDataTransaction must be called when the operation completes.

Implements UnifiedAutomation.UaServer.IIOManager.

virtual ContinuationPoint UnifiedAutomation.UaServer.BaseNodeManager.Browse ( RequestContext  context,
ContinuationPoint  continuationPoint,
List< ReferenceDescription results 
)
protectedvirtual

Browses the node specified in the continuation point.

Parameters
contextThe context.
continuationPointThe continuation point.
resultsThe results.
Returns
A new continuation point if the operation halts. null if the operation completes.
CallMethodResult UnifiedAutomation.UaServer.BaseNodeManager.CallMethod ( RequestContext  context,
MethodHandle  methodHandle,
IList< Variant inputArguments 
)
protected

Calls the method.

Parameters
contextThe request context.
methodHandleThe method handle.
inputArgumentsThe input arguments.
Returns
The result of the operation including any output arguments.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.CallMethod ( RequestContext  context,
MethodHandle  methodHandle,
IList< Variant inputArguments,
out List< StatusCode inputArgumentResults,
out List< Variant outputArguments 
)
protectedvirtual

Calls the method.

Parameters
contextThe request context.
methodHandleThe method handle.
inputArgumentsThe input arguments.
inputArgumentResultsThe input argument results.
outputArgumentsThe output arguments.
Returns
Good, if the call succeeded; an error code otherwise.
async Task<CallMethodResult> UnifiedAutomation.UaServer.BaseNodeManager.CallMethodAsync ( RequestContext  context,
MethodHandle  methodHandle,
IList< Variant inputArguments 
)
protected

Asynchronously calls the method.

Parameters
contextThe request context.
methodHandleThe method handle.
inputArgumentsThe input arguments.
Returns
The result of the operation including any output arguments.
bool UnifiedAutomation.UaServer.BaseNodeManager.CannotPassNodeAccessChecks ( RequestContext  context,
Node  node,
bool  browseCheck,
out StatusCode  statusCode 
)
protected

Checks if a node can be accessed.

Parameters
contextThe context of the Session.
nodeThe node that shall be accessed.
statusCodeThe StatusCode that has to be returned if the checks are failing.
browseCheckAre access rights for browse requested.
Returns
'true' if the AccessChecks are not successful.
bool UnifiedAutomation.UaServer.BaseNodeManager.CannotPassNodeAccessChecks ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
UserAccessMask  accessMask,
out StatusCode  statusCode 
)

Checks if a node can be accessed. Checks the AccessRestrictions and calls nodeHandle.UserAccessManager.HasAccess.

Parameters
contextThe context of the Session.
nodeHandleThe NodeAttributeHandle.
statusCodeThe StatusCode that has to be returned if the checks are failing.
accessMaskThe requested access right
Returns
'true' if the AccessChecks are not successful.
StatusCode UnifiedAutomation.UaServer.BaseNodeManager.CanWriteDataType ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
DataValue  value 
)
protected

Determines whether this instance can write a value with the specified data type to the node in the specified context.

Parameters
contextThe request context.
nodeHandleThe node handle.
valueThe value.
Returns
Good, if a write is permitted; an error code otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.CollectNodesToDelete ( Node  node,
List< Node nodesToDelete 
)
protected

Collects the nodes to delete. The children of the node are added to nodesToDelete recursively.

Parameters
nodeThe node to delete.
nodesToDeleteThe children of the node are added to this list.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.ConditionRefresh ( RequestContext  context,
NodeId  notifierId,
MonitoredItemHandle  itemHandle,
EventNotificationEventHandler  callback 
)
virtual

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.

Implements UnifiedAutomation.UaServer.IEventManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Confirm ( RequestContext  context,
AcknowledgeableConditionModel  model,
byte[]  eventId,
LocalizedText  comment 
)
virtual

Confirms a condition.

Parameters
contextThe request context.
modelThe condition being confirmed.
eventIdThe event id.
commentThe comment.
Returns
Good, if the condition was confirmed successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IAcknowledgeableConditionMethods.

IRolePermissions UnifiedAutomation.UaServer.BaseNodeManager.ConvertRolePermissions ( RolePermissionTypeCollection  rolePermissionAttributeValue)

Returns a class for an optimized evaluation of the access rights

Shall only be called after the Server has been started.

Node UnifiedAutomation.UaServer.BaseNodeManager.CopyNode ( Node  source,
bool  copyValue 
)
protected

Copies the node.

Parameters
sourceThe source.
copyValueIf set to true, the value is copied. If set to false, a reference to the value is returned.
Returns
A copy of the node.
DataTypeNode UnifiedAutomation.UaServer.BaseNodeManager.CreateDataTypeNode ( RequestContext  context,
CreateDataTypeSettings  settings 
)

Creates a new data type node.

Parameters
contextThe request context.
settingsThe information about the DataType node. If DataTypeDefinition is a StructureDefinitionSettings, the properties DataTypeNode and SuperTypeId of StructureDefinitionSettings are set. DefinitionHelper is set to this NodeManager if not set yet.
Returns
The new data type node.

The following code will create an enumerated DataType and its property. // enum fields to define string[] fields = new string[] { "Red", "Blue", "Yellow" };

// fill collections for DataTypeDefinition attribute and EnumStrings property var enumFields = new EnumFieldCollection(); var enumStrings = new LocalizedTextCollection(); long currentValue = 0; foreach (var field in fields) { enumFields.Add(new EnumField() { Name = field, DisplayName = field, Value = currentValue++ }); enumStrings.Add(field); }

// create DataType node var dataTypeSettings = new CreateDataTypeSettings() { BrowseName = new QualifiedName("Color", DefaultNamespaceIndex), IsAbstract = false, ParentNodeId = DataTypeIds.Enumeration, ReferenceTypeId = ReferenceTypeIds.HasSubtype, RequestedNodeId = new NodeId(12345, DefaultNamespaceIndex), DataTypeDefinition = new EnumDefinitionSettings() { Fields = enumFields } };

var dataType = CreateDataTypeNode(Server.DefaultRequestContext, dataTypeSettings);

// create property var propertySettings = new CreateVariableSettings() { AccessLevel = AccessLevels.CurrentRead, BrowseName = BrowseNames.EnumStrings, DataType = DataTypeIds.LocalizedText, Historizing = false, ParentAsOwner = true, ParentNodeId = dataType.NodeId, ReferenceTypeId = ReferenceTypeIds.HasProperty, RequestedNodeId = new NodeId(12346, DefaultNamespaceIndex), TypeDefinitionId = VariableTypeIds.PropertyType, ValueRank = ValueRanks.OneDimension, ArrayDimensions = new UInt32Collection() { (uint) fields.Length }, Value = new Variant(enumStrings) };

CreateVariable(Server.DefaultRequestContext, propertySettings);

void UnifiedAutomation.UaServer.BaseNodeManager.CreateGenericDataType ( RequestContext  context,
GenericDataType  dataType,
ushort  namespaceIndex 
)

Creates the nodes required to represent a generic data type in the address space,

Parameters
contextThe request context.
dataTypeThe description of the data type to add.
namespaceIndexThe index of the namespace to use for any new NodeIds.

The DataType, DefaultBinary Encoding, OPC Binary TypeDescription, DefaultXML Encoding and XML Schema TypeDescription Nodes are created. The NamespaceIndex overrides any namespace specified in the NodeIds defined in the data type object itself.

virtual HistoryDataReadRawContinuationPoint UnifiedAutomation.UaServer.BaseNodeManager.CreateHistoryContinuationPoint ( RequestContext  context,
ReadRawModifiedDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
string  indexRange,
QualifiedName  dataEncoding 
)
protectedvirtual

Creates the history continuation point.

Parameters
contextThe context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestamps to return of the historical values.
indexRangeThe index range.
dataEncodingThe data encoding.
Returns
The continuation point, null if there is no history data available for the node.
virtual HistoryDataReadProcessedContinuationPoint UnifiedAutomation.UaServer.BaseNodeManager.CreateHistoryContinuationPoint ( RequestContext  context,
ReadProcessedDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
string  indexRange,
QualifiedName  dataEncoding,
NodeId  aggregateId 
)
protectedvirtual

Creates the history continuation point.

Parameters
contextThe context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestamps to return.
indexRangeThe index range.
dataEncodingThe data encoding.
aggregateIdThe aggregate id.
Returns
virtual HistoryDataReadAtTimeContinuationPoint UnifiedAutomation.UaServer.BaseNodeManager.CreateHistoryContinuationPoint ( RequestContext  context,
ReadAtTimeDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
string  indexRange,
QualifiedName  dataEncoding 
)
protectedvirtual

Creates the history continuation point.

Parameters
contextThe context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestamps to return.
indexRangeThe index range.
dataEncodingThe data encoding.
Returns
MethodNode UnifiedAutomation.UaServer.BaseNodeManager.CreateMethod ( RequestContext  context,
CreateMethodSettings  settings 
)

Creates a new method node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new method node.
NodeId UnifiedAutomation.UaServer.BaseNodeManager.CreateNodeId ( bool  persistent,
ushort  namespaceIndex 
)
protected

Creates a new node id.

Parameters
persistentIf set to true, the node will be persisted.
namespaceIndexIndex of the namespace.
Returns
The new node id.

The persistent flag indicates that the NodeId will be saved are used after a server restart. This may affect the creation of the NodeId in the subclass. It has no effect on the default implementation.

virtual NodeId UnifiedAutomation.UaServer.BaseNodeManager.CreateNodeId ( NodeId  parentNodeId,
QualifiedName  browseName,
NodeClass  nodeClass,
ushort  namespaceIndex 
)
protectedvirtual

Creates a new NodeId.

This method can be overriden to get influence on auto generated NodeIds.

Parameters
parentNodeIdThe NodeId of the parent node. This argument can be null. This argument can be used to construct the new NodeId from the NodeId of the parent. The default implementation ignores this argument.
browseNameThe BrowseName of the node that shall get a new NodeId. This argument can be used to construct the new NodeId. The default implementation ignores this argument.
nodeClassThe NodeClass of the node that shall get a new NodeId. The default implementation ignores this argument.
namespaceIndexThe NamespaceIndex of the new NodeId.
Returns
The new NodeId.
ObjectNode UnifiedAutomation.UaServer.BaseNodeManager.CreateObject ( RequestContext  context,
CreateObjectSettings  settings 
)

Creates a new object node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new object node.
ObjectTypeNode UnifiedAutomation.UaServer.BaseNodeManager.CreateObjectTypeNode ( RequestContext  context,
CreateObjectTypeSettings  settings 
)

Creates a new object type node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new object type node.
ReferenceTypeNode UnifiedAutomation.UaServer.BaseNodeManager.CreateReferenceTypeNode ( RequestContext  context,
CreateReferenceTypeSettings  settings 
)

Creates a new reference type node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new reference type node.
SchemaBuilder UnifiedAutomation.UaServer.BaseNodeManager.CreateTypeDictionary ( RequestContext  context,
CreateTypeDictionarySettings  settings 
)

Creates a class that can be used to dynamically build data types descriptions.

Parameters
contextThe request context.
settingsThe settings used to initialize the dictionary.
Returns
The new schema dictionary object.

Each object creates an OPC Binary and XML Schema dictionary for the types added to it.

Each object has a NamespaceURI which is used for both dictionaries. By default the same URI is used for the NodeIds created to represent the types, however, this can be overridden.

When creating dictionaries the number of types should not get too large. The simplest way to control this is to create a multiple dictionaries with different URIs.

VariableNode UnifiedAutomation.UaServer.BaseNodeManager.CreateVariable ( RequestContext  context,
CreateVariableSettings  settings 
)

Creates a new variable node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new variable node.
VariableTypeNode UnifiedAutomation.UaServer.BaseNodeManager.CreateVariableTypeNode ( RequestContext  context,
CreateVariableTypeSettings  settings 
)

Creates a new variable type node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new variable type node.
ViewNode UnifiedAutomation.UaServer.BaseNodeManager.CreateView ( RequestContext  context,
CreateViewSettings  settings 
)

Creates a new view node.

Parameters
contextThe request context.
settingsThe settings.
Returns
The new view node.
StatusCode UnifiedAutomation.UaServer.BaseNodeManager.DeleteNode ( RequestContext  context,
NodeId  nodeId,
bool  deleteTargetReferences 
)

Deletes the node.

Parameters
contextThe request context.
nodeIdThe node id.
deleteTargetReferencesIf set to true, the references from other nodes to the node are deleted as well.
Returns
Good on success; an error code otherwise

Implements UnifiedAutomation.UaServer.INodeManagementManager.

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

Deletes the 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 the reference was added. Otherwise an error code.

Implements UnifiedAutomation.UaServer.INodeManagementManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Disable ( RequestContext  context,
ConditionModel  model 
)
virtual

Disables a condition.

Parameters
contextThe request context.
modelThe condition being disabled.
Returns
Good, if the condition was disabled successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IConditionMethods.

void UnifiedAutomation.UaServer.BaseNodeManager.Dispose ( )

Frees any unmanaged resources.

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

An overrideable version of the Dispose.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Enable ( RequestContext  context,
ConditionModel  model 
)
virtual

Enables a condition.

Parameters
contextThe request context.
modelThe condition being enabled.
Returns
Good, if the condition was enabled successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IConditionMethods.

NodeId UnifiedAutomation.UaServer.BaseNodeManager.EncodingId ( NodeId  dataTypeId,
UaBase.QualifiedName  encodingName 
)

Parameters
dataTypeId
encodingName
Returns

Implements UnifiedAutomation.UaBase.IDefinitionHelper.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.EvaluateNamespaceMetaData ( )
virtual

Check the instances of NamespaceMetaDataType and gets the values for DefaultAccessRestriction and DefaultRolePermissions.

Creates a NamespaceMetadataModel if DisableMappingNamespaceMetadata is 'false'. This model implements the setting of DefaultUserRolePermissions.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.EvaluateRolePermissions ( )
virtual

Checks each Node if RolePermissions attribute is set and sets the IRolePermissions property.

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

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.

Implements UnifiedAutomation.UaServer.IEventManager.

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

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.

Implements UnifiedAutomation.UaServer.IEventManager.

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

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.

Implements UnifiedAutomation.UaServer.IEventManager.

Node UnifiedAutomation.UaServer.BaseNodeManager.FindInMemoryNode ( NodeId  sourceId,
NodeId  referenceTypeId,
bool  isInverse,
StringTable  namespaceUris,
string  browsePath 
)

Finds the in memory node.

Parameters
sourceIdThe source id.
referenceTypeIdThe reference type id.
isInverseSet to true, if the reference is an inverse reference.
namespaceUrisThe namespace uris.
browsePathThe browse path.
Returns
The node. null if the nodeId does not refer to an in-memory node managed by the node manager.
Node UnifiedAutomation.UaServer.BaseNodeManager.FindInMemoryNode ( NodeId  sourceId,
NodeId  referenceTypeId,
bool  isInverse,
params AbsoluteName[]  browseNames 
)

Finds the in memory node.

Parameters
sourceIdThe source id.
referenceTypeIdThe reference type id.
isInverseSet to true if the reference is an inverse reference.
browseNamesThe browse names.
Returns
The node. null if the nodeId does not refer to an in-memory node managed by the node manager.
Node UnifiedAutomation.UaServer.BaseNodeManager.FindInMemoryNode ( NodeId  sourceId,
NodeId  referenceTypeId,
bool  isInverse,
params QualifiedName[]  browseNames 
)

Finds the in memory node.

Parameters
sourceIdThe source id.
referenceTypeIdThe reference type id.
isInverseSet to true if the reference is an inverse reference.
browseNamesThe browse names.
Returns
The node. null if the nodeId does not refer to an in-memory node managed by the node manager.
Node UnifiedAutomation.UaServer.BaseNodeManager.FindInMemoryNode ( NodeId  nodeId)

Finds the in memory node.

Parameters
nodeIdThe node id.
Returns
The node. null if the nodeId does not refer to an in-memory node managed by the node manager.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishCallTransaction ( TransactionHandle  transaction)
virtual

Finishes the call transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IMethodManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishDataTransaction ( TransactionHandle  transaction)
virtual

Finishes the transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).

Implements UnifiedAutomation.UaServer.IIOManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishEventTransaction ( TransactionHandle  transaction)
virtual

Finishes the transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).

Implements UnifiedAutomation.UaServer.IEventManager.

void UnifiedAutomation.UaServer.BaseNodeManager.FinishHistoryReadDataTransaction ( HistoryDataTransactionHandle  transaction)

Finishes the history transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IHistoryReadDataManager.

void UnifiedAutomation.UaServer.BaseNodeManager.FinishHistoryReadEventTransaction ( HistoryEventTransactionHandle  transaction)

Finishes the event history transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IHistoryReadEventManager.

void UnifiedAutomation.UaServer.BaseNodeManager.FinishHistoryUpdateDataTransaction ( HistoryDataTransactionHandle  transaction)

Finishes the history transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IHistoryUpdateDataManager.

void UnifiedAutomation.UaServer.BaseNodeManager.FinishHistoryUpdateEventTransaction ( HistoryEventTransactionHandle  transaction)

Finishes the history event transaction.

Parameters
transactionThe transaction.

Implements UnifiedAutomation.UaServer.IHistoryUpdateEventManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishModifyDataMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the modify data monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishModifyEventMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the modify event monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishReadTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the read transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishSetDataMonitoringModeTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the set data monitoring mode transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishSetEventMonitoringModeTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the set event monitoring mode transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishStartDataMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the start data monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishStartEventMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the start event monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishStopDataMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the stop data monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishStopEventMonitoringTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the stop event monitoring transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.FinishWriteTransaction ( TransactionHandle  transaction)
protectedvirtual

Finishes the write transaction.

Parameters
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.GetBrowseHandle ( RequestContext  context,
ViewHandle  view,
NodeId  nodeId,
out BrowseHandle  handle 
)
virtual

Gets the browse handle for the specified node.

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

Implements UnifiedAutomation.UaServer.INodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.GetGroupMemberships ( RequestContext  context,
AlarmConditionModel  model,
out NodeId[]  Groups 
)
virtual

The GetGroupMemberships Method is used to find the list of AlarmGroups that this alarm is in. Must be implemented by the concrete subtype.

Parameters
context
model
Groups
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

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

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.

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

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.

virtual CallMethodEventHandler UnifiedAutomation.UaServer.BaseNodeManager.GetMethodDispatcher ( RequestContext  context,
MethodHandle  methodHandle 
)
protectedvirtual

Gets the method handler.

Parameters
contextThe request context.
methodHandleThe method handle.
Returns
The method dispatcher. null if no handler is available.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.GetMethodHandle ( RequestContext  context,
NodeId  objectId,
NodeId  methodId,
out MethodHandle  handle 
)
virtual

Gets the method handle for the specified object and method.

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

Implements UnifiedAutomation.UaServer.INodeManager.

virtual Node UnifiedAutomation.UaServer.BaseNodeManager.GetNodeAttributes ( RequestContext  context,
BrowseHandle  browseHandle,
NodeClass  expectedNodeClass 
)
virtual

Gets the node attributes.

Parameters
contextThe request context.
browseHandleThe browse handle.
expectedNodeClassThe expected node class.
Returns
The subtype of Node depending on the NodeClass. null if the node is not the expected node class.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

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

Gets the node handle for the specified node and attribute.

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

Implements UnifiedAutomation.UaServer.INodeManager.

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual NodeMetadata UnifiedAutomation.UaServer.BaseNodeManager.GetNodeMetadata ( RequestContext  context,
BrowseHandle  browseHandle,
NodeMetadataMask  fieldsToReturn,
NodeClass  nodeClassFilter 
)
virtual

Gets the node metadata.

Parameters
contextThe request context.
browseHandleThe browse handle.
fieldsToReturnThe fields to return.
nodeClassFilterThe node class filter.
Returns
The metadata with only the requested fields. null if the node does not have the requested node class.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

INodeAccessInfo UnifiedAutomation.UaServer.BaseNodeManager.GetNodePermission ( NodeId  nodeId)

Returns the permissions for a node.

Parameters
nodeIdNodeId of the node.
Returns
The permissions for the specified node. null if no node with nodeId does snot exist in the NodeManager.
object UnifiedAutomation.UaServer.BaseNodeManager.GetNodeUserData ( NodeId  nodeId)

Gets the user data for a node.

Parameters
nodeIdThe node id.
Returns
The user data for the node.

The user data for a Node passed as the NodeData in all handles created by the NodeManager.

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

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.

byte UnifiedAutomation.UaServer.BaseNodeManager.GetUserAccessLevel ( RequestContext  context,
NodeId  nodeId 
)
protected

Gets the user access level.

Parameters
contextThe request context.
nodeIdThe node id.
Returns
The user access level for the node id.
StatusCode UnifiedAutomation.UaServer.BaseNodeManager.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.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccess ( RequestContext  context,
BrowseHandle  browseHandle 
)
virtual

Determines whether the specified context has access to the browse handle.

Parameters
contextThe request context.
browseHandleThe browse handle.
Returns
true if the specified context has access; otherwise, false.

Implements UnifiedAutomation.UaServer.IUserAccessManager.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccess ( RequestContext  context,
MethodHandle  methodHandle 
)
virtual

Determines whether the specified context has access to the browse handle.

Parameters
contextThe request context.
methodHandleThe method handle.
Returns
true if the specified context has access; otherwise, false.

Implements UnifiedAutomation.UaServer.IUserAccessManager.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccess ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
UserAccessMask  accessMasks 
)
virtual

Determines whether the current context has specified access to the handle.

Parameters
contextThe request context.
nodeHandleThe node handle.
accessMasksThe desired access masks.
Returns
true, if the specified context has access; otherwise, false.

Implements UnifiedAutomation.UaServer.IUserAccessManager.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccess ( RequestContext  context,
HistoryDataHandle  nodeHandle,
UserAccessMask  accessMasks 
)
virtual

Determines whether the specified context has access to the history data handle.

Parameters
contextThe request context.
nodeHandleThe node handle.
accessMasksThe desired access masks.
Returns
true, if the specified context has access; otherwise, false.

Implements UnifiedAutomation.UaServer.IUserAccessManager.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccess ( RequestContext  context,
HistoryEventHandle  nodeHandle,
UserAccessMask  accessMasks 
)
virtual

Determines whether the specified context has access to the history event handle.

Parameters
contextThe request context.
nodeHandleThe node handle.
accessMasks
Returns
true if the specified context has access; otherwise, false.

Implements UnifiedAutomation.UaServer.IUserAccessManager.

virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccessToAddNode ( RequestContext  context,
BrowseHandle  parent,
NodeId  referenceTypeId,
NodeId  typeDefinitionId 
)
protectedvirtual

Determines whether the specified context has permission to add nodes.

Parameters
contextThe context.
parentThe parent of the node to add. Might be null.
referenceTypeIdThe reference type from the parent to the node to add. Might be null.
typeDefinitionIdThe type definition of the node to add. Might be null.
Returns
true, if the context has permission; otherwise, false.
virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccessToAddReference ( RequestContext  context,
NodeId  sourceId,
NodeId  referenceTypeId,
bool  isInverse 
)
protectedvirtual

Determines whether the specified context has permission to add the reference.

Parameters
contextThe context.
sourceIdThe source id.
referenceTypeIdThe reference type id.
isInverseIf set to true [is inverse].
Returns
true if the context has permission; otherwise, false.
virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccessToDeleteNode ( RequestContext  context,
NodeId  nodeToDelete 
)
protectedvirtual

Determines whether the specified context has permission to delete nodes.

Parameters
contextThe context
nodeToDeleteThe node to delete.
Returns
true, if the context has permission; otherwise, false.
virtual bool UnifiedAutomation.UaServer.BaseNodeManager.HasAccessToDeleteReference ( RequestContext  context,
NodeId  sourceId,
NodeId  referenceTypeId,
bool  isInverse 
)
protectedvirtual

Determines whether the specified context has permission to delete the reference.

Parameters
contextThe context.
sourceIdThe source id.
referenceTypeIdThe reference type id.
isInverseIf set to true, the reference is inverse.
Returns
true, if the context has permission; otherwise, false.
virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteAtTime ( RequestContext  context,
HistoryDataHandle  nodeHandle,
DeleteAtTimeDetails  details 
)
protectedvirtual

Deletes history data at specific times for a single variable.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteAtTime ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
IList< HistoryDataOperationHandle operationHandles,
IList< DeleteAtTimeDetails details 
)
protectedvirtual

Deletes history data at specific times for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteEvent ( RequestContext  context,
HistoryEventHandle  nodeHandle,
DeleteEventDetails  details 
)
protectedvirtual

Deletes event history for a single notifier.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryUpdateEventTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteEvents ( RequestContext  context,
HistoryEventTransactionHandle  transaction,
IList< HistoryEventOperationHandle operationHandles,
IList< DeleteEventDetails details 
)
protectedvirtual

Deletes event history for a group of notifiers.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteRaw ( RequestContext  context,
HistoryDataHandle  nodeHandle,
DeleteRawModifiedDetails  details 
)
protectedvirtual

Delete raw history data for a single variable.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryDeleteRaw ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
IList< HistoryDataOperationHandle operationHandles,
IList< DeleteRawModifiedDetails details 
)
protectedvirtual

Delete raw history data for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
virtual HistoryReadResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadAtTime ( RequestContext  context,
ReadAtTimeDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
string  indexRange,
QualifiedName  dataEncoding,
ref HistoryContinuationPoint  continuationPoint 
)
protectedvirtual

Reads the history at specific time for a single variable.

Parameters
contextThe request context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestampsToReturn
indexRangeThe index range.
dataEncodingThe data encoding.
continuationPointThe continuation point.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadAtTime ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
ReadAtTimeDetails  details,
IList< HistoryDataOperationHandle operationHandles,
IList< HistoryReadValueId valuesToRead,
IList< HistoryContinuationPoint continuationPoints 
)
protectedvirtual

Reads the history at specific time for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
detailsThe details.
operationHandlesThe operation handles.
valuesToReadThe values to read.
continuationPointsThe continuation points.
virtual HistoryReadResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadEvent ( RequestContext  context,
ReadEventDetails  details,
HistoryEventHandle  nodeHandle,
ref HistoryContinuationPoint  continuationPoint 
)
protectedvirtual

Reads the event history for a single notifier.

Parameters
contextThe request context.
detailsThe details.
nodeHandleThe node handle.
continuationPointThe continuation point.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadEventTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadEvent ( RequestContext  context,
HistoryEventTransactionHandle  transaction,
ReadEventDetails  details,
IList< HistoryEventOperationHandle operationHandles,
IList< HistoryReadValueId notifiersToRead,
IList< HistoryContinuationPoint continuationPoints 
)
protectedvirtual

Reads the event history for a group of notifiers.

Parameters
contextThe request context.
transactionThe transaction.
detailsThe details.
operationHandlesThe operation handles.
notifiersToReadThe notifiers to read.
continuationPointsThe continuation points.
virtual HistoryReadResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadProcessed ( RequestContext  context,
ReadProcessedDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
NodeId  aggregateId,
string  indexRange,
QualifiedName  dataEncoding,
ref HistoryContinuationPoint  continuationPoint 
)
protectedvirtual

Reads the processed history for a single variable.

Parameters
contextThe request context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestamps to return.
aggregateIdThe aggregate id.
indexRangeThe index range.
dataEncodingThe data encoding.
continuationPointThe continuation point.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadProcessed ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
ReadProcessedDetails  details,
IList< HistoryDataOperationHandle operationHandles,
IList< HistoryReadValueId valueToRead,
IList< HistoryContinuationPoint continuationPoints 
)
protectedvirtual

Reads the processed history for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
detailsThe details.
operationHandlesThe operation handles.
valueToReadThe value to read.
continuationPointsThe continuation points.
virtual HistoryReadResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadRaw ( RequestContext  context,
ReadRawModifiedDetails  details,
HistoryDataHandle  nodeHandle,
TimestampsToReturn  timestampsToReturn,
string  indexRange,
QualifiedName  dataEncoding,
ref HistoryContinuationPoint  continuationPoint 
)
protectedvirtual

Reads the raw history for a single variable.

Parameters
contextThe request context.
detailsThe details.
nodeHandleThe node handle.
timestampsToReturnThe timestamps to return of the historical values.
indexRangeThe index range.
dataEncodingThe data encoding.
continuationPointThe continuation point.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryReadRaw ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
ReadRawModifiedDetails  details,
IList< HistoryDataOperationHandle operationHandles,
IList< HistoryReadValueId valuesToRead,
IList< HistoryContinuationPoint continuationPoints 
)
protectedvirtual

Reads the raw history for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
detailsThe details.
operationHandlesThe operation handles.
valuesToReadThe values to read.
continuationPointsThe continuation points.

If a continuation point is created in this method, you need to save it at the passed session.

context.Session.SaveHistoryContinuationPoint(continuationPoint);

virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateData ( RequestContext  context,
HistoryDataHandle  nodeHandle,
UpdateDataDetails  details 
)
protectedvirtual

Updates the data history for a single variable.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateData ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
IList< HistoryDataOperationHandle operationHandles,
IList< UpdateDataDetails details 
)
protectedvirtual

Updates the data history for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateEvent ( RequestContext  context,
HistoryEventHandle  nodeHandle,
UpdateEventDetails  details 
)
protectedvirtual

Updates the event history for a single notifier.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryUpdateEventTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateEvents ( RequestContext  context,
HistoryEventTransactionHandle  transaction,
IList< HistoryEventOperationHandle operationHandles,
IList< UpdateEventDetails details 
)
protectedvirtual

Updates the event history for a group of notifiers.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
virtual HistoryUpdateResult UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateStructureData ( RequestContext  context,
HistoryDataHandle  nodeHandle,
UpdateStructureDataDetails  details 
)
protectedvirtual

Updates structured history data for a single variable.

Parameters
contextThe request context.
nodeHandleThe node handle.
detailsThe details.
Returns
The result if the operation was processed. null if the operation needs to be processed as part of a batch in FinishHistoryReadDataTransaction.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.HistoryUpdateStructureData ( RequestContext  context,
HistoryDataTransactionHandle  transaction,
IList< HistoryDataOperationHandle operationHandles,
IList< UpdateStructureDataDetails details 
)
protectedvirtual

Updates structured history data for a group of variables.

Parameters
contextThe request context.
transactionThe transaction.
operationHandlesThe operation handles.
detailsThe details.
void UnifiedAutomation.UaServer.BaseNodeManager.Import ( List< Node nodes)

Imports the list of nodes.

Parameters
nodesThe nodes.
void UnifiedAutomation.UaServer.BaseNodeManager.ImportUaNodeset ( Assembly  assembly,
string  resourcePath 
)

Imports the nodeset from an embedded resource.

Parameters
assemblyThe assembly (if null the calling assembly is used).
resourcePathThe resource path.

If an exact match is not found the first resource with a path that ends with the resourcePath is used.

void UnifiedAutomation.UaServer.BaseNodeManager.ImportUaNodeset ( FileInfo  file)

Imports the ua nodeset from a file.

Parameters
fileThe file.
void UnifiedAutomation.UaServer.BaseNodeManager.ImportUaNodeset ( Stream  istrm)

Imports the nodes from the stream.

Parameters
istrmThe stream.
void UnifiedAutomation.UaServer.BaseNodeManager.ImportUaNodeset ( UaSchema.UANodeSet  nodeset)

Imports the specified nodeset.

Parameters
nodesetThe nodeset.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeMonitoringModified ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
double  samplingInterval 
)
protectedvirtual

Called when data monitoring is modified.

Parameters
contextThe request context.
nodeHandleThe node handle.
samplingIntervalThe sampling interval.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeMonitoringStarted ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
double  samplingInterval 
)
protectedvirtual

Called when data monitoring starts.

Parameters
contextThe request context.
nodeHandleThe node handle.
samplingIntervalThe sampling interval.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeMonitoringStopped ( RequestContext  context,
NodeAttributeHandle  nodeHandle 
)
protectedvirtual

Called when data monitoring is stopped.

Parameters
contextThe request context.
nodeHandleThe node handle.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeReadStarted ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
Node  node 
)
protectedvirtual

Called before an in-memory node is read.

Parameters
contextThe request context.
nodeHandleThe node handle.
nodeThe node.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeWriteCompleted ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
Node  node 
)
protectedvirtual

Called after an in-memory node (i.e. not configured by LinkModelToNode or SetVariableConfiguration) is updated by a client.

Parameters
contextThe request context.
nodeHandleThe node handle.
nodeThe node.
virtual bool UnifiedAutomation.UaServer.BaseNodeManager.IsNodeIdInvalid ( NodeId  nodeId)
protectedvirtual

Determines whether the node id is invalid.

Parameters
nodeIdThe node id.
Returns
true if the is node id invalid; otherwise, false.
virtual bool UnifiedAutomation.UaServer.BaseNodeManager.IsNodeIdInvalid ( ExpandedNodeId  nodeId)
protectedvirtual

Determines whether the node id is invalid.

Returns
true if the is node id invalid; otherwise, false.
bool UnifiedAutomation.UaServer.BaseNodeManager.IsNotifierForSource ( NotifierHandle  notifierHandle,
NodeId  sourceId 
)
protected

Determines whether the notifier is above the source in the tree.

Parameters
notifierHandleThe notifier handle.
sourceIdThe source id.
Returns
true if the notifier is above the source; otherwise, false.
bool UnifiedAutomation.UaServer.BaseNodeManager.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.
ModelHandle UnifiedAutomation.UaServer.BaseNodeManager.LinkModelToNode ( NodeId  rootId,
object  instance,
object  syncLock,
IModelMapper  mapper,
double  minimumSamplingInterval,
bool  useValuesFromAddressspace = false 
)

Links an object to a node in the address space. This method can be used if the values of the children are stored in a single instance of a class. The values of instance can be accessed by using the specified mapper.

The UserData property of the node will be used to store the instance. So this property must not be set after LinkModelToNode called. This method overwrites the old value of UserData.

When calling this method, the NodeHandleType of the children of the node in address space with NodeClass Variable is set to InternalPolled.

Parameters
rootIdThe NodeId of the instance in address space.
instanceThe instance of the ModelControllerBase class.
syncLockThe sync lock for reading and writing the child nodes. If null, the mapped child node will be used.
mapperThe mapper (if null a reflection based mapper is used).
minimumSamplingIntervalThe minimum sampling interval that will be set as node attribute for children.
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.

virtual DataMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.ModifyDataMonitoring ( RequestContext  context,
MonitoredItemHandle  itemHandle,
MonitoredItemModifyRequest  settings 
)
protectedvirtual

Modifies data monitoring for a single node attribute value.

Parameters
contextThe request context.
itemHandleThe item handle.
settingsThe settings.
Returns
The result of the operation. Returns null if monitoring cannot be started with this method (meaning the batch method must be used).

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.ModifyDataMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle operationHandles,
IList< MonitoredItemModifyRequest settings 
)
protectedvirtual

Modifies data monitoring for a group of node attribute values.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
settingsThe settings.
virtual EventMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.ModifyEventMonitoring ( RequestContext  context,
MonitoredItemOperationHandle  itemHandle,
MonitoredItemModifyRequest  settings 
)
protectedvirtual

Modifies the event monitoring for a single item.

Parameters
contextThe request context.
itemHandleThe item handle.
settingsThe settings.
Returns
null if the operation needs to be done as batch during FinishEventTransaction. non-null if the operation is complete.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.ModifyEventMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle itemHandles,
IList< MonitoredItemModifyRequest settings 
)
protectedvirtual

Modifies the event monitoring for all unprocessed items in the transaction.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
itemHandlesThe item handles.
settingsThe settings.
virtual INodeAccessInfo UnifiedAutomation.UaServer.BaseNodeManager.NodeAccessInfoFromShema ( UaSchema.NodeAccessInfo  nodeAccessInfo)
virtual

Returns the INodeAccessInfo from the Extension defines in a NodeSet XML file

Parameters
nodeAccessInfoThe parsed extension. The sum of the number of groups and the number of users must not be greater than 2. If more groups or users are specified, null is returned.
Returns

Implements UnifiedAutomation.UaBase.INodeAccessInfoFactory.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.OnConditionRefresh ( NodeId  notifierId,
MonitoredItemHandle  itemHandle,
EventNotificationEventHandler  callback 
)
virtual

Called when condition refresh has been called for the notifier.

Parameters
notifierIdThe notifier id.
itemHandleThe item handle.
callbackThe callback to use to report the current state of all conditions.

Implements UnifiedAutomation.UaServer.INotifierManagerCallback.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.OneShotShelve ( RequestContext  context,
ShelvedStateMachineModel  model 
)
virtual

Shelves a condition until the next time it goes into the active state.

Parameters
contextThe request context.
modelThe state machine for the condition being shelved.
Returns
Good, if the condition was shelved successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.OneShotShelve2 ( RequestContext  context,
ShelvedStateMachineModel  model,
LocalizedText  Comment 
)
virtual

Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.OnMonitoringModified ( NodeId  notifierId,
EventMonitoredItem  monitoredItem 
)
virtual

Called when event monitoring has been modified for a notifier.

Parameters
notifierIdThe notifier id.
monitoredItemThe monitored item.

Implements UnifiedAutomation.UaServer.INotifierManagerCallback.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.OnMonitoringStarted ( NodeId  notifierId,
EventMonitoredItem  monitoredItem 
)
virtual

Called when event monitoring has started for a notifier.

Parameters
notifierIdThe notifier id.
monitoredItemThe monitored item.

Implements UnifiedAutomation.UaServer.INotifierManagerCallback.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.OnMonitoringStopped ( NodeId  notifierId,
EventMonitoredItem  monitoredItem 
)
virtual

Called when event monitoring has stopped for a notifier.

Parameters
notifierIdThe notifier id.
monitoredItemThe monitored item.

Implements UnifiedAutomation.UaServer.INotifierManagerCallback.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.PersistAddedNode ( RequestContext  context,
Node  node 
)
protectedvirtual

Called when a new persistent node is added.

Parameters
contextThe request context.
nodeThe node.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.PersistAddedReference ( RequestContext  context,
Node  node,
ReferenceNode  reference 
)
protectedvirtual

Called when a new persistent reference is added.

Parameters
contextThe request context.
nodeThe node.
referenceThe reference.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.PersistDeletedNode ( RequestContext  context,
Node  node 
)
protectedvirtual

Called when a new persistent node is deleted.

Parameters
contextThe request context.
nodeThe node.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.PersistDeletedReference ( RequestContext  context,
Node  node,
ReferenceNode  reference 
)
protectedvirtual

Called when a new persistent reference is deleted.

Parameters
contextThe request context.
nodeThe node.
referenceThe reference.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.PlaceInService ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to place in.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.PlaceInService2 ( RequestContext  context,
AlarmConditionModel  model,
LocalizedText  Comment 
)
virtual

The PlaceInService2 Method applies to an Alarm instance, even if it is not currently in the Active State. Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

ContinuationPoint UnifiedAutomation.UaServer.BaseNodeManager.ProcessReferences ( RequestContext  context,
ContinuationPoint  continuationPoint,
List< ReferenceNode references,
List< ReferenceDescription results 
)
protected

Processes the references in the list.

///

UserAccessManager.HasAccess is called in Server.InternalClient.GetNodeMetadata. So only references that are allowed are returned.

Parameters
contextThe request context.
continuationPointThe continuation point.
referencesThe references.
resultsThe results.
Returns
A new continuation point if the operation halts. null if the operation completes.
virtual DataValue UnifiedAutomation.UaServer.BaseNodeManager.Read ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
string  indexRange,
QualifiedName  dataEncoding 
)
protectedvirtual

Reads the attribute.

Parameters
contextThe request context.
nodeHandleThe node handle.
indexRangeThe index range.
dataEncodingThe data encoding.
Returns
A value containing an error code if an error occurs. The attribute value otherwise.

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.Read ( RequestContext  context,
TransactionHandle  transaction,
IList< NodeAttributeOperationHandle operationHandles,
IList< ReadValueId settings 
)
protectedvirtual

Reads the attributes.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
settingsThe settings.
virtual DataValue UnifiedAutomation.UaServer.BaseNodeManager.ReadAttribute ( RequestContext  context,
NodeAttributeHandle  nodeHandle 
)
virtual

Reads the attribute.

Parameters
contextThe request context.
nodeHandleThe node handle.
Returns
The value of the requested attribute. Returns null if the attribute cannot be read with this method (meaning the I/O manager needs to be used).

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

virtual T UnifiedAutomation.UaServer.BaseNodeManager.ReadValue< T > ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
QualifiedName  componentName,
defaultValue 
)
virtual

Reads the attribute value for a child node.

Template Parameters
TThe data type of the attribute to read.
Parameters
contextThe request context.
nodeHandleThe node handle.
componentNameName of the component.
defaultValueThe default value.
Returns
The value of the variable identified by the component name. The defaultValue if any error occurs.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

virtual T UnifiedAutomation.UaServer.BaseNodeManager.ReadValue< T > ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
QualifiedName[]  browsePath,
defaultValue 
)
virtual

Reads the attribute value for a child node.

Template Parameters
TThe data type of the value to read.
Parameters
contextThe request context.
nodeHandleThe node handle.
browsePathThe browse path.
defaultValueThe default value.
Returns
The value of the variable identified by the browse path. The defaultValue if any error occurs.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

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

Removes the cross reference.

Parameters
sourceNodeIdThe source node id.
managerThe manager.

Implements UnifiedAutomation.UaServer.INodeManagerEx.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.RemoveFromService ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to remove.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.RemoveFromService2 ( RequestContext  context,
AlarmConditionModel  model,
LocalizedText  Comment 
)
virtual

The RemoveFromService2 Method extends the RemoveFromService Method, by adding an optional Comment. For other functionality see the RemoveFromService Method definition. Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

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

Removes a link from IEventManager to a notifier.

Parameters
notifierIdThe notifier id.
managerThe manager.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

void UnifiedAutomation.UaServer.BaseNodeManager.ReportDataChanges ( RequestContext  context,
NodeAttributeHandle  nodeHandle 
)
protected

Reports the data changes.

Parameters
contextThe request context.
nodeHandleThe node handle.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.ReportEvent ( NodeId  notifierId,
GenericEvent  e 
)
virtual

Reports an event for the notifier id.

Parameters
notifierIdThe notifier id.
eThe event.

Implements UnifiedAutomation.UaServer.IEventManagerEx.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Reset ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to reset.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Reset2 ( RequestContext  context,
AlarmConditionModel  model,
LocalizedText  Comment 
)
virtual

The Reset2 Method extends the Reset Method, by adding an optional Comment. For other functionality see the Reset Method definition. Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.ReviseAggregateConfiguration ( RequestContext  context,
HistoryDataHandle  nodeHandle,
AggregateConfiguration  configurationToUse,
out bool  stepped 
)
protectedvirtual

Revises the aggregate configuration.

Parameters
contextThe context.
nodeHandleThe node handle.
configurationToUseThe configuration to use.
steppedWhether the variable uses stepped or sloped interpolation.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.SessionActivated ( Session  session)
virtual

Called when a session is activated.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.SessionClosed ( Session  session)
virtual

Called when a new session is closed.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.SessionOpened ( Session  session)
virtual

Called when a new session is created.

Parameters
sessionThe session.

Implements UnifiedAutomation.UaServer.INodeManager.

void UnifiedAutomation.UaServer.BaseNodeManager.SetAsyncMethodDispatcher ( NodeId  methodId,
IAsyncMethodDispatcher  dispatcher,
SynchronizationContext  synchronizationContext = null 
)

Sets the method dispatcher for a method.

Parameters
methodIdThe method id.
dispatcherThe dispatcher. If NULL any existing dispatcher is removed.
synchronizationContextThe synchronization context.

This method overrides the default behavior for selecting method dispatchers (e.g. overriding the GetMethodDispatcher method or by linking an Objects with Methods to a model object).

void UnifiedAutomation.UaServer.BaseNodeManager.SetChildUserData ( NodeId  parentId,
QualifiedName  browseName,
object  userData 
)

Sets the user data for the child of a node.

Parameters
parentIdThe parent id.
browseNameThe browse name of the child.
userDataThe user data.

The user data for a Node passed as the NodeData in all handles created by the NodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.SetDataMonitoringMode ( RequestContext  context,
MonitoredItemHandle  itemHandle,
MonitoringMode  monitoringMode,
MonitoringParameters  parameters 
)
protectedvirtual

Sets the monitoring mode for a single monitored item.

Parameters
contextThe request context.
itemHandleThe item handle.
monitoringModeThe monitoring mode.
parametersThe parameters.
Returns
The result of the operation. Returns null if the monitoring mode cannot be changed with this method (meaning the batch method must be used).

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.SetDataMonitoringMode ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle operationHandles,
IList< MonitoringMode monitoringModes,
IList< MonitoringParameters parameters 
)
protectedvirtual

Sets the monitoring mode for a group of monitored items.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
monitoringModesThe monitoring modes.
parametersThe parameters.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.SetEventMonitoringMode ( RequestContext  context,
MonitoredItemOperationHandle  itemHandle,
MonitoringMode  monitoringMode 
)
protectedvirtual

Changes the event monitoring mode for a single item.

Parameters
contextThe request context.
itemHandleThe item handle.
monitoringModeThe monitoring mode.
Returns
null if the operation needs to be done as batch during FinishEventTransaction. non-null if the operation is complete.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.SetEventMonitoringMode ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle itemHandles,
IList< MonitoringMode monitoringModes 
)
protectedvirtual

Changes the event monitoring mode for all unprocessed items in the transaction.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
itemHandlesThe item handles.
monitoringModesThe monitoring modes.
void UnifiedAutomation.UaServer.BaseNodeManager.SetMethodDispatcher ( NodeId  methodId,
IMethodDispatcher  dispatcher,
SynchronizationContext  synchronizationContext = null 
)

Sets the method dispatcher for a method.

Parameters
methodIdThe method id.
dispatcherThe dispatcher. If NULL any existing dispatcher is removed.
synchronizationContextThe synchronization context.

This method overrides the default behavior for selecting method dispatchers (e.g. overriding the GetMethodDispatcher method or by linking an Objects with Methods to a model object).

void UnifiedAutomation.UaServer.BaseNodeManager.SetNodeAccessRestriction ( NodeId  nodeId,
AccessRestrictionType accessRestriction,
bool  recursive 
)

Sets the permissions for a node.

Parameters
nodeIdThe node id.
accessRestrictionThe access restriction for the node.
recursiveTrue if the access restriction should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodeAccessRestriction ( NodeId  parentId,
QualifiedName  browseName,
AccessRestrictionType accessRestriction,
bool  recursive = false 
)

Sets the permissions for a node.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable.
accessRestrictionThe access restriction for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodeAttributeConfiguration ( NodeId  nodeId,
uint  attributeId,
uint  handleType,
object  handleData 
)

Sets the node attribute configuration.

Parameters
nodeIdThe node id.
attributeIdThe attribute id.
handleTypeType of the handle.
handleDataThe handle data.

The node attribute configuration controls how the NodeManager handles I/O for the attribute value. The NodeHandleType defines standard values which can be passed as the handleType. The handleData is passed as the UserData when the NodeAttributeHandle.

void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  nodeId,
INodeAccessInfo  permissions,
bool  recursive 
)

Sets the permissions for a node.

Parameters
nodeIdThe node id.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  parentId,
QualifiedName  browseName,
INodeAccessInfo  permissions,
bool  recursive = false 
)

Sets the permissions for a node.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  nodeId,
RolePermissionTypeCollection  permissions,
bool  recursive 
)

Sets the permissions for a node.

Parameters
nodeIdThe node id.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  parentId,
QualifiedName  browseName,
RolePermissionTypeCollection  permissions,
bool  recursive = false 
)

Sets the permissions for a node.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  nodeId,
IRolePermissions  permissions,
bool  recursive 
)

Sets the permissions for a node.

Parameters
nodeIdThe node id.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodePermissions ( NodeId  parentId,
QualifiedName  browseName,
IRolePermissions  permissions,
bool  recursive = false 
)

Sets the permissions for a node.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable.
permissionsThe permissions for the node.
recursiveTrue if the permissions should be applied to all child nodes; false otherwise.
void UnifiedAutomation.UaServer.BaseNodeManager.SetNodeUserData ( NodeId  nodeId,
object  userData 
)

Sets the user data for a node.

Parameters
nodeIdThe node id.
userDataThe user data.

The user data for a Node passed as the NodeData in all handles created by the NodeManager.

VariableNode UnifiedAutomation.UaServer.BaseNodeManager.SetVariableConfiguration ( NodeId  parentId,
QualifiedName  browseName,
uint  handleType,
object  handleData 
)

Sets the variable configuration.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable.
handleTypeType of the handle.
handleDataThe handle data.
Returns
The variable if found. null if it could not be found.

The variable configuration controls how the NodeManager handles I/O for the variable value. The NodeHandleType defines standard values which can be passed as the handleType. The handleData is passed as the UserData when the NodeAttributeHandle.

void UnifiedAutomation.UaServer.BaseNodeManager.SetVariableConfiguration ( NodeId  variableId,
uint  handleType,
object  handleData 
)

Sets the variable configuration.

Parameters
variableIdThe variable id.
handleTypeType of the handle.
handleDataThe handle data.

The variable configuration controls how the NodeManager handles I/O for the variable value. The NodeHandleType defines standard values which can be passed as the handleType. The handleData is passed as the UserData when the NodeAttributeHandle.

bool UnifiedAutomation.UaServer.BaseNodeManager.SetVariableDefaultValue ( NodeId  parentId,
QualifiedName  browseName,
Variant  value 
)

Sets the variable default value.

Parameters
parentIdThe parent id.
browseNameThe browse name of the variable to find.
valueThe value.
Returns
True if successful, false otherwise.

This method sets the value for an in-memory node. It will not affect the value if the handleType set for the variable is not NodeHandleType.Internal

bool UnifiedAutomation.UaServer.BaseNodeManager.SetVariableDefaultValue ( NodeId  variableId,
Variant  value 
)

Sets the variable value configuration.

Parameters
variableIdThe variable id.
valueThe value.
Returns
True if successful, false otherwise.

This method sets the value for an in-memory node. It will not affect the value if the handleType set for the variable is not NodeHandleType.Internal

virtual void UnifiedAutomation.UaServer.BaseNodeManager.Shutdown ( )
virtual

Called when the node manager is stopped.

Implements UnifiedAutomation.UaServer.INodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Silence ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to make silent.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual DataMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.StartDataMonitoring ( RequestContext  context,
MonitoredItemHandle  itemHandle,
MonitoredItemCreateRequest  settings,
DataChangeEventHandler  callback 
)
protectedvirtual

Start data monitoring for a single node attribute value.

Sends an initial DataChange if this operation does not return null and if Read(RequestContext context, NodeAttributeHandle nodeHandle, string indexRange, QualifiedName dataEncoding) does not return null.

Parameters
contextThe request context.
itemHandleThe item handle.
settingsThe settings.
callbackThe callback.
Returns
The result of the operation. Returns null if monitoring cannot be started with this method (meaning the batch method must be used).

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.StartDataMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< NodeAttributeOperationHandle operationHandles,
IList< uint >  monitoredItemIds,
IList< MonitoredItemCreateRequest settings,
IList< DataChangeEventHandler callback 
)
protectedvirtual

Start data monitoring for a group of node attributes.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
monitoredItemIdsThe monitored item ids.
settingsThe settings.
callbackThe callback.
DataMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.StartDataMonitoringInMemoryNode ( RequestContext  context,
MonitoredItemHandle  itemHandle,
MonitoredItemCreateRequest  request,
DataChangeEventHandler  callback,
DataMonitoringResult  result 
)
protected

Starts the data monitoring in memory node.

Parameters
contextThe request context.
itemHandleThe item handle.
requestThe request.
callbackThe callback.
resultThe result.
Returns
The result of the operation.
DataMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.StartDataMonitoringSampledNode ( RequestContext  context,
MonitoredItemHandle  itemHandle,
MonitoredItemCreateRequest  request,
DataChangeEventHandler  callback,
DataMonitoringResult  result 
)
protected

Starts the data monitoring of a mapped node.

Parameters
contextThe request context.
itemHandleThe item handle.
requestThe request.
callbackThe callback.
resultThe result.
Returns
The result of the operation.
virtual EventMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.StartEventMonitoring ( RequestContext  context,
NotifierHandle  notifierHandle,
uint  monitoredItemId,
MonitoredItemCreateRequest  settings,
EventNotificationEventHandler  callback 
)
protectedvirtual

Starts the event monitoring for a single item.

Parameters
contextThe request context.
notifierHandleThe notifier handle.
monitoredItemIdThe monitored item id.
settingsThe settings.
callbackThe callback to use when an event occurs.
Returns
null if the operation needs to be done as batch during FinishEventTransaction. non-null if the operation is complete.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.StartEventMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< NotifierOperationHandle notifierHandles,
IList< uint >  monitoredItemIds,
IList< MonitoredItemCreateRequest settings,
IList< EventNotificationEventHandler callbacks 
)
protectedvirtual

Starts the event monitoring for all unprocessed items in the transaction.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
notifierHandlesThe notifier handles.
monitoredItemIdsThe monitored item ids.
settingsThe settings.
callbacksThe callbacks to use when an event occurs.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.Startup ( )
virtual

Called when the node manager is started.

Implements UnifiedAutomation.UaServer.INodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.StopDataMonitoring ( RequestContext  context,
MonitoredItemHandle  itemHandle 
)
protectedvirtual

Stops the data monitoring for a single node attribute value.

Parameters
contextThe request context.
itemHandleThe item handle.
Returns
The result of the operation. Returns null, if monitoring cannot be stopped with this method (meaning the batch method must be used).

Reimplemented in UnifiedAutomation.UaServer.BaseNodeManagerEx.

virtual void UnifiedAutomation.UaServer.BaseNodeManager.StopDataMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle operationHandles 
)
protectedvirtual

Stops the data monitoring for a group of node attribute values.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.StopEventMonitoring ( RequestContext  context,
MonitoredItemOperationHandle  itemHandle 
)
protectedvirtual

Stops the event monitoring for a single item.

Parameters
contextThe request context.
itemHandleThe item handle.
Returns
null if the operation needs to be done as batch during FinishEventTransaction. non-null if the operation is complete.
virtual void UnifiedAutomation.UaServer.BaseNodeManager.StopEventMonitoring ( RequestContext  context,
TransactionHandle  transaction,
IList< MonitoredItemOperationHandle itemHandles,
IList< MonitoredItemModifyRequest settings 
)
protectedvirtual

Stop the event monitoring for all unprocessed items in the transaction.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginEventTransaction).
itemHandlesThe item handles.
settingsThe settings.
StructureFieldDataSettingsCollection UnifiedAutomation.UaServer.BaseNodeManager.StructureFields ( NodeId  dataTypeId)

Parameters
dataTypeId
Returns

Implements UnifiedAutomation.UaBase.IDefinitionHelper.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Suppress ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to suppress.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Suppress2 ( RequestContext  context,
AlarmConditionModel  model,
LocalizedText  Comment 
)
virtual

The Suppress2 Method extends the Suppress Method, by adding an optional Comment. For other functionality see the Suppress Method definition. Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.TimedShelve ( RequestContext  context,
ShelvedStateMachineModel  model,
double  shelvingTime 
)
virtual

Shelves a condition for a period of time.

Parameters
contextThe request context.
modelThe state machine for the condition being shelved.
shelvingTimeThe shelving time.
Returns
Good, if the condition was shelved successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.TimedShelve2 ( RequestContext  context,
ShelvedStateMachineModel  model,
double  ShelvingTime,
LocalizedText  Comment 
)
virtual

The TimedShelve Method extends the TimedShelve Method, by adding an optional Comment. For other functionality see the TimedShelve Method definition. Must be implemented by the concrete subtype.

Parameters
context
model
ShelvingTime
Comment
Returns

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual DataValue UnifiedAutomation.UaServer.BaseNodeManager.Translate ( RequestContext  context,
DataValue  dv 
)
protectedvirtual

Translates the specified text based on the strings stored in the ResourceManager.

Parameters
contextThe request context.
dvThe value to translate..
Returns
The translated value.
bool UnifiedAutomation.UaServer.BaseNodeManager.TryGetNamespaceMetadata ( ushort  namespaceIndex,
out NamespaceMetadataModel  namespaceMetadata 
)

Checks if a NamespaceMetadataModel is configured for a namespace index.

Can be return valid results after EvaluateNamespaceMetaData has been called. DisableMappingNamespaceMetadata shall be set to false.

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

Unlinks an object from a node in the address space.

Parameters
rootIdThe root id.
handleThe handle.

Implements UnifiedAutomation.UaServer.IObjectMappingManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Unshelve ( RequestContext  context,
ShelvedStateMachineModel  model 
)
virtual

Unshelves a condition.

Parameters
contextThe request context.
modelThe state machine for the condition being shelved.
Returns
Good, if the condition was unshelved successfully. False otherwise.

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Unshelve2 ( RequestContext  context,
ShelvedStateMachineModel  model,
LocalizedText  Comment 
)
virtual

The Unshelve2 Method extends the Unshelve Method, by adding an optional Comment. For other functionality see the Unshelve Method definition. Must be implemented by the concrete subtype.

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IShelvedStateMachineMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Unsuppress ( RequestContext  context,
AlarmConditionModel  model 
)
virtual

Parameters
contextThe request context.
modelThe alarm to unsuppressed.
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Unsuppress2 ( RequestContext  context,
AlarmConditionModel  model,
LocalizedText  Comment 
)
virtual

Parameters
context
model
Comment
Returns

Implements UnifiedAutomation.UaServer.IAlarmConditionMethods.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.ValidateDataEncoding ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
QualifiedName  dataEncoding 
)
protectedvirtual

Validates the data encoding.

Parameters
contextThe context.
nodeHandleThe node handle.
dataEncodingThe data encoding.
Returns
Good if the encoding is valid; An error otherwise.
EventMonitoringResult UnifiedAutomation.UaServer.BaseNodeManager.ValidateEventMonitoringRequest ( RequestContext  context,
NotifierHandle  notifierHandle,
ReadValueId  itemToMonitor,
MonitoringParameters  parameters 
)
protected

Validates the event monitoring request.

Parameters
contextThe request context.
notifierHandleThe notifier handle.
itemToMonitorThe item to monitor.
parametersThe parameters.
Returns
The result of the validation include detailed errors for the event filter.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.Write ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
string  indexRange,
DataValue  value 
)
protectedvirtual

Writes the value to a node attribute.

This method must not block if it is overridden.

The default implementation writes all non Value attributes and the Value attribute of nodes that with NodeHandleType.Internal (i.e. in memory nodes that are not configured) and NodeHandleType.InternalPolled (i.e. nodes configured with LinkModelToNode). When writing to the Value attribute to nodes that are configured with other NodeHandleTypes null is returned.

Parameters
contextThe request context.
nodeHandleThe node handle.
indexRangeThe index range.
valueThe value.
Returns
Returns null if the attribute cannot be written with this method (meaning the batch method must be used).
virtual void UnifiedAutomation.UaServer.BaseNodeManager.Write ( RequestContext  context,
TransactionHandle  transaction,
IList< NodeAttributeOperationHandle operationHandles,
IList< WriteValue settings 
)
protectedvirtual

Writes a value to a group of node attributes.

Parameters
contextThe request context.
transactionThe transaction (the value returned from BaseNodeManager.BeginDataTransaction).
operationHandlesThe operation handles.
settingsThe settings.
virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.WriteAttribute ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
Variant  valueToWrite 
)
virtual

Writes the attribute.

Parameters
contextThe request context.
nodeHandleThe node handle.
valueToWriteThe value to write.
Returns
Writes the attribute. Returns null if the attribute cannot be written with this method (meaning the I/O manager needs to be used).

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.WriteValue ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
QualifiedName  componentName,
Variant  valueToWrite 
)
virtual

Writes the attribute value for a child node.

Parameters
contextThe request context.
nodeHandleThe node handle.
componentNameName of the component.
valueToWriteThe value to write.
Returns
The result of the operation.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

virtual StatusCode UnifiedAutomation.UaServer.BaseNodeManager.WriteValue ( RequestContext  context,
NodeAttributeHandle  nodeHandle,
QualifiedName[]  browsePath,
Variant  valueToWrite 
)
virtual

Writes the attribute value for a child node.

Parameters
contextThe request context.
nodeHandleThe node handle.
browsePathThe browse path.
valueToWriteThe value to write.
Returns
The result of the operation.

Implements UnifiedAutomation.UaServer.IAdvancedNodeManager.

Member Data Documentation

bool UnifiedAutomation.UaServer.BaseNodeManager.DisableAttributeReadAccessCheck

Gets or sets a value indicating whether the access right check for ReadAttribute is disabled for in memory nodes.

true if access right check for ReadAttribute is disabled; otherwise, false.

UserAccessMask.ReadAttribute has been added in SDK version 2.5. This enum value allows to control access to all attributes but the Value attribute. In older versions of the SDK all non-value attributes could be read. This property can be used to reset to old behavior.

Property Documentation

ushort UnifiedAutomation.UaServer.BaseNodeManager.DefaultNamespaceIndex
getset

Gets or sets the default namespace index.

The default namespace index.

INodeAccessInfo UnifiedAutomation.UaServer.BaseNodeManager.DefaultPermissions
getset

THe default permissions for nodes managed by the node manager.

bool UnifiedAutomation.UaServer.BaseNodeManager.DisableMappingNamespaceMetadata
getset

If true the instance of the NamespaceMetadataType will not be mapped automatically to a NamespaceMetadataModel.

object UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodeLock
get

Gets the lock to use when accessing the memory nodes.

IEnumerable<Node> UnifiedAutomation.UaServer.BaseNodeManager.InMemoryNodes
getprotected

Gets the set of in memory nodes.

ushort [] UnifiedAutomation.UaServer.BaseNodeManager.NamespaceIndexes
get

Gets the namespace indexes supported by the node manager.

string [] UnifiedAutomation.UaServer.BaseNodeManager.NamespaceUris
get

Gets the namespace uris supported by the node manager.

NodeIdGenerationSettings UnifiedAutomation.UaServer.BaseNodeManager.NodeIdGenerationSettings
get

Gets the node id generation settings.

The node id generation settings.

ServerManager UnifiedAutomation.UaServer.BaseNodeManager.Server
get

Gets the server manager.

virtual AdvancedNodeManagerMethods UnifiedAutomation.UaServer.BaseNodeManager.SupportedMethods
get

Gets the supported methods.


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