feat: Add IPresenterTrack and ISpeakerTrack interfaces

Introduced two new interfaces, `IPresenterTrack` and `ISpeakerTrack`, in the `PepperDash.Essentials.Devices.Common.Codec.Cisco` namespace. These interfaces provide properties and methods for managing presenter and speaker tracking functionalities in Cisco codecs, including availability, status feedback, and control methods.
This commit is contained in:
Neil Dorin
2025-06-17 16:47:09 -06:00
parent 3f5269de2f
commit 9b1dd099f6
2 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
using PepperDash.Core;
using PepperDash.Essentials.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Devices.Common.Codec.Cisco
{
/// <summary>
/// Describes the Presenter Track controls for a Cisco codec.
/// </summary>
public interface IPresenterTrack : IKeyed
{
bool PresenterTrackAvailability { get; }
BoolFeedback PresenterTrackAvailableFeedback { get; }
BoolFeedback PresenterTrackStatusOffFeedback { get; }
BoolFeedback PresenterTrackStatusFollowFeedback { get; }
BoolFeedback PresenterTrackStatusBackgroundFeedback { get; }
BoolFeedback PresenterTrackStatusPersistentFeedback { get; }
bool PresenterTrackStatus { get; }
void PresenterTrackOff();
void PresenterTrackFollow();
void PresenterTrackBackground();
void PresenterTrackPersistent();
}
}

View File

@@ -0,0 +1,25 @@
using PepperDash.Core;
using PepperDash.Essentials.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Devices.Common.Codec.Cisco
{
/// <summary>
/// Describes the available tracking modes for a Cisco codec
/// </summary>
public interface ISpeakerTrack : IKeyed
{
bool SpeakerTrackAvailability { get; }
BoolFeedback SpeakerTrackAvailableFeedback { get; }
bool SpeakerTrackStatus { get; }
void SpeakerTrackOff();
void SpeakerTrackOn();
}
}