Browse Source

Comments part 1

Jim Cartlidge 4 years ago
parent
commit
68de105dc2

+ 15 - 5
Emby.Dlna/Common/Argument.cs

@@ -1,13 +1,23 @@
-#pragma warning disable CS1591
-
 namespace Emby.Dlna.Common
 {
+    /// <summary>
+    /// DLNA Query parameter type, used when quering DLNA devices via SOAP.
+    /// </summary>
     public class Argument
     {
-        public string Name { get; set; }
+        /// <summary>
+        /// Gets or sets name of the DLNA argument.
+        /// </summary>
+        public string Name { get; set; } = string.Empty;
 
-        public string Direction { get; set; }
+        /// <summary>
+        /// Gets or sets the direction of the parameter.
+        /// </summary>
+        public string Direction { get; set; } = string.Empty;
 
-        public string RelatedStateVariable { get; set; }
+        /// <summary>
+        /// Gets or sets the related DLNA state variable for this argument.
+        /// </summary>
+        public string RelatedStateVariable { get; set; } = string.Empty;
     }
 }

+ 22 - 10
Emby.Dlna/Common/DeviceIcon.cs

@@ -1,29 +1,41 @@
-#pragma warning disable CS1591
-
 using System.Globalization;
 
 namespace Emby.Dlna.Common
 {
+    /// <summary>
+    /// Defines the <see cref="DeviceIcon" />.
+    /// </summary>
     public class DeviceIcon
     {
-        public string Url { get; set; }
+        /// <summary>
+        /// Gets or sets the Url.
+        /// </summary>
+        public string Url { get; set; } = string.Empty;
 
-        public string MimeType { get; set; }
+        /// <summary>
+        /// Gets or sets the MimeType.
+        /// </summary>
+        public string MimeType { get; set; } = string.Empty;
 
+        /// <summary>
+        /// Gets or sets the Width.
+        /// </summary>
         public int Width { get; set; }
 
+        /// <summary>
+        /// Gets or sets the Height.
+        /// </summary>
         public int Height { get; set; }
 
-        public string Depth { get; set; }
+        /// <summary>
+        /// Gets or sets the Depth.
+        /// </summary>
+        public string Depth { get; set; } = string.Empty;
 
         /// <inheritdoc />
         public override string ToString()
         {
-            return string.Format(
-                CultureInfo.InvariantCulture,
-                "{0}x{1}",
-                Height,
-                Width);
+            return string.Format(CultureInfo.InvariantCulture, "{0}x{1}", Height, Width);
         }
     }
 }

+ 24 - 9
Emby.Dlna/Common/DeviceService.cs

@@ -1,21 +1,36 @@
-#pragma warning disable CS1591
-
 namespace Emby.Dlna.Common
 {
+    /// <summary>
+    /// Defines the <see cref="DeviceService" />.
+    /// </summary>
     public class DeviceService
     {
-        public string ServiceType { get; set; }
+        /// <summary>
+        /// Gets or sets the Service Type.
+        /// </summary>
+        public string ServiceType { get; set; } = string.Empty;
 
-        public string ServiceId { get; set; }
+        /// <summary>
+        /// Gets or sets the Service Id.
+        /// </summary>
+        public string ServiceId { get; set; } = string.Empty;
 
-        public string ScpdUrl { get; set; }
+        /// <summary>
+        /// Gets or sets the Scpd Url.
+        /// </summary>
+        public string ScpdUrl { get; set; } = string.Empty;
 
-        public string ControlUrl { get; set; }
+        /// <summary>
+        /// Gets or sets the Control Url.
+        /// </summary>
+        public string ControlUrl { get; set; } = string.Empty;
 
-        public string EventSubUrl { get; set; }
+        /// <summary>
+        /// Gets or sets the EventSubUrl.
+        /// </summary>
+        public string EventSubUrl { get; set; } = string.Empty;
 
         /// <inheritdoc />
-        public override string ToString()
-            => ServiceId;
+        public override string ToString() => ServiceId;
     }
 }

+ 14 - 7
Emby.Dlna/Common/ServiceAction.cs

@@ -1,24 +1,31 @@
-#pragma warning disable CS1591
-
 using System.Collections.Generic;
 
 namespace Emby.Dlna.Common
 {
+    /// <summary>
+    /// Defines the <see cref="ServiceAction" />.
+    /// </summary>
     public class ServiceAction
     {
+        /// <summary>
+        /// Initializes a new instance of the <see cref="ServiceAction"/> class.
+        /// </summary>
         public ServiceAction()
         {
             ArgumentList = new List<Argument>();
         }
 
-        public string Name { get; set; }
+        /// <summary>
+        /// Gets or sets the name of the action.
+        /// </summary>
+        public string Name { get; set; } = string.Empty;
 
+        /// <summary>
+        /// Gets the ArgumentList.
+        /// </summary>
         public List<Argument> ArgumentList { get; }
 
         /// <inheritdoc />
-        public override string ToString()
-        {
-            return Name;
-        }
+        public override string ToString() => Name;
     }
 }

+ 19 - 12
Emby.Dlna/Common/StateVariable.cs

@@ -1,27 +1,34 @@
-#pragma warning disable CS1591
-
 using System;
 using System.Collections.Generic;
 
 namespace Emby.Dlna.Common
 {
+    /// <summary>
+    /// Defines the <see cref="StateVariable" />.
+    /// </summary>
     public class StateVariable
     {
-        public StateVariable()
-        {
-            AllowedValues = Array.Empty<string>();
-        }
-
-        public string Name { get; set; }
+        /// <summary>
+        /// Gets or sets the name of the state variable.
+        /// </summary>
+        public string Name { get; set; } = string.Empty;
 
-        public string DataType { get; set; }
+        /// <summary>
+        /// Gets or sets the data type of the state variable.
+        /// </summary>
+        public string DataType { get; set; } = string.Empty;
 
+        /// <summary>
+        /// Gets or sets a value indicating whether it sends events.
+        /// </summary>
         public bool SendsEvents { get; set; }
 
-        public IReadOnlyList<string> AllowedValues { get; set; }
+        /// <summary>
+        /// Gets or sets the allowed values range.
+        /// </summary>
+        public IReadOnlyList<string> AllowedValues { get; set; } = Array.Empty<string>();
 
         /// <inheritdoc />
-        public override string ToString()
-            => Name;
+        public override string ToString() => Name;
     }
 }

+ 9 - 14
MediaBrowser.Model/Dlna/DeviceIdentification.cs

@@ -11,59 +11,54 @@ namespace MediaBrowser.Model.Dlna
         /// Gets or sets the name of the friendly.
         /// </summary>
         /// <value>The name of the friendly.</value>
-        public string FriendlyName { get; set; }
+        public string FriendlyName { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the model number.
         /// </summary>
         /// <value>The model number.</value>
-        public string ModelNumber { get; set; }
+        public string ModelNumber { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the serial number.
         /// </summary>
         /// <value>The serial number.</value>
-        public string SerialNumber { get; set; }
+        public string SerialNumber { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the name of the model.
         /// </summary>
         /// <value>The name of the model.</value>
-        public string ModelName { get; set; }
+        public string ModelName { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the model description.
         /// </summary>
         /// <value>The model description.</value>
-        public string ModelDescription { get; set; }
+        public string ModelDescription { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the model URL.
         /// </summary>
         /// <value>The model URL.</value>
-        public string ModelUrl { get; set; }
+        public string ModelUrl { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the manufacturer.
         /// </summary>
         /// <value>The manufacturer.</value>
-        public string Manufacturer { get; set; }
+        public string Manufacturer { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the manufacturer URL.
         /// </summary>
         /// <value>The manufacturer URL.</value>
-        public string ManufacturerUrl { get; set; }
+        public string ManufacturerUrl { get; set; } = string.Empty;
 
         /// <summary>
         /// Gets or sets the headers.
         /// </summary>
         /// <value>The headers.</value>
-        public HttpHeaderInfo[] Headers { get; set; }
-
-        public DeviceIdentification()
-        {
-            Headers = Array.Empty<HttpHeaderInfo>();
-        }
+        public HttpHeaderInfo[] Headers { get; set; } = Array.Empty<HttpHeaderInfo>();
     }
 }

+ 193 - 27
MediaBrowser.Model/Dlna/DeviceProfile.cs

@@ -1,6 +1,5 @@
 #nullable disable
-#pragma warning disable CS1591
-
+#pragma warning disable CA1819 // Properties should not return arrays
 using System;
 using System.Linq;
 using System.Xml.Serialization;
@@ -8,129 +7,243 @@ using MediaBrowser.Model.MediaInfo;
 
 namespace MediaBrowser.Model.Dlna
 {
+    /// <summary>
+    /// Defines the <see cref="DeviceProfile" />.
+    /// </summary>
     [XmlRoot("Profile")]
     public class DeviceProfile
     {
         /// <summary>
-        /// Gets or sets the name.
+        /// Initializes a new instance of the <see cref="DeviceProfile"/> class.
+        /// </summary>
+        public DeviceProfile()
+        {
+            DirectPlayProfiles = Array.Empty<DirectPlayProfile>();
+            TranscodingProfiles = Array.Empty<TranscodingProfile>();
+            ResponseProfiles = Array.Empty<ResponseProfile>();
+            CodecProfiles = Array.Empty<CodecProfile>();
+            ContainerProfiles = Array.Empty<ContainerProfile>();
+            SubtitleProfiles = Array.Empty<SubtitleProfile>();
+
+            XmlRootAttributes = Array.Empty<XmlAttribute>();
+
+            SupportedMediaTypes = "Audio,Photo,Video";
+            MaxStreamingBitrate = 8000000;
+            MaxStaticBitrate = 8000000;
+            MusicStreamingTranscodingBitrate = 128000;
+        }
+
+        /// <summary>
+        /// Gets or sets the Name.
         /// </summary>
-        /// <value>The name.</value>
         public string Name { get; set; }
 
+        /// <summary>
+        /// Gets or sets the Id.
+        /// </summary>
         [XmlIgnore]
         public string Id { get; set; }
 
         /// <summary>
-        /// Gets or sets the identification.
+        /// Gets or sets the Identification.
         /// </summary>
-        /// <value>The identification.</value>
         public DeviceIdentification Identification { get; set; }
 
+        /// <summary>
+        /// Gets or sets the FriendlyName.
+        /// </summary>
         public string FriendlyName { get; set; }
 
+        /// <summary>
+        /// Gets or sets the Manufacturer.
+        /// </summary>
         public string Manufacturer { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ManufacturerUrl.
+        /// </summary>
         public string ManufacturerUrl { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ModelName.
+        /// </summary>
         public string ModelName { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ModelDescription.
+        /// </summary>
         public string ModelDescription { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ModelNumber.
+        /// </summary>
         public string ModelNumber { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ModelUrl.
+        /// </summary>
         public string ModelUrl { get; set; }
 
+        /// <summary>
+        /// Gets or sets the SerialNumber.
+        /// </summary>
         public string SerialNumber { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether EnableAlbumArtInDidl.
+        /// </summary>
         public bool EnableAlbumArtInDidl { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
+        /// </summary>
         public bool EnableSingleAlbumArtLimit { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether EnableSingleSubtitleLimit.
+        /// </summary>
         public bool EnableSingleSubtitleLimit { get; set; }
 
+        /// <summary>
+        /// Gets or sets the SupportedMediaTypes.
+        /// </summary>
         public string SupportedMediaTypes { get; set; }
 
+        /// <summary>
+        /// Gets or sets the UserId.
+        /// </summary>
         public string UserId { get; set; }
 
+        /// <summary>
+        /// Gets or sets the AlbumArtPn.
+        /// </summary>
         public string AlbumArtPn { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxAlbumArtWidth.
+        /// </summary>
         public int MaxAlbumArtWidth { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxAlbumArtHeight.
+        /// </summary>
         public int MaxAlbumArtHeight { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxIconWidth.
+        /// </summary>
         public int? MaxIconWidth { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxIconHeight.
+        /// </summary>
         public int? MaxIconHeight { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxStreamingBitrate.
+        /// </summary>
         public long? MaxStreamingBitrate { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxStaticBitrate.
+        /// </summary>
         public long? MaxStaticBitrate { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MusicStreamingTranscodingBitrate.
+        /// </summary>
         public int? MusicStreamingTranscodingBitrate { get; set; }
 
+        /// <summary>
+        /// Gets or sets the MaxStaticMusicBitrate.
+        /// </summary>
         public int? MaxStaticMusicBitrate { get; set; }
 
         /// <summary>
-        /// Controls the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
+        /// Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
         /// </summary>
         public string SonyAggregationFlags { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ProtocolInfo.
+        /// </summary>
         public string ProtocolInfo { get; set; }
 
+        /// <summary>
+        /// Gets or sets the TimelineOffsetSeconds.
+        /// </summary>
         public int TimelineOffsetSeconds { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether RequiresPlainVideoItems.
+        /// </summary>
         public bool RequiresPlainVideoItems { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether RequiresPlainFolders.
+        /// </summary>
         public bool RequiresPlainFolders { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
+        /// </summary>
         public bool EnableMSMediaReceiverRegistrar { get; set; }
 
+        /// <summary>
+        /// Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
+        /// </summary>
         public bool IgnoreTranscodeByteRangeRequests { get; set; }
 
+        /// <summary>
+        /// Gets or sets the XmlRootAttributes.
+        /// </summary>
         public XmlAttribute[] XmlRootAttributes { get; set; }
 
         /// <summary>
         /// Gets or sets the direct play profiles.
         /// </summary>
-        /// <value>The direct play profiles.</value>
         public DirectPlayProfile[] DirectPlayProfiles { get; set; }
 
         /// <summary>
         /// Gets or sets the transcoding profiles.
         /// </summary>
-        /// <value>The transcoding profiles.</value>
         public TranscodingProfile[] TranscodingProfiles { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ContainerProfiles.
+        /// </summary>
         public ContainerProfile[] ContainerProfiles { get; set; }
 
+        /// <summary>
+        /// Gets or sets the CodecProfiles.
+        /// </summary>
         public CodecProfile[] CodecProfiles { get; set; }
 
+        /// <summary>
+        /// Gets or sets the ResponseProfiles.
+        /// </summary>
         public ResponseProfile[] ResponseProfiles { get; set; }
 
+        /// <summary>
+        /// Gets or sets the SubtitleProfiles.
+        /// </summary>
         public SubtitleProfile[] SubtitleProfiles { get; set; }
 
-        public DeviceProfile()
-        {
-            DirectPlayProfiles = Array.Empty<DirectPlayProfile>();
-            TranscodingProfiles = Array.Empty<TranscodingProfile>();
-            ResponseProfiles = Array.Empty<ResponseProfile>();
-            CodecProfiles = Array.Empty<CodecProfile>();
-            ContainerProfiles = Array.Empty<ContainerProfile>();
-            SubtitleProfiles = Array.Empty<SubtitleProfile>();
-
-            XmlRootAttributes = Array.Empty<XmlAttribute>();
-
-            SupportedMediaTypes = "Audio,Photo,Video";
-            MaxStreamingBitrate = 8000000;
-            MaxStaticBitrate = 8000000;
-            MusicStreamingTranscodingBitrate = 128000;
-        }
-
+        /// <summary>
+        /// The GetSupportedMediaTypes.
+        /// </summary>
+        /// <returns>The .</returns>
         public string[] GetSupportedMediaTypes()
         {
             return ContainerProfile.SplitValue(SupportedMediaTypes);
         }
 
+        /// <summary>
+        /// Gets the audio transcoding profile.
+        /// </summary>
+        /// <param name="container">The container.</param>
+        /// <param name="audioCodec">The audio Codec.</param>
+        /// <returns>A <see cref="TranscodingProfile"/>.</returns>
         public TranscodingProfile GetAudioTranscodingProfile(string container, string audioCodec)
         {
             container = (container ?? string.Empty).TrimStart('.');
@@ -158,6 +271,13 @@ namespace MediaBrowser.Model.Dlna
             return null;
         }
 
+        /// <summary>
+        /// Gets the video transcoding profile.
+        /// </summary>
+        /// <param name="container">The container.</param>
+        /// <param name="audioCodec">The audio Codec.</param>
+        /// <param name="videoCodec">The video Codec.</param>
+        /// <returns>The <see cref="TranscodingProfile"/>.</returns>
         public TranscodingProfile GetVideoTranscodingProfile(string container, string audioCodec, string videoCodec)
         {
             container = (container ?? string.Empty).TrimStart('.');
@@ -190,6 +310,16 @@ namespace MediaBrowser.Model.Dlna
             return null;
         }
 
+        /// <summary>
+        /// Gets the audio media profile.
+        /// </summary>
+        /// <param name="container">The container.</param>
+        /// <param name="audioCodec">The audio codec.</param>
+        /// <param name="audioChannels">The audio channels.</param>
+        /// <param name="audioBitrate">The audio bitrate.</param>
+        /// <param name="audioSampleRate">The audio sample rate.</param>
+        /// <param name="audioBitDepth">The audio bit depth.</param>
+        /// <returns>The <see cref="ResponseProfile"/>.</returns>
         public ResponseProfile GetAudioMediaProfile(string container, string audioCodec, int? audioChannels, int? audioBitrate, int? audioSampleRate, int? audioBitDepth)
         {
             foreach (var i in ResponseProfiles)
@@ -231,6 +361,11 @@ namespace MediaBrowser.Model.Dlna
             return null;
         }
 
+        /// <summary>
+        /// Gets the model profile condition.
+        /// </summary>
+        /// <param name="c">The c<see cref="ProfileCondition"/>.</param>
+        /// <returns>The <see cref="ProfileCondition"/>.</returns>
         private ProfileCondition GetModelProfileCondition(ProfileCondition c)
         {
             return new ProfileCondition
@@ -242,6 +377,13 @@ namespace MediaBrowser.Model.Dlna
             };
         }
 
+        /// <summary>
+        /// Gets the image media profile.
+        /// </summary>
+        /// <param name="container">The container.</param>
+        /// <param name="width">The width.</param>
+        /// <param name="height">The height.</param>
+        /// <returns>The <see cref="ResponseProfile"/>.</returns>
         public ResponseProfile GetImageMediaProfile(string container, int? width, int? height)
         {
             foreach (var i in ResponseProfiles)
@@ -277,7 +419,31 @@ namespace MediaBrowser.Model.Dlna
             return null;
         }
 
-        public ResponseProfile GetVideoMediaProfile(string container,
+        /// <summary>
+        /// Gets the video media profile.
+        /// </summary>
+        /// <param name="container">The container.</param>
+        /// <param name="audioCodec">The audio codec.</param>
+        /// <param name="videoCodec">The video codec.</param>
+        /// <param name="width">The width.</param>
+        /// <param name="height">The height.</param>
+        /// <param name="bitDepth">The bit depth.</param>
+        /// <param name="videoBitrate">The video bitrate.</param>
+        /// <param name="videoProfile">The video profile.</param>
+        /// <param name="videoLevel">The video level.</param>
+        /// <param name="videoFramerate">The video framerate.</param>
+        /// <param name="packetLength">The packet length.</param>
+        /// <param name="timestamp">The timestamp<see cref="TransportStreamTimestamp"/>.</param>
+        /// <param name="isAnamorphic">True if anamorphic.</param>
+        /// <param name="isInterlaced">True if interlaced.</param>
+        /// <param name="refFrames">The ref frames.</param>
+        /// <param name="numVideoStreams">The number of video streams.</param>
+        /// <param name="numAudioStreams">The number of audio streams.</param>
+        /// <param name="videoCodecTag">The video Codec tag.</param>
+        /// <param name="isAvc">True if Avc.</param>
+        /// <returns>The <see cref="ResponseProfile"/>.</returns>
+        public ResponseProfile GetVideoMediaProfile(
+            string container,
             string audioCodec,
             string videoCodec,
             int? width,

+ 9 - 0
MediaBrowser.Model/Dlna/XmlAttribute.cs

@@ -5,11 +5,20 @@ using System.Xml.Serialization;
 
 namespace MediaBrowser.Model.Dlna
 {
+    /// <summary>
+    /// Defines the <see cref="XmlAttribute" />.
+    /// </summary>
     public class XmlAttribute
     {
+        /// <summary>
+        /// Gets or sets the name of the attribute.
+        /// </summary>
         [XmlAttribute("name")]
         public string Name { get; set; }
 
+        /// <summary>
+        /// Gets or sets the value of the attribute.
+        /// </summary>
         [XmlAttribute("value")]
         public string Value { get; set; }
     }