style: run code cleanup & apply VS suggestions

This commit is contained in:
Andrew Welker
2025-03-25 22:14:15 -05:00
parent 4d98191fa7
commit 789111cb9a
64 changed files with 329 additions and 390 deletions

View File

@@ -2,8 +2,6 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.AppServer; using PepperDash.Essentials.AppServer;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System;
using System.Linq; using System.Linq;
using DisplayBase = PepperDash.Essentials.Devices.Common.Displays.DisplayBase; using DisplayBase = PepperDash.Essentials.Devices.Common.Displays.DisplayBase;

View File

@@ -1,7 +1,6 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
namespace PepperDash.Essentials.Room.MobileControl namespace PepperDash.Essentials.Room.MobileControl
{ {

View File

@@ -1,7 +1,6 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
namespace PepperDash.Essentials.Room.MobileControl namespace PepperDash.Essentials.Room.MobileControl
{ {

View File

@@ -1,5 +1,4 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Devices.Common.AudioCodec; using PepperDash.Essentials.Devices.Common.AudioCodec;
using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.Codec;
using System; using System;

View File

@@ -1,6 +1,5 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Devices.Common.Cameras; using PepperDash.Essentials.Devices.Common.Cameras;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -2,11 +2,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceInfo; using PepperDash.Essentials.Core.DeviceInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -43,12 +43,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
protected override void RegisterActions() protected override void RegisterActions()
{ {
AddAction("/presets/fullStatus", (id, content) => { AddAction("/presets/fullStatus", (id, content) =>
{
this.LogInformation("getting full status for client {id}", id); this.LogInformation("getting full status for client {id}", id);
try try
{ {
SendPresets(); SendPresets();
} catch(Exception ex) }
catch (Exception ex)
{ {
Debug.LogMessage(ex, "Exception sending preset full status", this); Debug.LogMessage(ex, "Exception sending preset full status", this);
} }

View File

@@ -2,7 +2,6 @@
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Logging;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using System; using System;
@@ -39,7 +38,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
} }
PostStatusMessage(messageObj); PostStatusMessage(messageObj);
} catch(Exception ex) }
catch (Exception ex)
{ {
Debug.LogMessage(ex, "Exception sending full status", this); Debug.LogMessage(ex, "Exception sending full status", this);
} }
@@ -80,7 +80,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
try try
{ {
_localDevice.VolumeUp(b); _localDevice.VolumeUp(b);
} catch (Exception ex) }
catch (Exception ex)
{ {
Debug.LogMessage(ex, "Got exception during volume up: {Exception}", null, ex); Debug.LogMessage(ex, "Got exception during volume up: {Exception}", null, ex);
} }

View File

@@ -1,6 +1,4 @@
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -3,11 +3,6 @@ using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -2,7 +2,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Routing;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {
@@ -29,7 +28,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
PostStatusMessage(message); PostStatusMessage(message);
}); });
sourceDevice.CurrentSourceChange += (sender, e) => { sourceDevice.CurrentSourceChange += (sender, e) =>
{
switch (e) switch (e)
{ {
case ChangeType.DidChange: case ChangeType.DidChange:

View File

@@ -1,12 +1,7 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core;
using PepperDash.Core; using PepperDash.Core;
using System; using PepperDash.Essentials.Core;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -1,7 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.Codec;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -1,13 +1,9 @@
using Independentsoft.Exchange; using Newtonsoft.Json;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -3,10 +3,10 @@ using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.Routing;
using System.Collections.Generic;
using System.Linq;
using Serilog.Events; using Serilog.Events;
using System; using System;
using System.Collections.Generic;
using System.Linq;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -1,7 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System; using System;

View File

@@ -1,13 +1,8 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Converters;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -1,12 +1,7 @@
using System; using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PepperDash.Essentials.Core.CrestronIO;
using PepperDash.Essentials.Core.Shades;
using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.CrestronIO;
using System;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {

View File

@@ -1,11 +1,4 @@
using System; using Newtonsoft.Json;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Independentsoft.Json.Parser;
using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
@@ -83,7 +76,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
public bool? IsValid { get; set; } public bool? IsValid { get; set; }
} }
class SetTechPasswordContent internal class SetTechPasswordContent
{ {
[JsonProperty("oldPassword")] [JsonProperty("oldPassword")]
public string OldPassword { get; set; } public string OldPassword { get; set; }

View File

@@ -1,6 +1,5 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Lighting; using PepperDash.Essentials.Core.Lighting;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -1,5 +1,4 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
@@ -83,7 +82,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
// replace base path with empty string. Should leave something like /fullStatus // replace base path with empty string. Should leave something like /fullStatus
var route = path.Replace(MessagePath, string.Empty); var route = path.Replace(MessagePath, string.Empty);
if(!_actions.TryGetValue(route, out var action)) { if (!_actions.TryGetValue(route, out var action))
{
return; return;
} }
@@ -154,7 +154,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
PostStatusMessage(JToken.FromObject(message), MessagePath, clientId); PostStatusMessage(JToken.FromObject(message), MessagePath, clientId);
} }
catch (Exception ex) { catch (Exception ex)
{
Debug.LogMessage(ex, "Exception posting status message", this); Debug.LogMessage(ex, "Exception posting status message", this);
} }
} }

View File

@@ -3,7 +3,6 @@ using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers
{ {
@@ -70,7 +69,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Attempting to stop timer for {deviceKey}", deviceKey); Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Attempting to stop timer for {deviceKey}", deviceKey);
if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer)) { if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
{
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer for {deviceKey} not found", deviceKey); Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer for {deviceKey} not found", deviceKey);
return; return;
} }

View File

@@ -1,7 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Room.Config;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -1,7 +1,6 @@
using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.DeviceSupport;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.Codec;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -2,7 +2,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System.Collections.Generic; using System.Collections.Generic;
namespace PepperDash.Essentials.AppServer.Messengers namespace PepperDash.Essentials.AppServer.Messengers

View File

@@ -2,7 +2,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Devices.Common.Cameras; using PepperDash.Essentials.Devices.Common.Cameras;
using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.Codec;
using System; using System;

View File

@@ -1,6 +1,5 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Shades; using PepperDash.Essentials.Core.Shades;
using System; using System;

View File

@@ -2,7 +2,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Monitoring; using PepperDash.Essentials.Core.Monitoring;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;

View File

@@ -1,6 +1,6 @@
using System; using System;
namespace PepperDash.Essentials.Room.MobileControl namespace PepperDash.Essentials
{ {
/// <summary> /// <summary>
/// Represents a room whose configuration is derived from runtime data, /// Represents a room whose configuration is derived from runtime data,

View File

@@ -1,11 +1,6 @@
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Web.RequestHandlers;
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials namespace PepperDash.Essentials
{ {
@@ -15,7 +10,8 @@ namespace PepperDash.Essentials
public Action<string, string, JToken> Action { get; private set; } public Action<string, string, JToken> Action { get; private set; }
public MobileControlAction(IMobileControlMessenger messenger, Action<string,string, JToken> handler) { public MobileControlAction(IMobileControlMessenger messenger, Action<string, string, JToken> handler)
{
Messenger = messenger; Messenger = messenger;
Action = handler; Action = handler;
} }

View File

@@ -1,6 +1,5 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace PepperDash.Essentials namespace PepperDash.Essentials

View File

@@ -2,7 +2,6 @@
using PepperDash.Core.Logging; using PepperDash.Core.Logging;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Config;
using PepperDash.Essentials.Room.MobileControl;
using Serilog.Events; using Serilog.Events;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View File

@@ -1,17 +1,15 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.MobileControl namespace PepperDash.Essentials
{ {
public class MobileControlFactory public class MobileControlFactory
{ {
public MobileControlFactory() { public MobileControlFactory()
{
var assembly = Assembly.GetExecutingAssembly(); var assembly = Assembly.GetExecutingAssembly();
PluginLoader.SetEssentialsAssembly(assembly.GetName().Name, assembly); PluginLoader.SetEssentialsAssembly(assembly.GetName().Name, assembly);

View File

@@ -1,16 +1,9 @@
using System; using Crestron.SimplSharp;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronIO; using Crestron.SimplSharp.CrestronIO;
using Crestron.SimplSharp.Net.Http; using Crestron.SimplSharp.Net.Http;
using Crestron.SimplSharp.WebScripting; using Crestron.SimplSharp.WebScripting;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Crypto.Prng;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Logging; using PepperDash.Core.Logging;
using PepperDash.Essentials.AppServer; using PepperDash.Essentials.AppServer;
@@ -32,9 +25,16 @@ using PepperDash.Essentials.Devices.Common.Displays;
using PepperDash.Essentials.Devices.Common.SoftCodec; using PepperDash.Essentials.Devices.Common.SoftCodec;
using PepperDash.Essentials.Devices.Common.VideoCodec; using PepperDash.Essentials.Devices.Common.VideoCodec;
using PepperDash.Essentials.Room.MobileControl; using PepperDash.Essentials.Room.MobileControl;
using PepperDash.Essentials.RoomBridges;
using PepperDash.Essentials.Services; using PepperDash.Essentials.Services;
using PepperDash.Essentials.WebApiHandlers; using PepperDash.Essentials.WebApiHandlers;
using Serilog.Events; using PepperDash.Essentials.WebSocketServer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using WebSocketSharp; using WebSocketSharp;
namespace PepperDash.Essentials namespace PepperDash.Essentials
@@ -962,9 +962,7 @@ namespace PepperDash.Essentials
if (device is EssentialsDevice) if (device is EssentialsDevice)
{ {
var genericDevice = device as EssentialsDevice; if (!(device is EssentialsDevice genericDevice) || messengerAdded)
if (genericDevice == null || messengerAdded)
{ {
this.LogVerbose( this.LogVerbose(
"Skipping GenericMessenger for {deviceKey}. Messenger(s) Added: {messengersAdded}.", "Skipping GenericMessenger for {deviceKey}. Messenger(s) Added: {messengersAdded}.",
@@ -1968,9 +1966,8 @@ Mobile Control Direct Server Infromation:
.GetExecutingAssembly() .GetExecutingAssembly()
.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false); .GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false);
var fullVersionAtt = pluginVersion[0] as AssemblyInformationalVersionAttribute;
if (fullVersionAtt != null) if (pluginVersion[0] is AssemblyInformationalVersionAttribute fullVersionAtt)
{ {
var pluginInformationalVersion = fullVersionAtt.InformationalVersion; var pluginInformationalVersion = fullVersionAtt.InformationalVersion;
@@ -2142,7 +2139,6 @@ Mobile Control Direct Server Infromation:
{ {
var clientId = content["clientId"].Value<string>(); var clientId = content["clientId"].Value<string>();
var roomKey = content["roomKey"].Value<string>(); var roomKey = content["roomKey"].Value<string>();
var touchpanelKey = content.SelectToken("touchpanelKey"); //content["touchpanelKey"].Value<string>();
if (_roomCombiner == null) if (_roomCombiner == null)
{ {

View File

@@ -31,6 +31,11 @@
<EmbeddedResource Remove="bin\**" /> <EmbeddedResource Remove="bin\**" />
<None Remove="bin\**" /> <None Remove="bin\**" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Compile Remove="MobileControlSimplDeviceBridge.cs" />
<Compile Remove="RoomBridges\MobileControlSIMPLRoomBridge.cs" />
<Compile Remove="RoomBridges\SourceDeviceMapDictionary.cs" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" /> <PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
<PackageReference Include="PepperDashCore" Version="2.0.1" /> <PackageReference Include="PepperDashCore" Version="2.0.1" />

View File

@@ -1,10 +1,11 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Logging;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using System; using System;
namespace PepperDash.Essentials namespace PepperDash.Essentials.RoomBridges
{ {
/// <summary> /// <summary>
/// ///
@@ -102,12 +103,12 @@ namespace PepperDash.Essentials
/// </summary> /// </summary>
protected virtual void UserCodeChange() protected virtual void UserCodeChange()
{ {
Debug.Console(1, this, "Server user code changed: {0}", UserCode); this.LogDebug("Server user code changed: {userCode}", UserCode);
var qrUrl = string.Format($"{Parent.Host}/api/rooms/{Parent.SystemUuid}/{RoomKey}/qr?x={new Random().Next()}"); var qrUrl = string.Format($"{Parent.Host}/api/rooms/{Parent.SystemUuid}/{RoomKey}/qr?x={new Random().Next()}");
QrCodeUrl = qrUrl; QrCodeUrl = qrUrl;
Debug.Console(1, this, "Server user code changed: {0} - {1}", UserCode, qrUrl); this.LogDebug("Server user code changed: {userCode} - {qrCodeUrl}", UserCode, qrUrl);
OnUserCodeChanged(); OnUserCodeChanged();
} }

View File

@@ -16,14 +16,14 @@ using PepperDash.Essentials.Devices.Common.Cameras;
using PepperDash.Essentials.Devices.Common.Room; using PepperDash.Essentials.Devices.Common.Room;
using PepperDash.Essentials.Devices.Common.VideoCodec; using PepperDash.Essentials.Devices.Common.VideoCodec;
using PepperDash.Essentials.Room.Config; using PepperDash.Essentials.Room.Config;
using PepperDash.Essentials.WebSocketServer;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using IShades = PepperDash.Essentials.Core.Shades.IShades; using IShades = PepperDash.Essentials.Core.Shades.IShades;
using ShadeBase = PepperDash.Essentials.Devices.Common.Shades.ShadeBase; using ShadeBase = PepperDash.Essentials.Devices.Common.Shades.ShadeBase;
using Volume = PepperDash.Essentials.Room.MobileControl.Volume;
namespace PepperDash.Essentials namespace PepperDash.Essentials.RoomBridges
{ {
public class MobileControlEssentialsRoomBridge : MobileControlBridgeBase public class MobileControlEssentialsRoomBridge : MobileControlBridgeBase
{ {
@@ -339,7 +339,7 @@ namespace PepperDash.Essentials
string shareText; string shareText;
bool isSharing; bool isSharing;
if (Room is IHasCurrentSourceInfoChange srcInfoRoom && (Room is IHasVideoCodec vcRoom && (vcRoom.VideoCodec.SharingContentIsOnFeedback.BoolValue && srcInfoRoom.CurrentSourceInfo != null))) if (Room is IHasCurrentSourceInfoChange srcInfoRoom && Room is IHasVideoCodec vcRoom && vcRoom.VideoCodec.SharingContentIsOnFeedback.BoolValue && srcInfoRoom.CurrentSourceInfo != null)
{ {
shareText = srcInfoRoom.CurrentSourceInfo.PreferredName; shareText = srcInfoRoom.CurrentSourceInfo.PreferredName;
isSharing = true; isSharing = true;
@@ -532,7 +532,8 @@ namespace PepperDash.Essentials
} }
return state; return state;
} catch (Exception ex) }
catch (Exception ex)
{ {
Debug.LogMessage(ex, "Error getting full status", this); Debug.LogMessage(ex, "Error getting full status", this);
return null; return null;
@@ -560,7 +561,7 @@ namespace PepperDash.Essentials
{ {
var zrcTp = DeviceManager.AllDevices.OfType<IMobileControlTouchpanelController>().SingleOrDefault((tp) => tp.ZoomRoomController); var zrcTp = DeviceManager.AllDevices.OfType<IMobileControlTouchpanelController>().SingleOrDefault((tp) => tp.ZoomRoomController);
configuration.ZoomRoomControllerKey = zrcTp != null ? zrcTp.Key : null; configuration.ZoomRoomControllerKey = zrcTp?.Key;
} }
catch catch
{ {
@@ -578,7 +579,7 @@ namespace PepperDash.Essentials
// find the room combiner for this room by checking if the room is in the list of rooms for the room combiner // find the room combiner for this room by checking if the room is in the list of rooms for the room combiner
var roomCombiner = DeviceManager.AllDevices.OfType<IEssentialsRoomCombiner>().FirstOrDefault(); var roomCombiner = DeviceManager.AllDevices.OfType<IEssentialsRoomCombiner>().FirstOrDefault();
configuration.RoomCombinerKey = roomCombiner != null ? roomCombiner.Key : null; configuration.RoomCombinerKey = roomCombiner?.Key;
if (room is IEssentialsRoomPropertiesConfig propertiesConfig) if (room is IEssentialsRoomPropertiesConfig propertiesConfig)
@@ -620,7 +621,8 @@ namespace PepperDash.Essentials
configuration.VideoCodecKey = vcRoom.VideoCodec.Key; configuration.VideoCodecKey = vcRoom.VideoCodec.Key;
configuration.VideoCodecIsZoomRoom = type.Name.Equals("ZoomRoom", StringComparison.InvariantCultureIgnoreCase); configuration.VideoCodecIsZoomRoom = type.Name.Equals("ZoomRoom", StringComparison.InvariantCultureIgnoreCase);
} }
}; }
;
if (room is IHasAudioCodec acRoom) if (room is IHasAudioCodec acRoom)
{ {
@@ -655,7 +657,7 @@ namespace PepperDash.Essentials
eEnvironmentalDeviceTypes type = eEnvironmentalDeviceTypes.None; eEnvironmentalDeviceTypes type = eEnvironmentalDeviceTypes.None;
if (dev is ILightingScenes || dev is Devices.Common.Lighting.LightingBase) if (dev is ILightingScenes)
{ {
type = eEnvironmentalDeviceTypes.Lighting; type = eEnvironmentalDeviceTypes.Lighting;
} }

View File

@@ -66,7 +66,8 @@ namespace PepperDash.Essentials.Services
} }
return authResponse; return authResponse;
} catch(Exception ex) }
catch (Exception ex)
{ {
Debug.LogMessage(ex, "Error authorizing with Mobile Control"); Debug.LogMessage(ex, "Error authorizing with Mobile Control");
return new AuthorizationResponse { Authorized = false, Reason = ex.Message }; return new AuthorizationResponse { Authorized = false, Reason = ex.Message };

View File

@@ -1,10 +1,4 @@
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Touchpanel namespace PepperDash.Essentials.Touchpanel
{ {

View File

@@ -3,7 +3,6 @@ using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Logging; using PepperDash.Core.Logging;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
namespace PepperDash.Essentials.Touchpanel namespace PepperDash.Essentials.Touchpanel
{ {

View File

@@ -3,7 +3,6 @@ using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Logging; using PepperDash.Core.Logging;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
namespace PepperDash.Essentials.Touchpanel namespace PepperDash.Essentials.Touchpanel

View File

@@ -10,13 +10,12 @@ using PepperDash.Essentials.Core.Config;
using PepperDash.Essentials.Core.DeviceInfo; using PepperDash.Essentials.Core.DeviceInfo;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.UI; using PepperDash.Essentials.Core.UI;
using PepperDash.Essentials.Touchpanel;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Feedback = PepperDash.Essentials.Core.Feedback; using Feedback = PepperDash.Essentials.Core.Feedback;
namespace PepperDash.Essentials.Devices.Common.TouchPanel namespace PepperDash.Essentials.Touchpanel
{ {
//public interface IMobileControlTouchpanelController //public interface IMobileControlTouchpanelController
//{ //{
@@ -357,7 +356,8 @@ namespace PepperDash.Essentials.Devices.Common.TouchPanel
_bridge = bridge; _bridge = bridge;
_bridge.UserCodeChanged += UpdateFeedbacks; _bridge.UserCodeChanged += UpdateFeedbacks;
_bridge.AppUrlChanged += (s, a) => { _bridge.AppUrlChanged += (s, a) =>
{
this.LogInformation("AppURL changed"); this.LogInformation("AppURL changed");
SetAppUrl(_bridge.AppUrl); SetAppUrl(_bridge.AppUrl);
UpdateFeedbacks(s, a); UpdateFeedbacks(s, a);

View File

@@ -1,7 +1,7 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.TouchPanel namespace PepperDash.Essentials.Touchpanel
{ {
public class MobileControlTouchpanelProperties : CrestronTouchpanelPropertiesConfig public class MobileControlTouchpanelProperties : CrestronTouchpanelPropertiesConfig
{ {

View File

@@ -4,6 +4,7 @@ using PepperDash.Core;
using PepperDash.Core.Logging; using PepperDash.Core.Logging;
using PepperDash.Essentials.AppServer.Messengers; using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core.Queues; using PepperDash.Essentials.Core.Queues;
using PepperDash.Essentials.WebSocketServer;
using Serilog.Events; using Serilog.Events;
using System; using System;
using System.Threading; using System.Threading;

View File

@@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace PepperDash.Essentials.AppServer namespace PepperDash.Essentials
{ {
public class UserCodeChangedContent public class UserCodeChangedContent
{ {

View File

@@ -1,7 +1,7 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Collections.Generic; using System.Collections.Generic;
namespace PepperDash.Essentials.Room.MobileControl namespace PepperDash.Essentials
{ {
public class Volumes public class Volumes
{ {

View File

@@ -1,7 +1,6 @@
using Crestron.SimplSharp.WebScripting; using Crestron.SimplSharp.WebScripting;
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Core.Web.RequestHandlers; using PepperDash.Core.Web.RequestHandlers;
using PepperDash.Essentials.AppServer.Messengers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Web.RequestHandlers; using PepperDash.Core.Web.RequestHandlers;
using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Config;
using PepperDash.Essentials.WebSocketServer;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -30,8 +31,7 @@ namespace PepperDash.Essentials.WebApiHandlers
} }
catch (Exception ex) catch (Exception ex)
{ {
Debug.Console(1, $"exception showing mobile info: {ex.Message}"); Debug.LogMessage(ex, "exception showing mobile info");
Debug.Console(2, $"stack trace: {ex.StackTrace}");
context.Response.StatusCode = 500; context.Response.StatusCode = 500;
context.Response.End(); context.Response.End();
@@ -143,7 +143,7 @@ namespace PepperDash.Essentials.WebApiHandlers
public string Token => Key; public string Token => Key;
[JsonProperty("connected")] [JsonProperty("connected")]
public bool Connected => context.Client == null ? false : context.Client.Context.WebSocket.IsAlive; public bool Connected => context.Client != null && context.Client.Context.WebSocket.IsAlive;
[JsonProperty("duration")] [JsonProperty("duration")]
public double Duration => context.Client == null ? 0 : context.Client.ConnectedDuration.TotalSeconds; public double Duration => context.Client == null ? 0 : context.Client.ConnectedDuration.TotalSeconds;

View File

@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Web.RequestHandlers; using PepperDash.Core.Web.RequestHandlers;
using PepperDash.Essentials.Core.Web; using PepperDash.Essentials.Core.Web;
using PepperDash.Essentials.WebSocketServer;
using Serilog.Events; using Serilog.Events;
namespace PepperDash.Essentials.WebApiHandlers namespace PepperDash.Essentials.WebApiHandlers

View File

@@ -8,6 +8,7 @@ using PepperDash.Essentials.AppServer.Messengers;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Web; using PepperDash.Essentials.Core.Web;
using PepperDash.Essentials.RoomBridges;
using PepperDash.Essentials.WebApiHandlers; using PepperDash.Essentials.WebApiHandlers;
using Serilog.Events; using Serilog.Events;
using System; using System;
@@ -23,7 +24,7 @@ using WebSocketSharp.Server;
using ErrorEventArgs = WebSocketSharp.ErrorEventArgs; using ErrorEventArgs = WebSocketSharp.ErrorEventArgs;
namespace PepperDash.Essentials namespace PepperDash.Essentials.WebSocketServer
{ {
/// <summary> /// <summary>
/// Represents the behaviour to associate with a UiClient for WebSocket communication /// Represents the behaviour to associate with a UiClient for WebSocket communication
@@ -262,7 +263,7 @@ namespace PepperDash.Essentials
CrestronEthernetHelper.GetAdapterdIdForSpecifiedAdapterType(EthernetAdapterType.EthernetCSAdapter); CrestronEthernetHelper.GetAdapterdIdForSpecifiedAdapterType(EthernetAdapterType.EthernetCSAdapter);
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Automatically forwarding port {0} to CS LAN", Port); Debug.LogMessage(LogEventLevel.Information, "Automatically forwarding port {0} to CS LAN", Port);
var csAdapterId = CrestronEthernetHelper.GetAdapterdIdForSpecifiedAdapterType(EthernetAdapterType.EthernetCSAdapter); var csAdapterId = CrestronEthernetHelper.GetAdapterdIdForSpecifiedAdapterType(EthernetAdapterType.EthernetCSAdapter);
var csIp = CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, csAdapterId); var csIp = CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, csAdapterId);
@@ -271,12 +272,12 @@ namespace PepperDash.Essentials
if (result != CrestronEthernetHelper.PortForwardingUserPatRetCodes.NoErr) if (result != CrestronEthernetHelper.PortForwardingUserPatRetCodes.NoErr)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Error, "Error adding port forwarding: {0}", result); Debug.LogMessage(LogEventLevel.Error, "Error adding port forwarding: {0}", result);
} }
} }
catch (ArgumentException) catch (ArgumentException)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "This processor does not have a CS LAN", this); Debug.LogMessage(LogEventLevel.Information, "This processor does not have a CS LAN", this);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -351,7 +352,7 @@ namespace PepperDash.Essentials
if (_server.IsListening) if (_server.IsListening)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Mobile Control WebSocket Server listening on port {port}", this, _server.Port); Debug.LogMessage(LogEventLevel.Information, "Mobile Control WebSocket Server listening on port {port}", this, _server.Port);
} }
CrestronEnvironment.ProgramStatusEventHandler += OnProgramStop; CrestronEnvironment.ProgramStatusEventHandler += OnProgramStop;
@@ -537,7 +538,7 @@ namespace PepperDash.Essentials
{ {
Debug.LogMessage(ex, "Error getting application configuration", this); Debug.LogMessage(ex, "Error getting application configuration", this);
Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Config Object: {config} from {parentConfig}", this, config, _parent.Config); Debug.LogMessage(LogEventLevel.Verbose, "Config Object: {config} from {parentConfig}", this, config, _parent.Config);
} }
return config; return config;
@@ -558,9 +559,9 @@ namespace PepperDash.Essentials
if (secret != null) if (secret != null)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Secret successfully retrieved", this); Debug.LogMessage(LogEventLevel.Information, "Secret successfully retrieved", this);
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Secret: {0}", this, secret.Value.ToString()); Debug.LogMessage(LogEventLevel.Debug, "Secret: {0}", this, secret.Value.ToString());
// populate the local secrets object // populate the local secrets object
@@ -573,15 +574,15 @@ namespace PepperDash.Essentials
{ {
if (token.Value == null) if (token.Value == null)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Warning, "Token value is null", this); Debug.LogMessage(LogEventLevel.Warning, "Token value is null", this);
continue; continue;
} }
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Adding token: {0} for room: {1}", this, token.Key, token.Value.RoomKey); Debug.LogMessage(LogEventLevel.Information, "Adding token: {0} for room: {1}", this, token.Key, token.Value.RoomKey);
if (UiClients == null) if (UiClients == null)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Warning, "UiClients is null", this); Debug.LogMessage(LogEventLevel.Warning, "UiClients is null", this);
UiClients = new Dictionary<string, UiClientContext>(); UiClients = new Dictionary<string, UiClientContext>();
} }
@@ -591,7 +592,7 @@ namespace PepperDash.Essentials
if (UiClients.Count > 0) if (UiClients.Count > 0)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Restored {uiClientCount} UiClients from secrets data", this, UiClients.Count); Debug.LogMessage(LogEventLevel.Information, "Restored {uiClientCount} UiClients from secrets data", this, UiClients.Count);
foreach (var client in UiClients) foreach (var client in UiClients)
{ {
@@ -602,7 +603,7 @@ namespace PepperDash.Essentials
_server.AddWebSocketService(path, () => _server.AddWebSocketService(path, () =>
{ {
var c = new UiClient(); var c = new UiClient();
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Constructing UiClient with id: {key}", this, key); Debug.LogMessage(LogEventLevel.Debug, "Constructing UiClient with id: {key}", this, key);
c.Controller = _parent; c.Controller = _parent;
c.RoomKey = roomKey; c.RoomKey = roomKey;
@@ -623,10 +624,10 @@ namespace PepperDash.Essentials
} }
else else
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Warning, "No secret found"); Debug.LogMessage(LogEventLevel.Warning, "No secret found");
} }
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "{uiClientCount} UiClients restored from secrets data", this, UiClients.Count); Debug.LogMessage(LogEventLevel.Debug, "{uiClientCount} UiClients restored from secrets data", this, UiClients.Count);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -643,7 +644,7 @@ namespace PepperDash.Essentials
{ {
if (_secret == null) if (_secret == null)
{ {
Debug.LogMessage(Serilog.Events.LogEventLevel.Error, "Secret is null", this); Debug.LogMessage(LogEventLevel.Error, "Secret is null", this);
_secret = new ServerTokenSecrets(string.Empty); _secret = new ServerTokenSecrets(string.Empty);
} }
@@ -748,17 +749,17 @@ namespace PepperDash.Essentials
_server.AddWebSocketService(path, () => _server.AddWebSocketService(path, () =>
{ {
var c = new UiClient(); var c = new UiClient();
Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Constructing UiClient with id: {0}", this, key); Debug.LogMessage(LogEventLevel.Verbose, "Constructing UiClient with id: {0}", this, key);
c.Controller = _parent; c.Controller = _parent;
c.RoomKey = bridge.RoomKey; c.RoomKey = bridge.RoomKey;
UiClients[key].SetClient(c); UiClients[key].SetClient(c);
return c; return c;
}); });
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Added new WebSocket UiClient service at path: {path}", this, path); Debug.LogMessage(LogEventLevel.Information, "Added new WebSocket UiClient service at path: {path}", this, path);
Debug.LogMessage(Serilog.Events.LogEventLevel.Information, "Token: {@token}", this, token); Debug.LogMessage(LogEventLevel.Information, "Token: {@token}", this, token);
Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "{serviceCount} websocket services present", this, _server.WebSocketServices.Count); Debug.LogMessage(LogEventLevel.Verbose, "{serviceCount} websocket services present", this, _server.WebSocketServices.Count);
UpdateSecret(); UpdateSecret();
@@ -1117,7 +1118,7 @@ namespace PepperDash.Essentials
{ {
res.ContentType = "image/svg+xml"; res.ContentType = "image/svg+xml";
} }
byte[] contents = System.IO.File.ReadAllBytes(filePath); byte[] contents = File.ReadAllBytes(filePath);
res.ContentLength64 = contents.LongLength; res.ContentLength64 = contents.LongLength;
res.Close(contents, true); res.Close(contents, true);
} }
@@ -1138,9 +1139,6 @@ namespace PepperDash.Essentials
{ {
this.LogVerbose("Requesting User app file"); this.LogVerbose("Requesting User app file");
var qp = req.QueryString;
var token = qp["token"];
string filePath = path.Split('?')[0]; string filePath = path.Split('?')[0];
// remove the token from the path if found // remove the token from the path if found
@@ -1202,10 +1200,10 @@ namespace PepperDash.Essentials
this.LogVerbose("Attempting to serve file: {filePath}", filePath); this.LogVerbose("Attempting to serve file: {filePath}", filePath);
byte[] contents; byte[] contents;
if (System.IO.File.Exists(filePath)) if (File.Exists(filePath))
{ {
this.LogVerbose("File found: {filePath}", filePath); this.LogVerbose("File found: {filePath}", filePath);
contents = System.IO.File.ReadAllBytes(filePath); contents = File.ReadAllBytes(filePath);
} }
else else
{ {

View File

@@ -1,7 +1,7 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
namespace PepperDash.Essentials namespace PepperDash.Essentials.WebSocketServer
{ {
internal class WebSocketServerSecretProvider : CrestronLocalSecretsProvider internal class WebSocketServerSecretProvider : CrestronLocalSecretsProvider
{ {