using PepperDash.Essentials.Core;
using PepperDash.Essentials.Devices.Common.AudioCodec;
using PepperDash.Essentials.Devices.Common.Codec;
using PepperDash.Essentials.Devices.Common.VideoCodec;
using PepperDash.Essentials.Room.Config;
namespace PepperDash.Essentials.Devices.Common.Room
{
///
/// Defines the contract for IEssentialsHuddleVtc1Room
///
public interface IEssentialsHuddleVtc1Room : IEssentialsRoom, IHasCurrentSourceInfoChange, IHasCurrentVolumeControls, IRunRouteAction, IRunDefaultCallRoute, IHasVideoCodec, IHasAudioCodec, IHasDefaultDisplay, IHasInCallFeedback,
IRoomOccupancy, IEmergency, IMicrophonePrivacy
{
///
/// Gets the PropertiesConfig
///
EssentialsHuddleVtc1PropertiesConfig PropertiesConfig { get; }
///
/// Gets whether to exclude this room from global functions
///
bool ExcludeFromGlobalFunctions { get; }
///
/// Runs the route action for the given routeKey and sourceListKey
///
/// The route key
void RunRouteAction(string routeKey);
///
/// Gets the ScheduleSource
///
IHasScheduleAwareness ScheduleSource { get; }
///
/// Gets the InCallFeedback
///
new BoolFeedback InCallFeedback { get; }
///
/// Gets the PrivacyModeIsOnFeedback
///
new BoolFeedback PrivacyModeIsOnFeedback { get; }
///
/// Gets the DefaultCodecRouteString
///
string DefaultCodecRouteString { get; }
}
}