using System; using System.Collections.Generic; using System.Linq; using System.Text; using Crestron.SimplSharp; using PepperDash.Core; namespace PepperDash.Essentials.Core.Lighting { /// /// Requirements for a device that implements lighting scene control /// public interface ILightingScenes { event EventHandler LightingSceneChange; List LightingScenes { get; } void SelectScene(LightingScene scene); LightingScene CurrentLightingScene { get; } } /// /// Requirements for a device that implements master raise/lower /// public interface ILightingMasterRaiseLower { void MasterRaise(); void MasterLower(); void MasterRaiseLowerStop(); } /// /// Requiremnts for controlling a lighting load /// public interface ILightingLoad { void SetLoadLevel(int level); void Raise(); void Lower(); IntFeedback LoadLevelFeedback { get; } BoolFeedback LoadIsOnFeedback { get; } } public class LightingSceneChangeEventArgs : EventArgs { public LightingScene CurrentLightingScene { get; private set; } public LightingSceneChangeEventArgs(LightingScene scene) { CurrentLightingScene = scene; } } }