static Config() { AppConfigRoot = new Nini.Config.DotNetConfigSource(DotNetConfigSource.GetFullConfigPath()); AppSettings = AppConfigRoot.Configs["appSettings"]; bool hasExtraConfig = false; IConfigSource extraConfigRoot = null; if (File.Exists(ExtraConfigFile)) { hasExtraConfig = true; ExtraConfigRoot = new Nini.Config.XmlConfigSource(ExtraConfigFile); extraConfigRoot = ExtraConfigRoot; } if (File.Exists(PrivateExtraConfigFile)) { hasExtraConfig = true; PrivateExtraConfigRoot = new Nini.Config.XmlConfigSource(PrivateExtraConfigFile); if (extraConfigRoot != null) { extraConfigRoot.Merge(PrivateExtraConfigRoot); } else { extraConfigRoot = PrivateExtraConfigRoot; } } if (hasExtraConfig) { ExtraConfig = extraConfigRoot.Configs["Settings"]; RconServerAddress = ExtraConfig.GetString("RconServerAddress"); RconServerPort = ExtraConfig.GetInt("RconServerPort"); RconServerPassword = ExtraConfig.GetString("RconServerPassword"); } else { throw new ApplicationException("Can't find config file: " + ExtraConfigFile); } }
static Config() { AppConfigRoot = new Nini.Config.DotNetConfigSource(DotNetConfigSource.GetFullConfigPath()); AppSettings = AppConfigRoot.Configs["appSettings"]; bool hasExtraConfig = false; IConfigSource extraConfigRoot = null; if (File.Exists(ExtraConfigFile)) { hasExtraConfig = true; ExtraConfigRoot = new Nini.Config.XmlConfigSource(ExtraConfigFile); extraConfigRoot = ExtraConfigRoot; } if (File.Exists(PrivateExtraConfigFile)) { hasExtraConfig = true; PrivateExtraConfigRoot = new Nini.Config.XmlConfigSource(PrivateExtraConfigFile); if (extraConfigRoot != null) extraConfigRoot.Merge(PrivateExtraConfigRoot); else extraConfigRoot = PrivateExtraConfigRoot; } if (hasExtraConfig) { ExtraConfig = extraConfigRoot.Configs["Settings"]; RconServerAddress = ExtraConfig.GetString("RconServerAddress"); RconServerPort = ExtraConfig.GetInt("RconServerPort"); RconServerPassword = ExtraConfig.GetString("RconServerPassword"); } else { throw new ApplicationException("Can't find config file: " + ExtraConfigFile); } }
public FormMain() { // Set the resize event handler. resizeEventHandler = new EventHandler(FormMain_Resize); Resize += resizeEventHandler; // // Required for Windows Form Designer support // InitializeComponent(); // Get the window handle. Capture = true; hwnd = OpenNETCF.Win32.Win32Window.GetCapture(); Capture = false; // Add a message filter. ApplicationEx.AddMessageFilter(this); // Load the configuration. executablePath = ApplicationEx.StartupPath; extensionPath = Path.Combine(executablePath, "Extensions"); string iniFileName = Path.Combine(executablePath, "GPSProxy.ini"); if (! File.Exists(iniFileName)) { try { File.Copy(Path.Combine(executablePath, "GPSProxy.ini.default"), iniFileName, false); } catch { } } if (! File.Exists(iniFileName)) using (File.Create(iniFileName)) { } configSource = new IniConfigSource(iniFileName); configSource.Alias.AddAlias("On", true); configSource.Alias.AddAlias("Off", false); configSource.Alias.AddAlias("True", true); configSource.Alias.AddAlias("False", false); if (configSource.Configs["Settings"] == null) configSource.AddConfig("Settings"); configSettings = configSource.Configs["Settings"]; settings["autoStart"].Value = configSettings.GetBoolean("Start Proxy Automatically on Launch", (bool)settings["autoStart"].Value); settings["runExternalApp"].Value = configSettings.GetBoolean("Run External App after Proxy Startup", (bool)settings["runExternalApp"].Value); settings["externalApp"].Value = configSettings.GetString("External Application", (string)settings["externalApp"].Value); settings["autoReconnect"].Value = configSettings.GetBoolean("Reconnect after Power-on", (bool)settings["autoReconnect"].Value); settings["reconnectDelay"].Value = configSettings.GetInt("Power-on Reconnect Delay", (int)settings["reconnectDelay"].Value); // Create the main and page menu panels. mainMenuPanel = new ScrollablePanel(); mainMenuPanel.Visible = false; Controls.Add(mainMenuPanel); mainMenuPanel.Size = pluginPanel.ClientSize; mainMenuPanel.BringToFront(); pageMenuPanel = new ScrollablePanel(); pageMenuPanel.Visible = false; Controls.Add(pageMenuPanel); pageMenuPanel.Size = pluginPanel.ClientSize; pageMenuPanel.BringToFront(); // Add the main menu buttons. AboutButton = AddMenuButton(mainMenuPanel, "About...", new EventHandler(AboutButton_Click)); SettingsButton = AddMenuButton(mainMenuPanel, "Settings...", new EventHandler(SettingsButton_Click), true); ExtensionsButton = AddMenuButton(mainMenuPanel, "Extensions...", new EventHandler(ExtensionsButton_Click)); VirtualComPortsButton = AddMenuButton(mainMenuPanel, "Virtual COM Ports...", new EventHandler(VirtualComPortsButton_Click)); ExitButton = AddMenuButton(mainMenuPanel, "Exit", new EventHandler(ExitButton_Click), true); // Load the extension DLLs. LoadExtensions(); // Activate extensions according to the configuration file. ActivateExtensions(); // NOTE: do not attempt to show an message boxes before this point, as this triggers // other form events that expect the activeExtensions array to have been created. // Load the virtual COM port drivers. virtualComPortRootKey = Registry.LocalMachine.CreateSubKey(@"Drivers\GPSProxyVirtualCOMPorts"); if (virtualComPortRootKey == null) { MessageBox.Show(@"Unable to open/create registry key: " + virtualComPortRootKey.Name, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); } else { LoadVirtualComPortDrivers(); } // Create and populate the extensions dialog. extensionsDialog = new FormExtensions(); extensionsDialog.ComboBoxProvider.SelectedIndexChanged += new EventHandler(ComboBoxProvider_SelectedIndexChanged); extensionsDialog.ListBoxExtensions.SelectedIndexChanged += new EventHandler(ListBoxExtensions_SelectedIndexChanged); extensionsDialog.ButtonConfigureProvider.Click += new EventHandler(ButtonConfigureProvider_Click); extensionsDialog.ButtonAddExtension.Click += new EventHandler(ButtonAddExtension_Click); extensionsDialog.ButtonRemoveExtension.Click += new EventHandler(ButtonRemoveExtension_Click); extensionsDialog.ButtonConfigureExtension.Click += new EventHandler(ButtonConfigureExtension_Click); RepopulateExtensionsDialog(); // Create and populate the virtual COM port dialog. virtualComPortsDialog = new FormVirtualComPorts(); virtualComPortsDialog.VirtualComPortListBox.SelectedIndexChanged += new EventHandler(VirtualComPortListBox_SelectedIndexChanged); virtualComPortsDialog.ButtonAdd.Click += new EventHandler(ButtonAddVirtualComPort_Click); virtualComPortsDialog.ButtonRemove.Click += new EventHandler(ButtonRemoveVirtualComPort_Click); RepopulateVirtualComPortsDialog(); }
public abstract void Refresh(Nini.Config.IConfig config);