jellyfin/MediaBrowser.Controller/Providers/ItemIdentities.cs

40 lines
1.1 KiB
C#
Raw Normal View History

2014-08-19 01:42:53 +00:00
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
{
public interface IItemIdentity
{
string Type { get; }
}
public interface IHasIdentities<out TIdentity>
where TIdentity : IItemIdentity
{
IEnumerable<TIdentity> Identities { get; }
Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken);
}
public interface IItemIdentityProvider : IHasOrder { }
public interface IItemIdentityProvider<in TLookupInfo, TIdentity> : IItemIdentityProvider
where TLookupInfo : ItemLookupInfo
where TIdentity : IItemIdentity
{
Task<TIdentity> FindIdentity(TLookupInfo info);
}
public interface IItemIdentityConverter : IHasOrder { }
public interface IItemIdentityConverter<TIdentity> : IItemIdentityConverter
where TIdentity : IItemIdentity
{
Task<TIdentity> Convert(TIdentity identity);
string SourceType { get; }
string ResultType { get; }
}
}