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);
 }
示例#2
0
        /// <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();
            }
        }
示例#3
0
        /// <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;
 }