From 6481688d2acc23b789dab6e8ad04a96e48c46064 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 3 May 2013 00:10:11 -0400 Subject: fixes #223 - New Content Localhost Popups Repeat 'Old' 'New Content' on Media Changes --- .../Library/ChildrenChangedEventArgs.cs | 137 --------------------- MediaBrowser.Controller/Library/ILibraryManager.cs | 49 +++++--- .../Library/ItemChangeEventArgs.cs | 16 +++ 3 files changed, 48 insertions(+), 154 deletions(-) delete mode 100644 MediaBrowser.Controller/Library/ChildrenChangedEventArgs.cs create mode 100644 MediaBrowser.Controller/Library/ItemChangeEventArgs.cs (limited to 'MediaBrowser.Controller/Library') diff --git a/MediaBrowser.Controller/Library/ChildrenChangedEventArgs.cs b/MediaBrowser.Controller/Library/ChildrenChangedEventArgs.cs deleted file mode 100644 index 94f4c540ff..0000000000 --- a/MediaBrowser.Controller/Library/ChildrenChangedEventArgs.cs +++ /dev/null @@ -1,137 +0,0 @@ -using System.Collections.Concurrent; -using MediaBrowser.Controller.Entities; -using System; -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Library -{ - /// - /// Class ChildrenChangedEventArgs - /// - public class ChildrenChangedEventArgs : EventArgs - { - /// - /// Gets or sets the folder. - /// - /// The folder. - public Folder Folder { get; set; } - /// - /// Gets or sets the items added. - /// - /// The items added. - public ConcurrentBag ItemsAdded { get; set; } - /// - /// Gets or sets the items removed. - /// - /// The items removed. - public List ItemsRemoved { get; set; } - /// - /// Gets or sets the items updated. - /// - /// The items updated. - public ConcurrentBag ItemsUpdated { get; set; } - - /// - /// Create the args and set the folder property - /// - /// The folder. - /// - public ChildrenChangedEventArgs(Folder folder) - { - if (folder == null) - { - throw new ArgumentNullException(); - } - - //init the folder property - Folder = folder; - //init the list - ItemsAdded = new ConcurrentBag(); - ItemsRemoved = new List(); - ItemsUpdated = new ConcurrentBag(); - } - - /// - /// Adds the new item. - /// - /// The item. - /// - public void AddNewItem(BaseItem item) - { - if (item == null) - { - throw new ArgumentNullException(); - } - - ItemsAdded.Add(item); - } - - /// - /// Adds the updated item. - /// - /// The item. - /// - public void AddUpdatedItem(BaseItem item) - { - if (item == null) - { - throw new ArgumentNullException(); - } - - ItemsUpdated.Add(item); - } - - /// - /// Adds the removed item. - /// - /// The item. - /// - public void AddRemovedItem(BaseItem item) - { - if (item == null) - { - throw new ArgumentNullException(); - } - - ItemsRemoved.Add(item); - } - - /// - /// Lists the has change. - /// - /// The list. - /// true if XXXX, false otherwise - private bool ListHasChange(List list) - { - return list != null && list.Count > 0; - } - - /// - /// Lists the has change. - /// - /// The list. - /// true if XXXX, false otherwise - private bool ListHasChange(ConcurrentBag list) - { - return list != null && !list.IsEmpty; - } - - /// - /// Gets a value indicating whether this instance has change. - /// - /// true if this instance has change; otherwise, false. - public bool HasChange - { - get { return HasAddOrRemoveChange || ListHasChange(ItemsUpdated); } - } - - /// - /// Gets a value indicating whether this instance has add or remove change. - /// - /// true if this instance has add or remove change; otherwise, false. - public bool HasAddOrRemoveChange - { - get { return ListHasChange(ItemsAdded) || ListHasChange(ItemsRemoved); } - } - } -} diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index a456ee24c4..89d17758e9 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -1,12 +1,11 @@ -using System.IO; -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; +using System.IO; using System.Threading; using System.Threading.Tasks; @@ -14,18 +13,6 @@ namespace MediaBrowser.Controller.Library { public interface ILibraryManager { - /// - /// Fires whenever any validation routine adds or removes items. The added and removed items are properties of the args. - /// *** Will fire asynchronously. *** - /// - event EventHandler LibraryChanged; - - /// - /// Reports the library changed. - /// - /// The instance containing the event data. - void ReportLibraryChanged(ChildrenChangedEventArgs args); - /// /// Resolves the item. /// @@ -185,13 +172,21 @@ namespace MediaBrowser.Controller.Library UserRootFolder GetUserRootFolder(string userRootPath); /// - /// Saves the item. + /// Creates the item. /// /// The item. /// The cancellation token. /// Task. - Task SaveItem(BaseItem item, CancellationToken cancellationToken); + Task CreateItem(BaseItem item, CancellationToken cancellationToken); + /// + /// Updates the item. + /// + /// The item. + /// The cancellation token. + /// Task. + Task UpdateItem(BaseItem item, CancellationToken cancellationToken); + /// /// Retrieves the item. /// @@ -222,5 +217,25 @@ namespace MediaBrowser.Controller.Library /// The progress. /// Task. Task ValidateArtists(CancellationToken cancellationToken, IProgress progress); + + /// + /// Occurs when [item added]. + /// + event EventHandler ItemAdded; + + /// + /// Occurs when [item updated]. + /// + event EventHandler ItemUpdated; + /// + /// Occurs when [item removed]. + /// + event EventHandler ItemRemoved; + + /// + /// Reports the item removed. + /// + /// The item. + void ReportItemRemoved(BaseItem item); } } \ No newline at end of file diff --git a/MediaBrowser.Controller/Library/ItemChangeEventArgs.cs b/MediaBrowser.Controller/Library/ItemChangeEventArgs.cs new file mode 100644 index 0000000000..c83ec54b76 --- /dev/null +++ b/MediaBrowser.Controller/Library/ItemChangeEventArgs.cs @@ -0,0 +1,16 @@ +using MediaBrowser.Controller.Entities; + +namespace MediaBrowser.Controller.Library +{ + /// + /// Class ItemChangeEventArgs + /// + public class ItemChangeEventArgs + { + /// + /// Gets or sets the item. + /// + /// The item. + public BaseItem Item { get; set; } + } +} -- cgit v1.2.3