void CreateWatcher(string rootDirName) { ModelUpdater?.Dispose(); ModelUpdater = new ModelUpdater(this); Watcher.Path = rootDirName; Watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Size; Watcher.Filter = "*.*"; Watcher.Changed += OnChanged; Watcher.Created += OnCreated; Watcher.Deleted += OnDeleted; Watcher.Renamed += OnRenamed; Watcher.IncludeSubdirectories = true; Watcher.EnableRaisingEvents = true; }
void OnChanged(object sender, FileSystemEventArgs e) { ModelUpdater.EnqueueTask(new ChangedTask(e.FullPath, e.Name)); }
public void Dispose() { ServiceContainer?.Dispose(); Watcher?.Dispose(); ModelUpdater?.Dispose(); }
void OnRenamed(object sender, RenamedEventArgs e) { ModelUpdater.EnqueueTask(new RenamedTask(e.OldFullPath, e.FullPath, e.Name, e.OldName)); }