mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-14 04:04:58 +00:00
refactor: rearrange and add solution for 4-series
This commit is contained in:
57
src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs
Normal file
57
src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
using System;
|
||||
|
||||
using PepperDash.Core;
|
||||
|
||||
|
||||
namespace PepperDash.Essentials.Core
|
||||
{
|
||||
public interface IStatusMonitor
|
||||
{
|
||||
IKeyed Parent { get; }
|
||||
event EventHandler<MonitorStatusChangeEventArgs> StatusChange;
|
||||
MonitorStatus Status { get; }
|
||||
string Message { get; }
|
||||
BoolFeedback IsOnlineFeedback { get; set; }
|
||||
void Start();
|
||||
void Stop();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a class that has a basic communication monitoring
|
||||
/// </summary>
|
||||
public interface ICommunicationMonitor
|
||||
{
|
||||
StatusMonitorBase CommunicationMonitor { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// StatusUnknown = 0, IsOk = 1, InWarning = 2, InError = 3
|
||||
/// </summary>
|
||||
public enum MonitorStatus
|
||||
{
|
||||
StatusUnknown = 0,
|
||||
IsOk = 1,
|
||||
InWarning = 2,
|
||||
InError = 3
|
||||
}
|
||||
|
||||
public class MonitorStatusChangeEventArgs : EventArgs
|
||||
{
|
||||
public MonitorStatus Status { get; private set; }
|
||||
public string Message { get; private set; }
|
||||
|
||||
public MonitorStatusChangeEventArgs(MonitorStatus status)
|
||||
{
|
||||
Status = status;
|
||||
Message = status == MonitorStatus.IsOk ? "" : status.ToString();
|
||||
}
|
||||
|
||||
public MonitorStatusChangeEventArgs(MonitorStatus status, string message)
|
||||
{
|
||||
Status = status;
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user