private void AddDirRecursive(string dir_path) { MonitorConfig monitor_config = Config.GetMonitorConfig(); List <string> files = new List <string>(Directory.EnumerateFiles(dir_path)); int dir_id = SaveDirRow(dir_path); foreach (string file in files) { //If the file is on the exclude list, ignore it if (monitor_config.exclude.Contains(file)) { continue; } FileInfo f_info = new FileInfo(file); SaveFileRow(f_info.FullName, f_info.Name, f_info.Length, f_info.LastAccessTimeUtc, dir_id); } List <string> subdirs = new List <string>(Directory.EnumerateDirectories(dir_path)); foreach (string dir in subdirs) { if (!monitor_config.exclude.Contains(dir)) { AddDirRecursive(dir); } } }
private void ScanFileSystem() { next_dir_id = 1; MonitorConfig monitor_config = Config.GetMonitorConfig(); List <String> dirs = new List <String>(); foreach (var item in monitor_config.include) { //If the item is on the exclude list, ignore it and all subdirectories if (monitor_config.exclude.Contains(item)) { continue; } if (Directory.Exists(item)) { dirs.Add(item); } else { //Directory does not exist, so ignore it } } foreach (var dir in dirs) { AddDirRecursive(dir); } AddAllRows(); }
public static MonitorConfig GetMonitorConfig() { if (monitor_config == null) { StreamReader sr = new StreamReader(data_dir + "\\monitor-config.json"); string contents = sr.ReadToEnd(); sr.Close(); monitor_config = JsonConvert.DeserializeObject <MonitorConfig>(contents); } return(monitor_config); }
public Daemon() { event_set = new HashSet <string>(); monitor_config = Config.GetMonitorConfig(); foreach (var dir in monitor_config.include) { Monitor m = new Monitor(dir, RaiseDirEvent); } Console.WriteLine(monitor_config); }