Updates IMobileControl interface. Adds VideoCodec.StopSharing() to EndShutdown() method in Vtc1 room

This commit is contained in:
Neil Dorin
2020-11-12 15:57:10 -07:00
parent 3d224496a8
commit 5c63a49071
4 changed files with 161 additions and 146 deletions

View File

@@ -383,6 +383,7 @@ namespace PepperDash.Essentials
protected override void EndShutdown() protected override void EndShutdown()
{ {
VideoCodec.EndAllCalls(); VideoCodec.EndAllCalls();
VideoCodec.StopSharing();
SetDefaultLevels(); SetDefaultLevels();
@@ -652,6 +653,7 @@ namespace PepperDash.Essentials
dest.ReleaseRoute(); dest.ReleaseRoute();
if (dest is IHasPowerControl) if (dest is IHasPowerControl)
(dest as IHasPowerControl).PowerOff(); (dest as IHasPowerControl).PowerOff();
} }
else else
{ {

View File

@@ -12,7 +12,7 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
void LinkSystemMonitorToAppServer(); void LinkSystemMonitorToAppServer();
IMobileControl GetAppServer();
} }
/// <summary> /// <summary>
@@ -26,6 +26,8 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
string QrCodeUrl { get; } string QrCodeUrl { get; }
string QrCodeChecksum { get; }
string McServerUrl { get; } string McServerUrl { get; }
string RoomName { get; } string RoomName { get; }

View File

@@ -1,131 +1,131 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{ {
/// <summary> /// <summary>
/// This class exists to capture serialized data sent back by a Cisco codec in JSON output mode /// This class exists to capture serialized data sent back by a Cisco codec in JSON output mode
/// </summary> /// </summary>
public class CiscoCodecEvents public class CiscoCodecEvents
{ {
public class CauseValue public class CauseValue
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CauseType public class CauseType
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CauseString public class CauseString
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class OrigCallDirection public class OrigCallDirection
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class RemoteURI public class RemoteURI
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class DisplayName public class DisplayName
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CallId public class CallId
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CauseCode public class CauseCode
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CauseOrigin public class CauseOrigin
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class Protocol public class Protocol
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class Duration public class Duration
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CallType public class CallType
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CallRate public class CallRate
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class Encryption public class Encryption
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class RequestedURI public class RequestedURI
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class PeopleCountAverage public class PeopleCountAverage
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class CallDisconnect public class CallDisconnect
{ {
public string id { get; set; } public string id { get; set; }
public CauseValue CauseValue { get; set; } public CauseValue CauseValue { get; set; }
public CauseType CauseType { get; set; } public CauseType CauseType { get; set; }
public CauseString CauseString { get; set; } public CauseString CauseString { get; set; }
public OrigCallDirection OrigCallDirection { get; set; } public OrigCallDirection OrigCallDirection { get; set; }
public RemoteURI RemoteURI { get; set; } public RemoteURI RemoteURI { get; set; }
public DisplayName DisplayName { get; set; } public DisplayName DisplayName { get; set; }
public CallId CallId { get; set; } public CallId CallId { get; set; }
public CauseCode CauseCode { get; set; } public CauseCode CauseCode { get; set; }
public CauseOrigin CauseOrigin { get; set; } public CauseOrigin CauseOrigin { get; set; }
public Protocol Protocol { get; set; } public Protocol Protocol { get; set; }
public Duration Duration { get; set; } public Duration Duration { get; set; }
public CallType CallType { get; set; } public CallType CallType { get; set; }
public CallRate CallRate { get; set; } public CallRate CallRate { get; set; }
public Encryption Encryption { get; set; } public Encryption Encryption { get; set; }
public RequestedURI RequestedURI { get; set; } public RequestedURI RequestedURI { get; set; }
public PeopleCountAverage PeopleCountAverage { get; set; } public PeopleCountAverage PeopleCountAverage { get; set; }
} }
public class UserInterface public class UserInterface
{ {
@@ -151,16 +151,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{ {
public string id { get; set; } public string id { get; set; }
public string Value { get; set; } public string Value { get; set; }
} }
public class Event public class Event
{ {
public CallDisconnect CallDisconnect { get; set; } public CallDisconnect CallDisconnect { get; set; }
public UserInterface UserInterface { get; set; } public UserInterface UserInterface { get; set; }
} }
public class RootObject public class RootObject
{ {
public Event Event { get; set; } public Event Event { get; set; }
} }
} }
} }

View File

@@ -5,6 +5,7 @@ using System.Text;
using Crestron.SimplSharp.CrestronIO; using Crestron.SimplSharp.CrestronIO;
using Crestron.SimplSharp.Ssh; using Crestron.SimplSharp.Ssh;
using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.DeviceSupport;
using Crestron.SimplSharp;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Intersystem; using PepperDash.Core.Intersystem;
using PepperDash.Core.Intersystem.Tokens; using PepperDash.Core.Intersystem.Tokens;
@@ -231,12 +232,22 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
/// </summary> /// </summary>
protected void SetIsReady() protected void SetIsReady()
{ {
IsReady = true; CrestronInvoke.BeginInvoke( (o) =>
var h = IsReadyChange; {
if (h != null) try
{ {
h(this, new EventArgs()); IsReady = true;
} var h = IsReadyChange;
if (h != null)
{
h(this, new EventArgs());
}
}
catch (Exception e)
{
Debug.Console(2, this, "Error in SetIsReady() : {0}", e);
}
});
} }
// **** DEBUGGING THINGS **** // **** DEBUGGING THINGS ****