using System; using System.Collections.Generic; namespace PepperDash.Essentials.Core.Routing { /// /// The current sources for the room, keyed by eRoutingSignalType. /// This allows for multiple sources to be tracked, such as audio and video. /// /// /// 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. /// public interface ICurrentSources { /// /// Gets the current sources for the room, keyed by eRoutingSignalType. /// This dictionary contains the current source for each signal type, such as audio, video, and control signals. /// Dictionary CurrentSources { get; } /// /// 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, video, and control signals. /// Dictionary CurrentSourceKeys { get; } /// /// Event raised when the current sources change. /// event EventHandler CurrentSourcesChanged; /// /// Sets the current source for a specific signal type. /// This method updates the current source for the specified signal type and notifies any subscribers of the change. /// /// The signal type to update. /// The key for the source list. /// The source list item to set as the current source. void SetCurrentSource(eRoutingSignalType signalType, string sourceListKey, SourceListItem sourceListItem); } }