/// Initialize an instance of BSlaveServiceManager /// <param name="projectName">This name is used when searching a project's configuration file. Must be same as the name of the configuration file.</param> private BSlaveServiceManager(string projectName) { try { observers = new ArrayList(); // intialize configuration of this module (module should read this configuration) moduleConfiguration = BConfigManager.GetInstance().LoadModuleConfig( System.IO.Path.Combine(BConfigManager.GlobalModulesPath, projectName + ".conf")); moduleConfiguration.ImportConfig( System.IO.Path.Combine(BConfigManager.LocalModulesPath, projectName + ".conf")); // don't know far end's PID so send 0 to search for busManager = BBusManagerFactory.CreateBusManager(null); } catch (Exception e) { // log all top level errors LibBeline.GetInstance().LogManager.Log(e); throw; } }
/// <summary>Load new module's configuration from global and then from local config file</summary> public BConfigItem LoadModuleConfig(string aFileName) { if (moduleConf.Count == capacity) throw new Exception("Maximum count of configuration items reached."); BConfigItem retval = new BConfigItem(Path.Combine(BConfigManager.GlobalModulesPath,aFileName)); retval.ImportConfig(Path.Combine(BConfigManager.LocalModulesPath, aFileName)); moduleConf.Add(retval.OID, retval); return retval; }