ItemIdentities.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections.Generic;
  2. using System.Threading;
  3. using System.Threading.Tasks;
  4. namespace MediaBrowser.Controller.Providers
  5. {
  6. public interface IItemIdentity
  7. {
  8. string Type { get; }
  9. }
  10. public interface IHasIdentities<out TIdentity>
  11. where TIdentity : IItemIdentity
  12. {
  13. IEnumerable<TIdentity> Identities { get; }
  14. Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken);
  15. }
  16. public interface IItemIdentityProvider : IHasOrder { }
  17. public interface IItemIdentityProvider<in TLookupInfo, TIdentity> : IItemIdentityProvider
  18. where TLookupInfo : ItemLookupInfo
  19. where TIdentity : IItemIdentity
  20. {
  21. Task<TIdentity> FindIdentity(TLookupInfo info);
  22. }
  23. public interface IItemIdentityConverter : IHasOrder { }
  24. public interface IItemIdentityConverter<TIdentity> : IItemIdentityConverter
  25. where TIdentity : IItemIdentity
  26. {
  27. Task<TIdentity> Convert(TIdentity identity);
  28. string SourceType { get; }
  29. string ResultType { get; }
  30. }
  31. }