using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.Codec
{
///
/// Describes a device that has Do Not Disturb mode capability
///
public interface IHasDoNotDisturbMode
{
///
/// Indictes whether Do Not Disturb mode is on (Activated)
///
BoolFeedback DoNotDisturbModeIsOnFeedback { get; }
///
/// Activates Do Not Disturb mode
///
void ActivateDoNotDisturbMode();
///
/// Deactivates Do Not Disturb mode
///
void DeactivateDoNotDisturbMode();
///
/// Toggles Do Not Disturb mode
///
void ToggleDoNotDisturbMode();
}
///
/// Defines the contract for devices that support Do Not Disturb mode with timeout functionality
///
public interface IHasDoNotDisturbModeWithTimeout : IHasDoNotDisturbMode
{
///
/// Activates Do Not Disturb mode with a timeout
///
///
void ActivateDoNotDisturbMode(int timeout);
}
}