public GuiService(Platform platform, Configuration config, HomeStoreInfo hsInfo, VLogger logger) { this.platform = platform; this.config = config; this.homeStoreInfo = hsInfo; this.logger = logger; string svcBase = Common.Constants.InfoServiceAddress + "/" ; //let us start serving the files string webBase = svcBase + Common.Constants.GuiServiceSuffixWeb; webFileServer = new WebFileServer(Common.Constants.DashboardRoot, webBase, logger); serviceHostWeb = OpenUnsafeServiceWeb(webBase + Common.Constants.AjaxSuffix); }
private void Initialize(string[] arguments) { safeToGoOnline = false; guiService = null; homeService = null; //initialize various data structures random = new Random(); runningModules = new Dictionary<VModule, ModuleInfo>(); runningScouts = new Dictionary<string, Tuple<ScoutInfo, IScout>>(); runningModulesStates = new Dictionary<VModule, VModuleState>(); registeredPorts = new Dictionary<VPort, VModule>(); //this initializes the settings to what was default (in the code) Settings.Initialize(); ArgumentsDictionary argsDict = ProcessArguments(arguments); //were we supplied a non-default configuration directory? if (!DEFAULT_COMMAND_LINE_ARG_VAL.Equals((string)argsDict["ConfigDir"])) Settings.SetParameter("ConfigDir", (string) argsDict["ConfigDir"]); //this overwrites the settings to what was in the configuration file config = new Configuration(Settings.ConfigDir); config.ParseSettings(); //now, overwrite the settings with those on the command line foreach (var parameter in argsDict.Keys) { if (parameter.Equals("Help")) continue; if (!DEFAULT_COMMAND_LINE_ARG_VAL.Equals((string)argsDict[parameter])) config.UpdateConfSetting(parameter, argsDict[parameter]); } //initialize the logger logger = InitLogger(Settings.LogFile); logger.Log("Platform initialized"); //set the logger for config and read remaining config fines config.SetLogger(logger); config.ReadConfiguration(); //initialize the policy enginer policyEngine = new PolicyEngine(logger); policyEngine.Init(config); //rebuild the addin tokens this.rebuildAddInTokens(); homeStoreInfo = new HomeStoreInfo(logger); _consoleHandler = new PlatformConsoleCtrlHandlerDelegate(ConsoleEventHandler); SetConsoleCtrlHandler(_consoleHandler, true); }