瀏覽代碼

Add OnLibraryChanged event to server Kernel

ebr11 Eric Reed spam 12 年之前
父節點
當前提交
7186d66109
共有 2 個文件被更改,包括 20 次插入1 次删除
  1. 5 1
      MediaBrowser.Controller/Entities/Folder.cs
  2. 15 0
      MediaBrowser.Controller/Kernel.cs

+ 5 - 1
MediaBrowser.Controller/Entities/Folder.cs

@@ -22,7 +22,11 @@ namespace MediaBrowser.Controller.Entities
         {
         {
             if (ChildrenChanged != null)
             if (ChildrenChanged != null)
             {
             {
-                Task.Run( () => ChildrenChanged(this, args));
+                Task.Run( () => 
+                    {
+                        ChildrenChanged(this, args);
+                        Kernel.Instance.OnLibraryChanged(args);
+                    });
             }
             }
         }
         }
 
 

+ 15 - 0
MediaBrowser.Controller/Kernel.cs

@@ -25,6 +25,21 @@ namespace MediaBrowser.Controller
 {
 {
     public class Kernel : BaseKernel<ServerConfiguration, ServerApplicationPaths>
     public class Kernel : BaseKernel<ServerConfiguration, ServerApplicationPaths>
     {
     {
+        #region Events
+        /// <summary>
+        /// Fires whenever any validation routine adds or removes items.  The added and removed items are properties of the args.
+        /// *** Will fire asynchronously. ***
+        /// </summary>
+        public event EventHandler<ChildrenChangedEventArgs> LibraryChanged;
+        public void OnLibraryChanged(ChildrenChangedEventArgs args)
+        {
+            if (LibraryChanged != null)
+            {
+                Task.Run(() => LibraryChanged(this, args));
+            }
+        }
+
+        #endregion
         public static Kernel Instance { get; private set; }
         public static Kernel Instance { get; private set; }
 
 
         public ItemController ItemController { get; private set; }
         public ItemController ItemController { get; private set; }