Example #1
0
        private void CompareSnapshots()
        {
            RegistrySnapshot lhs;
            RegistrySnapshot rhs;

            ChangeResult[] results;

            lhs     = null;
            rhs     = null;
            results = new ChangeResult[0];

            this.PerformAction(() => lhs = RegistrySnapshot.LoadFromFile(PathHelpers.GetFullPath(_files[0])),
                               "Loading first snapshot");
            this.PerformAction(() => rhs = RegistrySnapshot.LoadFromFile(PathHelpers.GetFullPath(_files[1])),
                               "Loading second snapshot");

            if (lhs != null && rhs != null)
            {
                this.PerformAction(() =>
                {
                    RegistrySnapshotComparer comparer;

                    comparer = new RegistrySnapshotComparer(lhs, rhs);

                    results = comparer.Compare();
                }, "Comparing snapshots");
            }

            this.PrintResults(results);

            if (this.ExitCode == ExitCode.InvalidArguments)
            {
                this.ExitCode = results.Length == 0 ? ExitCode.Success : ExitCode.CompareMismatch;
            }
        }
Example #2
0
        private void TakeSnapshot()
        {
            RegistrySnapshot        snapshot;
            RegistrySnapshotBuilder builder;

            builder  = new RegistrySnapshotBuilder();
            snapshot = new RegistrySnapshot();

            foreach (string key in _keys)
            {
                this.PerformAction(() =>
                {
                    RegistryKeySnapshot keySnapshot;

                    keySnapshot      = builder.TakeSnapshot(key);
                    keySnapshot.Name = key;

                    snapshot.Keys.Add(keySnapshot);
                }, $"Snapshotting {key}");
            }

            _currentSnapshot = snapshot;

            this.SaveSnapshot();

            if (this.ExitCode == ExitCode.InvalidArguments)
            {
                this.ExitCode = ExitCode.Success;
            }
        }
Example #3
0
        private void viewButton_Click(object sender, EventArgs e)
        {
            if (snapshotsListBox.SelectedItem == null)
            {
                MessageBox.Show("Please select the snapshot to view.", this.Text, MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            else
            {
                RegistrySnapshot snapshot;
                string           fileName;

                this.SetStatus("Loading snapshot...");

                fileName = ((FileInfo)snapshotsListBox.SelectedItem).FullPath;

                snapshot = RegistrySnapshot.LoadFromFile(fileName);

                this.SetStatus(null);

                using (ViewDialog dialog = new ViewDialog(snapshot))
                {
                    dialog.ShowDialog(this);
                }
            }
        }
Example #4
0
        public void TakeSnapshot_should_return_snapshot_of_single_key()
        {
            // arrange
            RegistrySnapshotBuilder target;
            RegistryKeySnapshot     snapshot;
            RegistryKeySnapshot     compare;
            RegistrySnapshot        lhs;
            RegistrySnapshot        rhs;

            ChangeResult[] expected;
            ChangeResult[] actual;

            target       = new RegistrySnapshotBuilder();
            compare      = this.LoadBaseSnapshot().Keys[0];
            compare.Name = "Tests";
            lhs          = new RegistrySnapshot();
            lhs.Keys.Add(compare);

            expected = new ChangeResult[0];

            this.CreateBase();

            // act
            snapshot = target.TakeSnapshot(this.FullRootKeyName);

            // assert
            rhs = new RegistrySnapshot();
            rhs.Keys.Add(snapshot);
            actual = new RegistrySnapshotComparer(lhs, rhs).Compare();
            CollectionAssert.AreEqual(expected, actual);
        }
Example #5
0
        private void compareBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            TaskOptions              options;
            RegistrySnapshot         lhs;
            RegistrySnapshot         rhs;
            RegistrySnapshotComparer comparer;

            options  = (TaskOptions)e.Argument;
            lhs      = RegistrySnapshot.LoadFromFile(options.FileName1);
            rhs      = RegistrySnapshot.LoadFromFile(options.FileName2);
            comparer = new RegistrySnapshotComparer(lhs, rhs);

            e.Result = comparer.Compare();
        }
Example #6
0
        private void snapshotBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            TaskOptions      options;
            RegistrySnapshot snapshot;
            string           fileName;
            string           name;

            options  = (TaskOptions)e.Argument;
            name     = DateTime.Now.ToString("yyyyMMdd HHmm");
            fileName = PathHelpers.GetUniqueFileName(name, options.OutputPath);

            snapshot      = RegistrySnapshot.TakeSnapshot(options.Keys);
            snapshot.Name = name;
            snapshot.Save(fileName);

            e.Result = snapshot;
        }
Example #7
0
 public ViewDialog(RegistrySnapshot snapshot)
     : this()
 {
     _snapshot = snapshot;
 }
Example #8
0
 public ViewDialog(RegistrySnapshot snapshot)
     : this()
 {
     _snapshot = snapshot;
 }
Example #9
0
 protected RegistrySnapshot LoadSnapshot(string name)
 {
     return(RegistrySnapshot.LoadFromFile(Path.Combine(this.DataPath, name + ".rge")));
 }
Example #10
0
    private void TakeSnapshot()
    {
      RegistrySnapshot snapshot;
      RegistrySnapshotBuilder builder;

      builder = new RegistrySnapshotBuilder();
      snapshot = new RegistrySnapshot();

      foreach (string key in _keys)
      {
        this.PerformAction(() =>
                           {
                             RegistryKeySnapshot keySnapshot;

                             keySnapshot = builder.TakeSnapshot(key);
                             keySnapshot.Name = key;

                             snapshot.Keys.Add(keySnapshot);
                           }, $"Snapshotting {key}");
      }

      _currentSnapshot = snapshot;

      this.SaveSnapshot();

      if (this.ExitCode == ExitCode.InvalidArguments)
      {
        this.ExitCode = ExitCode.Success;
      }
    }
Example #11
0
 private void AddSnapshot(RegistrySnapshot snapshot)
 {
     this.AddSnapshot(snapshot.FileName);
 }
Example #12
0
 private void AddSnapshot(RegistrySnapshot snapshot)
 {
     this.AddSnapshot(snapshot.FileName);
 }