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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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++;
 }
Exemple #7
0
 public void RemoveHandler(WatchedDirectoryChangeEventHandler eventHandler)
 {
     _watcherEvent -= eventHandler;
     _handleCount--;
 }
Exemple #8
0
 public void AddHandler(WatchedDirectoryChangeEventHandler eventHandler)
 {
     _watcherEvent += eventHandler;
     _handleCount++;
 }