From 0ea90ef7c62dcdbc68fb250b1066340401c9d450 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sat, 2 Mar 2013 21:47:04 -0500 Subject: added IServerEntryPoint to replace plugin.initialize --- MediaBrowser.Controller/Kernel.cs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'MediaBrowser.Controller/Kernel.cs') diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs index 16175783f..99e0ef783 100644 --- a/MediaBrowser.Controller/Kernel.cs +++ b/MediaBrowser.Controller/Kernel.cs @@ -183,7 +183,7 @@ namespace MediaBrowser.Controller /// /// Composes the parts with ioc container. /// - protected override void FindParts() + protected void FindParts() { // For now there's no real way to inject this properly BaseItem.LibraryManager = ApplicationHost.Resolve(); @@ -194,8 +194,6 @@ namespace MediaBrowser.Controller ProviderManager = (ProviderManager)ApplicationHost.CreateInstance(typeof(ProviderManager)); SecurityManager = (PluginSecurityManager)ApplicationHost.CreateInstance(typeof(PluginSecurityManager)); - base.FindParts(); - UserDataRepositories = ApplicationHost.GetExports(); UserRepositories = ApplicationHost.GetExports(); DisplayPreferencesRepositories = ApplicationHost.GetExports(); @@ -211,15 +209,24 @@ namespace MediaBrowser.Controller /// Performs initializations that can be reloaded at anytime /// /// Task. - protected override async Task ReloadInternal() + protected override async void ReloadInternal() { - await base.ReloadInternal().ConfigureAwait(false); + base.ReloadInternal(); + + FindParts(); + + await LoadRepositories().ConfigureAwait(false); ReloadResourcePools(); ReloadFileSystemManager(); await ApplicationHost.Resolve().RefreshUsersMetadata(CancellationToken.None).ConfigureAwait(false); + + foreach (var entryPoint in ApplicationHost.GetExports()) + { + entryPoint.Run(); + } } /// @@ -263,11 +270,8 @@ namespace MediaBrowser.Controller /// Called when [composable parts loaded]. /// /// Task. - protected override async Task OnComposablePartsLoaded() + protected Task LoadRepositories() { - // The base class will start up all the plugins - await base.OnComposablePartsLoaded().ConfigureAwait(false); - // Get the current item repository ItemRepository = GetRepository(ItemRepositories, Configuration.ItemRepository); var itemRepoTask = ItemRepository.Initialize(); @@ -284,7 +288,7 @@ namespace MediaBrowser.Controller DisplayPreferencesRepository = GetRepository(DisplayPreferencesRepositories, Configuration.DisplayPreferencesRepository); var displayPreferencesRepoTask = DisplayPreferencesRepository.Initialize(); - await Task.WhenAll(itemRepoTask, userRepoTask, userDataRepoTask, displayPreferencesRepoTask).ConfigureAwait(false); + return Task.WhenAll(itemRepoTask, userRepoTask, userDataRepoTask, displayPreferencesRepoTask); } /// -- cgit v1.2.3