public ClientController() { //Load, Watch Folders, Scan for file changes while offline, Get Diffs and merge with existing state, this._tracker = FileTracker.LoadExistingInstanceOrCreateNew(); this._backupManager = new BackupManager(this._tracker); }
/// <summary> /// Serialize a File System Map. This will override an existing map. /// </summary> public static void SerializeTracker(FileTracker tracker) { var fs = new FileStream("tracker.esm", FileMode.OpenOrCreate); try { var bf = new BinaryFormatter(); bf.Serialize(fs, tracker); } catch(Exception exception) { Trace.WriteLine(exception.Message); } finally { fs.Close(); } }
/// <summary> /// Deserialize an existing File System Map /// </summary> public static FileTracker LoadExistingInstanceOrCreateNew() { FileTracker tracker = null; FileStream fs = null; try { fs = new FileStream("tracker.esm", FileMode.Open); var bf = new BinaryFormatter(); tracker = (FileTracker) bf.Deserialize(fs); } catch(Exception exception) { Trace.WriteLine(exception.Message); tracker = new FileTracker(null); } finally { //tracker.ReadFolderListToBackup(); tracker.Init(); if(fs != null) { fs.Close(); } } return tracker; }
public BackupManager(FileTracker t) { this._tracker = t; }