Opc.Ua.Server.MasterNodeManager.RegisterNodeManager C# (CSharp) Method

RegisterNodeManager() private method

Registers the node manager with the master node manager.
private RegisterNodeManager ( INodeManager nodeManager, List registeredManagers, Dictionary namespaceManagers ) : void
nodeManager INodeManager
registeredManagers List
namespaceManagers Dictionary
return void
        private void RegisterNodeManager(
            INodeManager nodeManager,
            List<INodeManager> registeredManagers,
            Dictionary<int, List<INodeManager>> namespaceManagers)
        {
            m_nodeManagers.Add(nodeManager);

            // ensure the NamespaceUris supported by the NodeManager are in the Server's NamespaceTable.
            if (nodeManager.NamespaceUris != null)
            {
                foreach (string namespaceUri in nodeManager.NamespaceUris)
                {
                    // look up the namespace uri.
                    int index = m_server.NamespaceUris.GetIndex(namespaceUri);

                    if (index == -1)
                    {
                        index = m_server.NamespaceUris.Append(namespaceUri);
                    }

                    // add manager to list for the namespace.
                    if (!namespaceManagers.TryGetValue(index, out registeredManagers))
                    {
                        namespaceManagers[index] = registeredManagers = new List<INodeManager>();
                    }

                    registeredManagers.Add(nodeManager);
                }
            }
        }
        #endregion