aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-31 14:55:21 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-31 14:55:21 -0500
commit67fde8c16d5a238c2d18a4c0b1795f17d38191df (patch)
tree64755ffc593e3d610e5cfea98df7d58e167938b5 /MediaBrowser.Controller
parent9685b81db5b975f57739a9dcc6c2cdb6c4c4dbcf (diff)
convert album providers
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs3
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj2
-rw-r--r--MediaBrowser.Controller/Providers/IImageProvider.cs6
-rw-r--r--MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs27
-rw-r--r--MediaBrowser.Controller/Providers/IMetadataProvider.cs33
-rw-r--r--MediaBrowser.Controller/Providers/IMetadataService.cs3
-rw-r--r--MediaBrowser.Controller/Providers/IProviderManager.cs4
-rw-r--r--MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs21
-rw-r--r--MediaBrowser.Controller/Providers/ItemId.cs14
9 files changed, 72 insertions, 41 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index 203e6dc43..b3bf0d2b6 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
@@ -21,9 +21,6 @@ namespace MediaBrowser.Controller.Entities.Audio
Tags = new List<string>();
}
- public string LastFmImageUrl { get; set; }
- public string LastFmImageSize { get; set; }
-
/// <summary>
/// Gets or sets the tags.
/// </summary>
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index ee8bb2761..b05f14a13 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -146,11 +146,13 @@
<Compile Include="Providers\IDynamicInfoProvider.cs" />
<Compile Include="Providers\IHasMetadata.cs" />
<Compile Include="Providers\IImageProvider.cs" />
+ <Compile Include="Providers\ILocalMetadataProvider.cs" />
<Compile Include="Providers\IProviderRepository.cs" />
<Compile Include="Providers\IRemoteImageProvider.cs" />
<Compile Include="Providers\ILocalImageProvider.cs" />
<Compile Include="Providers\IMetadataProvider.cs" />
<Compile Include="Providers\IMetadataService.cs" />
+ <Compile Include="Providers\IRemoteMetadataProvider.cs" />
<Compile Include="Providers\ItemId.cs" />
<Compile Include="Providers\MetadataRefreshOptions.cs" />
<Compile Include="Providers\NameParser.cs" />
diff --git a/MediaBrowser.Controller/Providers/IImageProvider.cs b/MediaBrowser.Controller/Providers/IImageProvider.cs
index 61f5579f4..1e5bdfeaf 100644
--- a/MediaBrowser.Controller/Providers/IImageProvider.cs
+++ b/MediaBrowser.Controller/Providers/IImageProvider.cs
@@ -19,11 +19,5 @@ namespace MediaBrowser.Controller.Providers
/// <param name="item">The item.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
bool Supports(IHasImages item);
-
- /// <summary>
- /// Gets the order.
- /// </summary>
- /// <value>The order.</value>
- int Order { get; }
}
}
diff --git a/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs
new file mode 100644
index 000000000..62b208b59
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/ILocalMetadataProvider.cs
@@ -0,0 +1,27 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Providers
+{
+ public interface ILocalMetadataProvider : IMetadataProvider
+ {
+ /// <summary>
+ /// Determines whether [has local metadata] [the specified item].
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns><c>true</c> if [has local metadata] [the specified item]; otherwise, <c>false</c>.</returns>
+ bool HasLocalMetadata(IHasMetadata item);
+ }
+
+ public interface ILocalMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ILocalMetadataProvider
+ where TItemType : IHasMetadata
+ {
+ /// <summary>
+ /// Gets the metadata.
+ /// </summary>
+ /// <param name="path">The path.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{MetadataResult{`0}}.</returns>
+ Task<MetadataResult<TItemType>> GetMetadata(string path, CancellationToken cancellationToken);
+ }
+}
diff --git a/MediaBrowser.Controller/Providers/IMetadataProvider.cs b/MediaBrowser.Controller/Providers/IMetadataProvider.cs
index 843ba263b..123e806ed 100644
--- a/MediaBrowser.Controller/Providers/IMetadataProvider.cs
+++ b/MediaBrowser.Controller/Providers/IMetadataProvider.cs
@@ -1,6 +1,4 @@
using System;
-using System.Threading;
-using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
{
@@ -20,32 +18,6 @@ namespace MediaBrowser.Controller.Providers
where TItemType : IHasMetadata
{
}
-
- public interface ILocalMetadataProvider : IMetadataProvider
- {
- /// <summary>
- /// Determines whether [has local metadata] [the specified item].
- /// </summary>
- /// <param name="item">The item.</param>
- /// <returns><c>true</c> if [has local metadata] [the specified item]; otherwise, <c>false</c>.</returns>
- bool HasLocalMetadata(IHasMetadata item);
- }
-
- public interface IRemoteMetadataProvider : IMetadataProvider
- {
- }
-
- public interface IRemoteMetadataProvider<TItemType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider
- where TItemType : IHasMetadata
- {
- Task<MetadataResult<TItemType>> GetMetadata(ItemId id, CancellationToken cancellationToken);
- }
-
- public interface ILocalMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ILocalMetadataProvider
- where TItemType : IHasMetadata
- {
- Task<MetadataResult<TItemType>> GetMetadata(string path, CancellationToken cancellationToken);
- }
public interface IHasChangeMonitor
{
@@ -58,6 +30,11 @@ namespace MediaBrowser.Controller.Providers
bool HasChanged(IHasMetadata item, DateTime date);
}
+ public interface IHasOrder
+ {
+ int Order { get; }
+ }
+
public class MetadataResult<T>
where T : IHasMetadata
{
diff --git a/MediaBrowser.Controller/Providers/IMetadataService.cs b/MediaBrowser.Controller/Providers/IMetadataService.cs
index c6cc2b716..e9ce320ab 100644
--- a/MediaBrowser.Controller/Providers/IMetadataService.cs
+++ b/MediaBrowser.Controller/Providers/IMetadataService.cs
@@ -10,8 +10,7 @@ namespace MediaBrowser.Controller.Providers
/// Adds the parts.
/// </summary>
/// <param name="providers">The providers.</param>
- /// <param name="imageProviders">The image providers.</param>
- void AddParts(IEnumerable<IMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders);
+ void AddParts(IEnumerable<IMetadataProvider> providers);
/// <summary>
/// Determines whether this instance can refresh the specified item.
diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs
index dc57552c4..0159f778f 100644
--- a/MediaBrowser.Controller/Providers/IProviderManager.cs
+++ b/MediaBrowser.Controller/Providers/IProviderManager.cs
@@ -74,13 +74,13 @@ namespace MediaBrowser.Controller.Providers
/// <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);
+ Task<IEnumerable<RemoteImageInfo>> GetAvailableRemoteImages(IHasImages item, CancellationToken cancellationToken, string providerName = null, ImageType? type = null);
/// <summary>
/// Gets the image providers.
/// </summary>
/// <param name="item">The item.</param>
/// <returns>IEnumerable{ImageProviderInfo}.</returns>
- IEnumerable<ImageProviderInfo> GetImageProviderInfo(BaseItem item);
+ IEnumerable<ImageProviderInfo> GetImageProviderInfo(IHasImages item);
}
} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
new file mode 100644
index 000000000..6007a5af6
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/IRemoteMetadataProvider.cs
@@ -0,0 +1,21 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Providers
+{
+ public interface IRemoteMetadataProvider : IMetadataProvider
+ {
+ }
+
+ public interface IRemoteMetadataProvider<TItemType> : IMetadataProvider<TItemType>, IRemoteMetadataProvider
+ where TItemType : IHasMetadata
+ {
+ /// <summary>
+ /// Gets the metadata.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{MetadataResult{`0}}.</returns>
+ Task<MetadataResult<TItemType>> GetMetadata(ItemId id, CancellationToken cancellationToken);
+ }
+}
diff --git a/MediaBrowser.Controller/Providers/ItemId.cs b/MediaBrowser.Controller/Providers/ItemId.cs
index b3fe5bee5..3abb64bfb 100644
--- a/MediaBrowser.Controller/Providers/ItemId.cs
+++ b/MediaBrowser.Controller/Providers/ItemId.cs
@@ -37,4 +37,18 @@ namespace MediaBrowser.Controller.Providers
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
}
+
+ public class AlbumId : ItemId
+ {
+ /// <summary>
+ /// Gets or sets the album artist.
+ /// </summary>
+ /// <value>The album artist.</value>
+ public string AlbumArtist { get; set; }
+ /// <summary>
+ /// Gets or sets the artist music brainz identifier.
+ /// </summary>
+ /// <value>The artist music brainz identifier.</value>
+ public string ArtistMusicBrainzId { get; set; }
+ }
}