From 78f4cd6abe49557da6739328fc5edace20985c29 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 24 Jun 2020 09:39:25 -0600 Subject: [PATCH] Cleanup for EssentialsRoomBase --- .../Room/EssentialsRoomBase.cs | 121 +++++------------- 1 file changed, 34 insertions(+), 87 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs index 0043e3b4..66c4143f 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/EssentialsRoomBase.cs @@ -1,15 +1,8 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; -using Crestron.SimplSharp.Scheduler; - using PepperDash.Core; -using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Devices; -using PepperDash.Essentials.Core.DeviceTypeInterfaces; namespace PepperDash.Essentials.Core { @@ -18,9 +11,6 @@ namespace PepperDash.Essentials.Core /// public abstract class EssentialsRoomBase : ReconfigurableDevice { - /// - /// - /// public BoolFeedback OnFeedback { get; private set; } /// @@ -38,52 +28,25 @@ namespace PepperDash.Essentials.Core protected abstract Func IsWarmingFeedbackFunc { get; } protected abstract Func IsCoolingFeedbackFunc { get; } - /// - /// Indicates if this room is Mobile Control Enabled - /// - public bool IsMobileControlEnabled { get; private set; } - - /// - /// The bridge for this room if Mobile Control is enabled - /// - public IMobileControlRoomBridge MobileControlRoomBridge { get; private set; } - /// /// The config name of the source list /// - /// - protected string _SourceListKey; - public virtual string SourceListKey { - get - { - return _SourceListKey; - } - set - { - _SourceListKey = value; - - } - } + public string SourceListKey { get; set; } /// /// Timer used for informing the UIs of a shutdown /// public SecondsCountdownTimer ShutdownPromptTimer { get; private set; } - /// - /// - /// public int ShutdownPromptSeconds { get; set; } public int ShutdownVacancySeconds { get; set; } public eShutdownType ShutdownType { get; private set; } public EssentialsRoomEmergencyBase Emergency { get; set; } - public Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; set; } + public Privacy.MicrophonePrivacyController MicrophonePrivacy { get; set; } - public string LogoUrlLightBkgnd { get; set; } - - public string LogoUrlDarkBkgnd { get; set; } + public string LogoUrl { get; set; } protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; } @@ -112,7 +75,7 @@ namespace PepperDash.Essentials.Core public bool ZeroVolumeWhenSwtichingVolumeDevices { get; private set; } - public EssentialsRoomBase(DeviceConfig config) + protected EssentialsRoomBase(DeviceConfig config) : base(config) { // Setup the ShutdownPromptTimer @@ -135,7 +98,7 @@ namespace PepperDash.Essentials.Core // if (!RoomVacancyShutdownTimer.IsRunningFeedback.BoolValue) // ShutdownType = ShutdownType.Vacancy; //}; - RoomVacancyShutdownTimer.HasFinished += new EventHandler(RoomVacancyShutdownPromptTimer_HasFinished); // Shutdown is triggered + RoomVacancyShutdownTimer.HasFinished += RoomVacancyShutdownPromptTimer_HasFinished; // Shutdown is triggered RoomVacancyShutdownPromptSeconds = 1500; // 25 min to prompt warning RoomVacancyShutdownSeconds = 240; // 4 min after prompt will trigger shutdown prompt @@ -153,34 +116,6 @@ namespace PepperDash.Essentials.Core }); } - public override bool CustomActivate() - { - SetUpMobileControl(); - - return base.CustomActivate(); - } - - /// - /// If mobile control is enabled, sets the appropriate properties - /// - void SetUpMobileControl() - { - var mcBridgeKey = string.Format("mobileControlBridge-{0}", Key); - var mcBridge = DeviceManager.GetDeviceForKey(mcBridgeKey); - if (mcBridge == null) - { - Debug.Console(1, this, "*********************Mobile Control Bridge Not found for this room."); - IsMobileControlEnabled = false; - return; - } - else - { - MobileControlRoomBridge = mcBridge as IMobileControlRoomBridge; - Debug.Console(1, this, "*********************Mobile Control Bridge found and enabled for this room"); - IsMobileControlEnabled = true; - } - } - void RoomVacancyShutdownPromptTimer_HasFinished(object sender, EventArgs e) { switch (VacancyMode) @@ -197,8 +132,6 @@ namespace PepperDash.Essentials.Core Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Shutting Down due to vacancy."); break; } - default: - break; } } @@ -210,10 +143,15 @@ namespace PepperDash.Essentials.Core { // Check for shutdowns running. Manual should override other shutdowns - if (type == eShutdownType.Manual) - ShutdownPromptTimer.SecondsToCount = ShutdownPromptSeconds; - else if (type == eShutdownType.Vacancy) - ShutdownPromptTimer.SecondsToCount = ShutdownVacancySeconds; + switch (type) + { + case eShutdownType.Manual: + ShutdownPromptTimer.SecondsToCount = ShutdownPromptSeconds; + break; + case eShutdownType.Vacancy: + ShutdownPromptTimer.SecondsToCount = ShutdownVacancySeconds; + break; + } ShutdownType = type; ShutdownPromptTimer.Start(); @@ -222,12 +160,18 @@ namespace PepperDash.Essentials.Core public void StartRoomVacancyTimer(eVacancyMode mode) { - if (mode == eVacancyMode.None) - RoomVacancyShutdownTimer.SecondsToCount = RoomVacancyShutdownPromptSeconds; - else if (mode == eVacancyMode.InInitialVacancy) - RoomVacancyShutdownTimer.SecondsToCount = RoomVacancyShutdownSeconds; - else if (mode == eVacancyMode.InShutdownWarning) - RoomVacancyShutdownTimer.SecondsToCount = 60; + switch (mode) + { + case eVacancyMode.None: + RoomVacancyShutdownTimer.SecondsToCount = RoomVacancyShutdownPromptSeconds; + break; + case eVacancyMode.InInitialVacancy: + RoomVacancyShutdownTimer.SecondsToCount = RoomVacancyShutdownSeconds; + break; + case eVacancyMode.InShutdownWarning: + RoomVacancyShutdownTimer.SecondsToCount = 60; + break; + } VacancyMode = mode; RoomVacancyShutdownTimer.Start(); @@ -259,19 +203,22 @@ namespace PepperDash.Essentials.Core /// Sets the object to be used as the IOccupancyStatusProvider for the room. Can be an Occupancy Aggregator or a specific device /// /// + /// public void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes) - { - if (statusProvider == null) + { + var provider = statusProvider as IKeyed; + + if (provider == null) { Debug.Console(0, this, "ERROR: Occupancy sensor device is null"); return; } - Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Room Occupancy set to device: '{0}'", (statusProvider as Device).Key); + Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Room Occupancy set to device: '{0}'", provider.Key); Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "Timeout Minutes from Config is: {0}", timeoutMinutes); // If status provider is fusion, set flag to remote - if (statusProvider is Core.Fusion.EssentialsHuddleSpaceFusionSystemControllerBase) + if (statusProvider is Fusion.EssentialsHuddleSpaceFusionSystemControllerBase) OccupancyStatusProviderIsRemote = true; if(timeoutMinutes > 0) @@ -360,7 +307,7 @@ namespace PepperDash.Essentials.Core { public string Key { get; private set; } - public EssentialsRoomEmergencyBase(string key) + protected EssentialsRoomEmergencyBase(string key) { Key = key; }