/// <summary> /// Initializes the object with default values. /// </summary> public CoreNodeManager( IServerInternal server, ApplicationConfiguration configuration, ushort dynamicNamespaceIndex) { if (server == null) throw new ArgumentNullException("server"); if (configuration == null) throw new ArgumentNullException("configuration"); m_server = server; m_nodes = new NodeTable(server.NamespaceUris, server.ServerUris, server.TypeTree); m_monitoredItems = new Dictionary<uint,MonitoredItem>(); m_defaultMinimumSamplingInterval = 1000; m_namespaceUris = new List<string>(); m_dynamicNamespaceIndex = dynamicNamespaceIndex; #if LEGACY_CORENODEMANAGER m_eventSources = new Dictionary<object,IEventSource>(); #endif // use namespace 1 if out of range. if (m_dynamicNamespaceIndex == 0 || m_dynamicNamespaceIndex >= server.NamespaceUris.Count) { m_dynamicNamespaceIndex = 1; } m_samplingGroupManager = new SamplingGroupManager( server, this, (uint)configuration.ServerConfiguration.MaxNotificationQueueSize, configuration.ServerConfiguration.AvailableSamplingRates); }