diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-20 11:55:05 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-20 11:55:05 -0400 |
| commit | 8f024e81996b14a9e6a440a601d0f6c0694f7ab8 (patch) | |
| tree | b7bb10bde396608e11c0bac9c4ed706508f1a003 /MediaBrowser.Controller/Resolvers | |
| parent | 19a4dd83c21db931edf14a0ef547219ef93cdc84 (diff) | |
Fully async'd xml parsing process as well as added resolver and provider priorities
Diffstat (limited to 'MediaBrowser.Controller/Resolvers')
5 files changed, 36 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Resolvers/AudioResolver.cs b/MediaBrowser.Controller/Resolvers/AudioResolver.cs index 956af95f05..11f8729b4e 100644 --- a/MediaBrowser.Controller/Resolvers/AudioResolver.cs +++ b/MediaBrowser.Controller/Resolvers/AudioResolver.cs @@ -8,6 +8,11 @@ namespace MediaBrowser.Controller.Resolvers [Export(typeof(IBaseItemResolver))]
public class AudioResolver : BaseItemResolver<Audio>
{
+ public override ResolverPriority Priority
+ {
+ get { return ResolverPriority.Last; }
+ }
+
protected override Audio Resolve(ItemResolveEventArgs args)
{
// Return audio if the path is a file and has a matching extension
diff --git a/MediaBrowser.Controller/Resolvers/BaseItemResolver.cs b/MediaBrowser.Controller/Resolvers/BaseItemResolver.cs index d8f6b61ce9..2bb4f6191b 100644 --- a/MediaBrowser.Controller/Resolvers/BaseItemResolver.cs +++ b/MediaBrowser.Controller/Resolvers/BaseItemResolver.cs @@ -14,6 +14,14 @@ namespace MediaBrowser.Controller.Resolvers return null;
}
+ public virtual ResolverPriority Priority
+ {
+ get
+ {
+ return ResolverPriority.First;
+ }
+ }
+
/// <summary>
/// Sets initial values on the newly resolved item
/// </summary>
@@ -89,5 +97,14 @@ namespace MediaBrowser.Controller.Resolvers public interface IBaseItemResolver
{
Task<BaseItem> ResolvePath(ItemResolveEventArgs args);
+ ResolverPriority Priority { get; }
+ }
+
+ public enum ResolverPriority
+ {
+ First,
+ Second,
+ Third,
+ Last
}
}
diff --git a/MediaBrowser.Controller/Resolvers/FolderResolver.cs b/MediaBrowser.Controller/Resolvers/FolderResolver.cs index 858b3bcd8d..27944dab2c 100644 --- a/MediaBrowser.Controller/Resolvers/FolderResolver.cs +++ b/MediaBrowser.Controller/Resolvers/FolderResolver.cs @@ -7,6 +7,11 @@ namespace MediaBrowser.Controller.Resolvers [Export(typeof(IBaseItemResolver))]
public class FolderResolver : BaseFolderResolver<Folder>
{
+ public override ResolverPriority Priority
+ {
+ get { return ResolverPriority.Last; }
+ }
+
protected override Folder Resolve(ItemResolveEventArgs args)
{
if (args.IsFolder)
diff --git a/MediaBrowser.Controller/Resolvers/VideoResolver.cs b/MediaBrowser.Controller/Resolvers/VideoResolver.cs index c91f39a9b4..15845e1ecc 100644 --- a/MediaBrowser.Controller/Resolvers/VideoResolver.cs +++ b/MediaBrowser.Controller/Resolvers/VideoResolver.cs @@ -12,6 +12,10 @@ namespace MediaBrowser.Controller.Resolvers [Export(typeof(IBaseItemResolver))]
public class VideoResolver : BaseVideoResolver<Video>
{
+ public override ResolverPriority Priority
+ {
+ get { return ResolverPriority.Last; }
+ }
}
/// <summary>
diff --git a/MediaBrowser.Controller/Resolvers/VirtualFolderResolver.cs b/MediaBrowser.Controller/Resolvers/VirtualFolderResolver.cs index c81cb204a7..15bf943c21 100644 --- a/MediaBrowser.Controller/Resolvers/VirtualFolderResolver.cs +++ b/MediaBrowser.Controller/Resolvers/VirtualFolderResolver.cs @@ -8,6 +8,11 @@ namespace MediaBrowser.Controller.Resolvers [Export(typeof(IBaseItemResolver))]
public class VirtualFolderResolver : BaseFolderResolver<VirtualFolder>
{
+ public override ResolverPriority Priority
+ {
+ get { return ResolverPriority.Third; }
+ }
+
protected override VirtualFolder Resolve(ItemResolveEventArgs args)
{
if (args.IsFolder && args.Parent != null && args.Parent.IsRoot)
|
