diff --git a/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs index 72af49a5..864387cc 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs +++ b/Essentials Devices Common/Essentials Devices Common/VC/CiscoCodec/CiscoCodec.cs @@ -65,6 +65,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco } } + protected override Func SharingSourceFeedbackFunc + { + get { return () => "Fix me fuckers"; } + } + protected override Func MuteFeedbackFunc { get { return () => false; } diff --git a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs index 97f2f5e7..f802689e 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs +++ b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs @@ -18,10 +18,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec VolumeLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Volume={0}", _VolumeLevel); InCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "InCall={0}", _InCall); IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall); - ReceiveLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveLevel={0}", _ReceiveLevel); - ReceiveMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveMute={0}", _ReceiveMute); - TransmitLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitLevel={0}", _TransmitLevel); - TransmitMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitMute={0}", _TransmitMute); + //ReceiveLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveLevel={0}", _ReceiveLevel); + //ReceiveMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveMute={0}", _ReceiveMute); + //TransmitLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitLevel={0}", _TransmitLevel); + //TransmitMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitMute={0}", _TransmitMute); SharingSourceFeedback.OutputChange += (o, a) => Debug.Console(1, this, "SharingSource={0}", _SharingSource); } @@ -37,29 +37,29 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } bool _IncomingCall; - protected override Func TransmitLevelFeedbackFunc - { - get { return () => _TransmitLevel; } - } - int _TransmitLevel; + //protected override Func TransmitLevelFeedbackFunc + //{ + // get { return () => _TransmitLevel; } + //} + //int _TransmitLevel; - protected override Func TransmitMuteFeedbackFunc - { - get { return () => _TransmitMute; } - } - bool _TransmitMute; + //protected override Func TransmitMuteFeedbackFunc + //{ + // get { return () => _TransmitMute; } + //} + //bool _TransmitMute; - protected override Func ReceiveLevelFeedbackFunc - { - get { return () => _ReceiveLevel; } - } - int _ReceiveLevel; + //protected override Func ReceiveLevelFeedbackFunc + //{ + // get { return () => _ReceiveLevel; } + //} + //int _ReceiveLevel; - protected override Func ReceiveMuteFeedbackFunc - { - get { return () => _ReceiveMute; } - } - bool _ReceiveMute; + //protected override Func ReceiveMuteFeedbackFunc + //{ + // get { return () => _ReceiveMute; } + //} + //bool _ReceiveMute; protected override Func PrivacyModeFeedbackFunc { @@ -148,6 +148,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec public override void ExecuteSwitch(object selector) { Debug.Console(1, this, "ExecuteSwitch"); + _SharingSource = selector.ToString(); } @@ -184,84 +185,79 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec } - /// - /// - /// - public override void ReceiveMuteOff() - { - Debug.Console(1, this, "ReceiveMuteOff"); + ///// + ///// + ///// + //public override void ReceiveMuteOff() + //{ + // Debug.Console(1, this, "ReceiveMuteOff"); - if (!_ReceiveMute) - return; - _ReceiveMute = false; - ReceiveMuteIsOnFeedback.FireUpdate(); - } + // if (!_ReceiveMute) + // return; + // _ReceiveMute = false; + // ReceiveMuteIsOnFeedback.FireUpdate(); + //} - /// - /// - /// - public override void ReceiveMuteOn() - { - Debug.Console(1, this, "ReceiveMuteOn"); - if (_ReceiveMute) - return; - ReceiveMuteIsOnFeedback.FireUpdate(); - } + ///// + ///// + ///// + //public override void ReceiveMuteOn() + //{ + // Debug.Console(1, this, "ReceiveMuteOn"); + // if (_ReceiveMute) + // return; + // ReceiveMuteIsOnFeedback.FireUpdate(); + //} - /// - /// - /// - public override void ReceiveMuteToggle() - { - Debug.Console(1, this, "ReceiveMuteToggle"); + ///// + ///// + ///// + //public override void ReceiveMuteToggle() + //{ + // Debug.Console(1, this, "ReceiveMuteToggle"); - _ReceiveMute = !_ReceiveMute; - ReceiveMuteIsOnFeedback.FireUpdate(); - } + // _ReceiveMute = !_ReceiveMute; + // ReceiveMuteIsOnFeedback.FireUpdate(); + //} - /// - /// - /// - /// - public override void SetReceiveVolume(ushort level) - { - Debug.Console(1, this, "SetReceiveVolume: {0}", level); + ///// + ///// + ///// + ///// + //public override void SetReceiveVolume(ushort level) + //{ + // Debug.Console(1, this, "SetReceiveVolume: {0}", level); - } + //} - /// - /// - /// - public override void TransmitMuteOff() - { - Debug.Console(1, this, "TransmitMuteOff"); + ///// + ///// + ///// + //public override void TransmitMuteOff() + //{ + // Debug.Console(1, this, "TransmitMuteOff"); - if (!_TransmitMute) - return; - _TransmitMute = false; - TransmitMuteIsOnFeedback.FireUpdate(); - } + // if (!_TransmitMute) + // return; + // _TransmitMute = false; + // TransmitMuteIsOnFeedback.FireUpdate(); + //} - /// - /// - /// - public override void TransmitMuteOn() - { - Debug.Console(1, this, "TransmitMuteOn"); - if (_TransmitMute) - return; - TransmitMuteIsOnFeedback.FireUpdate(); - } + ///// + ///// + ///// + //public override void TransmitMuteOn() + //{ + // Debug.Console(1, this, "TransmitMuteOn"); + // if (_TransmitMute) + // return; + // TransmitMuteIsOnFeedback.FireUpdate(); + //} - public override void TransmitMuteToggle() - { + //public override void TransmitMuteToggle() + //{ - } - - public override void VolumeUp(bool pressRelease) - { - - } + //} public override void PrivacyModeOn() { diff --git a/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs.orig b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs.orig new file mode 100644 index 00000000..9699d0ae --- /dev/null +++ b/Essentials Devices Common/Essentials Devices Common/VC/MockVC/MockVC.cs.orig @@ -0,0 +1,319 @@ +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.VideoCodec +{ + public class MockVC : VideoCodecBase + { + public MockVC(string key, string name) + : base(key, name) + { + MuteFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Mute={0}", _IsMuted); + VolumeLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "Volume={0}", _VolumeLevel); + InCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "InCall={0}", _InCall); + IncomingCallFeedback.OutputChange += (o, a) => Debug.Console(1, this, "IncomingCall={0}", _IncomingCall); +<<<<<<< HEAD + ReceiveLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveLevel={0}", _ReceiveLevel); + ReceiveMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "ReceiveMute={0}", _ReceiveMute); + TransmitLevelFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitLevel={0}", _TransmitLevel); + TransmitMuteIsOnFeedback.OutputChange += (o, a) => Debug.Console(1, this, "TransmitMute={0}", _TransmitMute); + SharingSourceFeedback.OutputChange += (o, a) => Debug.Console(1, this, "SharingSource={0}", _SharingSource); +======= +>>>>>>> origin/feature/cisco-spark + } + + protected override Func InCallFeedbackFunc + { + get { return () => _InCall; } + } + bool _InCall; + + protected override Func IncomingCallFeedbackFunc + { + get { return () => _IncomingCall; } + } + bool _IncomingCall; + +<<<<<<< HEAD + protected override Func TransmitLevelFeedbackFunc + { + get { return () => _TransmitLevel; } + } + int _TransmitLevel; + + protected override Func TransmitMuteFeedbackFunc + { + get { return () => _TransmitMute; } + } + bool _TransmitMute; + + protected override Func ReceiveLevelFeedbackFunc + { + get { return () => _ReceiveLevel; } + } + int _ReceiveLevel; + + protected override Func ReceiveMuteFeedbackFunc + { + get { return () => _ReceiveMute; } + } + bool _ReceiveMute; +======= +>>>>>>> origin/feature/cisco-spark + + protected override Func PrivacyModeFeedbackFunc + { + get { return () => _PrivacyModeIsOn; } + } + bool _PrivacyModeIsOn; + + protected override Func VolumeLevelFeedbackFunc + { + get { return () => _VolumeLevel; } + } + int _VolumeLevel; + + protected override Func MuteFeedbackFunc + { + get { return () => _IsMuted; } + } + bool _IsMuted; + + protected override Func SharingSourceFeedbackFunc + { + get { return () => _SharingSource; } + } + string _SharingSource; + + /// + /// Dials, yo! + /// + public override void Dial(string s) + { + Debug.Console(1, this, "Dial: {0}", s); + + _InCall = true; + InCallFeedback.FireUpdate(); + } + + /// + /// + /// + public override void EndCall() + { + Debug.Console(1, this, "EndCall"); + _InCall = false; + InCallFeedback.FireUpdate(); + } + + /// + /// For a call from the test methods below + /// + public override void AcceptCall() + { + Debug.Console(1, this, "AcceptCall"); + } + + /// + /// For a call from the test methods below + /// + public override void RejectCall() + { + Debug.Console(1, this, "RejectCall"); + } + + /// + /// Makes horrible tones go out on the wire! + /// + /// + public override void SendDtmf(string s) + { + Debug.Console(1, this, "SendDTMF: {0}", s); + } + + public override void StartSharing() + { + + } + + public override void StopSharing() + { + + } + + /// + /// Called by routing to make it happen + /// + /// + public override void ExecuteSwitch(object selector) + { + Debug.Console(1, this, "ExecuteSwitch"); + + } + + public override void MuteOff() + { + _IsMuted = false; + MuteFeedback.FireUpdate(); + } + + public override void MuteOn() + { + _IsMuted = true; + MuteFeedback.FireUpdate(); + } + + public override void MuteToggle() + { + _IsMuted = !_IsMuted; + MuteFeedback.FireUpdate(); + } + + public override void SetVolume(ushort level) + { + _VolumeLevel = level; + VolumeLevelFeedback.FireUpdate(); + } + + public override void VolumeDown(bool pressRelease) +<<<<<<< HEAD + { + } + + public override void VolumeUp(bool pressRelease) + { + } + + + /// + /// + /// + public override void ReceiveMuteOff() + { + Debug.Console(1, this, "ReceiveMuteOff"); + + if (!_ReceiveMute) + return; + _ReceiveMute = false; + ReceiveMuteIsOnFeedback.FireUpdate(); + } + + /// + /// + /// + public override void ReceiveMuteOn() + { + Debug.Console(1, this, "ReceiveMuteOn"); + if (_ReceiveMute) + return; + ReceiveMuteIsOnFeedback.FireUpdate(); + } + + /// + /// + /// + public override void ReceiveMuteToggle() + { + Debug.Console(1, this, "ReceiveMuteToggle"); + + _ReceiveMute = !_ReceiveMute; + ReceiveMuteIsOnFeedback.FireUpdate(); + } + + /// + /// + /// + /// + public override void SetReceiveVolume(ushort level) + { + Debug.Console(1, this, "SetReceiveVolume: {0}", level); + + } + + /// + /// + /// + public override void TransmitMuteOff() + { + Debug.Console(1, this, "TransmitMuteOff"); + + if (!_TransmitMute) + return; + _TransmitMute = false; + TransmitMuteIsOnFeedback.FireUpdate(); + } + + /// + /// + /// + public override void TransmitMuteOn() + { + Debug.Console(1, this, "TransmitMuteOn"); + if (_TransmitMute) + return; + TransmitMuteIsOnFeedback.FireUpdate(); + } + + public override void TransmitMuteToggle() +======= +>>>>>>> origin/feature/cisco-spark + { + + } + + public override void VolumeUp(bool pressRelease) + { + + } + + public override void PrivacyModeOn() + { + Debug.Console(1, this, "PrivacyMuteOn"); + if (_PrivacyModeIsOn) + return; + _PrivacyModeIsOn = true; + PrivacyModeIsOnFeedback.FireUpdate(); + + } + + public override void PrivacyModeOff() + { + Debug.Console(1, this, "PrivacyMuteOff"); + if (!_PrivacyModeIsOn) + return; + _PrivacyModeIsOn = false; + PrivacyModeIsOnFeedback.FireUpdate(); + } + + public override void PrivacyModeToggle() + { + _PrivacyModeIsOn = !_PrivacyModeIsOn; + Debug.Console(1, this, "PrivacyMuteToggle: {0}", _PrivacyModeIsOn); + PrivacyModeIsOnFeedback.FireUpdate(); + } + + //******************************************************** + // SIMULATION METHODS + + public void TestIncomingCall(string url) + { + Debug.Console(1, this, "TestIncomingCall"); + + _IncomingCall = true; + IncomingCallFeedback.FireUpdate(); + } + + public void TestFarEndHangup() + { + Debug.Console(1, this, "TestFarEndHangup"); + + } + + } +} \ No newline at end of file diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs index da4a33a2..a3dd9aa0 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs +++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs @@ -13,6 +13,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec { #region IUsageTracking Members + /// + /// This object can be added by outside users of this class to provide usage tracking + /// for various services + /// public UsageTracking UsageTracker { get; set; } #endregion @@ -23,15 +27,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec #endregion - public BoolFeedback InCallFeedback { get; protected set; } - public BoolFeedback IncomingCallFeedback { get; protected set; } + public BoolFeedback InCallFeedback { get; private set; } + public BoolFeedback IncomingCallFeedback { get; private set; } abstract protected Func InCallFeedbackFunc { get; } abstract protected Func IncomingCallFeedbackFunc { get; } - abstract protected Func TransmitMuteFeedbackFunc { get; } - abstract protected Func TransmitLevelFeedbackFunc { get; } - abstract protected Func ReceiveMuteFeedbackFunc { get; } - abstract protected Func ReceiveLevelFeedbackFunc { get; } abstract protected Func PrivacyModeFeedbackFunc { get; } abstract protected Func VolumeLevelFeedbackFunc { get; } abstract protected Func MuteFeedbackFunc { get; } @@ -42,10 +42,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec { InCallFeedback = new BoolFeedback(InCallFeedbackFunc); IncomingCallFeedback = new BoolFeedback(IncomingCallFeedbackFunc); - ReceiveLevelFeedback = new IntFeedback(ReceiveLevelFeedbackFunc); - ReceiveMuteIsOnFeedback = new BoolFeedback(ReceiveMuteFeedbackFunc); - TransmitMuteIsOnFeedback = new BoolFeedback(TransmitMuteFeedbackFunc); - TransmitLevelFeedback = new IntFeedback(TransmitLevelFeedbackFunc); PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeFeedbackFunc); VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc); MuteFeedback = new BoolFeedback(MuteFeedbackFunc); @@ -56,6 +52,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec InCallFeedback.OutputChange += new EventHandler(InCallFeedback_OutputChange); } + /// + /// + /// + /// + /// void InCallFeedback_OutputChange(object sender, EventArgs e) { if (UsageTracker != null) @@ -84,7 +85,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec { InCallFeedback, IncomingCallFeedback, - PrivacyModeIsOnFeedback + PrivacyModeIsOnFeedback, + SharingSourceFeedback }; } } diff --git a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig index b0f956d0..a7d17c52 100644 --- a/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig +++ b/Essentials Devices Common/Essentials Devices Common/VC/VideoCodecBase.cs.orig @@ -9,7 +9,7 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials.Devices.Common.VideoCodec { - public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, IHasSharing, IBasicVolumeWithFeedback //, ICodecAudio + public abstract class VideoCodecBase : Device, IRoutingSinkWithSwitching, IUsageTracking, IHasDialer, IHasSharing, ICodecAudio { #region IUsageTracking Members @@ -28,26 +28,34 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec abstract protected Func InCallFeedbackFunc { get; } abstract protected Func IncomingCallFeedbackFunc { get; } +<<<<<<< HEAD abstract protected Func TransmitMuteFeedbackFunc { get; } + abstract protected Func TransmitLevelFeedbackFunc { get; } abstract protected Func ReceiveMuteFeedbackFunc { get; } + abstract protected Func ReceiveLevelFeedbackFunc { get; } +======= +>>>>>>> origin/feature/cisco-spark abstract protected Func PrivacyModeFeedbackFunc { get; } - -#warning WILL ADD TRANSMIT AND REVEICE LEVEL FUNCS AFTER MERGE abstract protected Func VolumeLevelFeedbackFunc { get; } abstract protected Func MuteFeedbackFunc { get; } + abstract protected Func SharingSourceFeedbackFunc { get; } public VideoCodecBase(string key, string name) : base(key, name) { InCallFeedback = new BoolFeedback(InCallFeedbackFunc); IncomingCallFeedback = new BoolFeedback(IncomingCallFeedbackFunc); +<<<<<<< HEAD + ReceiveLevelFeedback = new IntFeedback(ReceiveLevelFeedbackFunc); ReceiveMuteIsOnFeedback = new BoolFeedback(ReceiveMuteFeedbackFunc); TransmitMuteIsOnFeedback = new BoolFeedback(TransmitMuteFeedbackFunc); + TransmitLevelFeedback = new IntFeedback(TransmitLevelFeedbackFunc); +======= +>>>>>>> origin/feature/cisco-spark PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeFeedbackFunc); -#warning ADDING TX/RX FEEDBACKS HERE - VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc); MuteFeedback = new BoolFeedback(MuteFeedbackFunc); + SharingSourceFeedback = new StringFeedback(SharingSourceFeedbackFunc); InputPorts = new RoutingPortCollection(); @@ -82,8 +90,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec { InCallFeedback, IncomingCallFeedback, - ReceiveMuteIsOnFeedback, - TransmitMuteIsOnFeedback, PrivacyModeIsOnFeedback }; } @@ -93,25 +99,29 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec #region ICodecAudio Members - public IntFeedback ReceiveLevelFeedback { get; private set; } - public BoolFeedback ReceiveMuteIsOnFeedback { get; private set; } - public abstract void ReceiveMuteOff(); - public abstract void ReceiveMuteOn(); - public abstract void ReceiveMuteToggle(); - public abstract void SetReceiveVolume(ushort level); - - public IntFeedback TransmitLevelFeedback { get; private set; } - public BoolFeedback TransmitMuteIsOnFeedback { get; private set; } - public abstract void TransmitMuteOff(); - public abstract void TransmitMuteOn(); - public abstract void TransmitMuteToggle(); - public abstract void SetTransmitVolume(ushort level); - public abstract void PrivacyModeOn(); public abstract void PrivacyModeOff(); public abstract void PrivacyModeToggle(); public BoolFeedback PrivacyModeIsOnFeedback { get; private set; } + + public BoolFeedback MuteFeedback { get; private set; } + + public abstract void MuteOff(); + + public abstract void MuteOn(); + + public abstract void SetVolume(ushort level); + + public IntFeedback VolumeLevelFeedback { get; private set; } + + public abstract void MuteToggle(); + + public abstract void VolumeDown(bool pressRelease); + + + public abstract void VolumeUp(bool pressRelease); + #endregion #region IHasSharing Members @@ -123,42 +133,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec #endregion - #region IBasicVolumeWithFeedback Members - public BoolFeedback MuteFeedback { get; private set; } - - public abstract void MuteOff(); - - public abstract void MuteOn(); - - public abstract void SetVolume(ushort level); - - public IntFeedback VolumeLevelFeedback { get; private set; } - - #endregion - - #region IBasicVolumeControls Members - - public abstract void MuteToggle(); - -<<<<<<< HEAD - public virtual void VolumeDown(bool pressRelease) - { - - } - - public virtual void VolumeUp(bool pressRelease) - { - - } -======= - public abstract void VolumeDown(bool pressRelease); - - - public abstract void VolumeUp(bool pressRelease); - ->>>>>>> origin/feature/cisco-spark - - #endregion } } \ No newline at end of file diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz index 54027769..ae9fb33e 100644 Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll index 10c840fd..bfd8e389 100644 Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ