.NET Based OPC UA Client/Server SDK  2.6.0.418
UnifiedAutomation.UaBase.ReferenceTable Class Reference

A table of references with multiple indexes designed to speed up searching. More...

Public Member Functions

void Initialize (IList< ReferenceNode > references)
 Initializes the table with a list of references. More...
 
void Clear ()
 Clears the table. More...
 
List< ReferenceNodeFindAll ()
 Finds all of the references in the table. More...
 
List< ReferenceNodeFind (NodeId referenceTypeId, bool isInverse, bool includeSubtypes, ITypeTable typeTree)
 Finds references with the specified reference type. More...
 
bool ReferenceExists (NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId)
 Checks if the references the exists. More...
 
bool Add (NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId, bool checkForDuplicates)
 Adds a new reference to the table. More...
 
bool Remove (NodeId referenceTypeId, bool isInverse, ExpandedNodeId targetId)
 Removes a reference from the table. More...
 

Detailed Description

A table of references with multiple indexes designed to speed up searching.

This class maintains a table of references indexed by the ReferenceTypeId which optimizes look ups based on ReferenceTypeId. It also maintains a table of reference indexed by TargetId which optimizes look ups based on the TargetId.

Member Function Documentation

bool UnifiedAutomation.UaBase.ReferenceTable.Add ( NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId,
bool  checkForDuplicates 
)
inline

Adds a new reference to the table.

Parameters
referenceTypeIdThe reference type identifier.
isInverseif set to true if the reference is an inverse reference.
targetIdThe NodeId of the target node.
checkForDuplicatesif set to true then duplicate references are ignored. Otherwise an exception is throw.
Returns
True if the reference was added; False otherwise.
void UnifiedAutomation.UaBase.ReferenceTable.Clear ( )
inline

Clears the table.

List<ReferenceNode> UnifiedAutomation.UaBase.ReferenceTable.Find ( NodeId  referenceTypeId,
bool  isInverse,
bool  includeSubtypes,
ITypeTable  typeTree 
)
inline

Finds references with the specified reference type.

Parameters
referenceTypeIdThe reference type identifier.
isInverseif set to true then inverse references are returned.
includeSubtypesif set to true then subtypes of the reference type are returned.
typeTreeThe type tree used to test for subtypes.
Returns
A list of references that meet the criteria.
List<ReferenceNode> UnifiedAutomation.UaBase.ReferenceTable.FindAll ( )
inline

Finds all of the references in the table.

Returns
All of the references in the table.
void UnifiedAutomation.UaBase.ReferenceTable.Initialize ( IList< ReferenceNode references)
inline

Initializes the table with a list of references.

Parameters
referencesThe references.
bool UnifiedAutomation.UaBase.ReferenceTable.ReferenceExists ( NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId 
)
inline

Checks if the references the exists.

Parameters
referenceTypeIdThe reference type identifier.
isInverseif set to true the checke for an inverse reference.
targetIdThe NodeId of the target node.
Returns
True is the reference exists; false otherwise.
bool UnifiedAutomation.UaBase.ReferenceTable.Remove ( NodeId  referenceTypeId,
bool  isInverse,
ExpandedNodeId  targetId 
)
inline

Removes a reference from the table.

Parameters
referenceTypeIdThe reference type identifier.
isInverseif set to true the reference is an inverse reference.
targetIdThe NodeId of the target node.
Returns
True is the reference was removed; False otherwise.

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