| 1234567891011121314151617181920212223242526272829303132333435363738394041 | using System;using MediaBrowser.Model.Entities;using MediaBrowser.Model.Providers;namespace MediaBrowser.Controller.Providers{    /// <summary>    /// Represents an identifier for an external provider.    /// </summary>    public interface IExternalId    {        /// <summary>        /// Gets the display name of the provider associated with this ID type.        /// </summary>        string ProviderName { get; }        /// <summary>        /// Gets the unique key to distinguish this provider/type pair. This should be unique across providers.        /// </summary>        // TODO: This property is not actually unique across the concrete types at the moment. It should be updated to be unique.        string Key { get; }        /// <summary>        /// 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.        /// </summary>        /// <remarks>        /// This can be used along with the <see cref="ProviderName"/> to localize the external id on the client.        /// </remarks>        ExternalIdMediaType? Type { 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);    }}
 |