feat: mark deprecated classes and methods for future removal

This commit is contained in:
Neil Dorin 2026-05-08 13:08:58 -06:00
parent f3ea9e1d5a
commit 9fc866741e
9 changed files with 137 additions and 124 deletions

View file

@ -11,6 +11,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Represents a debugging context /// Represents a debugging context
/// </summary> /// </summary>
[Obsolete("DebugContext is no longer supported and will be removed in a future release.")]
public class DebugContext public class DebugContext
{ {
/// <summary> /// <summary>

View file

@ -1,5 +1,5 @@
using System; using System;
using Crestron.SimplSharp; // For Basic SIMPL# Classes using Crestron.SimplSharp; // For Basic SIMPL# Classes
using Crestron.SimplSharp.CrestronIO; using Crestron.SimplSharp.CrestronIO;
using Crestron.SimplSharp.Net.Http; using Crestron.SimplSharp.Net.Http;
using Crestron.SimplSharp.Net.Https; using Crestron.SimplSharp.Net.Https;
@ -10,24 +10,25 @@ using PepperDash.Core.JsonToSimpl;
namespace PepperDash.Core.WebApi.Presets namespace PepperDash.Core.WebApi.Presets
{ {
/// <summary> /// <summary>
/// Passcode client for the WebApi /// Passcode client for the WebApi
/// </summary> /// </summary>
[Obsolete("WebApiPasscodeClient is no longer supported and will be removed in a future release.")]
public class WebApiPasscodeClient : IKeyed public class WebApiPasscodeClient : IKeyed
{ {
/// <summary> /// <summary>
/// Notifies when user received /// Notifies when user received
/// </summary> /// </summary>
public event EventHandler<UserReceivedEventArgs> UserReceived; public event EventHandler<UserReceivedEventArgs> UserReceived;
/// <summary> /// <summary>
/// Notifies when Preset received /// Notifies when Preset received
/// </summary> /// </summary>
public event EventHandler<PresetReceivedEventArgs> PresetReceived; public event EventHandler<PresetReceivedEventArgs> PresetReceived;
/// <summary> /// <summary>
/// Gets or sets the Key /// Gets or sets the Key
/// </summary> /// </summary>
public string Key { get; private set; } public string Key { get; private set; }
//string JsonMasterKey; //string JsonMasterKey;
@ -54,13 +55,13 @@ namespace PepperDash.Core.WebApi.Presets
{ {
} }
/// <summary> /// <summary>
/// Initializes the instance /// Initializes the instance
/// </summary> /// </summary>
/// <param name="key"></param> /// <param name="key"></param>
/// <param name="jsonMasterKey"></param> /// <param name="jsonMasterKey"></param>
/// <param name="urlBase"></param> /// <param name="urlBase"></param>
/// <param name="defaultPresetJsonFilePath"></param> /// <param name="defaultPresetJsonFilePath"></param>
public void Initialize(string key, string jsonMasterKey, string urlBase, string defaultPresetJsonFilePath) public void Initialize(string key, string jsonMasterKey, string urlBase, string defaultPresetJsonFilePath)
{ {
Key = key; Key = key;
@ -73,44 +74,44 @@ namespace PepperDash.Core.WebApi.Presets
J2SMaster.Initialize(jsonMasterKey); J2SMaster.Initialize(jsonMasterKey);
} }
/// <summary> /// <summary>
/// Gets the user for a passcode /// Gets the user for a passcode
/// </summary> /// </summary>
/// <param name="passcode"></param> /// <param name="passcode"></param>
/// <summary> /// <summary>
/// GetUserForPasscode method /// GetUserForPasscode method
/// </summary> /// </summary>
public void GetUserForPasscode(string passcode) public void GetUserForPasscode(string passcode)
{ {
// Bullshit duplicate code here... These two cases should be the same // Bullshit duplicate code here... These two cases should be the same
// except for https/http and the certificate ignores // except for https/http and the certificate ignores
if (!UrlBase.StartsWith("https")) if (!UrlBase.StartsWith("https"))
return; return;
var req = new HttpsClientRequest(); var req = new HttpsClientRequest();
req.Url = new UrlParser(UrlBase + "/api/users/dopin"); req.Url = new UrlParser(UrlBase + "/api/users/dopin");
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post; req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json")); req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json"));
req.Header.AddHeader(new HttpsHeader("Accept", "application/json")); req.Header.AddHeader(new HttpsHeader("Accept", "application/json"));
var jo = new JObject(); var jo = new JObject();
jo.Add("pin", passcode); jo.Add("pin", passcode);
req.ContentString = jo.ToString(); req.ContentString = jo.ToString();
var client = new HttpsClient(); var client = new HttpsClient();
client.HostVerification = false; client.HostVerification = false;
client.PeerVerification = false; client.PeerVerification = false;
var resp = client.Dispatch(req); var resp = client.Dispatch(req);
var handler = UserReceived; var handler = UserReceived;
if (resp.Code == 200) if (resp.Code == 200)
{ {
//CrestronConsole.PrintLine("Received: {0}", resp.ContentString); //CrestronConsole.PrintLine("Received: {0}", resp.ContentString);
var user = JsonConvert.DeserializeObject<User>(resp.ContentString); var user = JsonConvert.DeserializeObject<User>(resp.ContentString);
CurrentUser = user; CurrentUser = user;
if (handler != null) if (handler != null)
UserReceived(this, new UserReceivedEventArgs(user, true)); UserReceived(this, new UserReceivedEventArgs(user, true));
} }
else else
if (handler != null) if (handler != null)
UserReceived(this, new UserReceivedEventArgs(null, false)); UserReceived(this, new UserReceivedEventArgs(null, false));
} }
/// <summary> /// <summary>
@ -118,9 +119,9 @@ namespace PepperDash.Core.WebApi.Presets
/// </summary> /// </summary>
/// <param name="roomTypeId"></param> /// <param name="roomTypeId"></param>
/// <param name="presetNumber"></param> /// <param name="presetNumber"></param>
/// <summary> /// <summary>
/// GetPresetForThisUser method /// GetPresetForThisUser method
/// </summary> /// </summary>
public void GetPresetForThisUser(int roomTypeId, int presetNumber) public void GetPresetForThisUser(int roomTypeId, int presetNumber)
{ {
if (CurrentUser == null) if (CurrentUser == null)
@ -136,57 +137,57 @@ namespace PepperDash.Core.WebApi.Presets
PresetNumber = presetNumber PresetNumber = presetNumber
}; };
var handler = PresetReceived; var handler = PresetReceived;
try try
{ {
if (!UrlBase.StartsWith("https")) if (!UrlBase.StartsWith("https"))
return; return;
var req = new HttpsClientRequest(); var req = new HttpsClientRequest();
req.Url = new UrlParser(UrlBase + "/api/presets/userandroom"); req.Url = new UrlParser(UrlBase + "/api/presets/userandroom");
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post; req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json")); req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json"));
req.Header.AddHeader(new HttpsHeader("Accept", "application/json")); req.Header.AddHeader(new HttpsHeader("Accept", "application/json"));
req.ContentString = JsonConvert.SerializeObject(msg); req.ContentString = JsonConvert.SerializeObject(msg);
var client = new HttpsClient(); var client = new HttpsClient();
client.HostVerification = false; client.HostVerification = false;
client.PeerVerification = false; client.PeerVerification = false;
// ask for the preset // ask for the preset
var resp = client.Dispatch(req); var resp = client.Dispatch(req);
if (resp.Code == 200) // got it if (resp.Code == 200) // got it
{ {
//Debug.Console(1, this, "Received: {0}", resp.ContentString); //Debug.Console(1, this, "Received: {0}", resp.ContentString);
var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString); var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString);
CurrentPreset = preset; CurrentPreset = preset;
//if there's no preset data, load the template //if there's no preset data, load the template
if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0) if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0)
{ {
//Debug.Console(1, this, "Loaded preset has no data. Loading default template."); //Debug.Console(1, this, "Loaded preset has no data. Loading default template.");
LoadDefaultPresetData(); LoadDefaultPresetData();
return; return;
} }
J2SMaster.LoadWithJson(preset.Data); J2SMaster.LoadWithJson(preset.Data);
if (handler != null) if (handler != null)
PresetReceived(this, new PresetReceivedEventArgs(preset, true)); PresetReceived(this, new PresetReceivedEventArgs(preset, true));
} }
else // no existing preset else // no existing preset
{ {
CurrentPreset = new Preset(); CurrentPreset = new Preset();
LoadDefaultPresetData(); LoadDefaultPresetData();
if (handler != null) if (handler != null)
PresetReceived(this, new PresetReceivedEventArgs(null, false)); PresetReceived(this, new PresetReceivedEventArgs(null, false));
} }
} }
catch (HttpException e) catch (HttpException e)
{ {
var resp = e.Response; var resp = e.Response;
Debug.Console(1, this, "No preset received (code {0}). Loading default template", resp.Code); Debug.Console(1, this, "No preset received (code {0}). Loading default template", resp.Code);
LoadDefaultPresetData(); LoadDefaultPresetData();
if (handler != null) if (handler != null)
PresetReceived(this, new PresetReceivedEventArgs(null, false)); PresetReceived(this, new PresetReceivedEventArgs(null, false));
} }
} }
@ -218,14 +219,14 @@ namespace PepperDash.Core.WebApi.Presets
/// </summary> /// </summary>
/// <param name="roomTypeId"></param> /// <param name="roomTypeId"></param>
/// <param name="presetNumber"></param> /// <param name="presetNumber"></param>
/// <summary> /// <summary>
/// SavePresetForThisUser method /// SavePresetForThisUser method
/// </summary> /// </summary>
public void SavePresetForThisUser(int roomTypeId, int presetNumber) public void SavePresetForThisUser(int roomTypeId, int presetNumber)
{ {
if (CurrentPreset == null) if (CurrentPreset == null)
LoadDefaultPresetData(); LoadDefaultPresetData();
//return; //return;
//// A new preset needs to have its numbers set //// A new preset needs to have its numbers set
//if (CurrentPreset.IsNewPreset) //if (CurrentPreset.IsNewPreset)
@ -245,8 +246,8 @@ namespace PepperDash.Core.WebApi.Presets
{ {
CurrentPreset.Data = json; CurrentPreset.Data = json;
if (!UrlBase.StartsWith("https")) if (!UrlBase.StartsWith("https"))
return; return;
var req = new HttpsClientRequest(); var req = new HttpsClientRequest();
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post; req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
req.Url = new UrlParser(string.Format("{0}/api/presets/addorchange", UrlBase)); req.Url = new UrlParser(string.Format("{0}/api/presets/addorchange", UrlBase));
@ -255,8 +256,8 @@ namespace PepperDash.Core.WebApi.Presets
req.ContentString = JsonConvert.SerializeObject(CurrentPreset); req.ContentString = JsonConvert.SerializeObject(CurrentPreset);
var client = new HttpsClient(); var client = new HttpsClient();
client.HostVerification = false; client.HostVerification = false;
client.PeerVerification = false; client.PeerVerification = false;
try try
{ {
var resp = client.Dispatch(req); var resp = client.Dispatch(req);

View file

@ -19,6 +19,7 @@ namespace PepperDash.Essentials.Core.Config
/// <summary> /// <summary>
/// ConfigUpdater class /// ConfigUpdater class
/// </summary> /// </summary>
[Obsolete("ConfigUpdater is no longer supported and will be removed in a future release.")]
public static class ConfigUpdater public static class ConfigUpdater
{ {
/// <summary> /// <summary>
@ -81,7 +82,7 @@ namespace PepperDash.Essentials.Core.Config
{ {
var handler = ConfigStatusChanged; var handler = ConfigStatusChanged;
if(handler != null) if (handler != null)
{ {
handler(typeof(ConfigUpdater), new ConfigStatusEventArgs(status)); handler(typeof(ConfigUpdater), new ConfigStatusEventArgs(status));
} }
@ -89,7 +90,7 @@ namespace PepperDash.Essentials.Core.Config
static void WriteConfigToFile(string configData) static void WriteConfigToFile(string configData)
{ {
var filePath = Global.FilePathPrefix+ "configurationFile-updated.json"; var filePath = Global.FilePathPrefix + "configurationFile-updated.json";
try try
{ {
@ -149,11 +150,11 @@ namespace PepperDash.Essentials.Core.Config
// Directory exists, first clear any contents // Directory exists, first clear any contents
var archivedConfigFiles = ConfigReader.GetConfigFiles(archiveDirectoryPath + Global.DirectorySeparator + Global.ConfigFileName + ".bak"); var archivedConfigFiles = ConfigReader.GetConfigFiles(archiveDirectoryPath + Global.DirectorySeparator + Global.ConfigFileName + ".bak");
if(archivedConfigFiles != null || archivedConfigFiles.Length > 0) if (archivedConfigFiles != null || archivedConfigFiles.Length > 0)
{ {
Debug.LogMessage(LogEventLevel.Information, "{0} Existing files found in archive folder. Deleting.", archivedConfigFiles.Length); Debug.LogMessage(LogEventLevel.Information, "{0} Existing files found in archive folder. Deleting.", archivedConfigFiles.Length);
for (int i = 0; i < archivedConfigFiles.Length; i++ ) for (int i = 0; i < archivedConfigFiles.Length; i++)
{ {
var file = archivedConfigFiles[i]; var file = archivedConfigFiles[i];
Debug.LogMessage(LogEventLevel.Information, "Deleting archived file: '{0}'", file.FullName); Debug.LogMessage(LogEventLevel.Information, "Deleting archived file: '{0}'", file.FullName);
@ -170,9 +171,9 @@ namespace PepperDash.Essentials.Core.Config
// Moves the file and appends the .bak extension // Moves the file and appends the .bak extension
var fileDest = archiveDirectoryPath + "/" + file.Name + ".bak"; var fileDest = archiveDirectoryPath + "/" + file.Name + ".bak";
if(!File.Exists(fileDest)) if (!File.Exists(fileDest))
{ {
file.MoveTo(fileDest); file.MoveTo(fileDest);
} }
else else
Debug.LogMessage(LogEventLevel.Information, "Cannot move file to archive folder. Existing file already exists with same name: '{0}'", fileDest); Debug.LogMessage(LogEventLevel.Information, "Cannot move file to archive folder. Existing file already exists with same name: '{0}'", fileDest);
@ -212,10 +213,10 @@ namespace PepperDash.Essentials.Core.Config
} }
/// <summary> /// <summary>
/// Enumeration of eUpdateStatus values /// Enumeration of eUpdateStatus values
/// </summary> /// </summary>
public enum eUpdateStatus public enum eUpdateStatus
{ {
/// <summary> /// <summary>
/// UpdateStarted status /// UpdateStarted status

View file

@ -7,9 +7,10 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core.Interfaces namespace PepperDash.Essentials.Core.Interfaces
{ {
/// <summary> /// <summary>
/// Defines the contract for ILogStrings /// Defines the contract for ILogStrings
/// </summary> /// </summary>
[Obsolete("ILogStrings is no longer supported and will be removed in a future release.")]
public interface ILogStrings : IKeyed public interface ILogStrings : IKeyed
{ {
/// <summary> /// <summary>

View file

@ -7,15 +7,16 @@ using PepperDash.Core;
namespace PepperDash.Essentials.Core.Interfaces namespace PepperDash.Essentials.Core.Interfaces
{ {
/// <summary> /// <summary>
/// Defines the contract for ILogStringsWithLevel /// Defines the contract for ILogStringsWithLevel
/// </summary> /// </summary>
[Obsolete("ILogStringsWithLevel is no longer supported and will be removed in a future release.")]
public interface ILogStringsWithLevel : IKeyed public interface ILogStringsWithLevel : IKeyed
{ {
/// <summary> /// <summary>
/// Defines a class that is capable of logging a string with an int level /// Defines a class that is capable of logging a string with an int level
/// </summary> /// </summary>
void SendToLog(IKeyed device, Debug.ErrorLogLevel level,string logMessage); void SendToLog(IKeyed device, Debug.ErrorLogLevel level, string logMessage);
} }
} }

View file

@ -27,16 +27,19 @@ namespace PepperDash.Essentials.Core
/// <summary> /// <summary>
/// Control signal type /// Control signal type
/// </summary> /// </summary>
[Obsolete("UsbOutput is no longer supported and will be removed in a future release.")]
UsbOutput = 8, UsbOutput = 8,
/// <summary> /// <summary>
/// Control signal type /// Control signal type
/// </summary> /// </summary>
[Obsolete("UsbInput is no longer supported and will be removed in a future release.")]
UsbInput = 16, UsbInput = 16,
/// <summary> /// <summary>
/// Secondary audio signal type /// Secondary audio signal type
/// </summary> /// </summary>
[Obsolete("SecondaryAudio is no longer supported and will be removed in a future release.")]
SecondaryAudio = 32 SecondaryAudio = 32
} }
} }

View file

@ -17,6 +17,8 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
/// <summary> /// <summary>
/// Represents a CameraVisca /// Represents a CameraVisca
/// </summary> /// </summary>
[Obsolete("CameraVisca is no longer supported and will be removed in a future release. Use the CameraVisca plugin instead.")]
public class CameraVisca : CameraBase, IHasCameraPtzControl, ICommunicationMonitor, IHasCameraPresets, IHasPowerControlWithFeedback, IBridgeAdvanced, IHasCameraFocusControl, IHasAutoFocusMode public class CameraVisca : CameraBase, IHasCameraPtzControl, ICommunicationMonitor, IHasCameraPresets, IHasPowerControlWithFeedback, IBridgeAdvanced, IHasCameraFocusControl, IHasAutoFocusMode
{ {
private readonly CameraViscaPropertiesConfig PropertiesConfig; private readonly CameraViscaPropertiesConfig PropertiesConfig;

View file

@ -1,3 +1,4 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -18,6 +19,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
/// Sets the interfaces implemented by the device sending the message /// Sets the interfaces implemented by the device sending the message
/// </summary> /// </summary>
/// <param name="interfaces"></param> /// <param name="interfaces"></param>
[Obsolete("SetInterfaces is no longer supported and will be removed in a future release. Interfaces for all devices are now retrieved via the /joinroom endpoint in the MobileControlWebsocketServer")]
public void SetInterfaces(List<string> interfaces) public void SetInterfaces(List<string> interfaces)
{ {
Interfaces = interfaces; Interfaces = interfaces;

View file

@ -801,6 +801,7 @@ namespace PepperDash.Essentials
/// <summary> /// <summary>
/// Fires up a logo server if not already running /// Fires up a logo server if not already running
/// </summary> /// </summary>
[Obsolete("Logo server is no longer supported and will be removed in a future release.")]
void LoadLogoServer() void LoadLogoServer()
{ {
if (ConfigReader.ConfigObject?.Rooms == null) if (ConfigReader.ConfigObject?.Rooms == null)