Merge pull request #184 from PepperDash/feature-2/device-ikeyed-ikeyname-updates

IKeyName changes/updates
This commit is contained in:
Andrew Welker
2025-03-05 10:04:51 -06:00
committed by GitHub
4 changed files with 38 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharp.CrestronSockets; using Crestron.SimplSharp.CrestronSockets;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Newtonsoft.Json;
namespace PepperDash.Core namespace PepperDash.Core
{ {
@@ -25,6 +26,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Indicates connection status /// Indicates connection status
/// </summary> /// </summary>
[JsonProperty("isConnected")]
bool IsConnected { get; } bool IsConnected { get; }
/// <summary> /// <summary>
/// Connect to the device /// Connect to the device
@@ -70,6 +72,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Object to enable stream debugging /// Object to enable stream debugging
/// </summary> /// </summary>
[JsonProperty("streamDebugging")]
CommunicationStreamDebugging StreamDebugging { get; } CommunicationStreamDebugging StreamDebugging { get; }
} }
@@ -87,6 +90,8 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// The current socket status of the client /// The current socket status of the client
/// </summary> /// </summary>
[JsonProperty("clinetStatus")]
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
SocketStatus ClientStatus { get; } SocketStatus ClientStatus { get; }
} }
@@ -106,10 +111,12 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Enable automatic recconnect /// Enable automatic recconnect
/// </summary> /// </summary>
[JsonProperty("autoReconnect")]
bool AutoReconnect { get; set; } bool AutoReconnect { get; set; }
/// <summary> /// <summary>
/// Interval in ms to attempt automatic recconnections /// Interval in ms to attempt automatic recconnections
/// </summary> /// </summary>
[JsonProperty("autoReconnectIntervalMs")]
int AutoReconnectIntervalMs { get; set; } int AutoReconnectIntervalMs { get; set; }
} }

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Newtonsoft.Json;
using Serilog; using Serilog;
namespace PepperDash.Core namespace PepperDash.Core
@@ -15,6 +16,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Unique Key /// Unique Key
/// </summary> /// </summary>
[JsonProperty("key")]
string Key { get; } string Key { get; }
} }
@@ -26,6 +28,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// Isn't it obvious :) /// Isn't it obvious :)
/// </summary> /// </summary>
[JsonProperty("name")]
string Name { get; } string Name { get; }
} }

View File

@@ -99,7 +99,15 @@ namespace PepperDash.Core
public void PreActivate() public void PreActivate()
{ {
if (_PreActivationActions != null) if (_PreActivationActions != null)
_PreActivationActions.ForEach(a => a.Invoke()); _PreActivationActions.ForEach(a => {
try
{
a.Invoke();
} catch (Exception e)
{
Debug.LogMessage(e, "Error in PreActivationAction: " + e.Message, this);
}
});
} }
/// <summary> /// <summary>
@@ -123,7 +131,16 @@ namespace PepperDash.Core
public void PostActivate() public void PostActivate()
{ {
if (_PostActivationActions != null) if (_PostActivationActions != null)
_PostActivationActions.ForEach(a => a.Invoke()); _PostActivationActions.ForEach(a => {
try
{
a.Invoke();
}
catch (Exception e)
{
Debug.LogMessage(e, "Error in PostActivationAction: " + e.Message, this);
}
});
} }
/// <summary> /// <summary>

View File

@@ -24,6 +24,14 @@
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<DocumentationFile>bin\4Series\$(Configuration)\PepperDashCore.xml</DocumentationFile> <DocumentationFile>bin\4Series\$(Configuration)\PepperDashCore.xml</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<Compile Remove="lib\**" />
<Compile Remove="Properties\**" />
<EmbeddedResource Remove="lib\**" />
<EmbeddedResource Remove="Properties\**" />
<None Remove="lib\**" />
<None Remove="Properties\**" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />