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