aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-19 23:53:15 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-19 23:53:15 -0500
commit13e4b2a6a76df957a85e444822c816b42f2bb60c (patch)
tree35140e9b5447937ad70744c6605b9c890cb342a2 /MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
parent120c8bcbb9381086bf9171eae1ba2df9b3c11bde (diff)
add search methods to remote metadata providers
Diffstat (limited to 'MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs')
-rw-r--r--MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs26
1 files changed, 13 insertions, 13 deletions
diff --git a/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
index 268490079..f00a22a3a 100644
--- a/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
+++ b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
@@ -1,4 +1,6 @@
-using MediaBrowser.Controller.Entities;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Providers;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -9,29 +11,27 @@ namespace MediaBrowser.Controller.Providers
{
}
- public interface IRemoteMetadataProvider<TItemType, TLookupInfoType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider
+ public interface IRemoteMetadataProvider<TItemType, in TLookupInfoType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider, IRemoteSearchProvider<TLookupInfoType>
where TItemType : IHasMetadata, IHasLookupInfo<TLookupInfoType>
where TLookupInfoType : ItemLookupInfo, new()
{
Task<MetadataResult<TItemType>> GetMetadata(TLookupInfoType info, CancellationToken cancellationToken);
}
- public interface IRemoteSearchProvider<TLookupInfoType>
+ public interface IRemoteSearchProvider<in TLookupInfoType> : IMetadataProvider
where TLookupInfoType : ItemLookupInfo
{
- string Name { get; }
+ Task<IEnumerable<RemoteSearchResult>> GetSearchResults(TLookupInfoType searchInfo, CancellationToken cancellationToken);
- Task<IEnumerable<SearchResult<TLookupInfoType>>> GetSearchResults(TLookupInfoType searchInfo, CancellationToken cancellationToken);
+ /// <summary>
+ /// Gets the image response.
+ /// </summary>
+ /// <param name="url">The URL.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{HttpResponseInfo}.</returns>
+ Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken);
}
- public class SearchResult<T>
- where T : ItemLookupInfo
- {
- public T Item { get; set; }
-
- public string ImageUrl { get; set; }
- }
-
public class RemoteSearchQuery<T>
where T : ItemLookupInfo
{