docs: complete XML documentation for all projects with inheritdoc tags

Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-07-22 15:53:01 +00:00
parent 260677a37f
commit 7987eb8f9b
485 changed files with 8099 additions and 2490 deletions

View File

@@ -6,91 +6,217 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
/// <summary>
/// Represents a CiscoCallHistory
/// </summary>
public class CiscoCallHistory
{
/// <summary>
/// Represents a CallbackNumber
/// </summary>
public class CallbackNumber
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a DisplayName
/// </summary>
public class DisplayName
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a LastOccurrenceStartTime
/// </summary>
public class LastOccurrenceStartTime
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public DateTime Value { get; set; }
}
/// <summary>
/// Represents a LastOccurrenceDaysAgo
/// </summary>
public class LastOccurrenceDaysAgo
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a LastOccurrenceHistoryId
/// </summary>
public class LastOccurrenceHistoryId
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a OccurrenceType
/// </summary>
public class OccurrenceType
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a IsAcknowledged
/// </summary>
public class IsAcknowledged
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a OccurrenceCount
/// </summary>
public class OccurrenceCount
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a Entry
/// </summary>
public class Entry
{
/// <summary>
/// Gets or sets the id
/// </summary>
public string id { get; set; }
/// <summary>
/// Gets or sets the CallbackNumber
/// </summary>
public CallbackNumber CallbackNumber { get; set; }
/// <summary>
/// Gets or sets the DisplayName
/// </summary>
public DisplayName DisplayName { get; set; }
/// <summary>
/// Gets or sets the LastOccurrenceStartTime
/// </summary>
public LastOccurrenceStartTime LastOccurrenceStartTime { get; set; }
/// <summary>
/// Gets or sets the LastOccurrenceDaysAgo
/// </summary>
public LastOccurrenceDaysAgo LastOccurrenceDaysAgo { get; set; }
/// <summary>
/// Gets or sets the LastOccurrenceHistoryId
/// </summary>
public LastOccurrenceHistoryId LastOccurrenceHistoryId { get; set; }
/// <summary>
/// Gets or sets the OccurrenceType
/// </summary>
public OccurrenceType OccurrenceType { get; set; }
/// <summary>
/// Gets or sets the IsAcknowledged
/// </summary>
public IsAcknowledged IsAcknowledged { get; set; }
/// <summary>
/// Gets or sets the OccurrenceCount
/// </summary>
public OccurrenceCount OccurrenceCount { get; set; }
}
/// <summary>
/// Represents a Offset
/// </summary>
public class Offset
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a Limit
/// </summary>
public class Limit
{
/// <summary>
/// Gets or sets the Value
/// </summary>
public string Value { get; set; }
}
/// <summary>
/// Represents a ResultInfo
/// </summary>
public class ResultInfo
{
/// <summary>
/// Gets or sets the Offset
/// </summary>
public Offset Offset { get; set; }
/// <summary>
/// Gets or sets the Limit
/// </summary>
public Limit Limit { get; set; }
}
/// <summary>
/// Represents a CallHistoryRecentsResult
/// </summary>
public class CallHistoryRecentsResult
{
/// <summary>
/// Gets or sets the status
/// </summary>
public string status { get; set; }
/// <summary>
/// Gets or sets the Entry
/// </summary>
public List<Entry> Entry { get; set; }
/// <summary>
/// Gets or sets the ResultInfo
/// </summary>
public ResultInfo ResultInfo { get; set; }
}
/// <summary>
/// Represents a CommandResponse
/// </summary>
public class CommandResponse
{
/// <summary>
/// Gets or sets the CallHistoryRecentsResult
/// </summary>
public CallHistoryRecentsResult CallHistoryRecentsResult { get; set; }
}
/// <summary>
/// Represents a RootObject
/// </summary>
public class RootObject
{
/// <summary>
/// Gets or sets the CommandResponse
/// </summary>
public CommandResponse CommandResponse { get; set; }
}
}

View File

@@ -68,7 +68,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Represents a room preset on a video codec. Typically stores camera position(s) and video routing. Can be recalled by Far End if enabled.
/// Represents a CodecRoomPreset
/// </summary>
public class CodecRoomPreset : PresetBase
{

View File

@@ -1,4 +1,7 @@
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{
/// <summary>
/// Enumeration of eExternalSourceMode values
/// </summary>
public enum eExternalSourceMode {Ready, NotReady, Hidden, Error}
}

View File

@@ -1,4 +1,7 @@
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{
/// <summary>
/// Enumeration of eExternalSourceType values
/// </summary>
public enum eExternalSourceType {camera, desktop, document_camera, mediaplayer, PC, whiteboard, other}
}

View File

@@ -21,12 +21,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
}
/// <summary>
/// Represents the information about a meeting in progress
/// Currently used for Zoom meetings
/// Represents a MeetingInfo
/// </summary>
public class MeetingInfo
{
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Id
/// </summary>
public string Id { get; private set; }
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
public string Name { get; private set; }
@@ -35,18 +37,39 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
[JsonProperty("password", NullValueHandling = NullValueHandling.Ignore)]
public string Password { get; private set; }
[JsonProperty("shareStatus", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the ShareStatus
/// </summary>
public string ShareStatus { get; private set; }
[JsonProperty("isHost", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IsHost
/// </summary>
public Boolean IsHost { get; private set; }
[JsonProperty("isSharingMeeting", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IsSharingMeeting
/// </summary>
public Boolean IsSharingMeeting { get; private set; }
[JsonProperty("waitingForHost", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the WaitingForHost
/// </summary>
public Boolean WaitingForHost { get; private set; }
[JsonProperty("isLocked", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IsLocked
/// </summary>
public Boolean IsLocked { get; private set; }
[JsonProperty("isRecording", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IsRecording
/// </summary>
public Boolean IsRecording { get; private set; }
[JsonProperty("canRecord", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the CanRecord
/// </summary>
public Boolean CanRecord { get; private set; }
@@ -66,8 +89,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
}
}
/// <summary>
/// Represents a MeetingInfoEventArgs
/// </summary>
public class MeetingInfoEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the Info
/// </summary>
public MeetingInfo Info { get; private set; }
public MeetingInfoEventArgs(MeetingInfo info)

View File

@@ -7,6 +7,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
/// <summary>
/// Defines the contract for IHasMeetingLock
/// </summary>
public interface IHasMeetingLock
{
BoolFeedback MeetingIsLockedFeedback { get; }

View File

@@ -7,6 +7,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
/// <summary>
/// Defines the contract for IHasMeetingRecording
/// </summary>
public interface IHasMeetingRecording
{
BoolFeedback MeetingIsRecordingFeedback { get; }
@@ -16,6 +19,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
void ToggleRecording();
}
/// <summary>
/// Defines the contract for IHasMeetingRecordingWithPrompt
/// </summary>
public interface IHasMeetingRecordingWithPrompt : IHasMeetingRecording
{
BoolFeedback RecordConsentPromptIsVisible { get; }

View File

@@ -42,9 +42,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
void ToggleVideoForParticipant(int userId);
}
/// <summary>
/// Describes the ability to mute and unmute a participant's audio in a meeting
/// </summary>
/// <summary>
/// Defines the contract for IHasParticipantAudioMute
/// </summary>
public interface IHasParticipantAudioMute : IHasParticipantVideoMute
{
/// <summary>
@@ -57,9 +57,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
void ToggleAudioForParticipant(int userId);
}
/// <summary>
/// Describes the ability to pin and unpin a participant in a meeting
/// </summary>
/// <summary>
/// Defines the contract for IHasParticipantPinUnpin
/// </summary>
public interface IHasParticipantPinUnpin : IHasParticipants
{
IntFeedback NumberOfScreensFeedback { get; }
@@ -70,6 +70,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
void ToggleParticipantPinState(int userId, int screenIndex);
}
/// <summary>
/// Represents a CodecParticipants
/// </summary>
public class CodecParticipants
{
private List<Participant> _currentParticipants;
@@ -99,6 +102,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
_currentParticipants = new List<Participant>();
}
/// <summary>
/// OnParticipantsChanged method
/// </summary>
public void OnParticipantsChanged()
{
var handler = ParticipantsListHasChanged;
@@ -109,12 +115,18 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
}
}
/// <summary>
/// Represents a call participant
/// </summary>
/// <summary>
/// Represents a Participant
/// </summary>
public class Participant
{
/// <summary>
/// Gets or sets the UserId
/// </summary>
public int UserId { get; set; }
/// <summary>
/// Gets or sets the IsHost
/// </summary>
public bool IsHost { get; set; }
public bool IsMyself { get; set; }
public string Name { get; set; }
@@ -122,8 +134,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
public bool CanUnmuteVideo { get; set; }
public bool VideoMuteFb { get; set; }
public bool AudioMuteFb { get; set; }
/// <summary>
/// Gets or sets the HandIsRaisedFb
/// </summary>
public bool HandIsRaisedFb { get; set; }
/// <summary>
/// Gets or sets the IsPinnedFb
/// </summary>
public bool IsPinnedFb { get; set; }
/// <summary>
/// Gets or sets the ScreenIndexIsPinnedToFb
/// </summary>
public int ScreenIndexIsPinnedToFb { get; set; }
public Participant()

View File

@@ -1,5 +1,8 @@
namespace PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces
{
/// <summary>
/// Defines the contract for IHasPresentationOnlyMeeting
/// </summary>
public interface IHasPresentationOnlyMeeting
{
void StartSharingOnlyMeeting();
@@ -9,6 +12,9 @@
void StartNormalMeetingFromSharingOnlyMeeting();
}
/// <summary>
/// Enumeration of eSharingMeetingMode values
/// </summary>
public enum eSharingMeetingMode
{
None,

View File

@@ -3,6 +3,9 @@ using PepperDash.Essentials.Devices.Common.VideoCodec;
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{
/// <summary>
/// Defines the contract for IHasSelfviewPosition
/// </summary>
public interface IHasSelfviewPosition
{
StringFeedback SelfviewPipPositionFeedback { get; }

View File

@@ -2,6 +2,9 @@
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
{
/// <summary>
/// Defines the contract for IHasSelfviewSize
/// </summary>
public interface IHasSelfviewSize
{
StringFeedback SelfviewPipSizeFeedback { get; }

View File

@@ -21,7 +21,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Describes a device that has Half Waek Mode capability
/// Defines the contract for IHasHalfWakeMode
/// </summary>
public interface IHasHalfWakeMode : IHasStandbyMode
{

View File

@@ -8,6 +8,9 @@ using PepperDash.Essentials.Devices.Common.Codec;
namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
/// <summary>
/// Defines the contract for IJoinCalls
/// </summary>
public interface IJoinCalls
{
void JoinCall(CodecActiveCallItem activeCall);

View File

@@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
public static class MockVideoCodecDirectory
{
/// <summary>
/// Enumeration of eFolderId values
/// </summary>
public enum eFolderId
{
UnitedStates,

View File

@@ -20,15 +20,36 @@ using Serilog.Events;
namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
/// <summary>
/// Represents a MockVC
/// </summary>
public class MockVC : VideoCodecBase, IRoutingSource, IHasCallHistory, IHasScheduleAwareness, IHasCallFavorites, IHasDirectory, IHasCodecCameras, IHasCameraAutoMode, IHasCodecRoomPresets
{
/// <summary>
/// Gets or sets the PropertiesConfig
/// </summary>
public MockVcPropertiesConfig PropertiesConfig;
/// <summary>
/// Gets or sets the CodecOsdIn
/// </summary>
public RoutingInputPort CodecOsdIn { get; private set; }
/// <summary>
/// Gets or sets the HdmiIn1
/// </summary>
public RoutingInputPort HdmiIn1 { get; private set; }
/// <summary>
/// Gets or sets the HdmiIn2
/// </summary>
public RoutingInputPort HdmiIn2 { get; private set; }
/// <summary>
/// Gets or sets the HdmiOut
/// </summary>
public RoutingOutputPort HdmiOut { get; private set; }
/// <summary>
/// Gets or sets the CallFavorites
/// </summary>
public CodecCallFavorites CallFavorites { get; private set; }
/// <summary>
@@ -137,8 +158,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Dials, yo!
/// Dial method
/// </summary>
/// <inheritdoc />
public override void Dial(string number)
{
Debug.LogMessage(LogEventLevel.Debug, this, "Dial: {0}", number);
@@ -155,6 +177,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}, 2000);
}
/// <summary>
/// Dial method
/// </summary>
/// <inheritdoc />
public override void Dial(Meeting meeting)
{
Debug.LogMessage(LogEventLevel.Debug, this, "Dial Meeting: {0}", meeting.Id);
@@ -174,8 +200,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
///
/// EndCall method
/// </summary>
/// <inheritdoc />
public override void EndCall(CodecActiveCallItem call)
{
Debug.LogMessage(LogEventLevel.Debug, this, "EndCall");
@@ -185,8 +212,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
///
/// EndAllCalls method
/// </summary>
/// <inheritdoc />
public override void EndAllCalls()
{
Debug.LogMessage(LogEventLevel.Debug, this, "EndAllCalls");
@@ -200,8 +228,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// For a call from the test methods below
/// AcceptCall method
/// </summary>
/// <inheritdoc />
public override void AcceptCall(CodecActiveCallItem call)
{
Debug.LogMessage(LogEventLevel.Debug, this, "AcceptCall");
@@ -211,8 +240,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// For a call from the test methods below
/// RejectCall method
/// </summary>
/// <inheritdoc />
public override void RejectCall(CodecActiveCallItem call)
{
Debug.LogMessage(LogEventLevel.Debug, this, "RejectCall");
@@ -225,6 +255,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
/// Makes horrible tones go out on the wire!
/// </summary>
/// <param name="s"></param>
/// <summary>
/// SendDtmf method
/// </summary>
public override void SendDtmf(string s)
{
Debug.LogMessage(LogEventLevel.Debug, this, "SendDTMF: {0}", s);
@@ -253,11 +286,18 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
_StandbyIsOn = true;
}
/// <summary>
/// StandbyDeactivate method
/// </summary>
/// <inheritdoc />
public override void StandbyDeactivate()
{
_StandbyIsOn = false;
}
/// <summary>
/// LinkToApi method
/// </summary>
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{
throw new NotImplementedException();
@@ -267,6 +307,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
/// Called by routing to make it happen
/// </summary>
/// <param name="selector"></param>
/// <summary>
/// ExecuteSwitch method
/// </summary>
/// <inheritdoc />
public override void ExecuteSwitch(object selector)
{
Debug.LogMessage(LogEventLevel.Debug, this, "ExecuteSwitch: {0}", selector);
@@ -304,6 +348,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
///
/// </summary>
/// <param name="level"></param>
/// <summary>
/// SetVolume method
/// </summary>
/// <inheritdoc />
public override void SetVolume(ushort level)
{
_VolumeLevel = level;
@@ -314,6 +362,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
///
/// </summary>
/// <param name="pressRelease"></param>
/// <summary>
/// VolumeDown method
/// </summary>
/// <inheritdoc />
public override void VolumeDown(bool pressRelease)
{
}
@@ -339,8 +391,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
///
/// PrivacyModeOff method
/// </summary>
/// <inheritdoc />
public override void PrivacyModeOff()
{
Debug.LogMessage(LogEventLevel.Debug, this, "PrivacyMuteOff");
@@ -351,8 +404,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
///
/// PrivacyModeToggle method
/// </summary>
/// <inheritdoc />
public override void PrivacyModeToggle()
{
_PrivacyModeIsOn = !_PrivacyModeIsOn;
@@ -367,6 +421,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
///
/// </summary>
/// <param name="url"></param>
/// <summary>
/// TestIncomingVideoCall method
/// </summary>
public void TestIncomingVideoCall(string url)
{
Debug.LogMessage(LogEventLevel.Debug, this, "TestIncomingVideoCall from {0}", url);
@@ -382,6 +439,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
///
/// </summary>
/// <param name="url"></param>
/// <summary>
/// TestIncomingAudioCall method
/// </summary>
public void TestIncomingAudioCall(string url)
{
Debug.LogMessage(LogEventLevel.Debug, this, "TestIncomingAudioCall from {0}", url);
@@ -393,7 +453,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
///
/// TestFarEndHangup method
/// </summary>
public void TestFarEndHangup()
{
@@ -406,6 +466,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public CodecCallHistory CallHistory { get; private set; }
/// <summary>
/// RemoveCallHistoryEntry method
/// </summary>
public void RemoveCallHistoryEntry(CodecCallHistory.CallHistoryEntry entry)
{
@@ -415,6 +478,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
#region IHasScheduleAwareness Members
/// <summary>
/// GetSchedule method
/// </summary>
public void GetSchedule()
{
@@ -487,6 +553,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
}
/// <summary>
/// SearchDirectory method
/// </summary>
public void SearchDirectory(string searchString)
{
var searchResults = new CodecDirectory();
@@ -507,6 +576,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
OnDirectoryResultReturned(searchResults);
}
/// <summary>
/// GetDirectoryFolderContents method
/// </summary>
public void GetDirectoryFolderContents(string folderId)
{
var folderDirectory = new CodecDirectory();
@@ -533,6 +605,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
OnDirectoryResultReturned(folderDirectory);
}
/// <summary>
/// SetCurrentDirectoryToRoot method
/// </summary>
public void SetCurrentDirectoryToRoot()
{
DirectoryBrowseHistory.Clear();
@@ -540,6 +615,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
OnDirectoryResultReturned(DirectoryRoot);
}
/// <summary>
/// GetDirectoryParentFolderContents method
/// </summary>
public void GetDirectoryParentFolderContents()
{
var currentDirectory = new CodecDirectory();
@@ -562,10 +640,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
OnDirectoryResultReturned(currentDirectory);
}
/// <summary>
/// Gets or sets the CurrentDirectoryResultIsNotDirectoryRoot
/// </summary>
public BoolFeedback CurrentDirectoryResultIsNotDirectoryRoot { get; private set; }
/// <summary>
/// Gets or sets the DirectoryBrowseHistory
/// </summary>
public List<CodecDirectory> DirectoryBrowseHistory { get; private set; }
/// <summary>
/// OnDirectoryResultReturned method
/// </summary>
public void OnDirectoryResultReturned(CodecDirectory result)
{
CurrentDirectoryResultIsNotDirectoryRoot.FireUpdate();
@@ -643,6 +730,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public event EventHandler<CameraSelectedEventArgs> CameraSelected;
/// <summary>
/// Gets or sets the Cameras
/// </summary>
public List<CameraBase> Cameras { get; private set; }
private CameraBase _selectedCamera;
@@ -670,8 +760,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
}
/// <summary>
/// Gets or sets the SelectedCameraFeedback
/// </summary>
public StringFeedback SelectedCameraFeedback { get; private set; }
/// <summary>
/// SelectCamera method
/// </summary>
public void SelectCamera(string key)
{
var camera = Cameras.FirstOrDefault(c => c.Key.ToLower().IndexOf(key.ToLower()) > -1);
@@ -688,8 +784,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
#region IHasFarEndCameraControl Members
/// <summary>
/// Gets or sets the FarEndCamera
/// </summary>
public CameraBase FarEndCamera { get; private set; }
/// <summary>
/// Gets or sets the ControllingFarEndCameraFeedback
/// </summary>
public BoolFeedback ControllingFarEndCameraFeedback { get; private set; }
#endregion
@@ -698,18 +800,27 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
private bool _CameraAutoModeIsOn;
/// <summary>
/// CameraAutoModeOn method
/// </summary>
public void CameraAutoModeOn()
{
_CameraAutoModeIsOn = true;
CameraAutoModeIsOnFeedback.FireUpdate();
}
/// <summary>
/// CameraAutoModeOff method
/// </summary>
public void CameraAutoModeOff()
{
_CameraAutoModeIsOn = false;
CameraAutoModeIsOnFeedback.FireUpdate();
}
/// <summary>
/// CameraAutoModeToggle method
/// </summary>
public void CameraAutoModeToggle()
{
if(_CameraAutoModeIsOn)
@@ -721,6 +832,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Gets or sets the CameraAutoModeIsOnFeedback
/// </summary>
public BoolFeedback CameraAutoModeIsOnFeedback {get; private set;}
#endregion
@@ -729,10 +843,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public event EventHandler<EventArgs> CodecRoomPresetsListHasChanged;
/// <summary>
/// Gets or sets the NearEndPresets
/// </summary>
public List<CodecRoomPreset> NearEndPresets { get; private set; }
/// <summary>
/// Gets or sets the FarEndRoomPresets
/// </summary>
public List<CodecRoomPreset> FarEndRoomPresets { get; private set; }
/// <summary>
/// CodecRoomPresetSelect method
/// </summary>
public void CodecRoomPresetSelect(int preset)
{
if (SelectedCamera is IAmFarEndCamera)
@@ -745,6 +868,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
}
/// <summary>
/// CodecRoomPresetStore method
/// </summary>
public void CodecRoomPresetStore(int preset, string description)
{
var editPreset = NearEndPresets.FirstOrDefault(p => p.ID.Equals(preset));
@@ -767,6 +893,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
SetConfig(Config);
}
/// <summary>
/// SelectFarEndPreset method
/// </summary>
public void SelectFarEndPreset(int i)
{
Debug.LogMessage(LogEventLevel.Debug, this, "Selecting Far End Preset: {0}", i);
@@ -786,7 +915,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Implementation for the mock VC
/// Represents a MockCodecInfo
/// </summary>
public class MockCodecInfo : VideoCodecInfo
{
@@ -801,38 +930,49 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
get { return "someE164alias"; }
}
/// <inheritdoc />
public override string H323Id
{
get { return "someH323Id"; }
}
/// <inheritdoc />
public override string IpAddress
{
get { return "xxx.xxx.xxx.xxx"; }
}
/// <inheritdoc />
public override string SipPhoneNumber
{
get { return "333-444-5555"; }
}
/// <inheritdoc />
public override string SipUri
{
get { return "mock@someurl.com"; }
}
/// <inheritdoc />
public override bool AutoAnswerEnabled
{
get { return _AutoAnswerEnabled; }
}
bool _AutoAnswerEnabled;
/// <summary>
/// SetAutoAnswer method
/// </summary>
public void SetAutoAnswer(bool value)
{
_AutoAnswerEnabled = value;
}
}
/// <summary>
/// Represents a MockVCFactory
/// </summary>
public class MockVCFactory : EssentialsDeviceFactory<MockVC>
{
public MockVCFactory()
@@ -840,6 +980,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
TypeNames = new List<string>() { "mockvc" };
}
/// <summary>
/// BuildDevice method
/// </summary>
/// <inheritdoc />
public override EssentialsDevice BuildDevice(DeviceConfig dc)
{
Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new MockVC Device");

View File

@@ -11,6 +11,9 @@ using Serilog.Events;
namespace PepperDash.Essentials.Devices.Common.Cameras
{
/// <summary>
/// Represents a MockVCCamera
/// </summary>
public class MockVCCamera : CameraBase, IHasCameraPtzControl, IHasCameraFocusControl, IBridgeAdvanced
{
protected VideoCodecBase ParentCodec { get; private set; }
@@ -26,6 +29,9 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraPtzControl Members
/// <summary>
/// PositionHome method
/// </summary>
public void PositionHome()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Resetting to home position");
@@ -35,16 +41,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraPanControl Members
/// <summary>
/// PanLeft method
/// </summary>
public void PanLeft()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Panning Left");
}
/// <summary>
/// PanRight method
/// </summary>
public void PanRight()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Panning Right");
}
/// <summary>
/// PanStop method
/// </summary>
public void PanStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Pan");
@@ -54,16 +69,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraTiltControl Members
/// <summary>
/// TiltDown method
/// </summary>
public void TiltDown()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Tilting Down");
}
/// <summary>
/// TiltUp method
/// </summary>
public void TiltUp()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Tilting Up");
}
/// <summary>
/// TiltStop method
/// </summary>
public void TiltStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Tilt");
@@ -73,16 +97,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraZoomControl Members
/// <summary>
/// ZoomIn method
/// </summary>
public void ZoomIn()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Zooming In");
}
/// <summary>
/// ZoomOut method
/// </summary>
public void ZoomOut()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Zooming Out");
}
/// <summary>
/// ZoomStop method
/// </summary>
public void ZoomStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Zoom");
@@ -92,21 +125,33 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraFocusControl Members
/// <summary>
/// FocusNear method
/// </summary>
public void FocusNear()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Focusing Near");
}
/// <summary>
/// FocusFar method
/// </summary>
public void FocusFar()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Focusing Far");
}
/// <summary>
/// FocusStop method
/// </summary>
public void FocusStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Focus");
}
/// <summary>
/// TriggerAutoFocus method
/// </summary>
public void TriggerAutoFocus()
{
Debug.LogMessage(LogEventLevel.Debug, this, "AutoFocus Triggered");
@@ -114,12 +159,18 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#endregion
/// <summary>
/// LinkToApi method
/// </summary>
public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{
LinkCameraToApi(this, trilist, joinStart, joinMapKey, bridge);
}
}
/// <summary>
/// Represents a MockFarEndVCCamera
/// </summary>
public class MockFarEndVCCamera : CameraBase, IHasCameraPtzControl, IAmFarEndCamera, IBridgeAdvanced
{
protected VideoCodecBase ParentCodec { get; private set; }
@@ -135,6 +186,9 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraPtzControl Members
/// <summary>
/// PositionHome method
/// </summary>
public void PositionHome()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Resetting to home position");
@@ -144,16 +198,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraPanControl Members
/// <summary>
/// PanLeft method
/// </summary>
public void PanLeft()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Panning Left");
}
/// <summary>
/// PanRight method
/// </summary>
public void PanRight()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Panning Right");
}
/// <summary>
/// PanStop method
/// </summary>
public void PanStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Pan");
@@ -163,16 +226,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraTiltControl Members
/// <summary>
/// TiltDown method
/// </summary>
public void TiltDown()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Tilting Down");
}
/// <summary>
/// TiltUp method
/// </summary>
public void TiltUp()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Tilting Up");
}
/// <summary>
/// TiltStop method
/// </summary>
public void TiltStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Tilt");
@@ -182,16 +254,25 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#region IHasCameraZoomControl Members
/// <summary>
/// ZoomIn method
/// </summary>
public void ZoomIn()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Zooming In");
}
/// <summary>
/// ZoomOut method
/// </summary>
public void ZoomOut()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Zooming Out");
}
/// <summary>
/// ZoomStop method
/// </summary>
public void ZoomStop()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Stopping Zoom");
@@ -199,6 +280,9 @@ namespace PepperDash.Essentials.Devices.Common.Cameras
#endregion
/// <summary>
/// LinkToApi method
/// </summary>
public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{
LinkCameraToApi(this, trilist, joinStart, joinMapKey, bridge);

View File

@@ -13,12 +13,21 @@ using PepperDash.Essentials.Devices.Common.Codec;
namespace PepperDash.Essentials.Devices.Common.VideoCodec
{
/// <summary>
/// Represents a MockVcPropertiesConfig
/// </summary>
public class MockVcPropertiesConfig
{
[JsonProperty("favorites")]
/// <summary>
/// Gets or sets the Favorites
/// </summary>
public List<CodecActiveCallItem> Favorites { get; set; }
[JsonProperty("presets")]
/// <summary>
/// Gets or sets the Presets
/// </summary>
public List<CodecRoomPreset> Presets { get; set; }
public MockVcPropertiesConfig()

View File

@@ -59,13 +59,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
ActiveCalls = new List<CodecActiveCallItem>();
}
/// <summary>
/// Gets or sets the Communication
/// </summary>
public IBasicCommunication Communication { get; protected set; }
/// <summary>
/// An internal pseudo-source that is routable and connected to the osd input
/// </summary>
/// <summary>
/// Gets or sets the OsdSource
/// </summary>
public DummyRoutingInputsDevice OsdSource { get; protected set; }
/// <summary>
/// Gets or sets the StandbyIsOnFeedback
/// </summary>
public BoolFeedback StandbyIsOnFeedback { get; private set; }
protected abstract Func<bool> PrivacyModeIsOnFeedbackFunc { get; }
@@ -75,11 +81,23 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public List<CodecActiveCallItem> ActiveCalls { get; set; }
/// <summary>
/// Gets or sets the ShowSelfViewByDefault
/// </summary>
public bool ShowSelfViewByDefault { get; protected set; }
/// <summary>
/// Gets or sets the SupportsCameraOff
/// </summary>
public bool SupportsCameraOff { get; protected set; }
/// <summary>
/// Gets or sets the SupportsCameraAutoMode
/// </summary>
public bool SupportsCameraAutoMode { get; protected set; }
/// <summary>
/// Gets or sets the IsReady
/// </summary>
public bool IsReady { get; protected set; }
public virtual List<Feedback> Feedbacks
@@ -102,9 +120,15 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public abstract void PrivacyModeOn();
public abstract void PrivacyModeOff();
public abstract void PrivacyModeToggle();
/// <summary>
/// Gets or sets the PrivacyModeIsOnFeedback
/// </summary>
public BoolFeedback PrivacyModeIsOnFeedback { get; private set; }
/// <summary>
/// Gets or sets the MuteFeedback
/// </summary>
public BoolFeedback MuteFeedback { get; private set; }
public abstract void MuteOff();
@@ -113,6 +137,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public abstract void SetVolume(ushort level);
/// <summary>
/// Gets or sets the VolumeLevelFeedback
/// </summary>
public IntFeedback VolumeLevelFeedback { get; private set; }
public abstract void MuteToggle();
@@ -129,9 +156,18 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public abstract void StartSharing();
public abstract void StopSharing();
/// <summary>
/// Gets or sets the AutoShareContentWhileInCall
/// </summary>
public bool AutoShareContentWhileInCall { get; protected set; }
/// <summary>
/// Gets or sets the SharingSourceFeedback
/// </summary>
public StringFeedback SharingSourceFeedback { get; private set; }
/// <summary>
/// Gets or sets the SharingContentIsOnFeedback
/// </summary>
public BoolFeedback SharingContentIsOnFeedback { get; private set; }
#endregion
@@ -161,24 +197,33 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public abstract void AcceptCall(CodecActiveCallItem call);
public abstract void RejectCall(CodecActiveCallItem call);
public abstract void SendDtmf(string s);
/// <summary>
/// SendDtmf method
/// </summary>
/// <inheritdoc />
public virtual void SendDtmf(string s, CodecActiveCallItem call) { }
#endregion
#region IRoutingInputsOutputs Members
/// <summary>
/// Gets or sets the InputPorts
/// </summary>
public RoutingPortCollection<RoutingInputPort> InputPorts { get; private set; }
/// <summary>
/// Gets or sets the OutputPorts
/// </summary>
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
#endregion
#region IUsageTracking Members
/// <summary>
/// This object can be added by outside users of this class to provide usage tracking
/// for various services
/// </summary>
/// <summary>
/// Gets or sets the UsageTracker
/// </summary>
public UsageTracking UsageTracker { get; set; }
#endregion
@@ -192,6 +237,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public event EventHandler<EventArgs> IsReadyChange;
public abstract void Dial(Meeting meeting);
/// <summary>
/// Dial method
/// </summary>
/// <inheritdoc />
public virtual void Dial(IInvitableContact contact)
{
}
@@ -258,9 +307,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
// **** DEBUGGING THINGS ****
/// <summary>
///
/// </summary>
/// <summary>
/// ListCalls method
/// </summary>
/// <inheritdoc />
public virtual void ListCalls()
{
Debug.LogMessage(LogEventLevel.Debug, this, "Active Calls:");
@@ -879,6 +929,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
// TODO [ ] hotfix/videocodecbase-max-meeting-xsig-set
/// <summary>
/// Gets or sets the MeetingsToDisplayFeedback
/// </summary>
public IntFeedback MeetingsToDisplayFeedback { get; set; }
private string UpdateMeetingsListXSig(List<Meeting> meetings)
@@ -1874,9 +1927,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
/// <summary>
/// Used to track the status of syncronizing the phonebook values when connecting to a codec or refreshing the phonebook info
/// </summary>
/// <summary>
/// Represents a CodecPhonebookSyncState
/// </summary>
public class CodecPhonebookSyncState : IKeyed
{
private bool _InitialSyncComplete;
@@ -1901,24 +1954,45 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
}
/// <summary>
/// Gets or sets the InitialPhonebookFoldersWasReceived
/// </summary>
public bool InitialPhonebookFoldersWasReceived { get; private set; }
/// <summary>
/// Gets or sets the NumberOfContactsWasReceived
/// </summary>
public bool NumberOfContactsWasReceived { get; private set; }
/// <summary>
/// Gets or sets the PhonebookRootEntriesWasRecieved
/// </summary>
public bool PhonebookRootEntriesWasRecieved { get; private set; }
/// <summary>
/// Gets or sets the PhonebookHasFolders
/// </summary>
public bool PhonebookHasFolders { get; private set; }
/// <summary>
/// Gets or sets the NumberOfContacts
/// </summary>
public int NumberOfContacts { get; private set; }
#region IKeyed Members
/// <summary>
/// Gets or sets the Key
/// </summary>
public string Key { get; private set; }
#endregion
public event EventHandler<EventArgs> InitialSyncCompleted;
/// <summary>
/// InitialPhonebookFoldersReceived method
/// </summary>
public void InitialPhonebookFoldersReceived()
{
InitialPhonebookFoldersWasReceived = true;
@@ -1926,6 +2000,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
CheckSyncStatus();
}
/// <summary>
/// PhonebookRootEntriesReceived method
/// </summary>
public void PhonebookRootEntriesReceived()
{
PhonebookRootEntriesWasRecieved = true;
@@ -1933,6 +2010,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
CheckSyncStatus();
}
/// <summary>
/// SetPhonebookHasFolders method
/// </summary>
public void SetPhonebookHasFolders(bool value)
{
PhonebookHasFolders = value;
@@ -1940,6 +2020,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
Debug.LogMessage(LogEventLevel.Debug, this, "Phonebook has folders: {0}", PhonebookHasFolders);
}
/// <summary>
/// SetNumberOfContacts method
/// </summary>
public void SetNumberOfContacts(int contacts)
{
NumberOfContacts = contacts;
@@ -1950,6 +2033,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
CheckSyncStatus();
}
/// <summary>
/// CodecDisconnected method
/// </summary>
public void CodecDisconnected()
{
InitialPhonebookFoldersWasReceived = false;
@@ -1972,11 +2058,17 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
}
}
/// <summary>
/// Represents a codec command that might need to have a friendly label applied for UI feedback purposes
/// Represents a CodecCommandWithLabel
/// </summary>
public class CodecCommandWithLabel
{
/// <summary>
/// Gets or sets the Command
/// </summary>
public string Command { get; private set; }
/// <summary>
/// Gets or sets the Label
/// </summary>
public string Label { get; private set; }
public CodecCommandWithLabel(string command, string label)