ILocalMetadataProvider.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 ILocalMetadataProvider : IMetadataProvider
  8. {
  9. }
  10. public interface ILocalMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ILocalMetadataProvider
  11. where TItemType : IHasMetadata
  12. {
  13. /// <summary>
  14. /// Gets the metadata.
  15. /// </summary>
  16. /// <param name="info">The information.</param>
  17. /// <param name="cancellationToken">The cancellation token.</param>
  18. /// <returns>Task{MetadataResult{`0}}.</returns>
  19. Task<LocalMetadataResult<TItemType>> GetMetadata(ItemInfo info, CancellationToken cancellationToken);
  20. }
  21. public class ItemInfo
  22. {
  23. public string Path { get; set; }
  24. public bool IsInMixedFolder { get; set; }
  25. }
  26. public class LocalMetadataResult<T>
  27. where T : IHasMetadata
  28. {
  29. public bool HasMetadata { get; set; }
  30. public T Item { get; set; }
  31. public List<LocalImageInfo> Images { get; set; }
  32. public LocalMetadataResult()
  33. {
  34. Images = new List<LocalImageInfo>();
  35. }
  36. }
  37. }