aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs39
-rw-r--r--MediaBrowser.Controller/Providers/IImageProvider.cs51
-rw-r--r--MediaBrowser.Controller/Providers/IProviderManager.cs21
3 files changed, 71 insertions, 40 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index e1b38bc71..e9bb7f66d 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -552,32 +552,6 @@ namespace MediaBrowser.Controller.Providers
}
break;
- case "GamesDbId":
- var gamesdbId = reader.ReadElementContentAsString();
- if (!string.IsNullOrWhiteSpace(gamesdbId))
- {
- item.SetProviderId(MetadataProviders.Gamesdb, gamesdbId);
- }
- break;
-
- case "Players":
- {
- var val = reader.ReadElementContentAsString();
- if (!string.IsNullOrWhiteSpace(val))
- {
- int num;
-
- if (int.TryParse(val, NumberStyles.Integer, _usCulture, out num))
- {
- var game = item as Game;
- if (game != null)
- {
- game.PlayersSupported = num;
- }
- }
- }
- break;
- }
case "VoteCount":
{
var val = reader.ReadElementContentAsString();
@@ -592,19 +566,6 @@ namespace MediaBrowser.Controller.Providers
}
break;
}
- case "GameSystem":
- {
- var val = reader.ReadElementContentAsString();
- if (!string.IsNullOrWhiteSpace(val))
- {
- var game = item as Game;
- if (game != null)
- {
- game.GameSystem = val;
- }
- }
- break;
- }
case "MusicbrainzId":
{
var mbz = reader.ReadElementContentAsString();
diff --git a/MediaBrowser.Controller/Providers/IImageProvider.cs b/MediaBrowser.Controller/Providers/IImageProvider.cs
new file mode 100644
index 000000000..d70532b59
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/IImageProvider.cs
@@ -0,0 +1,51 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Providers;
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Providers
+{
+ /// <summary>
+ /// Interface IImageProvider
+ /// </summary>
+ public interface IImageProvider
+ {
+ /// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
+ /// Supportses the specified item.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
+ bool Supports(BaseItem item);
+
+ /// <summary>
+ /// Gets the images.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="imageType">Type of the image.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{RemoteImageInfo}}.</returns>
+ Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, ImageType imageType, CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the images.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{RemoteImageInfo}}.</returns>
+ Task<IEnumerable<RemoteImageInfo>> GetAllImages(BaseItem item, CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the priority.
+ /// </summary>
+ /// <value>The priority.</value>
+ int Priority { get; }
+ }
+}
diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs
index 6a4d132b7..728030ecc 100644
--- a/MediaBrowser.Controller/Providers/IProviderManager.cs
+++ b/MediaBrowser.Controller/Providers/IProviderManager.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Providers;
using System.Collections.Generic;
using System.IO;
using System.Threading;
@@ -52,6 +53,24 @@ namespace MediaBrowser.Controller.Providers
/// Adds the metadata providers.
/// </summary>
/// <param name="providers">The providers.</param>
- void AddParts(IEnumerable<BaseMetadataProvider> providers);
+ /// <param name="imageProviders">The image providers.</param>
+ void AddParts(IEnumerable<BaseMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders);
+
+ /// <summary>
+ /// Gets the available remote images.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <param name="providerName">Name of the provider.</param>
+ /// <param name="type">The type.</param>
+ /// <returns>Task{IEnumerable{RemoteImageInfo}}.</returns>
+ Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(BaseItem item, CancellationToken cancellationToken, string providerName = null, ImageType? type = null);
+
+ /// <summary>
+ /// Gets the image providers.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns>IEnumerable{IImageProvider}.</returns>
+ IEnumerable<IImageProvider> GetImageProviders(BaseItem item);
}
} \ No newline at end of file