internal ItemsWatcher ItemsWatcher() { ItemsWatcher watcher = new ItemsWatcher(); _itemsWatchers.Add(watcher); return(watcher); }
public void WatchItems <TypedItem>(IFolder folder, TypedItemEventHandler <TypedItem> handler, bool reportExisting) where TypedItem : IItem { if (!DebugOptions.GetOption(null, DebugOptions.WATCHER_ENABLED)) { return; } // Must have a ZPush folder to watch events. ZPushFolder zPushFolder = folder.ZPush; // Register the handlers ItemsWatcher watcher = zPushFolder.ItemsWatcher(); watcher.ItemEvent += (item) => { if (item is TypedItem) { handler((TypedItem)item); } }; // Report existing if requested if (reportExisting) { zPushFolder.ReportExistingItems(handler); } }