private async Task DoDisconnect() { btnConnect.Enabled = false; if (supervisorClient != null) { await supervisorClient?.StopAsync(); supervisorClient = null; } labStatus.Text = string.Empty; txtAppName.ReadOnly = false; txtServerAddress.ReadOnly = false; btnConnect.Enabled = true; btnSystemInfo.Enabled = false; btnScreenshot.Enabled = false; btnConnect.Text = "Connect"; btnConnect.ImageKey = "start.png"; }
private async Task DoConnect() { await DoDisconnect(); btnConnect.Enabled = false; var appName = txtAppName.Text.Trim().Replace(" ", ""); supervisorClient = new MqttSupervisorClient(appName, txtServerAddress.Text); supervisorClient.OnLog = HandleLog; supervisorClient.OnException = HandleException; supervisorClient.OnControlResponse = HandleControlResponse; try { await supervisorClient.StartAsync(); labStatus.Text = $"Supervising"; appSettings.AppName = txtAppName.Text; appSettings.ServerAddress = txtServerAddress.Text; txtAppName.ReadOnly = true; txtServerAddress.ReadOnly = true; btnSystemInfo.Enabled = true; btnScreenshot.Enabled = true; btnConnect.Text = "Disconnect"; btnConnect.ImageKey = "stop.png"; messageDisplayer.Clear(); } catch (Exception ex) { await DoDisconnect(); labStatus.Text = $"Error: {ex.Message}"; } finally { btnConnect.Enabled = true; } }