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

@@ -12,33 +12,60 @@ using Newtonsoft.Json.Converters;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Represents a CodecActiveCallItem
/// </summary>
public class CodecActiveCallItem
{
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Name
/// </summary>
public string Name { get; set; }
[JsonProperty("number", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Number
/// </summary>
public string Number { get; set; }
[JsonProperty("type", NullValueHandling = NullValueHandling.Ignore)]
[JsonConverter(typeof(StringEnumConverter))]
/// <summary>
/// Gets or sets the Type
/// </summary>
public eCodecCallType Type { get; set; }
[JsonProperty("status", NullValueHandling = NullValueHandling.Ignore)]
[JsonConverter(typeof(StringEnumConverter))]
/// <summary>
/// Gets or sets the Status
/// </summary>
public eCodecCallStatus Status { get; set; }
[JsonProperty("direction", NullValueHandling = NullValueHandling.Ignore)]
[JsonConverter(typeof(StringEnumConverter))]
/// <summary>
/// Gets or sets the Direction
/// </summary>
public eCodecCallDirection Direction { get; set; }
[JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Id
/// </summary>
public string Id { get; set; }
[JsonProperty("isOnHold", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the IsOnHold
/// </summary>
public bool IsOnHold { get; set; }
[JsonProperty("duration", NullValueHandling = NullValueHandling.Ignore)]
/// <summary>
/// Gets or sets the Duration
/// </summary>
public TimeSpan Duration { get; set; }
//public object CallMetaData { get; set; }
@@ -61,10 +88,13 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
///
/// Represents a CodecCallStatusItemChangeEventArgs
/// </summary>
public class CodecCallStatusItemChangeEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the CallItem
/// </summary>
public CodecActiveCallItem CallItem { get; private set; }
public CodecCallStatusItemChangeEventArgs(CodecActiveCallItem item)

View File

@@ -6,6 +6,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Defines the contract for IHasCallHold
/// </summary>
public interface IHasCallHold
{
/// <summary>

View File

@@ -8,6 +8,9 @@ using PepperDash.Essentials.Devices.Common.VideoCodec.Cisco;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Defines the contract for IHasExternalSourceSwitching
/// </summary>
public interface IHasExternalSourceSwitching
{
bool ExternalSourceListEnabled { get; }

View File

@@ -7,11 +7,17 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Enumeration of eCodecCallDirection values
/// </summary>
public enum eCodecCallDirection
{
Unknown = 0, Incoming, Outgoing
}
/// <summary>
/// Represents a CodecCallDirection
/// </summary>
public class CodecCallDirection
{
/// <summary>
@@ -19,6 +25,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
/// <summary>
/// ConvertToDirectionEnum method
/// </summary>
public static eCodecCallDirection ConvertToDirectionEnum(string s)
{
switch (s.ToLower())

View File

@@ -6,6 +6,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Enumeration of eCodecCallStatus values
/// </summary>
public enum eCodecCallStatus
{
Unknown = 0,
@@ -23,6 +26,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
/// Represents a CodecCallStatus
/// </summary>
public class CodecCallStatus
{
@@ -31,6 +37,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
/// <summary>
/// ConvertToStatusEnum method
/// </summary>
public static eCodecCallStatus ConvertToStatusEnum(string s)
{
switch (s)

View File

@@ -7,6 +7,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Enumeration of eCodecCallType values
/// </summary>
public enum eCodecCallType
{
Unknown = 0,
@@ -16,6 +19,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
ForwardAllCall
}
/// <summary>
/// Represents a CodecCallType
/// </summary>
public class CodecCallType
{
@@ -24,6 +30,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
/// <summary>
/// ConvertToTypeEnum method
/// </summary>
public static eCodecCallType ConvertToTypeEnum(string s)
{
switch (s)

View File

@@ -6,6 +6,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Enumeration of eMeetingPrivacy values
/// </summary>
public enum eMeetingPrivacy
{
Unknown = 0,
@@ -13,6 +16,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
Private
}
/// <summary>
/// Represents a CodecCallPrivacy
/// </summary>
public class CodecCallPrivacy
{
/// <summary>
@@ -20,6 +26,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
/// <summary>
/// ConvertToDirectionEnum method
/// </summary>
public static eMeetingPrivacy ConvertToDirectionEnum(string s)
{
switch (s.ToLower())

View File

@@ -6,16 +6,22 @@ using Crestron.SimplSharp;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Defines the contract for IHasCallFavorites
/// </summary>
public interface IHasCallFavorites
{
CodecCallFavorites CallFavorites { get; }
}
/// <summary>
/// Represents favorites entries for a codec device
/// Represents a CodecCallFavorites
/// </summary>
public class CodecCallFavorites
{
/// <summary>
/// Gets or sets the Favorites
/// </summary>
public List<CodecActiveCallItem> Favorites { get; set; }
public CodecCallFavorites()

View File

@@ -10,6 +10,9 @@ using Newtonsoft.Json.Converters;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Defines the contract for IHasCallHistory
/// </summary>
public interface IHasCallHistory
{
CodecCallHistory CallHistory { get; }
@@ -17,6 +20,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
void RemoveCallHistoryEntry(CodecCallHistory.CallHistoryEntry entry);
}
/// <summary>
/// Enumeration of eCodecOccurrenceType values
/// </summary>
public enum eCodecOccurrenceType
{
Unknown = 0,
@@ -26,12 +32,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
/// Represents the recent call history for a codec device
/// Represents a CodecCallHistory
/// </summary>
public class CodecCallHistory
{
public event EventHandler<EventArgs> RecentCallsListHasChanged;
/// <summary>
/// Gets or sets the RecentCalls
/// </summary>
public List<CallHistoryEntry> RecentCalls { get; private set; }
/// <summary>
@@ -57,6 +66,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
/// <summary>
/// RemoveEntry method
/// </summary>
public void RemoveEntry(CallHistoryEntry entry)
{
RecentCalls.Remove(entry);
@@ -64,12 +76,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
/// Generic call history entry, not device specific
/// Represents a CallHistoryEntry
/// </summary>
public class CallHistoryEntry : CodecActiveCallItem
{
[JsonConverter(typeof(IsoDateTimeConverter))]
[JsonProperty("startTime")]
/// <summary>
/// Gets or sets the StartTime
/// </summary>
public DateTime StartTime { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
[JsonProperty("occurrenceType")]
@@ -83,6 +98,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// </summary>
/// <param name="entries"></param>
/// <returns></returns>
/// <summary>
/// ConvertCiscoCallHistoryToGeneric method
/// </summary>
public void ConvertCiscoCallHistoryToGeneric(List<CiscoCallHistory.Entry> entries)
{
var genericEntries = new List<CallHistoryEntry>();
@@ -112,6 +130,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// Takes the Cisco occurence type and converts it to the matching enum
/// </summary>
/// <param name="s"></param>
/// <summary>
/// ConvertToOccurenceTypeEnum method
/// </summary>
public eCodecOccurrenceType ConvertToOccurenceTypeEnum(string s)
{
switch (s)

View File

@@ -10,6 +10,9 @@ using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Devices.Common.Codec
{
/// <summary>
/// Defines the contract for IHasContentSharing
/// </summary>
public interface IHasContentSharing
{
BoolFeedback SharingContentIsOnFeedback { get; }

View File

@@ -40,18 +40,27 @@ namespace PepperDash.Essentials.Devices.Common.Codec
BoolFeedback CurrentDirectoryResultIsNotDirectoryRoot { get; }
}
/// <summary>
/// Defines the contract for IHasDirectoryHistoryStack
/// </summary>
public interface IHasDirectoryHistoryStack : IHasDirectory
{
Stack<CodecDirectory> DirectoryBrowseHistoryStack { get; }
}
/// <summary>
///
/// </summary>
/// <summary>
/// Represents a DirectoryEventArgs
/// </summary>
public class DirectoryEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the Directory
/// </summary>
public CodecDirectory Directory { get; set; }
/// <summary>
/// Gets or sets the DirectoryIsOnRoot
/// </summary>
public bool DirectoryIsOnRoot { get; set; }
}
@@ -89,6 +98,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// Used to store the ID of the current folder for CurrentDirectoryResults
/// </summary>
[JsonProperty("resultsFolderId")]
/// <summary>
/// Gets or sets the ResultsFolderId
/// </summary>
public string ResultsFolderId { get; set; }
public CodecDirectory()
@@ -100,6 +112,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// Adds folders to the directory
/// </summary>
/// <param name="folders"></param>
/// <summary>
/// AddFoldersToDirectory method
/// </summary>
public void AddFoldersToDirectory(List<DirectoryItem> folders)
{
if(folders != null)
@@ -112,6 +127,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// Adds contacts to the directory
/// </summary>
/// <param name="contacts"></param>
/// <summary>
/// AddContactsToDirectory method
/// </summary>
public void AddContactsToDirectory(List<DirectoryItem> contacts)
{
if(contacts != null)
@@ -124,6 +142,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
/// Filters the CurrentDirectoryResults by the predicate
/// </summary>
/// <param name="predicate"></param>
/// <summary>
/// FilterContacts method
/// </summary>
public void FilterContacts(Func<DirectoryItem, bool> predicate)
{
CurrentDirectoryResults = CurrentDirectoryResults.Where(predicate).ToList();
@@ -156,7 +177,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
/// Used to decorate a contact to indicate it can be invided to a meeting
/// Defines the contract for IInvitableContact
/// </summary>
public interface IInvitableContact
{
@@ -175,11 +196,14 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
/// <summary>
/// Represents an item in the directory
/// </summary>
/// <summary>
/// Represents a DirectoryItem
/// </summary>
public class DirectoryItem : ICloneable
{
/// <summary>
/// Clone method
/// </summary>
public object Clone()
{
return this.MemberwiseClone();
@@ -189,18 +213,27 @@ namespace PepperDash.Essentials.Devices.Common.Codec
public string FolderId { get; set; }
[JsonProperty("name")]
/// <summary>
/// Gets or sets the Name
/// </summary>
public string Name { get; set; }
[JsonProperty("parentFolderId")]
/// <summary>
/// Gets or sets the ParentFolderId
/// </summary>
public string ParentFolderId { get; set; }
}
/// <summary>
/// Represents a folder type DirectoryItem
/// </summary>
/// <summary>
/// Represents a DirectoryFolder
/// </summary>
public class DirectoryFolder : DirectoryItem
{
[JsonProperty("contacts")]
/// <summary>
/// Gets or sets the Contacts
/// </summary>
public List<DirectoryContact> Contacts { get; set; }
@@ -210,12 +243,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
/// <summary>
/// Represents a contact type DirectoryItem
/// </summary>
/// <summary>
/// Represents a DirectoryContact
/// </summary>
public class DirectoryContact : DirectoryItem
{
[JsonProperty("contactId")]
/// <summary>
/// Gets or sets the ContactId
/// </summary>
public string ContactId { get; set; }
[JsonProperty("title")]
@@ -230,12 +266,15 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
/// <summary>
/// Represents a method of contact for a contact
/// </summary>
/// <summary>
/// Represents a ContactMethod
/// </summary>
public class ContactMethod
{
[JsonProperty("contactMethodId")]
/// <summary>
/// Gets or sets the ContactMethodId
/// </summary>
public string ContactMethodId { get; set; }
[JsonProperty("number")]
@@ -243,16 +282,22 @@ namespace PepperDash.Essentials.Devices.Common.Codec
[JsonProperty("device")]
[JsonConverter(typeof(StringEnumConverter))]
/// <summary>
/// Gets or sets the Device
/// </summary>
public eContactMethodDevice Device { get; set; }
[JsonProperty("callType")]
[JsonConverter(typeof(StringEnumConverter))]
/// <summary>
/// Gets or sets the CallType
/// </summary>
public eContactMethodCallType CallType { get; set; }
}
/// <summary>
///
/// </summary>
/// <summary>
/// Enumeration of eContactMethodDevice values
/// </summary>
public enum eContactMethodDevice
{
Unknown = 0,
@@ -262,9 +307,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
Video
}
/// <summary>
///
/// </summary>
/// <summary>
/// Enumeration of eContactMethodCallType values
/// </summary>
public enum eContactMethodCallType
{
Unknown = 0,

View File

@@ -14,6 +14,9 @@ using Serilog.Events;
namespace PepperDash.Essentials.Devices.Common.Codec
{
[Flags]
/// <summary>
/// Enumeration of eMeetingEventChangeType values
/// </summary>
public enum eMeetingEventChangeType
{
Unknown = 0,
@@ -23,6 +26,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
MeetingEnd = 8
}
/// <summary>
/// Defines the contract for IHasScheduleAwareness
/// </summary>
public interface IHasScheduleAwareness
{
CodecScheduleAwareness CodecSchedule { get; }
@@ -30,6 +36,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
void GetSchedule();
}
/// <summary>
/// Represents a CodecScheduleAwareness
/// </summary>
public class CodecScheduleAwareness
{
List<Meeting> _meetings;
@@ -147,7 +156,7 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
/// <summary>
/// Generic class to represent a meeting (Cisco or Polycom OBTP or Fusion)
/// Represents a Meeting
/// </summary>
public class Meeting
{
@@ -159,8 +168,14 @@ namespace PepperDash.Essentials.Devices.Common.Codec
[JsonProperty("organizer")]
public string Organizer { get; set; }
[JsonProperty("title")]
/// <summary>
/// Gets or sets the Title
/// </summary>
public string Title { get; set; }
[JsonProperty("agenda")]
/// <summary>
/// Gets or sets the Agenda
/// </summary>
public string Agenda { get; set; }
[JsonProperty("meetingWarningMinutes")]
@@ -185,8 +200,14 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
[JsonProperty("startTime")]
/// <summary>
/// Gets or sets the StartTime
/// </summary>
public DateTime StartTime { get; set; }
[JsonProperty("endTime")]
/// <summary>
/// Gets or sets the EndTime
/// </summary>
public DateTime EndTime { get; set; }
[JsonProperty("duration")]
public TimeSpan Duration
@@ -197,6 +218,9 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
}
[JsonProperty("privacy")]
/// <summary>
/// Gets or sets the Privacy
/// </summary>
public eMeetingPrivacy Privacy { get; set; }
[JsonProperty("joinable")]
public bool Joinable
@@ -211,21 +235,36 @@ namespace PepperDash.Essentials.Devices.Common.Codec
}
[JsonProperty("dialable")]
/// <summary>
/// Gets or sets the Dialable
/// </summary>
public bool Dialable { get; set; }
//public string ConferenceNumberToDial { get; set; }
[JsonProperty("conferencePassword")]
/// <summary>
/// Gets or sets the ConferencePassword
/// </summary>
public string ConferencePassword { get; set; }
[JsonProperty("isOneButtonToPushMeeting")]
/// <summary>
/// Gets or sets the IsOneButtonToPushMeeting
/// </summary>
public bool IsOneButtonToPushMeeting { get; set; }
[JsonProperty("calls")]
/// <summary>
/// Gets or sets the Calls
/// </summary>
public List<Call> Calls { get; private set; }
/// <summary>
/// Tracks the change types that have already been notified for
/// </summary>
[JsonIgnore]
/// <summary>
/// Gets or sets the NotifiedChangeTypes
/// </summary>
public eMeetingEventChangeType NotifiedChangeTypes { get; set; }
[JsonIgnore] private readonly int _joinableCooldownSeconds;
@@ -247,6 +286,10 @@ namespace PepperDash.Essentials.Devices.Common.Codec
#region Overrides of Object
/// <summary>
/// ToString method
/// </summary>
/// <inheritdoc />
public override string ToString()
{
return String.Format("{0}:{1}: {2}-{3}", Title, Agenda, StartTime, EndTime);
@@ -255,17 +298,41 @@ namespace PepperDash.Essentials.Devices.Common.Codec
#endregion
}
/// <summary>
/// Represents a Call
/// </summary>
public class Call
{
/// <summary>
/// Gets or sets the Number
/// </summary>
public string Number { get; set; }
/// <summary>
/// Gets or sets the Protocol
/// </summary>
public string Protocol { get; set; }
/// <summary>
/// Gets or sets the CallRate
/// </summary>
public string CallRate { get; set; }
/// <summary>
/// Gets or sets the CallType
/// </summary>
public string CallType { get; set; }
}
/// <summary>
/// Represents a MeetingEventArgs
/// </summary>
public class MeetingEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the ChangeType
/// </summary>
public eMeetingEventChangeType ChangeType { get; set; }
/// <summary>
/// Gets or sets the Meeting
/// </summary>
public Meeting Meeting { get; set; }
}