diff --git a/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs b/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs deleted file mode 100644 index 675c11c3..00000000 --- a/Essentials Core/PepperDashEssentialsBase/Devices/IHasSharing.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; - -namespace PepperDash.Essentials.Core -{ - /// - /// Indicates that the device has the capability to share sources outside the local room - /// - public interface IHasSharing - { - void StartSharing(); - void StopSharing(); - - StringFeedback SharingSourceFeedback { get; } - } -} \ No newline at end of file diff --git a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj index 6432d796..74ad5cf6 100644 --- a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj +++ b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj @@ -104,7 +104,6 @@ - diff --git a/Essentials Devices Common/Essentials Devices Common/Codec/iHasContentSharing.cs b/Essentials Devices Common/Essentials Devices Common/Codec/iHasContentSharing.cs new file mode 100644 index 00000000..28332b66 --- /dev/null +++ b/Essentials Devices Common/Essentials Devices Common/Codec/iHasContentSharing.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Crestron.SimplSharp; + +using PepperDash.Core; +using PepperDash.Essentials.Core; + + +namespace PepperDash.Essentials.Devices.Common.Codec +{ + public interface IHasContentSharing + { + BoolFeedback SharingContentIsOnFeedback { get; } + StringFeedback SharingSourceFeedback { get; } + + bool AutoShareContentWhileInCall { get; } + + void StartSharing(); + void StopSharing(); + } + +} \ No newline at end of file diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj index 39fd0c66..35e80c21 100644 --- a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj +++ b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj @@ -103,6 +103,7 @@ + diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs index 187939c5..3fc6185f 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs @@ -130,6 +130,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco } } + protected override Func SharingContentIsOnFeedbackFunc + { + get + { + return () => CodecStatus.Status.Conference.Presentation.Mode.BoolValue; + } + } + protected override Func MuteFeedbackFunc { get diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/PhonebookDataClasses.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/PhonebookDataClasses.cs index 9a3c0ff8..d7b4f152 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/PhonebookDataClasses.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/PhonebookDataClasses.cs @@ -319,7 +319,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec contact.Name = c.Name.Value; contact.ContactId = c.ContactId.Value; - contact.Title = c.Title.Value; + if (c.Title != null) + contact.Title = c.Title.Value; if(c.FolderId != null) { diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs index 8dafed19..69ecae86 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs @@ -366,8 +366,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco { set { - // If the incoming value is "Active" it sets the BoolValue true, otherwise sets it false - BoolValue = value == "On"; + // If the incoming value is "Sending" it sets the BoolValue true, otherwise sets it false + BoolValue = value == "Sending"; OnValueChanged(); } } diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs index 63288835..d41a0d6b 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs @@ -81,6 +81,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } string _SharingSource; + protected override Func SharingContentIsOnFeedbackFunc + { + get { return () => _SharingIsOn; } + } + bool _SharingIsOn; + protected override Func VolumeLevelFeedbackFunc { get { return () => _VolumeLevel; } @@ -180,6 +186,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec /// public override void StartSharing() { + _SharingIsOn = true; } /// @@ -187,11 +194,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec /// public override void StopSharing() { + _SharingIsOn = false; + SharingContentIsOnFeedback.FireUpdate(); } public override void StandbyActivate() { _StandbyIsOn = true; + SharingContentIsOnFeedback.FireUpdate(); } public override void StandbyDeactivate() diff --git a/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs index 37853236..9b97cb81 100644 --- a/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs +++ b/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs @@ -12,7 +12,7 @@ using PepperDash.Essentials.Devices.Common.Codec; namespace PepperDash.Essentials.Devices.Common.VideoCodec { public abstract class VideoCodecBase : Device, IRoutingInputsOutputs, - IUsageTracking, IHasDialer, IHasSharing, ICodecAudio, iCodecInfo + IUsageTracking, IHasDialer, IHasContentSharing, ICodecAudio, iCodecInfo { /// /// Fires when the status of any active, dialing, or incoming call changes or is new @@ -47,7 +47,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec abstract protected Func PrivacyModeIsOnFeedbackFunc { get; } abstract protected Func VolumeLevelFeedbackFunc { get; } abstract protected Func MuteFeedbackFunc { get; } - abstract protected Func SharingSourceFeedbackFunc { get; } abstract protected Func StandbyIsOnFeedbackFunc { get; } public List ActiveCalls { get; set; } @@ -56,7 +55,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec public bool ShowSelfViewByDefault { get; protected set; } - public bool AutoShareContentWhileInCall { get; protected set; } public bool IsReady { get; protected set; } @@ -68,6 +66,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc); MuteFeedback = new BoolFeedback(MuteFeedbackFunc); SharingSourceFeedback = new StringFeedback(SharingSourceFeedbackFunc); + SharingContentIsOnFeedback = new BoolFeedback(SharingContentIsOnFeedbackFunc); InputPorts = new RoutingPortCollection(); OutputPorts = new RoutingPortCollection(); @@ -170,7 +169,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec public abstract void StartSharing(); public abstract void StopSharing(); + public bool AutoShareContentWhileInCall { get; protected set; } + public StringFeedback SharingSourceFeedback { get; private set; } + public BoolFeedback SharingContentIsOnFeedback { get; private set; } + + abstract protected Func SharingSourceFeedbackFunc { get; } + abstract protected Func SharingContentIsOnFeedbackFunc { get; } + #endregion diff --git a/Essentials/PepperDashEssentials/ControlSystem.cs b/Essentials/PepperDashEssentials/ControlSystem.cs index 6c74b9bc..6aa94ab2 100644 --- a/Essentials/PepperDashEssentials/ControlSystem.cs +++ b/Essentials/PepperDashEssentials/ControlSystem.cs @@ -30,8 +30,8 @@ namespace PepperDash.Essentials /// public override void InitializeSystem() { - //CrestronConsole.AddNewConsoleCommand(s => GoWithLoad(), "go", "Reloads configuration file", - // ConsoleAccessLevelEnum.AccessOperator); + CrestronConsole.AddNewConsoleCommand(s => GoWithLoad(), "go", "Reloads configuration file", + ConsoleAccessLevelEnum.AccessOperator); //CrestronConsole.AddNewConsoleCommand(s => TearDown(), "ungo", "Unloads configuration file", // ConsoleAccessLevelEnum.AccessOperator); CrestronConsole.AddNewConsoleCommand(s => @@ -41,7 +41,7 @@ namespace PepperDash.Essentials }, "listtielines", "Prints out all tie lines", ConsoleAccessLevelEnum.AccessOperator); - GoWithLoad(); + //GoWithLoad(); } /// diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs index 1205c24a..c7fddf09 100644 --- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs +++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs @@ -214,7 +214,7 @@ namespace PepperDash.Essentials.UIDrivers.VC /// void SharingSourceFeedback_OutputChange(object sender, EventArgs e) { - if (!string.IsNullOrEmpty((sender as IHasSharing).SharingSourceFeedback.StringValue)) + if (!string.IsNullOrEmpty((sender as IHasContentSharing).SharingSourceFeedback.StringValue)) { // Source is being shared