namespace PepperDash.Core.Abstractions;
///
/// Mirrors Crestron's eDevicePlatform without requiring the Crestron SDK.
///
public enum DevicePlatform
{
/// Hardware appliance (e.g. CP4, MC4).
Appliance,
/// Crestron Virtual Control / server runtime.
Server,
}
///
/// Mirrors Crestron's eRuntimeEnvironment.
///
public enum RuntimeEnvironment
{
/// SimplSharpPro program slot (hardware 4-series).
SimplSharpPro,
/// SimplSharp (older 3-series or server environments).
SimplSharp,
/// Any other environment — check for completeness.
Other,
}
///
/// Mirrors Crestron's ConsoleAccessLevelEnum.
///
public enum ConsoleAccessLevel
{
AccessAdministrator = 0,
AccessOperator = 1,
AccessProgrammer = 2,
}
///
/// Mirrors Crestron's eProgramStatusEventType.
///
public enum ProgramStatusEventType
{
Starting,
Stopping,
Paused,
Resumed,
}
///
/// Mirrors the event type used by Crestron's EthernetEventArgs.
///
public enum EthernetEventType
{
LinkDown = 0,
LinkUp = 1,
}
///
/// Event args for Crestron ethernet link events.
///
public class PepperDashEthernetEventArgs : EventArgs
{
public EthernetEventType EthernetEventType { get; }
public short EthernetAdapter { get; }
public PepperDashEthernetEventArgs(EthernetEventType eventType, short adapter)
{
EthernetEventType = eventType;
EthernetAdapter = adapter;
}
}
///
/// Mirrors the set of CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET values
/// used across this codebase — does not aim to be exhaustive.
///
public enum EthernetParameterType
{
GetCurrentIpAddress,
GetHostname,
GetDomainName,
GetLinkStatus,
GetCurrentDhcpState,
GetCurrentIpMask,
GetCurrentRouter,
GetMacAddress,
GetDnsServer,
}
///
/// Mirrors Crestron's SocketStatus without requiring the Crestron SDK.
///
public enum PepperDashSocketStatus
{
SocketNotConnected = 0,
SocketConnected = 2,
SocketConnectionInProgress = 6,
SocketConnectFailed = 11,
SocketDisconnecting = 12,
SocketBrokenRemotely = 7,
}