/// <summary> /// Fires the <see cref="InstanceStatusChanged"/> event. /// </summary> /// <param name="instance">MySQL instance with a changed status.</param> /// <param name="oldInstanceStatus">Old instance status.</param> protected virtual void OnInstanceStatusChanged(MySqlInstance instance, MySqlWorkbenchConnection.ConnectionStatusType oldInstanceStatus) { if (InstanceStatusChanged != null) { InstanceStatusChanged(this, new InstanceStatusChangedArgs(instance, oldInstanceStatus)); } }
/// <summary> /// Checks if this instance can connect to its corresponding MySQL Server instance with its Workbench connection. /// </summary> /// <param name="asynchronous">Flag indicating if the status check is run asynchronously or synchronously.</param> public void CheckInstanceStatus(bool asynchronous) { _secondsToMonitorInstance = MonitoringIntervalInSeconds; if (WorkbenchConnection == null || InstanceStatusCheckInProgress) { return; } InstanceStatusCheckInProgress = true; _oldInstanceStatus = ConnectionStatus; if (asynchronous) { SetupInstanceStatusCheckBackgroundWorker(); _worker.RunWorkerAsync(); } else { Cursor.Current = Cursors.WaitCursor; CheckInstanceStatusWorkerDoWork(this, new DoWorkEventArgs(null)); CheckInstanceStatusWorkerCompleted(this, new RunWorkerCompletedEventArgs(null, null, false)); Cursor.Current = Cursors.Default; } }
/// <summary> /// Initializes a new instance of the <see cref="MySqlInstance"/> class. /// </summary> public MySqlInstance() { _workbenchConnectionId = string.Empty; _monitoringInterval = DEFAULT_MONITORING_INTERVAL; _monitoringIntervalUnitOfMeasure = DEFAULT_MONITORING_UOM; _monitorAndNotifyStatus = true; _relatedConnections = null; _oldInstanceStatus = MySqlWorkbenchConnection.ConnectionStatusType.Unknown; _updateTrayIconOnStatusChange = true; _workbenchConnection = null; _worker = null; InstanceStatusCheckInProgress = false; MenuGroup = null; RefreshingStatus = false; SecondsToMonitorInstance = MonitoringIntervalInSeconds; InstanceId = Guid.NewGuid().ToString("B"); }
/// <summary> /// Initializes a new instance of the <see cref="InstanceStatusChangedArgs"/> class. /// </summary> /// <param name="instance">MySQL instance whose status changed.</param> /// <param name="oldInstanceStatus">Old instance status.</param> public InstanceStatusChangedArgs(MySqlInstance instance, MySqlWorkbenchConnection.ConnectionStatusType oldInstanceStatus) { Instance = instance; OldInstanceStatus = oldInstanceStatus; }