using System; using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; using PepperDash.Core; namespace PepperDash.Essentials.Core { /// /// For rooms with in call feedback /// public interface IHasInCallFeedback { BoolFeedback InCallFeedback { get; } } /// /// For rooms with a single display /// public interface IHasDefaultDisplay { IRoutingSinkWithSwitching DefaultDisplay { get; } } /// /// For rooms with multiple displays /// public interface IHasMultipleDisplays { Dictionary Displays { get; } } /// /// For rooms with routing /// public interface IRunRouteAction { void RunRouteAction(string routeKey, string sourceListKey); void RunRouteAction(string routeKey, string sourceListKey, Action successCallback); } /// /// Simplified routing direct from source to destination /// public interface IRunDirectRouteAction { void RunDirectRoute(string sourceKey, string destinationKey); } /// /// For rooms that default presentation only routing /// public interface IRunDefaultPresentRoute { bool RunDefaultPresentRoute(); } /// /// For rooms that have default presentation and calling routes /// public interface IRunDefaultCallRoute : IRunDefaultPresentRoute { bool RunDefaultCallRoute(); } /// /// Describes environmental controls available on a room such as lighting, shades, temperature, etc. /// public interface IEnvironmentalControls { List EnvironmentalControlDevices { get; } bool HasEnvironmentalControlDevices { get; } } }