Opc.Ua.Server.CoreNodeManager.GetInstanceDeclarations C# (CSharp) Method

GetInstanceDeclarations() public method

Returns a list of children of the node with the specified browse path.
This methods returns all nodes in the fully inhierited type. if the browsePath is null then the immediate children of the type node are returned.
public GetInstanceDeclarations ( NodeId typeId, IList browsePath ) : IList
typeId NodeId
browsePath IList
return IList
        public IList<ILocalNode> GetInstanceDeclarations(
            NodeId               typeId, 
            IList<QualifiedName> browsePath)
        {  
            try
            {
                m_lock.Enter();

                Dictionary<QualifiedName,ILocalNode> targets = new Dictionary<QualifiedName,ILocalNode>();

                // find the source.
                ILocalNode source = GetLocalNode(typeId) as ILocalNode;

                if (source == null)
                {
                    return new List<ILocalNode>();
                }

                // verify that the source is a type node.
                if (!(source is IObjectType || source is IVariableType))
                {
                    return new List<ILocalNode>();
                }

                // recursively collect targets of the browse path.
                GetInstanceDeclarations(source, browsePath, targets);

                // return the list of targets.
                return new List<ILocalNode>(targets.Values);
            }
            finally
            {
                m_lock.Exit();
            } 
        }

Same methods

CoreNodeManager::GetInstanceDeclarations ( ILocalNode type, IList browsePath, ILocalNode>.Dictionary targets ) : void