Exemplo n.º 1
0
        private void OnClick_AgentSettings(object sender, RoutedEventArgs e)
        {
            AgentSettings frmAgentSettings = new AgentSettings(_agentSettings);

            frmAgentSettings.Owner = this;
            frmAgentSettings.ShowDialog();

            if (frmAgentSettings.ChangesSaved)
            {
                _agentSettings = frmAgentSettings.OBSettings;
                ConnectionSettingsManager.Instance.ConnectionSettings.HeartbeatInterval          = _agentSettings.HeartbeatInterval;
                ConnectionSettingsManager.Instance.ConnectionSettings.JobsPollingInterval        = _agentSettings.JobsPollingInterval;
                ConnectionSettingsManager.Instance.ConnectionSettings.HighDensityAgent           = _agentSettings.HighDensityAgent;
                ConnectionSettingsManager.Instance.ConnectionSettings.SingleSessionExecution     = _agentSettings.SingleSessionExecution;
                ConnectionSettingsManager.Instance.ConnectionSettings.SSLCertificateVerification = _agentSettings.SSLCertificateVerification;
            }
        }
Exemplo n.º 2
0
        private void ShowAgentSettingsWindow()
        {
            AgentSettings frmAgentSettings = new AgentSettings(_agentSettings);

            frmAgentSettings.Owner = this;
            frmAgentSettings.ShowDialog();

            if (frmAgentSettings.ChangesSaved)
            {
                _agentSettings = frmAgentSettings.OBSettings;
                ConnectionSettingsManager.Instance.ConnectionSettings.HeartbeatInterval          = _agentSettings.HeartbeatInterval;
                ConnectionSettingsManager.Instance.ConnectionSettings.JobsLoggingInterval        = _agentSettings.JobsLoggingInterval;
                ConnectionSettingsManager.Instance.ConnectionSettings.HighDensityAgent           = _agentSettings.HighDensityAgent;
                ConnectionSettingsManager.Instance.ConnectionSettings.SingleSessionExecution     = _agentSettings.SingleSessionExecution;
                ConnectionSettingsManager.Instance.ConnectionSettings.SSLCertificateVerification = _agentSettings.SSLCertificateVerification;
            }
        }
 public void UpdateSettings(OpenBotsSettings agentSettings)
 {
     File.WriteAllText(GetSettingsFilePath(), JsonConvert.SerializeObject(agentSettings, Formatting.Indented));
 }
Exemplo n.º 4
0
        private void LoadConnectionSettings()
        {
            // Load settings from "OpenBots.Settings" (Config File)
            _agentSettings = SettingsManager.Instance.ReadSettings();
            bool isServerAlive = false;

            // If Server Connection is already Up and Agent has just started.
            if (PipeProxy.Instance.IsServerConnectionUp())
            {
                // Retrieve Connection Settings from Server
                ConnectionSettingsManager.Instance.ConnectionSettings = PipeProxy.Instance.GetConnectionHistory();
                isServerAlive = true;
            }

            if (ConnectionSettingsManager.Instance.ConnectionSettings == null)
            {
                if (!string.IsNullOrEmpty(_agentSettings.AgentId))
                {
                    _agentSettings = SettingsManager.Instance.ResetToDefaultSettings();
                }

                ConnectionSettingsManager.Instance.ConnectionSettings = new ServerConnectionSettings()
                {
                    ServerConnectionEnabled = false,
                    ServerURL                  = _registryManager.ServerURL ?? string.Empty,     // Load Server URL from User Registry,
                    AgentUsername              = _registryManager.AgentUsername ?? string.Empty, // Load Username from User Registry
                    AgentPassword              = _registryManager.AgentPassword ?? string.Empty, // Load Password from User Registry
                    SinkType                   = string.IsNullOrEmpty(_agentSettings.SinkType) ? SinkType.File.ToString() : _agentSettings.SinkType,
                    TracingLevel               = string.IsNullOrEmpty(_agentSettings.TracingLevel) ? LogEventLevel.Information.ToString() : _agentSettings.TracingLevel,
                    HeartbeatInterval          = _agentSettings.HeartbeatInterval,
                    JobsPollingInterval        = _agentSettings.JobsPollingInterval,
                    HighDensityAgent           = _agentSettings.HighDensityAgent,
                    SingleSessionExecution     = _agentSettings.SingleSessionExecution,
                    SSLCertificateVerification = _agentSettings.SSLCertificateVerification,
                    DNSHost     = SystemInfo.GetUserDomainName(),
                    UserName    = Environment.UserName,
                    WhoAmI      = WindowsIdentity.GetCurrent().Name.ToLower(),
                    MachineName = Environment.MachineName,
                    AgentId     = string.Empty,
                    MACAddress  = SystemInfo.GetMacAddress(),
                    IPAddress   = new WebClient().DownloadString("https://ipv4.icanhazip.com/").Trim()
                };
            }

            // Loading settings in UI
            txt_Username.Text          = ConnectionSettingsManager.Instance.ConnectionSettings.AgentUsername;
            txt_Password.Password      = ConnectionSettingsManager.Instance.ConnectionSettings.AgentPassword;
            txt_ServerURL.Text         = ConnectionSettingsManager.Instance.ConnectionSettings.ServerURL;
            cmb_LogLevel.ItemsSource   = Enum.GetValues(typeof(LogEventLevel));
            cmb_LogLevel.SelectedIndex = Array.IndexOf((Array)cmb_LogLevel.ItemsSource, Enum.Parse(typeof(LogEventLevel),
                                                                                                   ConnectionSettingsManager.Instance.ConnectionSettings.TracingLevel));
            cmb_SinkType.ItemsSource   = Enum.GetValues(typeof(SinkType));
            cmb_SinkType.SelectedIndex = Array.IndexOf((Array)cmb_SinkType.ItemsSource, Enum.Parse(typeof(SinkType),
                                                                                                   ConnectionSettingsManager.Instance.ConnectionSettings.SinkType));

            // Update UI Controls after loading settings
            OnSetRegistryKeys();
            UpdateClearCredentialsUI();
            OnSinkSelectionChange();

            if (isServerAlive)
            {
                UpdateUIOnConnect();
            }
        }