From 96d97ee0fc4b710a36b20d20090ad5b87c172986 Mon Sep 17 00:00:00 2001 From: Nick Genovese Date: Tue, 31 Oct 2023 20:28:58 -0400 Subject: [PATCH] feat(wip): marked device base classes obsolete - will move into essentials.devices.common --- .../Comm and IR/GenericHttpClient.cs | 1 + .../Crestron/CrestronGenericBaseDevice.cs | 4 +--- .../Devices/PC/InRoomPc.cs | 5 ++--- src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs | 7 +++---- .../Display/BasicIrDisplay.cs | 2 +- .../Display/DisplayBase.cs | 13 ++----------- .../Display/MockDisplay.cs | 6 ++---- .../Lighting/LightingBase.cs | 1 + src/PepperDash.Essentials.Core/Shades/ShadeBase.cs | 5 ++--- 9 files changed, 15 insertions(+), 29 deletions(-) diff --git a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs index 31342a94..fa6c298a 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs @@ -9,6 +9,7 @@ using PepperDash.Core.DebugThings; namespace PepperDash.Essentials.Core { + [Obsolete("Please use the builtin HttpClient class instead: https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines")] public class GenericHttpClient : Device, IBasicCommunication { public HttpClient Client; diff --git a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs index d9650e63..f9aa5df7 100644 --- a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs +++ b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs @@ -8,9 +8,7 @@ using PepperDash.Essentials.Core.Bridges; namespace PepperDash.Essentials.Core { - /// - /// A bridge class to cover the basic features of GenericBase hardware - /// + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public abstract class CrestronGenericBaseDevice : EssentialsDevice, IOnline, IHasFeedback, ICommunicationMonitor, IUsageTracking { protected GenericBase Hardware; diff --git a/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs b/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs index 03e884f0..b02024da 100644 --- a/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs +++ b/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs @@ -10,9 +10,7 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core.Devices { - /// - /// This DVD class should cover most IR, one-way DVD and Bluray fuctions - /// + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public class InRoomPc : EssentialsDevice, IHasFeedback, IRoutingOutputs, IAttachVideoStatus, IUiDisplayInfo, IUsageTracking { public uint DisplayUiType { get { return DisplayUiConstants.TypeLaptop; } } @@ -65,6 +63,7 @@ namespace PepperDash.Essentials.Core.Devices #endregion } + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public class InRoomPcFactory : EssentialsDeviceFactory { public InRoomPcFactory() diff --git a/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs b/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs index a2864d77..809a0d5c 100644 --- a/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs +++ b/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs @@ -10,10 +10,9 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core.Devices { - /// - /// This DVD class should cover most IR, one-way DVD and Bluray fuctions - /// - public class Laptop : EssentialsDevice, IHasFeedback, IRoutingOutputs, IAttachVideoStatus, IUiDisplayInfo, IUsageTracking + + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] + public class Laptop : EssentialsDevice, IHasFeedback, IRoutingOutputs, IAttachVideoStatus, IUiDisplayInfo, IUsageTracking { public uint DisplayUiType { get { return DisplayUiConstants.TypeLaptop; } } public string IconName { get; set; } diff --git a/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs index 7a8eb8b1..adf1d9f8 100644 --- a/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs +++ b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs @@ -14,7 +14,7 @@ using PepperDash.Essentials.Core.Routing; namespace PepperDash.Essentials.Core { - [Description("Wrapper class for a Basic IR Display")] + [Obsolete("Please use PepperDash.Essentials.Device.Common")] public class BasicIrDisplay : DisplayBase, IBasicVolumeControls, IBridgeAdvanced { public IrOutputPortController IrPort { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Display/DisplayBase.cs b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs index a8de2796..6e823093 100644 --- a/src/PepperDash.Essentials.Core/Display/DisplayBase.cs +++ b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs @@ -3,13 +3,8 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using Crestron.SimplSharp; -using Crestron.SimplSharpPro; using Crestron.SimplSharpPro.DeviceSupport; -using Crestron.SimplSharpPro.DM; -using Crestron.SimplSharpPro.DM.Endpoints; -using Crestron.SimplSharpPro.DM.Endpoints.Transmitters; using Full.Newtonsoft.Json; using PepperDash.Core; using PepperDash.Essentials.Core.Bridges; @@ -17,9 +12,7 @@ using PepperDash.Essentials.Core.Bridges; namespace PepperDash.Essentials.Core { - /// - /// - /// + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public abstract class DisplayBase : EssentialsDevice, IHasFeedback, IRoutingSinkWithSwitching, IHasPowerControl, IWarmingCooling, IUsageTracking, IPower { public event SourceInfoChangeHandler CurrentSourceChange; @@ -260,9 +253,7 @@ namespace PepperDash.Essentials.Core } - /// - /// - /// + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public abstract class TwoWayDisplayBase : DisplayBase, IRoutingFeedback, IHasPowerControlWithFeedback { public StringFeedback CurrentInputFeedback { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Display/MockDisplay.cs b/src/PepperDash.Essentials.Core/Display/MockDisplay.cs index d7f36f13..70a1596e 100644 --- a/src/PepperDash.Essentials.Core/Display/MockDisplay.cs +++ b/src/PepperDash.Essentials.Core/Display/MockDisplay.cs @@ -16,10 +16,8 @@ using PepperDash.Essentials.Core.Config; namespace PepperDash.Essentials.Core { - /// - /// - /// - public class MockDisplay : TwoWayDisplayBase, IBasicVolumeWithFeedback, IBridgeAdvanced + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] + public class MockDisplay : TwoWayDisplayBase, IBasicVolumeWithFeedback, IBridgeAdvanced { public RoutingInputPort HdmiIn1 { get; private set; } diff --git a/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs b/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs index 5bb677a2..996b01ad 100644 --- a/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs +++ b/src/PepperDash.Essentials.Core/Lighting/LightingBase.cs @@ -13,6 +13,7 @@ using PepperDash.Essentials.Core.Bridges; namespace PepperDash.Essentials.Core.Lighting { + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public abstract class LightingBase : EssentialsBridgeableDevice, ILightingScenes { #region ILightingScenes Members diff --git a/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs b/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs index 2b92480e..d35c46ca 100644 --- a/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs +++ b/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs @@ -9,9 +9,8 @@ using PepperDash.Essentials.Core.CrestronIO; namespace PepperDash.Essentials.Core.Shades { - /// - /// Base class for a shade device - /// + + [Obsolete("Please use PepperDash.Essentials.Devices.Common")] public abstract class ShadeBase : EssentialsDevice, IShadesOpenCloseStop { public ShadeBase(string key, string name)