public virtual void UpdateStatus(SystemStatusLevel currentLevel) { if (connectionContext.StatusLevel != currentLevel) { connectionContext.SetConnected(currentLevel); } }
public virtual SystemStatusLevel GetStatus() { if (isUpAndRunning) { return(level); } var previousLevel = level; var status = installer.GetStatus(); level = status.Level; if (level >= SystemStatusLevel.UpAndRunning) { isUpAndRunning = true; } if (previousLevel != level && DatabaseStatusChanged != null) { DatabaseStatusChanged(this, new EventArgs()); } return(level); }
public ConnectionMonitor SetConnected(SystemStatusLevel statusLevel) { lock (this) { bool wasConnected = IsConnected ?? false; IsConnected = statusLevel == SystemStatusLevel.UpAndRunning || statusLevel == SystemStatusLevel.Unconfirmed; if (!wasConnected && IsConnected.Value && online != null) online(this, new EventArgs()); else if (wasConnected && !IsConnected.Value && Offline != null) Offline(this, new EventArgs()); } return this; }
public ConnectionMonitor SetConnected(SystemStatusLevel statusLevel) { lock (this) { bool wasConnected = IsConnected ?? false; IsConnected = statusLevel == SystemStatusLevel.UpAndRunning || statusLevel == SystemStatusLevel.Unconfirmed; if (!wasConnected && IsConnected.Value && online != null) { online(this, new EventArgs()); } else if (wasConnected && !IsConnected.Value && Offline != null) { Offline(this, new EventArgs()); } } return(this); }
public virtual SystemStatusLevel GetStatus() { if (isUpAndRunning) return level; var previousLevel = level; var status = installer.GetStatus(); level = status.Level; if (level >= SystemStatusLevel.UpAndRunning) isUpAndRunning = true; if (previousLevel != level && DatabaseStatusChanged != null) DatabaseStatusChanged(this, new EventArgs()); return level; }
public ConnectionMonitor SetConnected(SystemStatusLevel statusLevel) { lock (this) { var wasConnected = IsConnected; IsConnected = statusLevel == SystemStatusLevel.UpAndRunning || statusLevel == SystemStatusLevel.Unconfirmed; StatusLevel = statusLevel; if ((!wasConnected.HasValue || !wasConnected.Value) && IsConnected.Value && online != null) // unknown -> connected // disconnected -> connected online(this, new EventArgs()); else if ((!wasConnected.HasValue || wasConnected.Value) && !IsConnected.Value && Offline != null) // unknown -> disconnected // connected-> disconnected Offline(this, new EventArgs()); } return this; }
public ConnectionMonitor SetConnected(SystemStatusLevel statusLevel) { lock (this) { var wasConnected = IsConnected; IsConnected = statusLevel == SystemStatusLevel.UpAndRunning || statusLevel == SystemStatusLevel.Unconfirmed; StatusLevel = statusLevel; if ((!wasConnected.HasValue || !wasConnected.Value) && IsConnected.Value && online != null) { // unknown -> connected // disconnected -> connected online(this, new EventArgs()); } else if ((!wasConnected.HasValue || wasConnected.Value) && !IsConnected.Value && Offline != null) { // unknown -> disconnected // connected-> disconnected Offline(this, new EventArgs()); } } return(this); }
public void UpdateStatus(SystemStatusLevel currentLevel) { connectionContext.SetConnected(currentLevel); }
public virtual void UpdateStatus(SystemStatusLevel currentLevel) { if (connectionContext.StatusLevel != currentLevel) connectionContext.SetConnected(currentLevel); }
public ConnectionMonitor SetConnected(SystemStatusLevel statusLevel) { lock (this) { bool? previous = IsConnected; IsConnected = statusLevel == SystemStatusLevel.UpAndRunning || statusLevel == SystemStatusLevel.Unconfirmed; if (previous.HasValue) { if (previous.Value && !IsConnected.Value && resumed != null) // from connected to disconnected resumed(this, new EventArgs()); if (!previous.Value && IsConnected.Value && interrupted != null) // from disconnected to connected interrupted(this, new EventArgs()); } else { if (IsConnected.Value & online != null) // from unknown to connected online(this, new EventArgs()); } } return this; }