Merge pull request #786 from PepperDash/hotfix/IMobileControl3

feat(essentials): Adds IMobileControl3 interface to maintain backwards compatibility
This commit is contained in:
Andrew Welker
2021-08-16 15:06:00 -06:00
committed by GitHub
2 changed files with 22 additions and 5 deletions

View File

@@ -484,7 +484,7 @@ namespace PepperDash.Essentials
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge..."); Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge...");
CreateMobileControlBridge(room as EssentialsRoomBase); CreateMobileControlBridge(room);
} }
else if (room is IEssentialsHuddleVtc1Room) else if (room is IEssentialsHuddleVtc1Room)
{ {
@@ -495,7 +495,7 @@ namespace PepperDash.Essentials
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge..."); Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge...");
CreateMobileControlBridge(room as EssentialsRoomBase); CreateMobileControlBridge(room);
} }
else if (room is EssentialsTechRoom) else if (room is EssentialsTechRoom)
{ {
@@ -507,7 +507,7 @@ namespace PepperDash.Essentials
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge"); Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge");
CreateMobileControlBridge(room as EssentialsRoomBase); CreateMobileControlBridge(room);
} }
else else
{ {
@@ -524,13 +524,22 @@ namespace PepperDash.Essentials
} }
private static void CreateMobileControlBridge(EssentialsRoomBase room) private static void CreateMobileControlBridge(object room)
{ {
var mobileControl = GetMobileControlDevice(); var mobileControl = GetMobileControlDevice();
if (mobileControl == null) return; if (mobileControl == null) return;
mobileControl.CreateMobileControlRoomBridge(room, mobileControl); var mobileControl3 = mobileControl as IMobileControl3;
if (mobileControl3 != null)
{
mobileControl3.CreateMobileControlRoomBridge(room as IEssentialsRoom, mobileControl);
}
else
{
mobileControl.CreateMobileControlRoomBridge(room as EssentialsRoomBase, mobileControl);
}
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Mobile Control Bridge Added..."); Debug.Console(0, Debug.ErrorLogLevel.Notice, "Mobile Control Bridge Added...");
} }

View File

@@ -13,6 +13,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
void LinkSystemMonitorToAppServer(); void LinkSystemMonitorToAppServer();
} }
/// <summary>
/// Describes a MobileSystemController that accepts IEssentialsRoom
/// </summary>
public interface IMobileControl3 : IMobileControl
{
void CreateMobileControlRoomBridge(IEssentialsRoom room, IMobileControl parent);
}
/// <summary> /// <summary>
/// Describes a MobileControl Room Bridge /// Describes a MobileControl Room Bridge
/// </summary> /// </summary>