aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-01 21:44:46 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-01 21:44:46 -0500
commit7bca933af0f1b85e289306ae482db8846f94026c (patch)
treeace079674d0e11daa3dda3fb675e34efefc4880b /MediaBrowser.Server.Implementations/Library/LibraryManager.cs
parent9f8aa880aa11a84eb32e1ff0066daa1c1685aab3 (diff)
added the beginning of a service stack abstraction
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs34
1 files changed, 27 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index f25f7b2bb..18108842f 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Events;
+using System.Collections;
+using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller;
@@ -27,22 +28,28 @@ namespace MediaBrowser.Server.Implementations.Library
public class LibraryManager : ILibraryManager
{
/// <summary>
+ /// Gets the intro providers.
+ /// </summary>
+ /// <value>The intro providers.</value>
+ private IEnumerable<IIntroProvider> IntroProviders { get; set; }
+
+ /// <summary>
/// Gets the list of entity resolution ignore rules
/// </summary>
/// <value>The entity resolution ignore rules.</value>
- public IEnumerable<IResolutionIgnoreRule> EntityResolutionIgnoreRules { get; private set; }
+ private IEnumerable<IResolutionIgnoreRule> EntityResolutionIgnoreRules { get; set; }
/// <summary>
/// Gets the list of BasePluginFolders added by plugins
/// </summary>
/// <value>The plugin folders.</value>
- public IEnumerable<IVirtualFolderCreator> PluginFolderCreators { get; set; }
+ private IEnumerable<IVirtualFolderCreator> PluginFolderCreators { get; set; }
/// <summary>
/// Gets the list of currently registered entity resolvers
/// </summary>
/// <value>The entity resolvers enumerable.</value>
- public IEnumerable<IBaseItemResolver> EntityResolvers { get; private set; }
+ private IEnumerable<IBaseItemResolver> EntityResolvers { get; set; }
#region LibraryChanged Event
/// <summary>
@@ -105,11 +112,13 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="rules">The rules.</param>
/// <param name="pluginFolders">The plugin folders.</param>
/// <param name="resolvers">The resolvers.</param>
- public void AddParts(IEnumerable<IResolutionIgnoreRule> rules, IEnumerable<IVirtualFolderCreator> pluginFolders, IEnumerable<IBaseItemResolver> resolvers)
+ /// <param name="introProviders">The intro providers.</param>
+ public void AddParts(IEnumerable<IResolutionIgnoreRule> rules, IEnumerable<IVirtualFolderCreator> pluginFolders, IEnumerable<IBaseItemResolver> resolvers, IEnumerable<IIntroProvider> introProviders)
{
EntityResolutionIgnoreRules = rules;
PluginFolderCreators = pluginFolders;
EntityResolvers = resolvers.OrderBy(i => i.Priority).ToArray();
+ IntroProviders = introProviders;
}
/// <summary>
@@ -655,8 +664,19 @@ namespace MediaBrowser.Server.Implementations.Library
{
throw new ArgumentNullException("id");
}
- return null;
- //return RootFolder.FindItemById(id, null);
+
+ return RootFolder.FindItemById(id, null);
+ }
+
+ /// <summary>
+ /// Gets the intros.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="user">The user.</param>
+ /// <returns>IEnumerable{System.String}.</returns>
+ public IEnumerable<string> GetIntros(BaseItem item, User user)
+ {
+ return IntroProviders.SelectMany(i => i.GetIntros(item, user));
}
}
}