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

DeleteAddressSpace() public method

Disposes all of the nodes.
public DeleteAddressSpace ( ) : void
return void
        public void DeleteAddressSpace()
        {
            List<IDisposable> nodesToDispose = new List<IDisposable>();

            try
            {
                m_lock.Enter();

                // collect nodes to dispose.
                foreach (INode node in m_nodes)
                {
                    IDisposable disposable = node as IDisposable;

                    if (disposable != null)
                    {
                        nodesToDispose.Add(disposable);
                    }
                }

                m_nodes.Clear();    
            }
            finally
            {
                m_lock.Exit();
            }

            // dispose of the nodes.
            foreach (IDisposable disposable in nodesToDispose)
            {
                try
                {
                    disposable.Dispose();
                }
                catch (Exception e)
                {
                    Utils.Trace(e, "Unexpected error disposing a Node object.");
                }
            }
        }