/// <summary> /// Reflects directory structure of observed files and directories /// </summary> /// <param name="watcher">Raises events on file system changes</param> /// <param name="sequentialId">Used to generate identifiers to track file content</param> /// <param name="systemFileNameFilter">A deterministic function to limit the observed scope</param> public Mirror( Watcher watcher, SequentialId sequentialId, FileNameFilter systemFileNameFilter = null) { _watcher = watcher; _watcher.ChangeDetected += changeDetected; _watcher.Error += watcherError; _fileNameFilter = systemFileNameFilter ?? (fullFileName => true); _sequentialId = sequentialId; _root = new RootEntry <Metadata>(() => new Metadata(SequentialId.None)); _createdEntriesQueue.Enqueued += (sender, entry) => EnqueuedCreatedEntry?.Invoke(this, entry); _deletedEntriesQueue.Enqueued += (sender, entry) => EnqueuedDeletedEntry?.Invoke(this, entry); _movedEntriesQueue.Enqueued += (sender, entry) => EnqueuedMovedEntry?.Invoke(this, entry); }
protected Entry(RootEntry <TData> root) { Root = root; }
public DirectoryEntry(RootEntry <TData> root) : base(root) { }