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; } }
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)); }
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(); } }