コード例 #1
0
 public virtual void UpdateStatus(SystemStatusLevel currentLevel)
 {
     if (connectionContext.StatusLevel != currentLevel)
     {
         connectionContext.SetConnected(currentLevel);
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: DatabaseStatusCache.cs プロジェクト: Jobu/n2cms
        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;
        }
コード例 #6
0
		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;
		}
コード例 #7
0
        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);
        }
コード例 #8
0
 public void UpdateStatus(SystemStatusLevel currentLevel)
 {
     connectionContext.SetConnected(currentLevel);
 }
コード例 #9
0
ファイル: InstallationManager.cs プロジェクト: Jobu/n2cms
 public void UpdateStatus(SystemStatusLevel currentLevel)
 {
     connectionContext.SetConnected(currentLevel);
 }
コード例 #10
0
		public virtual void UpdateStatus(SystemStatusLevel currentLevel)
		{
            if (connectionContext.StatusLevel != currentLevel)
			    connectionContext.SetConnected(currentLevel);
		}
コード例 #11
0
ファイル: ConnectionMonitor.cs プロジェクト: Jobu/n2cms
        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;
        }