feat: Add new messengers for various device interfaces and remove VideoCodecBaseMessenger

- Implemented IHasMeetingInfoMessenger to handle meeting information updates.
- Created IHasReadyMessenger for devices indicating readiness status.
- Added IHasStandbyModeMessenger to manage standby mode actions.
- Introduced IPrivacyMessenger for privacy mode control.
- Developed IVideoCodecInfoMessenger to provide codec information.
- Removed the obsolete VideoCodecBaseMessenger class.
- Updated MessengerFactoryRegistry to register new messengers for IHasReady, IHasMeetingInfo, IHasStartMeeting, IHasStandbyMode, IPrivacy, and IVideoCodecInfo interfaces.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Neil Dorin 2026-05-08 12:10:56 -06:00
parent b41c30cdd0
commit 91aa0efa5f
22 changed files with 1197 additions and 567 deletions

View file

@ -0,0 +1,21 @@
using System.Collections.Generic;
namespace PepperDash.Essentials.Devices.Common.Codec;
/// <summary>
/// Defines call control functionality for a codec, extending the base dialer interface
/// with active call list access and meeting dialing.
/// </summary>
public interface ICodecCallControls : IHasDialer
{
/// <summary>
/// Gets the list of currently active, dialing, or incoming calls
/// </summary>
List<CodecActiveCallItem> ActiveCalls { get; }
/// <summary>
/// Dials the specified meeting
/// </summary>
/// <param name="meeting">The meeting to dial</param>
void Dial(Meeting meeting);
}

View file

@ -53,5 +53,7 @@ public interface IHasDialer
/// Gets a value indicating whether the device is currently in a call
/// </summary>
bool IsInCall { get; }
}