using System; using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; using PepperDash.Essentials.Core; namespace PepperDash.Essentials.Room.Cotija { /// /// Represents a room whose configuration is derived from runtime data, /// perhaps from another program, and that the data may not be fully /// available at startup. /// public interface IDelayedConfiguration { event EventHandler ConfigurationIsReady; } } namespace PepperDash.Essentials { /// /// For rooms with a single presentation source, change event /// public interface IHasCurrentSourceInfoChange { string CurrentSourceInfoKey { get; } SourceListItem CurrentSourceInfo { get; } event SourceInfoChangeHandler CurrentSingleSourceChange; } /// /// For rooms with routing /// public interface IRunRouteAction { void RunRouteAction(string routeKey); void RunRouteAction(string routeKey, Action successCallback); } /// /// 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(); } }