From 00545b5543374c7aaea39ee214dc11c298f71068 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Sat, 11 Aug 2012 15:49:45 -0400 Subject: Added progress reporting to kernel.init --- MediaBrowser.Controller/Kernel.cs | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'MediaBrowser.Controller/Kernel.cs') diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs index 9f9ce924d..7841a2a5e 100644 --- a/MediaBrowser.Controller/Kernel.cs +++ b/MediaBrowser.Controller/Kernel.cs @@ -16,6 +16,7 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Users; +using MediaBrowser.Model.Progress; namespace MediaBrowser.Controller { @@ -37,13 +38,13 @@ namespace MediaBrowser.Controller return ApplicationPaths.RootFolderPath; } } - + /// /// Gets the list of currently registered entity resolvers /// [ImportMany(typeof(IBaseItemResolver))] public IEnumerable EntityResolvers { get; private set; } - + /// /// Creates a kernal based on a Data path, which is akin to our current programdata path /// @@ -59,6 +60,19 @@ namespace MediaBrowser.Controller ItemController.BeginResolvePath += ItemController_BeginResolvePath; } + public override void Init(IProgress progress) + { + base.Init(progress); + + progress.Report(new TaskProgress() { Description = "Loading Users", PercentComplete = 15 }); + ReloadUsers(); + + progress.Report(new TaskProgress() { Description = "Loading Media Library", PercentComplete = 20 }); + ReloadRoot(); + + progress.Report(new TaskProgress() { Description = "Loading Complete", PercentComplete = 100 }); + } + protected override void OnComposablePartsLoaded() { List resolvers = EntityResolvers.ToList(); @@ -72,10 +86,6 @@ namespace MediaBrowser.Controller // The base class will start up all the plugins base.OnComposablePartsLoaded(); - - // Get users from users folder - // Load root media folder - Parallel.Invoke(ReloadUsers, ReloadRoot); } /// @@ -149,7 +159,7 @@ namespace MediaBrowser.Controller { return Configuration.DefaultUserConfiguration; } - + public void ReloadItem(BaseItem item) { Folder folder = item as Folder; -- cgit v1.2.3