Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }

        }
Beispiel #3
0
		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();
		}
Beispiel #4
0
 public abstract void Refresh(Nini.Config.IConfig config);