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, }