feat: ICurrentSources interface to allow for tracking breakaway routing

This commit is contained in:
Andrew Welker
2025-07-17 09:15:25 -05:00
parent ddbcc13c50
commit 9813673b66
6 changed files with 309 additions and 114 deletions

View File

@@ -0,0 +1,28 @@
using System.Collections.Generic;
namespace PepperDash.Essentials.Core.Routing
{
/// <summary>
/// The current sources for the room, keyed by eRoutingSignalType.
/// This allows for multiple sources to be tracked, such as audio and video.
/// </summary>
/// <remarks>
/// This interface is used to provide access to the current sources in a room,
/// allowing for more complex routing scenarios where multiple signal types are involved.
/// </remarks>
public interface ICurrentSources
{
/// <summary>
/// Gets the current sources for the room, keyed by eRoutingSignalType.
/// This dictionary contains the current source for each signal type, such as audio, video,
/// </summary>
Dictionary<eRoutingSignalType, SourceListItem> CurrentSources { get; }
/// <summary>
/// Gets the current source keys for the room, keyed by eRoutingSignalType.
/// This dictionary contains the keys for the current source for each signal type, such as audio,
/// </summary>
Dictionary<eRoutingSignalType, string> CurrentSourceKeys { get; }
}
}