Add documentation around Name, Id, and Type. Changed ExternalIdType to ExternalIdMediaType

This commit is contained in:
Luke Foust
2020-03-26 14:26:12 -07:00
parent ae4e727b24
commit 0fb78cf54b
13 changed files with 84 additions and 49 deletions

View File

@@ -0,0 +1,45 @@
namespace MediaBrowser.Controller.Providers
{
/// <summary>The specific media type of an <see cref="IExternalId"/>.</summary>
public enum ExternalIdMediaType
{
/// <summary>There is no specific media type</summary>
None,
/// <summary>A music album</summary>
Album,
/// <summary>The artist of a music album</summary>
AlbumArtist,
/// <summary>The artist of a media item</summary>
Artist,
/// <summary>A boxed set of media</summary>
BoxSet,
/// <summary>A series episode</summary>
Episode,
/// <summary>A movie</summary>
Movie,
/// <summary>An alternative artist apart from the main artist</summary>
OtherArtist,
/// <summary>A person</summary>
Person,
/// <summary>A release group</summary>
ReleaseGroup,
/// <summary>A single season of a series</summary>
Season,
/// <summary>A series</summary>
Series,
/// <summary>A music track</summary>
Track
}
}

View File

@@ -2,33 +2,24 @@ using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.Providers
{
/// <summary>Represents and identifier for an external provider.</summary>
public interface IExternalId
{
/// <summary>Gets the name used to identify this provider</summary>
string Name { get; }
/// <summary>Gets the unique key to distinguish this provider/type pair. This should be unique across providers.</summary>
string Key { get; }
ExternalIdType Type { get; }
/// <summary>Gets the specific media type for this id.</summary>
ExternalIdMediaType Type { get; }
/// <summary>Gets the url format string for this id.</summary>
string UrlFormatString { get; }
/// <summary>Determines whether this id supports a given item type.</summary>
/// <param name="item">The item.</param>
/// <returns>True if this item is supported, otherwise false.</returns>
bool Supports(IHasProviderIds item);
}
public enum ExternalIdType
{
None,
Album,
AlbumArtist,
Artist,
BoxSet,
Episode,
Movie,
OtherArtist,
Person,
ReleaseGroup,
Season,
Series,
Track
}
}