aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Resolvers
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-20 11:55:05 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-20 11:55:05 -0400
commit8f024e81996b14a9e6a440a601d0f6c0694f7ab8 (patch)
treeb7bb10bde396608e11c0bac9c4ed706508f1a003 /MediaBrowser.Controller/Resolvers
parent19a4dd83c21db931edf14a0ef547219ef93cdc84 (diff)
Fully async'd xml parsing process as well as added resolver and provider priorities
Diffstat (limited to 'MediaBrowser.Controller/Resolvers')
-rw-r--r--MediaBrowser.Controller/Resolvers/AudioResolver.cs5
-rw-r--r--MediaBrowser.Controller/Resolvers/BaseItemResolver.cs17
-rw-r--r--MediaBrowser.Controller/Resolvers/FolderResolver.cs5
-rw-r--r--MediaBrowser.Controller/Resolvers/VideoResolver.cs4
-rw-r--r--MediaBrowser.Controller/Resolvers/VirtualFolderResolver.cs5
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)