using MediaBrowser.Model.Entities; using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.Providers { /// /// Represents an identifier for an external provider. /// public interface IExternalId { /// /// Gets the display name of the provider associated with this ID type. /// string ProviderName { get; } /// /// Gets the unique key to distinguish this provider/type pair. This should be unique across providers. /// // TODO: This property is not actually unique across the concrete types at the moment. It should be updated to be unique. string Key { get; } /// /// Gets the specific media type for this id. This is used to distinguish between the different /// external id types for providers with multiple ids. /// A null value indicates there is no specific media type associated with the external id, or this is the /// default id for the external provider so there is no need to specify a type. /// /// /// This can be used along with the to localize the external id on the client. /// ExternalIdMediaType? Type { get; } /// /// Gets the URL format string for this id. /// string? UrlFormatString { get; } /// /// Determines whether this id supports a given item type. /// /// The item. /// True if this item is supported, otherwise false. bool Supports(IHasProviderIds item); } }