IPathManager.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using System.Collections.Generic;
  2. using MediaBrowser.Controller.Entities;
  3. namespace MediaBrowser.Controller.IO;
  4. /// <summary>
  5. /// Interface IPathManager.
  6. /// </summary>
  7. public interface IPathManager
  8. {
  9. /// <summary>
  10. /// Gets the path to the trickplay image base folder.
  11. /// </summary>
  12. /// <param name="item">The item.</param>
  13. /// <param name="saveWithMedia">Whether or not the tile should be saved next to the media file.</param>
  14. /// <returns>The absolute path.</returns>
  15. public string GetTrickplayDirectory(BaseItem item, bool saveWithMedia = false);
  16. /// <summary>
  17. /// Gets the path to the subtitle file.
  18. /// </summary>
  19. /// <param name="mediaSourceId">The media source id.</param>
  20. /// <param name="streamIndex">The stream index.</param>
  21. /// <param name="extension">The subtitle file extension.</param>
  22. /// <returns>The absolute path.</returns>
  23. public string GetSubtitlePath(string mediaSourceId, int streamIndex, string extension);
  24. /// <summary>
  25. /// Gets the path to the subtitle file.
  26. /// </summary>
  27. /// <param name="mediaSourceId">The media source id.</param>
  28. /// <returns>The absolute path.</returns>
  29. public string GetSubtitleFolderPath(string mediaSourceId);
  30. /// <summary>
  31. /// Gets the path to the attachment file.
  32. /// </summary>
  33. /// <param name="mediaSourceId">The media source id.</param>
  34. /// <param name="fileName">The attachmentFileName index.</param>
  35. /// <returns>The absolute path.</returns>
  36. public string GetAttachmentPath(string mediaSourceId, string fileName);
  37. /// <summary>
  38. /// Gets the path to the attachment folder.
  39. /// </summary>
  40. /// <param name="mediaSourceId">The media source id.</param>
  41. /// <returns>The absolute path.</returns>
  42. public string GetAttachmentFolderPath(string mediaSourceId);
  43. /// <summary>
  44. /// Gets the chapter images data path.
  45. /// </summary>
  46. /// <param name="item">The base item.</param>
  47. /// <returns>The chapter images data path.</returns>
  48. public string GetChapterImageFolderPath(BaseItem item);
  49. /// <summary>
  50. /// Gets the chapter images path.
  51. /// </summary>
  52. /// <param name="item">The base item.</param>
  53. /// <param name="chapterPositionTicks">The chapter position.</param>
  54. /// <returns>The chapter images data path.</returns>
  55. public string GetChapterImagePath(BaseItem item, long chapterPositionTicks);
  56. /// <summary>
  57. /// Gets the paths of extracted data folders.
  58. /// </summary>
  59. /// <param name="item">The base item.</param>
  60. /// <returns>The absolute paths.</returns>
  61. public IReadOnlyList<string> GetExtractedDataPaths(BaseItem item);
  62. }