private void FirstScan(string path) { DirectoryInfo dirInfo = new DirectoryInfo(path); var files = dirInfo.GetFileSystemInfos().OrderBy(f => f.CreationTime).Where(f => (f.Attributes & System.IO.FileAttributes.Directory) != System.IO.FileAttributes.Directory); foreach (FileSystemInfo file in files) { FileUnitInfo hfile = new FileUnitInfo { Info = new FileInfo(file.FullName), Status = FileStatus.Added }; Enqueue(hfile); } }
public bool Equals(FileUnitInfo fi) { return Info.Equals(fi.Info) && Status == fi.Status; }
public FileQueueEventArgs(FileUnitInfo info, FileQueueEventType type) { fileUnitInfo = info; eventType = type; }
private void onChange(object source, FileSystemEventArgs args) { FileUnitInfo fi = new FileUnitInfo(); fi.Info = new FileInfo(args.FullPath); fi.Status = FileStatus.Changed; Enqueue(fi); }
public void Enqueue(FileUnitInfo file) { fileQueue.Enqueue(file); onChanged(new FileQueueEventArgs(file, FileQueueEventArgs.FileQueueEventType.Increased)); }