mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-03 14:55:05 +00:00
docs: complete XML documentation for all projects with inheritdoc tags
Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
This commit is contained in:
@@ -2,18 +2,33 @@
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a AuthorizationResponse
|
||||
/// </summary>
|
||||
public class AuthorizationResponse
|
||||
{
|
||||
[JsonProperty("authorized")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Authorized
|
||||
/// </summary>
|
||||
public bool Authorized { get; set; }
|
||||
|
||||
[JsonProperty("reason", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Reason
|
||||
/// </summary>
|
||||
public string Reason { get; set; } = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a AuthorizationRequest
|
||||
/// </summary>
|
||||
public class AuthorizationRequest
|
||||
{
|
||||
[JsonProperty("grantCode")]
|
||||
/// <summary>
|
||||
/// Gets or sets the GrantCode
|
||||
/// </summary>
|
||||
public string GrantCode { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a room whose configuration is derived from runtime data,
|
||||
/// perhaps from another program, and that the data may not be fully
|
||||
/// available at startup.
|
||||
/// Defines the contract for IDelayedConfiguration
|
||||
/// </summary>
|
||||
public interface IDelayedConfiguration
|
||||
{
|
||||
|
||||
@@ -4,8 +4,14 @@ using System;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlAction
|
||||
/// </summary>
|
||||
public class MobileControlAction : IMobileControlAction
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Messenger
|
||||
/// </summary>
|
||||
public IMobileControlMessenger Messenger { get; private set; }
|
||||
|
||||
public Action<string, string, JToken> Action { get; private set; }
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Collections.Generic;
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a MobileControlConfig
|
||||
/// </summary>
|
||||
public class MobileControlConfig
|
||||
{
|
||||
@@ -19,21 +19,39 @@ namespace PepperDash.Essentials
|
||||
public MobileControlDirectServerPropertiesConfig DirectServer { get; set; }
|
||||
|
||||
[JsonProperty("applicationConfig")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ApplicationConfig
|
||||
/// </summary>
|
||||
public MobileControlApplicationConfig ApplicationConfig { get; set; } = null;
|
||||
|
||||
[JsonProperty("enableApiServer")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableApiServer
|
||||
/// </summary>
|
||||
public bool EnableApiServer { get; set; } = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlDirectServerPropertiesConfig
|
||||
/// </summary>
|
||||
public class MobileControlDirectServerPropertiesConfig
|
||||
{
|
||||
[JsonProperty("enableDirectServer")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableDirectServer
|
||||
/// </summary>
|
||||
public bool EnableDirectServer { get; set; }
|
||||
|
||||
[JsonProperty("port")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Port
|
||||
/// </summary>
|
||||
public int Port { get; set; }
|
||||
|
||||
[JsonProperty("logging")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Logging
|
||||
/// </summary>
|
||||
public MobileControlLoggingConfig Logging { get; set; }
|
||||
|
||||
[JsonProperty("automaticallyForwardPortToCSLAN")]
|
||||
@@ -45,36 +63,60 @@ namespace PepperDash.Essentials
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlLoggingConfig
|
||||
/// </summary>
|
||||
public class MobileControlLoggingConfig
|
||||
{
|
||||
[JsonProperty("enableRemoteLogging")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnableRemoteLogging
|
||||
/// </summary>
|
||||
public bool EnableRemoteLogging { get; set; }
|
||||
|
||||
[JsonProperty("host")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Host
|
||||
/// </summary>
|
||||
public string Host { get; set; }
|
||||
|
||||
[JsonProperty("port")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Port
|
||||
/// </summary>
|
||||
public int Port { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlRoomBridgePropertiesConfig
|
||||
/// </summary>
|
||||
public class MobileControlRoomBridgePropertiesConfig
|
||||
{
|
||||
[JsonProperty("key")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Key
|
||||
/// </summary>
|
||||
public string Key { get; set; }
|
||||
|
||||
[JsonProperty("roomKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomKey
|
||||
/// </summary>
|
||||
public string RoomKey { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Represents a MobileControlSimplRoomBridgePropertiesConfig
|
||||
/// </summary>
|
||||
public class MobileControlSimplRoomBridgePropertiesConfig
|
||||
{
|
||||
[JsonProperty("eiscId")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EiscId
|
||||
/// </summary>
|
||||
public string EiscId { get; set; }
|
||||
}
|
||||
|
||||
@@ -84,6 +126,9 @@ namespace PepperDash.Essentials
|
||||
public string ApiPath { get; set; }
|
||||
|
||||
[JsonProperty("gatewayAppPath")]
|
||||
/// <summary>
|
||||
/// Gets or sets the GatewayAppPath
|
||||
/// </summary>
|
||||
public string GatewayAppPath { get; set; }
|
||||
|
||||
[JsonProperty("enableDev")]
|
||||
@@ -91,7 +136,7 @@ namespace PepperDash.Essentials
|
||||
|
||||
[JsonProperty("logoPath")]
|
||||
/// <summary>
|
||||
/// Client logo to be used in header and/or splash screen
|
||||
/// Gets or sets the LogoPath
|
||||
/// </summary>
|
||||
public string LogoPath { get; set; }
|
||||
|
||||
@@ -106,35 +151,68 @@ namespace PepperDash.Essentials
|
||||
public Dictionary<string, McMode> Modes { get; set; }
|
||||
|
||||
[JsonProperty("enableRemoteLogging")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Logging
|
||||
/// </summary>
|
||||
public bool Logging { get; set; }
|
||||
|
||||
[JsonProperty("partnerMetadata", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the PartnerMetadata
|
||||
/// </summary>
|
||||
public List<MobileControlPartnerMetadata> PartnerMetadata { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlPartnerMetadata
|
||||
/// </summary>
|
||||
public class MobileControlPartnerMetadata
|
||||
{
|
||||
[JsonProperty("role")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Role
|
||||
/// </summary>
|
||||
public string Role { get; set; }
|
||||
|
||||
[JsonProperty("description")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Description
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
[JsonProperty("logoPath")]
|
||||
/// <summary>
|
||||
/// Gets or sets the LogoPath
|
||||
/// </summary>
|
||||
public string LogoPath { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a McMode
|
||||
/// </summary>
|
||||
public class McMode
|
||||
{
|
||||
[JsonProperty("listPageText")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ListPageText
|
||||
/// </summary>
|
||||
public string ListPageText { get; set; }
|
||||
[JsonProperty("loginHelpText")]
|
||||
/// <summary>
|
||||
/// Gets or sets the LoginHelpText
|
||||
/// </summary>
|
||||
public string LoginHelpText { get; set; }
|
||||
|
||||
[JsonProperty("passcodePageText")]
|
||||
/// <summary>
|
||||
/// Gets or sets the PasscodePageText
|
||||
/// </summary>
|
||||
public string PasscodePageText { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration of MCIconSet values
|
||||
/// </summary>
|
||||
public enum MCIconSet
|
||||
{
|
||||
GOOGLE,
|
||||
|
||||
@@ -10,6 +10,9 @@ using System.Linq;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlDeviceFactory
|
||||
/// </summary>
|
||||
public class MobileControlDeviceFactory : EssentialsDeviceFactory<MobileControlSystemController>
|
||||
{
|
||||
public MobileControlDeviceFactory()
|
||||
@@ -17,6 +20,10 @@ namespace PepperDash.Essentials
|
||||
TypeNames = new List<string> { "appserver", "mobilecontrol", "webserver" };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Collections.Generic;
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Used to overlay additional config data from mobile control on
|
||||
/// Represents a MobileControlEssentialsConfig
|
||||
/// </summary>
|
||||
public class MobileControlEssentialsConfig : EssentialsConfig
|
||||
{
|
||||
@@ -35,11 +35,14 @@ namespace PepperDash.Essentials
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Used to add any additional runtime information from mobile control to be send to the API
|
||||
/// Represents a MobileControlRuntimeInfo
|
||||
/// </summary>
|
||||
public class MobileControlRuntimeInfo
|
||||
{
|
||||
[JsonProperty("pluginVersion")]
|
||||
/// <summary>
|
||||
/// Gets or sets the PluginVersion
|
||||
/// </summary>
|
||||
public string PluginVersion { get; set; }
|
||||
|
||||
[JsonProperty("essentialsVersion")]
|
||||
@@ -49,6 +52,9 @@ namespace PepperDash.Essentials
|
||||
public string PepperDashCoreVersion { get; set; }
|
||||
|
||||
[JsonProperty("essentialsPlugins")]
|
||||
/// <summary>
|
||||
/// Gets or sets the EssentialsPlugins
|
||||
/// </summary>
|
||||
public List<LoadedAssembly> EssentialsPlugins { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,9 @@ using System.Reflection;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlFactory
|
||||
/// </summary>
|
||||
public class MobileControlFactory
|
||||
{
|
||||
public MobileControlFactory()
|
||||
|
||||
@@ -6,7 +6,7 @@ using System;
|
||||
namespace PepperDash.Essentials.Room.MobileControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a generic device connection through to and EISC for SIMPL01
|
||||
/// Represents a MobileControlSimplDeviceBridge
|
||||
/// </summary>
|
||||
public class MobileControlSimplDeviceBridge : Device, IChannel, INumericKeypad
|
||||
{
|
||||
@@ -24,31 +24,49 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
|
||||
#region IChannel Members
|
||||
|
||||
/// <summary>
|
||||
/// ChannelUp method
|
||||
/// </summary>
|
||||
public void ChannelUp(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ChannelDown method
|
||||
/// </summary>
|
||||
public void ChannelDown(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LastChannel method
|
||||
/// </summary>
|
||||
public void LastChannel(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Guide method
|
||||
/// </summary>
|
||||
public void Guide(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Info method
|
||||
/// </summary>
|
||||
public void Info(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Exit method
|
||||
/// </summary>
|
||||
public void Exit(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
@@ -58,51 +76,81 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
|
||||
#region INumericKeypad Members
|
||||
|
||||
/// <summary>
|
||||
/// Digit0 method
|
||||
/// </summary>
|
||||
public void Digit0(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit1 method
|
||||
/// </summary>
|
||||
public void Digit1(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit2 method
|
||||
/// </summary>
|
||||
public void Digit2(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit3 method
|
||||
/// </summary>
|
||||
public void Digit3(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit4 method
|
||||
/// </summary>
|
||||
public void Digit4(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit5 method
|
||||
/// </summary>
|
||||
public void Digit5(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit6 method
|
||||
/// </summary>
|
||||
public void Digit6(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit7 method
|
||||
/// </summary>
|
||||
public void Digit7(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit8 method
|
||||
/// </summary>
|
||||
public void Digit8(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Digit9 method
|
||||
/// </summary>
|
||||
public void Digit9(bool pressRelease)
|
||||
{
|
||||
_eisc.SetBool(1111, pressRelease);
|
||||
@@ -118,6 +166,9 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// KeypadAccessoryButton1 method
|
||||
/// </summary>
|
||||
public void KeypadAccessoryButton1(bool pressRelease)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
@@ -133,6 +184,9 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// KeypadAccessoryButton2 method
|
||||
/// </summary>
|
||||
public void KeypadAccessoryButton2(bool pressRelease)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
||||
@@ -40,6 +40,9 @@ using WebSocketSharp;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlSystemController
|
||||
/// </summary>
|
||||
public class MobileControlSystemController : EssentialsDevice, IMobileControl
|
||||
{
|
||||
private bool _initialized = false;
|
||||
@@ -70,6 +73,9 @@ namespace PepperDash.Essentials
|
||||
private bool _disableReconnect;
|
||||
private WebSocket _wsClient2;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the ApiService
|
||||
/// </summary>
|
||||
public MobileControlApiService ApiService { get; private set; }
|
||||
|
||||
public List<MobileControlBridgeBase> RoomBridges => _roomBridges;
|
||||
@@ -80,6 +86,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
private readonly CCriticalSection _wsCriticalSection = new CCriticalSection();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the SystemUrl
|
||||
/// </summary>
|
||||
public string SystemUrl; //set only from SIMPL Bridge!
|
||||
|
||||
public bool Connected => _wsClient2 != null && _wsClient2.IsAlive;
|
||||
@@ -117,6 +126,9 @@ namespace PepperDash.Essentials
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the ApiOnlineAndAuthorized
|
||||
/// </summary>
|
||||
public BoolFeedback ApiOnlineAndAuthorized { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -1085,8 +1097,14 @@ namespace PepperDash.Essentials
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Config
|
||||
/// </summary>
|
||||
public MobileControlConfig Config { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Host
|
||||
/// </summary>
|
||||
public string Host { get; private set; }
|
||||
|
||||
public string ClientAppUrl => Config.ClientAppUrl;
|
||||
@@ -1099,11 +1117,17 @@ namespace PepperDash.Essentials
|
||||
SendMessageObject(new MobileControlMessage { Type = "/system/roomCombinationChanged" });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CheckForDeviceMessenger method
|
||||
/// </summary>
|
||||
public bool CheckForDeviceMessenger(string key)
|
||||
{
|
||||
return _messengers.ContainsKey(key);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// AddDeviceMessenger method
|
||||
/// </summary>
|
||||
public void AddDeviceMessenger(IMobileControlMessenger messenger)
|
||||
{
|
||||
if (_messengers.ContainsKey(messenger.Key))
|
||||
@@ -1177,6 +1201,10 @@ namespace PepperDash.Essentials
|
||||
messenger.RegisterWithAppServer(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initialize method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override void Initialize()
|
||||
{
|
||||
foreach (var messenger in _messengers)
|
||||
@@ -1219,6 +1247,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
#region IMobileControl Members
|
||||
|
||||
/// <summary>
|
||||
/// GetAppServer method
|
||||
/// </summary>
|
||||
public static IMobileControl GetAppServer()
|
||||
{
|
||||
try
|
||||
@@ -1281,6 +1312,9 @@ namespace PepperDash.Essentials
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// LinkSystemMonitorToAppServer method
|
||||
/// </summary>
|
||||
public void LinkSystemMonitorToAppServer()
|
||||
{
|
||||
if (CrestronEnvironment.DevicePlatform != eDevicePlatform.Appliance)
|
||||
@@ -1372,6 +1406,9 @@ namespace PepperDash.Essentials
|
||||
CleanUpWebsocketClient();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PrintActionDictionaryPaths method
|
||||
/// </summary>
|
||||
public void PrintActionDictionaryPaths(object o)
|
||||
{
|
||||
CrestronConsole.ConsoleCommandResponse("ActionDictionary Contents:\r\n");
|
||||
@@ -1443,6 +1480,9 @@ namespace PepperDash.Essentials
|
||||
/// Removes an action from the dictionary
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <summary>
|
||||
/// RemoveAction method
|
||||
/// </summary>
|
||||
public void RemoveAction(string key)
|
||||
{
|
||||
if (_actionDictionary.ContainsKey(key))
|
||||
@@ -1456,6 +1496,9 @@ namespace PepperDash.Essentials
|
||||
return _roomBridges.FirstOrDefault((r) => r.RoomKey.Equals(key));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetRoomMessenger method
|
||||
/// </summary>
|
||||
public IMobileControlRoomMessenger GetRoomMessenger(string key)
|
||||
{
|
||||
return _roomBridges.FirstOrDefault((r) => r.RoomKey.Equals(key));
|
||||
@@ -1667,7 +1710,7 @@ Mobile Control Direct Server Infromation:
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers the room with the server
|
||||
/// RegisterSystemToServer method
|
||||
/// </summary>
|
||||
public void RegisterSystemToServer()
|
||||
{
|
||||
@@ -1900,6 +1943,9 @@ Mobile Control Direct Server Infromation:
|
||||
SendMessageObject(msg);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// GetConfigWithPluginVersion method
|
||||
/// </summary>
|
||||
public MobileControlEssentialsConfig GetConfigWithPluginVersion()
|
||||
{
|
||||
// Populate the application name and version number
|
||||
@@ -1932,6 +1978,9 @@ Mobile Control Direct Server Infromation:
|
||||
return confObject;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SetClientUrl method
|
||||
/// </summary>
|
||||
public void SetClientUrl(string path, string roomKey = null)
|
||||
{
|
||||
var message = new MobileControlMessage
|
||||
@@ -1947,6 +1996,9 @@ Mobile Control Direct Server Infromation:
|
||||
/// Sends any object type to server
|
||||
/// </summary>
|
||||
/// <param name="o"></param>
|
||||
/// <summary>
|
||||
/// SendMessageObject method
|
||||
/// </summary>
|
||||
public void SendMessageObject(IMobileControlMessage o)
|
||||
{
|
||||
|
||||
@@ -1969,6 +2021,9 @@ Mobile Control Direct Server Infromation:
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// SendMessageObjectToDirectClient method
|
||||
/// </summary>
|
||||
public void SendMessageObjectToDirectClient(object o)
|
||||
{
|
||||
if (
|
||||
@@ -2167,6 +2222,9 @@ Mobile Control Direct Server Infromation:
|
||||
action(code.Value<string>(), qrChecksum.Value<string>());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// HandleClientMessage method
|
||||
/// </summary>
|
||||
public void HandleClientMessage(string message)
|
||||
{
|
||||
_receiveQueue.Enqueue(new ProcessStringMessage(message, ParseStreamRx));
|
||||
@@ -2330,6 +2388,9 @@ Mobile Control Direct Server Infromation:
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ClientSpecificUpdateRequest
|
||||
/// </summary>
|
||||
public class ClientSpecificUpdateRequest
|
||||
{
|
||||
public ClientSpecificUpdateRequest(Action<string> action)
|
||||
@@ -2337,9 +2398,15 @@ Mobile Control Direct Server Infromation:
|
||||
ResponseMethod = action;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the ResponseMethod
|
||||
/// </summary>
|
||||
public Action<string> ResponseMethod { get; private set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a UserCodeChanged
|
||||
/// </summary>
|
||||
public class UserCodeChanged
|
||||
{
|
||||
public Action<string, string> UpdateUserCode { get; private set; }
|
||||
|
||||
@@ -20,15 +20,33 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
|
||||
public event EventHandler<EventArgs> AppUrlChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Parent
|
||||
/// </summary>
|
||||
public IMobileControl Parent { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the AppUrl
|
||||
/// </summary>
|
||||
public string AppUrl { get; private set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the UserCode
|
||||
/// </summary>
|
||||
public string UserCode { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the QrCodeUrl
|
||||
/// </summary>
|
||||
public string QrCodeUrl { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the QrCodeChecksum
|
||||
/// </summary>
|
||||
public string QrCodeChecksum { get; protected set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the McServerUrl
|
||||
/// </summary>
|
||||
public string McServerUrl { get; private set; }
|
||||
|
||||
public abstract string RoomName { get; }
|
||||
@@ -50,6 +68,9 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
/// as adding actions to parent
|
||||
/// </summary>
|
||||
/// <param name="parent"></param>
|
||||
/// <summary>
|
||||
/// AddParent method
|
||||
/// </summary>
|
||||
public virtual void AddParent(IMobileControl parent)
|
||||
{
|
||||
Parent = parent;
|
||||
@@ -62,6 +83,9 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
/// fire method UserCodeChange. Override that to handle changes
|
||||
/// </summary>
|
||||
/// <param name="code"></param>
|
||||
/// <summary>
|
||||
/// SetUserCode method
|
||||
/// </summary>
|
||||
public void SetUserCode(string code)
|
||||
{
|
||||
var changed = UserCode != code;
|
||||
|
||||
@@ -25,11 +25,20 @@ using ShadeBase = PepperDash.Essentials.Devices.Common.Shades.ShadeBase;
|
||||
|
||||
namespace PepperDash.Essentials.RoomBridges
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlEssentialsRoomBridge
|
||||
/// </summary>
|
||||
public class MobileControlEssentialsRoomBridge : MobileControlBridgeBase
|
||||
{
|
||||
private List<JoinToken> _touchPanelTokens = new List<JoinToken>();
|
||||
/// <summary>
|
||||
/// Gets or sets the Room
|
||||
/// </summary>
|
||||
public IEssentialsRoom Room { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultRoomKey
|
||||
/// </summary>
|
||||
public string DefaultRoomKey { get; private set; }
|
||||
/// <summary>
|
||||
///
|
||||
@@ -292,6 +301,10 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
/// Override of base: calls base to add parent and then registers actions and events.
|
||||
/// </summary>
|
||||
/// <param name="parent"></param>
|
||||
/// <summary>
|
||||
/// AddParent method
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public override void AddParent(MobileControlSystemController parent)
|
||||
{
|
||||
base.AddParent(parent);
|
||||
@@ -780,9 +793,15 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a RoomStateMessage
|
||||
/// </summary>
|
||||
public class RoomStateMessage : DeviceStateMessageBase
|
||||
{
|
||||
[JsonProperty("configuration", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Configuration
|
||||
/// </summary>
|
||||
public RoomConfiguration Configuration { get; set; }
|
||||
|
||||
[JsonProperty("activityMode", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -796,8 +815,14 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
[JsonProperty("isCoolingDown", NullValueHandling = NullValueHandling.Ignore)]
|
||||
public bool? IsCoolingDown { get; set; }
|
||||
[JsonProperty("selectedSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the SelectedSourceKey
|
||||
/// </summary>
|
||||
public string SelectedSourceKey { get; set; }
|
||||
[JsonProperty("share", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Share
|
||||
/// </summary>
|
||||
public ShareState Share { get; set; }
|
||||
|
||||
[JsonProperty("volumes", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -807,9 +832,15 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
public bool? IsInCall { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ShareState
|
||||
/// </summary>
|
||||
public class ShareState
|
||||
{
|
||||
[JsonProperty("currentShareText", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the CurrentShareText
|
||||
/// </summary>
|
||||
public string CurrentShareText { get; set; }
|
||||
[JsonProperty("enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||
public bool? Enabled { get; set; }
|
||||
@@ -818,7 +849,7 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents the capabilities of the room and the associated device info
|
||||
/// Represents a RoomConfiguration
|
||||
/// </summary>
|
||||
public class RoomConfiguration
|
||||
{
|
||||
@@ -841,32 +872,62 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
public bool? HasRoutingControls { get; set; }
|
||||
|
||||
[JsonProperty("touchpanelKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the TouchpanelKeys
|
||||
/// </summary>
|
||||
public List<string> TouchpanelKeys { get; set; }
|
||||
|
||||
[JsonProperty("zoomRoomControllerKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the ZoomRoomControllerKey
|
||||
/// </summary>
|
||||
public string ZoomRoomControllerKey { get; set; }
|
||||
|
||||
[JsonProperty("ciscoNavigatorKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the CiscoNavigatorKey
|
||||
/// </summary>
|
||||
public string CiscoNavigatorKey { get; set; }
|
||||
|
||||
|
||||
[JsonProperty("videoCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the VideoCodecKey
|
||||
/// </summary>
|
||||
public string VideoCodecKey { get; set; }
|
||||
[JsonProperty("audioCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the AudioCodecKey
|
||||
/// </summary>
|
||||
public string AudioCodecKey { get; set; }
|
||||
[JsonProperty("matrixRoutingKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the MatrixRoutingKey
|
||||
/// </summary>
|
||||
public string MatrixRoutingKey { get; set; }
|
||||
[JsonProperty("endpointKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the EndpointKeys
|
||||
/// </summary>
|
||||
public List<string> EndpointKeys { get; set; }
|
||||
|
||||
[JsonProperty("accessoryDeviceKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the AccessoryDeviceKeys
|
||||
/// </summary>
|
||||
public List<string> AccessoryDeviceKeys { get; set; }
|
||||
|
||||
[JsonProperty("defaultDisplayKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultDisplayKey
|
||||
/// </summary>
|
||||
public string DefaultDisplayKey { get; set; }
|
||||
[JsonProperty("destinations", NullValueHandling = NullValueHandling.Ignore)]
|
||||
public Dictionary<eSourceListItemDestinationTypes, string> Destinations { get; set; }
|
||||
[JsonProperty("environmentalDevices", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the EnvironmentalDevices
|
||||
/// </summary>
|
||||
public List<EnvironmentalDeviceConfiguration> EnvironmentalDevices { get; set; }
|
||||
[JsonProperty("sourceList", NullValueHandling = NullValueHandling.Ignore)]
|
||||
public Dictionary<string, SourceListItem> SourceList { get; set; }
|
||||
@@ -875,22 +936,37 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
public Dictionary<string, DestinationListItem> DestinationList { get; set; }
|
||||
|
||||
[JsonProperty("audioControlPointList", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the AudioControlPointList
|
||||
/// </summary>
|
||||
public AudioControlPointListItem AudioControlPointList { get; set; }
|
||||
|
||||
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
|
||||
public Dictionary<string, CameraListItem> CameraList { get; set; }
|
||||
|
||||
[JsonProperty("defaultPresentationSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the DefaultPresentationSourceKey
|
||||
/// </summary>
|
||||
public string DefaultPresentationSourceKey { get; set; }
|
||||
|
||||
|
||||
[JsonProperty("helpMessage", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the HelpMessage
|
||||
/// </summary>
|
||||
public string HelpMessage { get; set; }
|
||||
|
||||
[JsonProperty("techPassword", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the TechPassword
|
||||
/// </summary>
|
||||
public string TechPassword { get; set; }
|
||||
|
||||
[JsonProperty("uiBehavior", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the UiBehavior
|
||||
/// </summary>
|
||||
public EssentialsRoomUiBehaviorConfig UiBehavior { get; set; }
|
||||
|
||||
[JsonProperty("supportsAdvancedSharing", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -899,6 +975,9 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
public bool? UserCanChangeShareMode { get; set; }
|
||||
|
||||
[JsonProperty("roomCombinerKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomCombinerKey
|
||||
/// </summary>
|
||||
public string RoomCombinerKey { get; set; }
|
||||
|
||||
public RoomConfiguration()
|
||||
@@ -910,13 +989,22 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a EnvironmentalDeviceConfiguration
|
||||
/// </summary>
|
||||
public class EnvironmentalDeviceConfiguration
|
||||
{
|
||||
[JsonProperty("deviceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceKey
|
||||
/// </summary>
|
||||
public string DeviceKey { get; private set; }
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
[JsonProperty("deviceType", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the DeviceType
|
||||
/// </summary>
|
||||
public eEnvironmentalDeviceTypes DeviceType { get; private set; }
|
||||
|
||||
public EnvironmentalDeviceConfiguration(string key, eEnvironmentalDeviceTypes type)
|
||||
@@ -926,6 +1014,9 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration of eEnvironmentalDeviceTypes values
|
||||
/// </summary>
|
||||
public enum eEnvironmentalDeviceTypes
|
||||
{
|
||||
None,
|
||||
@@ -935,25 +1026,52 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
Relay,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ApiTouchPanelToken
|
||||
/// </summary>
|
||||
public class ApiTouchPanelToken
|
||||
{
|
||||
[JsonProperty("touchPanels", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the TouchPanels
|
||||
/// </summary>
|
||||
public List<JoinToken> TouchPanels { get; set; } = new List<JoinToken>();
|
||||
|
||||
[JsonProperty("userAppUrl", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the UserAppUrl
|
||||
/// </summary>
|
||||
public string UserAppUrl { get; set; } = "";
|
||||
}
|
||||
|
||||
#if SERIES3
|
||||
/// <summary>
|
||||
/// Represents a SourceSelectMessageContent
|
||||
/// </summary>
|
||||
public class SourceSelectMessageContent
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the SourceListItem
|
||||
/// </summary>
|
||||
public string SourceListItem { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the SourceListKey
|
||||
/// </summary>
|
||||
public string SourceListKey { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a DirectRoute
|
||||
/// </summary>
|
||||
public class DirectRoute
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the SourceKey
|
||||
/// </summary>
|
||||
public string SourceKey { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the DestinationKey
|
||||
/// </summary>
|
||||
public string DestinationKey { get; set; }
|
||||
}
|
||||
|
||||
@@ -961,6 +1079,9 @@ namespace PepperDash.Essentials.RoomBridges
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="b"></param>
|
||||
/// <summary>
|
||||
/// Delegate for PressAndHoldAction
|
||||
/// </summary>
|
||||
public delegate void PressAndHoldAction(bool b);
|
||||
#endif
|
||||
}
|
||||
@@ -21,6 +21,9 @@ using System.Collections.Generic;
|
||||
namespace PepperDash.Essentials.Room.MobileControl
|
||||
{
|
||||
// ReSharper disable once InconsistentNaming
|
||||
/// <summary>
|
||||
/// Represents a MobileControlSIMPLRoomBridge
|
||||
/// </summary>
|
||||
public class MobileControlSIMPLRoomBridge : MobileControlBridgeBase, IDelayedConfiguration
|
||||
{
|
||||
private const int SupportedDisplayCount = 10;
|
||||
@@ -30,18 +33,25 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
/// </summary>
|
||||
public event EventHandler<EventArgs> ConfigurationIsReady;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Eisc
|
||||
/// </summary>
|
||||
public ThreeSeriesTcpIpEthernetIntersystemCommunications Eisc { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the JoinMap
|
||||
/// </summary>
|
||||
public MobileControlSIMPLRoomJoinMap JoinMap { get; private set; }
|
||||
|
||||
public Dictionary<string, MessengerBase> DeviceMessengers { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Gets or sets the ConfigIsLoaded
|
||||
/// </summary>
|
||||
public bool ConfigIsLoaded { get; private set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string RoomName
|
||||
{
|
||||
get
|
||||
@@ -51,6 +61,7 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string RoomKey
|
||||
{
|
||||
get { return "room1"; }
|
||||
@@ -127,6 +138,9 @@ namespace PepperDash.Essentials.Room.MobileControl
|
||||
/// parent controller and link them up.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// CustomActivate method
|
||||
/// </summary>
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
Debug.Console(0, this, "Final activation. Setting up actions and feedbacks");
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace PepperDash.Essentials.Room.MobileControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains all of the default joins that map to API funtions
|
||||
/// Represents a SourceDeviceMapDictionary
|
||||
/// </summary>
|
||||
public class SourceDeviceMapDictionary : Dictionary<string, uint>
|
||||
{
|
||||
|
||||
@@ -6,6 +6,9 @@ using System.Threading.Tasks;
|
||||
namespace PepperDash.Essentials.Services
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlApiService
|
||||
/// </summary>
|
||||
public class MobileControlApiService
|
||||
{
|
||||
private readonly HttpClient _client;
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for ITheme
|
||||
/// </summary>
|
||||
public interface ITheme : IKeyed
|
||||
{
|
||||
string Theme { get; }
|
||||
|
||||
@@ -3,6 +3,9 @@ using PepperDash.Essentials.Core;
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the contract for ITswAppControl
|
||||
/// </summary>
|
||||
public interface ITswAppControl : IKeyed
|
||||
{
|
||||
BoolFeedback AppOpenFeedback { get; }
|
||||
@@ -14,6 +17,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
void OpenApp();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the contract for ITswZoomControl
|
||||
/// </summary>
|
||||
public interface ITswZoomControl : IKeyed
|
||||
{
|
||||
BoolFeedback ZoomIncomingCallFeedback { get; }
|
||||
|
||||
@@ -6,6 +6,9 @@ using PepperDash.Essentials.AppServer.Messengers;
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ITswAppControlMessenger
|
||||
/// </summary>
|
||||
public class ITswAppControlMessenger : MessengerBase
|
||||
{
|
||||
private readonly ITswAppControl _appControl;
|
||||
@@ -51,6 +54,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a TswAppStateMessage
|
||||
/// </summary>
|
||||
public class TswAppStateMessage : DeviceStateMessageBase
|
||||
{
|
||||
[JsonProperty("appOpen", NullValueHandling = NullValueHandling.Ignore)]
|
||||
|
||||
@@ -7,6 +7,9 @@ using PepperDash.Essentials.AppServer.Messengers;
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ITswZoomControlMessenger
|
||||
/// </summary>
|
||||
public class ITswZoomControlMessenger : MessengerBase
|
||||
{
|
||||
private readonly ITswZoomControl _zoomControl;
|
||||
@@ -62,6 +65,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a TswZoomStateMessage
|
||||
/// </summary>
|
||||
public class TswZoomStateMessage : DeviceStateMessageBase
|
||||
{
|
||||
[JsonProperty("inCall", NullValueHandling = NullValueHandling.Ignore)]
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
private string _appUrl;
|
||||
|
||||
/// <summary>
|
||||
/// Gets feedback for the current application URL.
|
||||
/// Gets or sets the AppUrlFeedback
|
||||
/// </summary>
|
||||
public StringFeedback AppUrlFeedback { get; private set; }
|
||||
|
||||
@@ -65,12 +65,12 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
public BoolFeedback ZoomInCallFeedback => _zoomInCallFeedback;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the collection of feedback objects for this touchpanel controller.
|
||||
/// Gets or sets the Feedbacks
|
||||
/// </summary>
|
||||
public FeedbackCollection<Feedback> Feedbacks { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the collection of Zoom-related feedback objects.
|
||||
/// Gets or sets the ZoomFeedbacks
|
||||
/// </summary>
|
||||
public FeedbackCollection<Feedback> ZoomFeedbacks { get; private set; }
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
public string Theme => localConfig.Theme;
|
||||
|
||||
/// <summary>
|
||||
/// Gets feedback for the current theme setting.
|
||||
/// Gets or sets the ThemeFeedback
|
||||
/// </summary>
|
||||
public StringFeedback ThemeFeedback { get; private set; }
|
||||
|
||||
@@ -188,6 +188,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
/// Updates the theme setting for this touchpanel controller and persists the change to configuration.
|
||||
/// </summary>
|
||||
/// <param name="theme">The new theme identifier to apply.</param>
|
||||
/// <summary>
|
||||
/// UpdateTheme method
|
||||
/// </summary>
|
||||
public void UpdateTheme(string theme)
|
||||
{
|
||||
localConfig.Theme = theme;
|
||||
@@ -325,6 +328,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
/// registering messengers and linking to mobile control.
|
||||
/// </summary>
|
||||
/// <returns>True if activation was successful; otherwise, false.</returns>
|
||||
/// <summary>
|
||||
/// CustomActivate method
|
||||
/// </summary>
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
var appMessenger = new ITswAppControlMessenger($"appControlMessenger-{Key}", $"/device/{Key}", this);
|
||||
@@ -432,6 +438,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
/// Sets the application URL and updates the corresponding feedback.
|
||||
/// </summary>
|
||||
/// <param name="url">The new application URL to set.</param>
|
||||
/// <summary>
|
||||
/// SetAppUrl method
|
||||
/// </summary>
|
||||
public void SetAppUrl(string url)
|
||||
{
|
||||
_appUrl = url;
|
||||
@@ -458,7 +467,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hides the currently open application on the touchpanel.
|
||||
/// HideOpenApp method
|
||||
/// </summary>
|
||||
public void HideOpenApp()
|
||||
{
|
||||
@@ -476,7 +485,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens an application on the touchpanel. Note: X60 panels do not support Zoom app opening.
|
||||
/// OpenApp method
|
||||
/// </summary>
|
||||
public void OpenApp()
|
||||
{
|
||||
@@ -494,7 +503,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes the currently open application on the touchpanel.
|
||||
/// CloseOpenApp method
|
||||
/// </summary>
|
||||
public void CloseOpenApp()
|
||||
{
|
||||
@@ -512,7 +521,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ends the current Zoom call on the touchpanel.
|
||||
/// EndZoomCall method
|
||||
/// </summary>
|
||||
public void EndZoomCall()
|
||||
{
|
||||
@@ -530,8 +539,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates the device information (MAC address and IP address) from the touchpanel
|
||||
/// and raises the DeviceInfoChanged event.
|
||||
/// UpdateDeviceInfo method
|
||||
/// </summary>
|
||||
public void UpdateDeviceInfo()
|
||||
{
|
||||
@@ -570,8 +578,7 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Factory class for creating MobileControlTouchpanelController instances from device configuration.
|
||||
/// Supports various Crestron touchpanel models including TSW, TS, CrestronApp, XPanel, and DGE series.
|
||||
/// Represents a MobileControlTouchpanelControllerFactory
|
||||
/// </summary>
|
||||
public class MobileControlTouchpanelControllerFactory : EssentialsPluginDeviceFactory<MobileControlTouchpanelController>
|
||||
{
|
||||
@@ -590,6 +597,9 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
/// </summary>
|
||||
/// <param name="dc">The device configuration containing the device properties and settings.</param>
|
||||
/// <returns>A configured MobileControlTouchpanelController instance.</returns>
|
||||
/// <summary>
|
||||
/// BuildDevice method
|
||||
/// </summary>
|
||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||
{
|
||||
var comm = CommFactory.GetControlPropertiesConfig(dc);
|
||||
|
||||
@@ -3,18 +3,33 @@ using PepperDash.Essentials.Core;
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileControlTouchpanelProperties
|
||||
/// </summary>
|
||||
public class MobileControlTouchpanelProperties : CrestronTouchpanelPropertiesConfig
|
||||
{
|
||||
[JsonProperty("useDirectServer")]
|
||||
/// <summary>
|
||||
/// Gets or sets the UseDirectServer
|
||||
/// </summary>
|
||||
public bool UseDirectServer { get; set; } = false;
|
||||
|
||||
[JsonProperty("zoomRoomController")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ZoomRoomController
|
||||
/// </summary>
|
||||
public bool ZoomRoomController { get; set; } = false;
|
||||
|
||||
[JsonProperty("buttonToolbarTimeoutInS")]
|
||||
/// <summary>
|
||||
/// Gets or sets the ButtonToolbarTimoutInS
|
||||
/// </summary>
|
||||
public ushort ButtonToolbarTimoutInS { get; set; } = 0;
|
||||
|
||||
[JsonProperty("theme")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Theme
|
||||
/// </summary>
|
||||
public string Theme { get; set; } = "light";
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,9 @@ using PepperDash.Essentials.AppServer.Messengers;
|
||||
|
||||
namespace PepperDash.Essentials.Touchpanel
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ThemeMessenger
|
||||
/// </summary>
|
||||
public class ThemeMessenger : MessengerBase
|
||||
{
|
||||
private readonly ITheme _tpDevice;
|
||||
@@ -34,9 +37,15 @@ namespace PepperDash.Essentials.Touchpanel
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ThemeUpdateMessage
|
||||
/// </summary>
|
||||
public class ThemeUpdateMessage : DeviceStateMessageBase
|
||||
{
|
||||
[JsonProperty("theme")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Theme
|
||||
/// </summary>
|
||||
public string Theme { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@ using WebSocketSharp;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a TransmitMessage
|
||||
/// </summary>
|
||||
public class TransmitMessage : IQueueMessage
|
||||
{
|
||||
private readonly WebSocket _ws;
|
||||
@@ -31,6 +34,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
#region Implementation of IQueueMessage
|
||||
|
||||
/// <summary>
|
||||
/// Dispatch method
|
||||
/// </summary>
|
||||
public void Dispatch()
|
||||
{
|
||||
try
|
||||
@@ -67,6 +73,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MessageToClients
|
||||
/// </summary>
|
||||
public class MessageToClients : IQueueMessage
|
||||
{
|
||||
private readonly MobileControlWebsocketServer _server;
|
||||
@@ -86,6 +95,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
#region Implementation of IQueueMessage
|
||||
|
||||
/// <summary>
|
||||
/// Dispatch method
|
||||
/// </summary>
|
||||
public void Dispatch()
|
||||
{
|
||||
try
|
||||
|
||||
@@ -2,12 +2,21 @@
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a UserCodeChangedContent
|
||||
/// </summary>
|
||||
public class UserCodeChangedContent
|
||||
{
|
||||
[JsonProperty("userCode")]
|
||||
/// <summary>
|
||||
/// Gets or sets the UserCode
|
||||
/// </summary>
|
||||
public string UserCode { get; set; }
|
||||
|
||||
[JsonProperty("qrChecksum", NullValueHandling = NullValueHandling.Include)]
|
||||
/// <summary>
|
||||
/// Gets or sets the QrChecksum
|
||||
/// </summary>
|
||||
public string QrChecksum { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,15 @@ using System.Collections.Generic;
|
||||
|
||||
namespace PepperDash.Essentials
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a Volumes
|
||||
/// </summary>
|
||||
public class Volumes
|
||||
{
|
||||
[JsonProperty("master", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Master
|
||||
/// </summary>
|
||||
public Volume Master { get; set; }
|
||||
|
||||
[JsonProperty("auxFaders", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -19,9 +25,15 @@ namespace PepperDash.Essentials
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a Volume
|
||||
/// </summary>
|
||||
public class Volume
|
||||
{
|
||||
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Key
|
||||
/// </summary>
|
||||
public string Key { get; set; }
|
||||
|
||||
[JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -31,6 +43,9 @@ namespace PepperDash.Essentials
|
||||
public bool? Muted { get; set; }
|
||||
|
||||
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Label
|
||||
/// </summary>
|
||||
public string Label { get; set; }
|
||||
|
||||
[JsonProperty("hasMute", NullValueHandling = NullValueHandling.Ignore)]
|
||||
@@ -44,6 +59,9 @@ namespace PepperDash.Essentials
|
||||
|
||||
|
||||
[JsonProperty("muteIcon", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the MuteIcon
|
||||
/// </summary>
|
||||
public string MuteIcon { get; set; }
|
||||
|
||||
public Volume(string key, int level, bool muted, string label, bool hasMute, string muteIcon)
|
||||
|
||||
@@ -6,6 +6,9 @@ using System.Linq;
|
||||
|
||||
namespace PepperDash.Essentials.WebApiHandlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a ActionPathsHandler
|
||||
/// </summary>
|
||||
public class ActionPathsHandler : WebApiBaseRequestHandler
|
||||
{
|
||||
private readonly MobileControlSystemController mcController;
|
||||
@@ -26,6 +29,9 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ActionPathsResponse
|
||||
/// </summary>
|
||||
public class ActionPathsResponse
|
||||
{
|
||||
[JsonIgnore]
|
||||
@@ -40,12 +46,21 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ActionPath
|
||||
/// </summary>
|
||||
public class ActionPath
|
||||
{
|
||||
[JsonProperty("messengerKey")]
|
||||
/// <summary>
|
||||
/// Gets or sets the MessengerKey
|
||||
/// </summary>
|
||||
public string MessengerKey { get; set; }
|
||||
|
||||
[JsonProperty("path")]
|
||||
/// <summary>
|
||||
/// Gets or sets the Path
|
||||
/// </summary>
|
||||
public string Path { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,9 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace PepperDash.Essentials.WebApiHandlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileAuthRequestHandler
|
||||
/// </summary>
|
||||
public class MobileAuthRequestHandler : WebApiBaseRequestAsyncHandler
|
||||
{
|
||||
private readonly MobileControlSystemController mcController;
|
||||
|
||||
@@ -10,6 +10,9 @@ using System.Linq;
|
||||
|
||||
namespace PepperDash.Essentials.WebApiHandlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a MobileInfoHandler
|
||||
/// </summary>
|
||||
public class MobileInfoHandler : WebApiBaseRequestHandler
|
||||
{
|
||||
private readonly MobileControlSystemController mcController;
|
||||
@@ -39,6 +42,9 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a InformationResponse
|
||||
/// </summary>
|
||||
public class InformationResponse
|
||||
{
|
||||
[JsonIgnore]
|
||||
@@ -58,6 +64,9 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlEdgeServer
|
||||
/// </summary>
|
||||
public class MobileControlEdgeServer
|
||||
{
|
||||
[JsonIgnore]
|
||||
@@ -87,6 +96,9 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlDirectServer
|
||||
/// </summary>
|
||||
public class MobileControlDirectServer
|
||||
{
|
||||
[JsonIgnore]
|
||||
@@ -113,6 +125,9 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a MobileControlDirectClient
|
||||
/// </summary>
|
||||
public class MobileControlDirectClient
|
||||
{
|
||||
[JsonIgnore]
|
||||
|
||||
@@ -8,6 +8,9 @@ using Serilog.Events;
|
||||
|
||||
namespace PepperDash.Essentials.WebApiHandlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a UiClientHandler
|
||||
/// </summary>
|
||||
public class UiClientHandler : WebApiBaseRequestHandler
|
||||
{
|
||||
private readonly MobileControlWebsocketServer server;
|
||||
@@ -140,27 +143,51 @@ namespace PepperDash.Essentials.WebApiHandlers
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ClientRequest
|
||||
/// </summary>
|
||||
public class ClientRequest
|
||||
{
|
||||
[JsonProperty("roomKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the RoomKey
|
||||
/// </summary>
|
||||
public string RoomKey { get; set; }
|
||||
|
||||
[JsonProperty("grantCode", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the GrantCode
|
||||
/// </summary>
|
||||
public string GrantCode { get; set; }
|
||||
|
||||
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Token
|
||||
/// </summary>
|
||||
public string Token { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a ClientResponse
|
||||
/// </summary>
|
||||
public class ClientResponse
|
||||
{
|
||||
[JsonProperty("error", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Error
|
||||
/// </summary>
|
||||
public string Error { get; set; }
|
||||
|
||||
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Token
|
||||
/// </summary>
|
||||
public string Token { get; set; }
|
||||
|
||||
[JsonProperty("path", NullValueHandling = NullValueHandling.Ignore)]
|
||||
/// <summary>
|
||||
/// Gets or sets the Path
|
||||
/// </summary>
|
||||
public string Path { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -12,12 +12,24 @@ namespace PepperDash.Essentials.WebSocketServer
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a WebSocketServerSecret
|
||||
/// </summary>
|
||||
public class WebSocketServerSecret : ISecret
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the Provider
|
||||
/// </summary>
|
||||
public ISecretProvider Provider { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Key
|
||||
/// </summary>
|
||||
public string Key { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the Value
|
||||
/// </summary>
|
||||
public object Value { get; private set; }
|
||||
|
||||
public WebSocketServerSecret(string key, object value, ISecretProvider provider)
|
||||
@@ -27,6 +39,9 @@ namespace PepperDash.Essentials.WebSocketServer
|
||||
Provider = provider;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DeserializeSecret method
|
||||
/// </summary>
|
||||
public ServerTokenSecrets DeserializeSecret()
|
||||
{
|
||||
return JsonConvert.DeserializeObject<ServerTokenSecrets>(Value.ToString());
|
||||
|
||||
Reference in New Issue
Block a user