Compare commits

...

4 Commits

Author SHA1 Message Date
Andrew Welker
bbc994afb4 Merge branch 'development' into feature/mobile-control-interfaces 2024-10-31 09:55:02 -05:00
Neil Dorin
2850920d6e feat: Adds IMobileControlMessenger 2024-01-15 15:40:44 -07:00
Neil Dorin
a5de8b14d9 fix: fixes access modifiers on interface 2024-01-11 17:26:35 -07:00
Neil Dorin
9d71810e04 feat: adds methods to IMobileControl3 and adds response message interface 2024-01-11 17:05:34 -07:00
2 changed files with 44 additions and 9 deletions

1
.gitignore vendored
View File

@@ -390,3 +390,4 @@ MigrationBackup/
FodyWeavers.xsd
essentials-framework/Essentials Interfaces/PepperDash_Essentials_Interfaces/PepperDash_Essentials_Interfaces.csproj
.DS_Store
._.DS_Store

View File

@@ -1,5 +1,6 @@
using System;
using PepperDash.Core;
using PepperDash.Core;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{
@@ -11,14 +12,47 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
void CreateMobileControlRoomBridge(IEssentialsRoom room, IMobileControl parent);
void LinkSystemMonitorToAppServer();
}
/// <summary>
/// Describes a MobileSystemController that accepts IEssentialsRoom
/// </summary>
public interface IMobileControl3 : IMobileControl
{
void CreateMobileControlRoomBridge(IEssentialsRoom room, IMobileControl parent);
}
/// <summary>
/// Describes a MobileSystemController that accepts IEssentialsRoom
/// </summary>
public interface IMobileControl3 : IMobileControl
{
void CreateMobileControlRoomBridge(IEssentialsRoom room, IMobileControl parent);
void SendMessageObject(object o);
void AddAction(string key, object action);
void RemoveAction(string key);
void AddDeviceMessenger(IMobileControlMessenger messenger);
bool CheckForDeviceMessenger(string key);
}
/// <summary>
/// Describes a mobile control messenger
/// </summary>
public interface IMobileControlMessenger : IKeyed
{
IMobileControl3 AppServerController { get; }
string MessagePath { get; }
void RegisterWithAppServer(IMobileControl3 appServerController);
}
public interface IMobileControlResponseMessage
{
[JsonProperty("type")]
string Type { get; }
[JsonProperty("clientId")]
object ClientId { get; }
[JsonProperty("content")]
object Content { get; }
}
/// <summary>