Exemplo n.º 1
0
        private void OnWatchdogTargetChanged(object sender, EventArgs e)
        {
            var processVm = ProcessesUnderWatch.SingleOrDefault(puw => puw == (ProcessViewModel)sender);

            IEnumerable <IProcessWatch> models = ProcessesUnderWatch.Select(ProcessWatchAssembler.AssembleFromViewModel);

            _eventHub.GetEvent <OnWatchdogTargetChangedEvent>().Publish(models);
        }
        private void UpdateProcessWatch(IEnumerable <IProcessWatch> processWatches)
        {
            IEnumerable <IProcessWatch> processToRemove = ProcessesUnderWatch.Except(processWatches);
            IEnumerable <IProcessWatch> processToAdd    = processWatches.Except(ProcessesUnderWatch);
            IEnumerable <IProcessWatch> processToUpdate = ProcessesUnderWatch.Union(processWatches);

            processToAdd.ToList().ForEach(p => _processWatcher.AddProcessToWatchList(p.ProcessName, p.DoCapture));
            processToRemove.ToList().ForEach(p => _processWatcher.RemoveProcessFromWatchList(p.ProcessName));
            processToUpdate.ToList().ForEach(p => _processWatcher.UpdateProcessCaptureInWatchList(p.ProcessName, p.DoCapture));
            ProcessesUnderWatch = _processWatcher.GetProcessUnderWatch();
        }
Exemplo n.º 3
0
        private void OnWatchdogRemoveTarget(object sender, EventArgs e)
        {
            var processVm = ProcessesUnderWatch.SingleOrDefault(puw => puw == (ProcessViewModel)sender);

            if (processVm != null)
            {
                processVm.OnProcessWatchRemoveEvent -= OnWatchdogRemoveTarget;
                ProcessesUnderWatch.Remove(processVm);
            }

            IEnumerable <IProcessWatch> models = ProcessesUnderWatch.Where(p => p.IsValidProcessViewModel)
                                                 .Select(ProcessWatchAssembler.AssembleFromViewModel);

            _eventHub.GetEvent <OnWatchdogTargetChangedEvent>().Publish(models);
        }