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