IRemoteMetadataProvider.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using MediaBrowser.Controller.Entities;
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. namespace MediaBrowser.Controller.Providers
  6. {
  7. public interface IRemoteMetadataProvider : IMetadataProvider
  8. {
  9. }
  10. public interface IRemoteMetadataProvider<TItemType, TLookupInfoType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider
  11. where TItemType : IHasMetadata, IHasLookupInfo<TLookupInfoType>
  12. where TLookupInfoType : ItemLookupInfo, new()
  13. {
  14. Task<MetadataResult<TItemType>> GetMetadata(TLookupInfoType info, CancellationToken cancellationToken);
  15. }
  16. public interface IRemoteSearchProvider<TLookupInfoType>
  17. where TLookupInfoType : ItemLookupInfo
  18. {
  19. Task<IEnumerable<SearchResult<TLookupInfoType>>> GetSearchResults(TLookupInfoType searchInfo, CancellationToken cancellationToken);
  20. }
  21. public class SearchResult<T>
  22. where T : ItemLookupInfo
  23. {
  24. public T Item { get; set; }
  25. public string ImageUrl { get; set; }
  26. }
  27. }