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();
}
}