using System; using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Core.Devices; using PepperDash.Core; namespace PepperDash.Essentials.Core { /// /// Describes the basic functionality of an EssentialsRoom /// public interface IEssentialsRoom : IKeyName, IReconfigurableDevice, IRunDefaultPresentRoute, IEnvironmentalControls { /// /// Gets the PowerFeedback /// BoolFeedback OnFeedback { get; } /// /// Gets the IsOccupiedFeedback /// BoolFeedback IsWarmingUpFeedback { get; } /// /// Gets the IsCoolingDownFeedback /// BoolFeedback IsCoolingDownFeedback { get; } /// /// Gets a value indicating whether mobile control is enabled for this room /// bool IsMobileControlEnabled { get; } /// /// Gets the MobileControlRoomBridge /// IMobileControlRoomMessenger MobileControlRoomBridge { get; } /// /// Gets the SourceListKey /// string SourceListKey { get; } /// /// Gets the DestinationListKey /// string DestinationListKey { get; } /// /// Gets the AudioControlPointListKey /// string AudioControlPointListKey { get; } /// /// Gets the CameraListKey /// string CameraListKey { get; } /// /// Gets the ShutdownPromptTimer /// SecondsCountdownTimer ShutdownPromptTimer { get; } /// /// Gets the ShutdownVacancyTimer /// int ShutdownPromptSeconds { get; } /// /// Gets the ShutdownVacancySeconds /// int ShutdownVacancySeconds { get; } /// /// Gets the ShutdownType /// eShutdownType ShutdownType { get; } /// /// Gets the LogoUrlLightBkgnd /// string LogoUrlLightBkgnd { get; } /// /// Gets the LogoUrlDarkBkgnd /// string LogoUrlDarkBkgnd { get; } /// /// Starts the shutdown process /// /// type of shutdown event void StartShutdown(eShutdownType type); /// /// Shuts down the room /// void Shutdown(); /// /// Powers on the room to either the default source or the last source used /// void PowerOnToDefaultOrLastSource(); } }