Adds IHasZoomRoomLayouts interface. Update zStatus.Layout class to extend NotifiableObject

This commit is contained in:
Neil Dorin
2021-05-05 21:55:28 -06:00
parent 03b076c8eb
commit d6445861f5
3 changed files with 226 additions and 7 deletions

View File

@@ -19,4 +19,26 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
void LocalLayoutToggleSingleProminent();
void MinMaxLayoutToggle();
}
/// <summary>
/// Defines the requirements for Zoom Room layout control
/// </summary>
public interface IHasZoomRoomLayouts : IHasCodecLayouts
{
BoolFeedback LayoutViewIsOnFirstPage { get; }
BoolFeedback LayoutViewIsOnLastPage { get; }
BoolFeedback CanSwitchWallView { get; }
BoolFeedback CanSwitchSpeakerView { get; }
BoolFeedback CanSwitchShareOnAllScreens { get; }
BoolFeedback CanSwapContentWithThumbnail { get; }
List<ZoomRoom.eZoomRoomLayoutStyle> AvailableLayouts { get; }
void GetLayouts(); // Mot sure this is necessary if we're already subscribed to zStatus Call Layout
void SetLayout(ZoomRoom.eZoomRoomLayoutStyle layoutStyle);
void SwapContentWithThumbnail();
void LayoutTurnNextPage();
void LayoutTurnPreviousPage();
}
}