mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 05:05:00 +00:00
chore: move classes and interfaces to individual files
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Use this interface on a device or room if it uses custom Mobile Control messengers
|
||||||
|
/// </summary>
|
||||||
|
public interface ICustomMobileControl : IKeyed
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,155 +1,72 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using Crestron.SimplSharpPro;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Use this interface on a device or room if it uses custom Mobile Control messengers
|
|
||||||
/// </summary>
|
|
||||||
public interface ICustomMobileControl : IKeyed
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/*/// <summary>
|
|
||||||
/// Describes a MobileControlSystemController
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControl : IKeyed
|
|
||||||
{
|
|
||||||
void CreateMobileControlRoomBridge(IEssentialsRoom room, IMobileControl parent);
|
|
||||||
|
|
||||||
void LinkSystemMonitorToAppServer();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines the contract for IMobileControl
|
/// Defines the contract for IMobileControl
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IMobileControl : IKeyed
|
public interface IMobileControl : IKeyed
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Host
|
||||||
|
/// </summary>
|
||||||
string Host { get; }
|
string Host { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the Client App URL
|
||||||
|
/// </summary>
|
||||||
string ClientAppUrl { get; }
|
string ClientAppUrl { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the System UUID
|
||||||
|
/// </summary>
|
||||||
string SystemUuid { get; }
|
string SystemUuid { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ApiOnlineAndAuthorized feedback
|
||||||
|
/// </summary>
|
||||||
BoolFeedback ApiOnlineAndAuthorized { get; }
|
BoolFeedback ApiOnlineAndAuthorized { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sends the message object to the AppServer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="o">Message to send</param>
|
||||||
void SendMessageObject(IMobileControlMessage o);
|
void SendMessageObject(IMobileControlMessage o);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds an action for a messenger
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T">Messenger type. Must implement IMobileControlMessenger</typeparam>
|
||||||
|
/// <param name="messenger">messenger to register</param>
|
||||||
|
/// <param name="action">action to add</param>
|
||||||
void AddAction<T>(T messenger, Action<string, string, JToken> action) where T : IMobileControlMessenger;
|
void AddAction<T>(T messenger, Action<string, string, JToken> action) where T : IMobileControlMessenger;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Removes an action for a messenger
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">key for action</param>
|
||||||
void RemoveAction(string key);
|
void RemoveAction(string key);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds a device messenger
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="messenger">Messenger to add</param>
|
||||||
void AddDeviceMessenger(IMobileControlMessenger messenger);
|
void AddDeviceMessenger(IMobileControlMessenger messenger);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Check if a device messenger exists
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">Messenger key to find</param>
|
||||||
bool CheckForDeviceMessenger(string key);
|
bool CheckForDeviceMessenger(string key);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get a Room Messenger by key
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">messenger key to find</param>
|
||||||
|
/// <returns>Messenger if found, null otherwise</returns>
|
||||||
IMobileControlRoomMessenger GetRoomMessenger(string key);
|
IMobileControlRoomMessenger GetRoomMessenger(string key);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines the contract for IMobileControlMessenger
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControlMessenger : IKeyed
|
|
||||||
{
|
|
||||||
IMobileControl AppServerController { get; }
|
|
||||||
string MessagePath { get; }
|
|
||||||
|
|
||||||
string DeviceKey { get; }
|
|
||||||
void RegisterWithAppServer(IMobileControl appServerController);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IMobileControlMessage
|
|
||||||
{
|
|
||||||
[JsonProperty("type")]
|
|
||||||
string Type { get; }
|
|
||||||
|
|
||||||
[JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
string ClientId { get; }
|
|
||||||
|
|
||||||
[JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
JToken Content { get; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines the contract for IMobileControlRoomMessenger
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControlRoomMessenger : IKeyed
|
|
||||||
{
|
|
||||||
event EventHandler<EventArgs> UserCodeChanged;
|
|
||||||
|
|
||||||
event EventHandler<EventArgs> UserPromptedForCode;
|
|
||||||
|
|
||||||
event EventHandler<EventArgs> ClientJoined;
|
|
||||||
|
|
||||||
event EventHandler<EventArgs> AppUrlChanged;
|
|
||||||
|
|
||||||
string UserCode { get; }
|
|
||||||
|
|
||||||
string QrCodeUrl { get; }
|
|
||||||
|
|
||||||
string QrCodeChecksum { get; }
|
|
||||||
|
|
||||||
string McServerUrl { get; }
|
|
||||||
|
|
||||||
string RoomName { get; }
|
|
||||||
|
|
||||||
string AppUrl { get; }
|
|
||||||
|
|
||||||
void UpdateAppUrl(string url);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines the contract for IMobileControlAction
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControlAction
|
|
||||||
{
|
|
||||||
IMobileControlMessenger Messenger { get; }
|
|
||||||
|
|
||||||
Action<string, string, JToken> Action { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Defines the contract for IMobileControlTouchpanelController
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControlTouchpanelController : IKeyed
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The default room key for the controller
|
|
||||||
/// </summary>
|
|
||||||
string DefaultRoomKey { get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets the application URL for the controller
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="url">The application URL</param>
|
|
||||||
void SetAppUrl(string url);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Indicates whether the controller uses a direct server connection
|
|
||||||
/// </summary>
|
|
||||||
bool UseDirectServer { get; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Indicates whether the controller is a Zoom Room controller
|
|
||||||
/// </summary>
|
|
||||||
bool ZoomRoomController { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Describes a MobileControl Crestron Touchpanel Controller
|
|
||||||
/// This interface extends the IMobileControlTouchpanelController to include connected IP information
|
|
||||||
/// </summary>
|
|
||||||
public interface IMobileControlCrestronTouchpanelController : IMobileControlTouchpanelController
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets a collection of connected IP information for the touchpanel controller
|
|
||||||
/// </summary>
|
|
||||||
ReadOnlyCollection<ConnectedIpInformation> ConnectedIps { get; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the contract for IMobileControlAction
|
||||||
|
/// </summary>
|
||||||
|
public interface IMobileControlAction
|
||||||
|
{
|
||||||
|
IMobileControlMessenger Messenger { get; }
|
||||||
|
|
||||||
|
Action<string, string, JToken> Action { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Describes a MobileControl Crestron Touchpanel Controller
|
||||||
|
/// This interface extends the IMobileControlTouchpanelController to include connected IP information
|
||||||
|
/// </summary>
|
||||||
|
public interface IMobileControlCrestronTouchpanelController : IMobileControlTouchpanelController
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets a collection of connected IP information for the touchpanel controller
|
||||||
|
/// </summary>
|
||||||
|
ReadOnlyCollection<ConnectedIpInformation> ConnectedIps { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
public interface IMobileControlMessage
|
||||||
|
{
|
||||||
|
[JsonProperty("type")]
|
||||||
|
string Type { get; }
|
||||||
|
|
||||||
|
[JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
string ClientId { get; }
|
||||||
|
|
||||||
|
[JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
JToken Content { get; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the contract for IMobileControlMessenger
|
||||||
|
/// </summary>
|
||||||
|
public interface IMobileControlMessenger : IKeyed
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Parent controller for this messenger
|
||||||
|
/// </summary>
|
||||||
|
IMobileControl AppServerController { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Path to listen for messages
|
||||||
|
/// </summary>
|
||||||
|
string MessagePath { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Key of the device this messenger is associated with
|
||||||
|
/// </summary>
|
||||||
|
string DeviceKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Register this messenger with the AppServerController
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="appServerController"></param>
|
||||||
|
void RegisterWithAppServer(IMobileControl appServerController);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
using System;
|
||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the contract for IMobileControlRoomMessenger
|
||||||
|
/// </summary>
|
||||||
|
public interface IMobileControlRoomMessenger : IKeyed
|
||||||
|
{
|
||||||
|
event EventHandler<EventArgs> UserCodeChanged;
|
||||||
|
|
||||||
|
event EventHandler<EventArgs> UserPromptedForCode;
|
||||||
|
|
||||||
|
event EventHandler<EventArgs> ClientJoined;
|
||||||
|
|
||||||
|
event EventHandler<EventArgs> AppUrlChanged;
|
||||||
|
|
||||||
|
string UserCode { get; }
|
||||||
|
|
||||||
|
string QrCodeUrl { get; }
|
||||||
|
|
||||||
|
string QrCodeChecksum { get; }
|
||||||
|
|
||||||
|
string McServerUrl { get; }
|
||||||
|
|
||||||
|
string RoomName { get; }
|
||||||
|
|
||||||
|
string AppUrl { get; }
|
||||||
|
|
||||||
|
void UpdateAppUrl(string url);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
using PepperDash.Core;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Defines the contract for IMobileControlTouchpanelController
|
||||||
|
/// </summary>
|
||||||
|
public interface IMobileControlTouchpanelController : IKeyed
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The default room key for the controller
|
||||||
|
/// </summary>
|
||||||
|
string DefaultRoomKey { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the application URL for the controller
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="url">The application URL</param>
|
||||||
|
void SetAppUrl(string url);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates whether the controller uses a direct server connection
|
||||||
|
/// </summary>
|
||||||
|
bool UseDirectServer { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates whether the controller is a Zoom Room controller
|
||||||
|
/// </summary>
|
||||||
|
bool ZoomRoomController { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for event messages that include the type of message and an event type
|
||||||
|
/// </summary>
|
||||||
|
public abstract class DeviceEventMessageBase : DeviceMessageBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The event type
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("eventType")]
|
||||||
|
public string EventType { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for device messages that include the type of message
|
||||||
|
/// </summary>
|
||||||
|
public abstract class DeviceMessageBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The device key
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("key")]
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Key
|
||||||
|
/// </summary>
|
||||||
|
public string Key { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The device name
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("name")]
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The type of the message class
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("messageType")]
|
||||||
|
public string MessageType => GetType().Name;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the MessageBasePath
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("messageBasePath")]
|
||||||
|
|
||||||
|
public string MessageBasePath { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a DeviceStateMessageBase
|
||||||
|
/// </summary>
|
||||||
|
public class DeviceStateMessageBase : DeviceMessageBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The interfaces implmented by the device sending the messsage
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("interfaces")]
|
||||||
|
public List<string> Interfaces { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the interfaces implemented by the device sending the message
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="interfaces"></param>
|
||||||
|
public void SetInterfaces(List<string> interfaces)
|
||||||
|
{
|
||||||
|
Interfaces = interfaces;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -287,72 +287,4 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Base class for device messages that include the type of message
|
|
||||||
/// </summary>
|
|
||||||
public abstract class DeviceMessageBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The device key
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("key")]
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the Key
|
|
||||||
/// </summary>
|
|
||||||
public string Key { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The device name
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("name")]
|
|
||||||
public string Name { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The type of the message class
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("messageType")]
|
|
||||||
public string MessageType => GetType().Name;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the MessageBasePath
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("messageBasePath")]
|
|
||||||
|
|
||||||
public string MessageBasePath { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Represents a DeviceStateMessageBase
|
|
||||||
/// </summary>
|
|
||||||
public class DeviceStateMessageBase : DeviceMessageBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The interfaces implmented by the device sending the messsage
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("interfaces")]
|
|
||||||
public List<string> Interfaces { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets the interfaces implemented by the device sending the message
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="interfaces"></param>
|
|
||||||
public void SetInterfaces(List<string> interfaces)
|
|
||||||
{
|
|
||||||
Interfaces = interfaces;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Base class for event messages that include the type of message and an event type
|
|
||||||
/// </summary>
|
|
||||||
public abstract class DeviceEventMessageBase : DeviceMessageBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The event type
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("eventType")]
|
|
||||||
public string EventType { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a ClientSpecificUpdateRequest
|
||||||
|
/// </summary>
|
||||||
|
public class ClientSpecificUpdateRequest
|
||||||
|
{
|
||||||
|
public ClientSpecificUpdateRequest(Action<string> action)
|
||||||
|
{
|
||||||
|
ResponseMethod = action;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the ResponseMethod
|
||||||
|
/// </summary>
|
||||||
|
public Action<string> ResponseMethod { get; private set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2420,33 +2420,4 @@ namespace PepperDash.Essentials
|
|||||||
CrestronConsole.ConsoleCommandResponse("Usage: mobilehttprequest:N get/post url\r");
|
CrestronConsole.ConsoleCommandResponse("Usage: mobilehttprequest:N get/post url\r");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Represents a ClientSpecificUpdateRequest
|
|
||||||
/// </summary>
|
|
||||||
public class ClientSpecificUpdateRequest
|
|
||||||
{
|
|
||||||
public ClientSpecificUpdateRequest(Action<string> action)
|
|
||||||
{
|
|
||||||
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; }
|
|
||||||
|
|
||||||
public UserCodeChanged(Action<string, string> updateMethod)
|
|
||||||
{
|
|
||||||
UpdateUserCode = updateMethod;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
17
src/PepperDash.Essentials.MobileControl/UserCodeChanged.cs
Normal file
17
src/PepperDash.Essentials.MobileControl/UserCodeChanged.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a UserCodeChanged
|
||||||
|
/// </summary>
|
||||||
|
public class UserCodeChanged
|
||||||
|
{
|
||||||
|
public Action<string, string> UpdateUserCode { get; private set; }
|
||||||
|
|
||||||
|
public UserCodeChanged(Action<string, string> updateMethod)
|
||||||
|
{
|
||||||
|
UpdateUserCode = updateMethod;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user