Added Fusion support for EssentialsHuddleVtc1Room (Cisco Spark)

This commit is contained in:
Neil Dorin
2017-10-19 15:12:25 -06:00
parent b301df6910
commit dc53b293f1
6 changed files with 405 additions and 68 deletions

View File

@@ -27,14 +27,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{
public event EventHandler<DirectoryEventArgs> DirectoryResultReturned;
public IBasicCommunication Communication { get; private set; }
public CommunicationGather PortGather { get; private set; }
public CommunicationGather JsonGather { get; private set; }
public StatusMonitorBase CommunicationMonitor { get; private set; }
public BoolFeedback StandbyIsOnFeedback { get; private set; }
public BoolFeedback RoomIsOccupiedFeedback { get; private set; }
public IntFeedback PeopleCountFeedback { get; private set; }
@@ -114,7 +111,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
}
}
protected Func<bool> StandbyStateFeedbackFunc
protected override Func<bool> StandbyIsOnFeedbackFunc
{
get
{
@@ -230,7 +227,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
public CiscoSparkCodec(string key, string name, IBasicCommunication comm, CiscoSparkCodecPropertiesConfig props )
: base(key, name)
{
StandbyIsOnFeedback = new BoolFeedback(StandbyStateFeedbackFunc);
RoomIsOccupiedFeedback = new BoolFeedback(RoomIsOccupiedFeedbackFunc);
PeopleCountFeedback = new IntFeedback(PeopleCountFeedbackFunc);
SpeakerTrackIsOnFeedback = new BoolFeedback(SpeakerTrackIsOnFeedbackFunc);
@@ -1080,7 +1076,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
/// <summary>
/// Puts the codec in standby mode
/// </summary>
public void StandbyActivate()
public override void StandbyActivate()
{
SendText("xCommand Standby Activate");
}
@@ -1088,7 +1084,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
/// <summary>
/// Wakes the codec from standby
/// </summary>
public void StandbyDeactivate()
public override void StandbyDeactivate()
{
SendText("xCommand Standby Deactivate");
}

View File

@@ -87,6 +87,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
int _VolumeLevel;
protected override Func<bool> StandbyIsOnFeedbackFunc
{
get { return () => _StandbyIsOn; }
}
bool _StandbyIsOn;
/// <summary>
/// Dials, yo!
/// </summary>
@@ -182,6 +189,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
}
public override void StandbyActivate()
{
_StandbyIsOn = true;
}
public override void StandbyDeactivate()
{
_StandbyIsOn = false;
}
/// <summary>
/// Called by routing to make it happen
/// </summary>

View File

@@ -21,6 +21,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public event EventHandler<EventArgs> IsReadyChange;
public IBasicCommunication Communication { get; protected set; }
#region IUsageTracking Members
/// <summary>
@@ -40,10 +42,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
/// </summary>
public bool IsInCall { get { return ActiveCalls.Any(c => c.IsActiveCall); } }
public BoolFeedback StandbyIsOnFeedback { get; private set; }
abstract protected Func<bool> PrivacyModeIsOnFeedbackFunc { get; }
abstract protected Func<int> VolumeLevelFeedbackFunc { get; }
abstract protected Func<bool> MuteFeedbackFunc { get; }
abstract protected Func<string> SharingSourceFeedbackFunc { get; }
abstract protected Func<bool> StandbyIsOnFeedbackFunc { get; }
public List<CodecActiveCallItem> ActiveCalls { get; set; }
@@ -58,6 +63,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public VideoCodecBase(string key, string name)
: base(key, name)
{
StandbyIsOnFeedback = new BoolFeedback(StandbyIsOnFeedbackFunc);
PrivacyModeIsOnFeedback = new BoolFeedback(PrivacyModeIsOnFeedbackFunc);
VolumeLevelFeedback = new IntFeedback(VolumeLevelFeedbackFunc);
MuteFeedback = new BoolFeedback(MuteFeedbackFunc);
@@ -180,6 +186,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
Debug.Console(1, this, "\n{0}\n", sb.ToString());
}
public abstract void StandbyActivate();
public abstract void StandbyDeactivate();
}