public WatchedDirectory(string directoryPath, string fileExtension, WatchedDirectoryChangeEventHandler eventHandler) : base(directoryPath) { _watcher = new FileSystemWatcher(directoryPath, fileExtension); _watcher.Changed += OnWatcherEvent; _watcher.Created += OnWatcherEvent; _watcher.Deleted += OnWatcherEvent; _watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.CreationTime; _watcher.EnableRaisingEvents = true; AddHandler(eventHandler); }
public WatchedDirectory(string directoryPath, string fileExtension, WatchedDirectoryChangeEventHandler eventHandler) : base(directoryPath) { _watcher = new FileSystemWatcher(directoryPath, fileExtension); _watcher.Changed += OnWatcherEvent; _watcher.Created += OnWatcherEvent; _watcher.Deleted += OnWatcherEvent; _watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.CreationTime; _watcher.EnableRaisingEvents = true; AddHandler(eventHandler); }
public void StopDirectoryObserve(string directoryPath, string fileExtension, WatchedDirectoryChangeEventHandler eventHandler) { directoryPath = directoryPath.ToLowerInvariant(); string key = directoryPath + fileExtension.ToLowerInvariant(); if (_watchedResources.ContainsKey(key)) { var watchedDirectory = (WatchedDirectory)_watchedResources[key]; watchedDirectory.RemoveHandler(eventHandler); if (!watchedDirectory.HasHandles) { _watchedResources.Remove(key); } } }
public void StartDirectoryObserve(string directoryPath, string fileExtension, WatchedDirectoryChangeEventHandler eventHandler) { directoryPath = directoryPath.ToLowerInvariant(); string key = directoryPath + fileExtension.ToLowerInvariant(); if (_watchedResources.ContainsKey(key)) { ((WatchedDirectory)_watchedResources[key]).AddHandler(eventHandler); } else { _watchedResources.Add(key, new WatchedDirectory(directoryPath, fileExtension, eventHandler)); } }
public void RemoveHandler(WatchedDirectoryChangeEventHandler eventHandler) { _watcherEvent -= eventHandler; _handleCount--; }
public void AddHandler(WatchedDirectoryChangeEventHandler eventHandler) { _watcherEvent += eventHandler; _handleCount++; }
public void RemoveHandler(WatchedDirectoryChangeEventHandler eventHandler) { _watcherEvent -= eventHandler; _handleCount--; }
public void AddHandler(WatchedDirectoryChangeEventHandler eventHandler) { _watcherEvent += eventHandler; _handleCount++; }