diff options
Diffstat (limited to 'MediaBrowser.Controller')
4 files changed, 68 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs b/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs index 9a53d68ea8..982dc35bbc 100644 --- a/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs +++ b/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs @@ -21,6 +21,8 @@ namespace MediaBrowser.Controller.Chapters public long? RuntimeTicks { get; set; } public Dictionary<string, string> ProviderIds { get; set; } + public bool SearchAllProviders { get; set; } + public ChapterSearchRequest() { ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); diff --git a/MediaBrowser.Controller/Chapters/IChapterManager.cs b/MediaBrowser.Controller/Chapters/IChapterManager.cs new file mode 100644 index 0000000000..df230bf7e3 --- /dev/null +++ b/MediaBrowser.Controller/Chapters/IChapterManager.cs @@ -0,0 +1,57 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Model.Chapters; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Chapters +{ + /// <summary> + /// Interface IChapterManager + /// </summary> + public interface IChapterManager + { + /// <summary> + /// Adds the parts. + /// </summary> + /// <param name="chapterProviders">The chapter providers.</param> + void AddParts(IEnumerable<IChapterProvider> chapterProviders); + + /// <summary> + /// Searches the specified video. + /// </summary> + /// <param name="video">The video.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{IEnumerable{RemoteChapterResult}}.</returns> + Task<IEnumerable<RemoteChapterResult>> Search(Video video, CancellationToken cancellationToken); + + /// <summary> + /// Searches the specified request. + /// </summary> + /// <param name="request">The request.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{IEnumerable{RemoteChapterResult}}.</returns> + Task<IEnumerable<RemoteChapterResult>> Search(ChapterSearchRequest request, CancellationToken cancellationToken); + + /// <summary> + /// Gets the chapters. + /// </summary> + /// <param name="id">The identifier.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{ChapterResponse}.</returns> + Task<ChapterResponse> GetChapters(string id, CancellationToken cancellationToken); + + /// <summary> + /// Gets the providers. + /// </summary> + /// <param name="itemId">The item identifier.</param> + /// <returns>IEnumerable{ChapterProviderInfo}.</returns> + IEnumerable<ChapterProviderInfo> GetProviders(string itemId); + + /// <summary> + /// Gets the providers. + /// </summary> + /// <returns>IEnumerable{ChapterProviderInfo}.</returns> + IEnumerable<ChapterProviderInfo> GetProviders(); + } +} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 09bf4b470d..05e8ba2fb2 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -91,6 +91,7 @@ <Compile Include="Channels\IRequiresMediaInfoCallback.cs" /> <Compile Include="Channels\ISearchableChannel.cs" /> <Compile Include="Chapters\ChapterSearchRequest.cs" /> + <Compile Include="Chapters\IChapterManager.cs" /> <Compile Include="Chapters\IChapterProvider.cs" /> <Compile Include="Chapters\ChapterResponse.cs" /> <Compile Include="Collections\CollectionCreationOptions.cs" /> diff --git a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs index 9aed4d9212..3ce6ac46b9 100644 --- a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs @@ -12,7 +12,14 @@ namespace MediaBrowser.Controller.Providers public interface ICustomMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ICustomMetadataProvider where TItemType : IHasMetadata { - Task<ItemUpdateType> FetchAsync(TItemType item, IDirectoryService directoryService, CancellationToken cancellationToken); + /// <summary> + /// Fetches the asynchronous. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="options">The options.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{ItemUpdateType}.</returns> + Task<ItemUpdateType> FetchAsync(TItemType item, MetadataRefreshOptions options, CancellationToken cancellationToken); } public interface IPreRefreshProvider : ICustomMetadataProvider |
