From 7bca933af0f1b85e289306ae482db8846f94026c Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Fri, 1 Mar 2013 21:44:46 -0500 Subject: added the beginning of a service stack abstraction --- .../Library/LibraryManager.cs | 34 +++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs') 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; @@ -26,23 +27,29 @@ namespace MediaBrowser.Server.Implementations.Library /// public class LibraryManager : ILibraryManager { + /// + /// Gets the intro providers. + /// + /// The intro providers. + private IEnumerable IntroProviders { get; set; } + /// /// Gets the list of entity resolution ignore rules /// /// The entity resolution ignore rules. - public IEnumerable EntityResolutionIgnoreRules { get; private set; } + private IEnumerable EntityResolutionIgnoreRules { get; set; } /// /// Gets the list of BasePluginFolders added by plugins /// /// The plugin folders. - public IEnumerable PluginFolderCreators { get; set; } + private IEnumerable PluginFolderCreators { get; set; } /// /// Gets the list of currently registered entity resolvers /// /// The entity resolvers enumerable. - public IEnumerable EntityResolvers { get; private set; } + private IEnumerable EntityResolvers { get; set; } #region LibraryChanged Event /// @@ -105,11 +112,13 @@ namespace MediaBrowser.Server.Implementations.Library /// The rules. /// The plugin folders. /// The resolvers. - public void AddParts(IEnumerable rules, IEnumerable pluginFolders, IEnumerable resolvers) + /// The intro providers. + public void AddParts(IEnumerable rules, IEnumerable pluginFolders, IEnumerable resolvers, IEnumerable introProviders) { EntityResolutionIgnoreRules = rules; PluginFolderCreators = pluginFolders; EntityResolvers = resolvers.OrderBy(i => i.Priority).ToArray(); + IntroProviders = introProviders; } /// @@ -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); + } + + /// + /// Gets the intros. + /// + /// The item. + /// The user. + /// IEnumerable{System.String}. + public IEnumerable GetIntros(BaseItem item, User user) + { + return IntroProviders.SelectMany(i => i.GetIntros(item, user)); } } } -- cgit v1.2.3