public ComHdaClientNodeManager(IServerInternal server, string namespaceUri, ComHdaClientConfiguration configuration, bool ownsTypeModel)
:
base(server, namespaceUri, ownsTypeModel)
{
SystemContext.SystemHandle = m_system = new ComHdaClientManager();
SystemContext.NodeIdFactory = this;
// save the configuration for the node manager.
m_configuration = configuration;
// set the alias root.
AliasRoot = m_configuration.ServerName;
if (String.IsNullOrEmpty(AliasRoot))
{
AliasRoot = "HDA";
}
// set the default parser if none provided.
if (configuration.ItemIdParser == null)
{
configuration.ItemIdParser = new ComItemIdParser();
}
// set default parameters.
if (m_configuration.AttributeSamplingInterval == 0)
{
m_configuration.AttributeSamplingInterval = 1000;
}
// create the list of subscriptions.
m_subscriptionManagers = new Dictionary<int, HdaSubscribeRequestManager>();
m_subscriptionManagers[ComUtils.LOCALE_SYSTEM_DEFAULT] = new HdaSubscribeRequestManager(SystemContext, ComUtils.LOCALE_SYSTEM_DEFAULT, m_configuration);
m_monitoredItems = new Dictionary<uint, HdaSubscribeRequestManager>();
}
#endregion