示例#1
0
 private static void ManageActivityMonitorConnection()
 {
     if (KeyImageInformation.Count == 0 && _activityMonitor != null)
     {
         try
         {
             _activityMonitor.IsConnectedChanged -= DummyEventHandler;
             _activityMonitor.Dispose();
         }
         catch (Exception e)
         {
             Platform.Log(LogLevel.Warn, e, "Failed to unsubscribe from activity monitor events.");
         }
         finally
         {
             _activityMonitor = null;
         }
     }
     else if (KeyImageInformation.Count > 0 && _activityMonitor == null && WorkItemActivityMonitor.IsSupported)
     {
         try
         {
             _activityMonitor = WorkItemActivityMonitor.Create();
             //we subscribe to something to keep the connection open.
             _activityMonitor.IsConnectedChanged += DummyEventHandler;
         }
         catch (Exception e)
         {
             _activityMonitor = null;
             Platform.Log(LogLevel.Warn, e, "Failed to subscribe to activity monitor events.");
         }
     }
 }
示例#2
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                _workItemActivityMonitor.IsConnectedChanged -= OnConnectionChanged;
                _workItemActivityMonitor.Dispose();
                _workItemActivityMonitor = null;
            }

            base.Dispose(disposing);
        }
示例#3
0
        protected override void Dispose(bool disposing)
        {
            _workItemActivityMonitor.IsConnectedChanged -= OnIsConnectedChanged;
            _workItemActivityMonitor.Dispose();

            if (base.Context != null)
            {
                KeyImageClipboard.OnViewerClosed(base.Context.Viewer);
            }

            base.Dispose(disposing);
        }
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                this.Context.SelectionChanged -= OnSelectedStudyChanged;

                _workItemActivityMonitor.IsConnectedChanged -= OnIsConnectedChanged;
                _workItemActivityMonitor.Dispose();
                _workItemActivityMonitor = null;
            }
            base.Dispose(disposing);
        }
        /// <summary>
        /// Cleanup the activity monitor connections
        /// </summary>
        public void Cleanup()
        {
            var disposableService = _activityMonitorService as IDisposable;

            if (disposableService != null)
            {
                disposableService.Dispose();
            }
            _activityMonitorService = null;

            _monitor.WorkItemsChanged -= WorkItemsChanged;
            _monitor.Dispose();
        }
示例#6
0
        public override void Stop()
        {
            base.Stop();

            if (_delaySetFileStoreDirectory != null)
            {
                _delaySetFileStoreDirectory.Cancel();
                _delaySetFileStoreDirectory.Dispose();
                _delaySetFileStoreDirectory = null;
            }

            if (_activityMonitor != null)
            {
                _activityMonitor.IsConnectedChanged -= ActivityMonitorOnIsConnectedChanged;
                _activityMonitor.Dispose();
            }
        }
示例#7
0
        private void StopMonitoringStudies()
        {
            _synchronizationContext = null;
            if (_activityMonitor != null)
            {
                _activityMonitor.IsConnectedChanged -= OnIsConnectedChangedAsync;
                _activityMonitor.WorkItemsChanged   -= OnWorkItemsChangedAsync;
                _activityMonitor.StudiesCleared     -= OnStudiesClearedAsync;
                _activityMonitor.Dispose();
                _activityMonitor = null;
            }

            if (_processChangedStudiesTimer != null)
            {
                _processChangedStudiesTimer.Dispose();
                _processChangedStudiesTimer = null;
            }

            UpdateReindexing();
        }
        public void RunApplication(string[] args)
        {
            Console.WriteLine("Starting WorkItemActivityMonitor test application ...");

            _workItemActivityMonitor = WorkItemActivityMonitor.Create(false);
            _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged;
            _workItemActivityMonitor.WorkItemsChanged += OnWorkItemsChanged;
            
            Console.WriteLine("Press <Enter> to terminate.");
            Console.WriteLine();
            Console.WriteLine();

            string message = String.Format("IsConnected={0}", _workItemActivityMonitor.IsConnected);
            Console.WriteLine(message);

            Console.ReadLine();

            _workItemActivityMonitor.IsConnectedChanged -= OnIsConnectedChanged;
            _workItemActivityMonitor.WorkItemsChanged -= OnWorkItemsChanged;
            _workItemActivityMonitor.Dispose();
        }
示例#9
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                _workItemActivityMonitor.IsConnectedChanged -= IsConnectedChanged;
                _workItemActivityMonitor.WorkItemsChanged   -= WorkItemsChanged;
                _workItemActivityMonitor.Dispose();
                _workItemActivityMonitor = null;

                ImportStatus          = ImportStatus.Standby;
                _checkingForDownloads = false;

                // Attempt to clean up temp files
                foreach (var studyUidFolder in _studyUidsTempFolders)
                {
                    Directory.Delete(_studyUidsTempFolders[studyUidFolder.Key], true);
                }
            }

            base.Dispose(disposing);
        }
示例#10
0
        public void RunApplication(string[] args)
        {
            Console.WriteLine("Starting WorkItemActivityMonitor test application ...");

            _workItemActivityMonitor = WorkItemActivityMonitor.Create(false);
            _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged;
            _workItemActivityMonitor.WorkItemsChanged   += OnWorkItemsChanged;

            Console.WriteLine("Press <Enter> to terminate.");
            Console.WriteLine();
            Console.WriteLine();

            string message = String.Format("IsConnected={0}", _workItemActivityMonitor.IsConnected);

            Console.WriteLine(message);

            Console.ReadLine();

            _workItemActivityMonitor.IsConnectedChanged -= OnIsConnectedChanged;
            _workItemActivityMonitor.WorkItemsChanged   -= OnWorkItemsChanged;
            _workItemActivityMonitor.Dispose();
        }
        private void DropConnection()
        {
            if (_workItemActivityMonitor == null)
            {
                return;
            }

            Platform.Log(LogLevel.Debug, "Attempting to disconnect from ActivityMonitorService.");

            _workItemActivityMonitor.WorkItemsChanged   -= OnWorkItemsChanged;
            _workItemActivityMonitor.StudiesCleared     -= OnStudiesCleared;
            _workItemActivityMonitor.IsConnectedChanged -= OnIsConnectedChanged;
            _workItemActivityMonitor.Dispose();
            _workItemActivityMonitor = null;

            _updatedIdleStudies.Clear();
            _updatedIdleStudies = null;

            AimCache.Instance.ClearCache();

            FireIsConnectedChanged();
        }
示例#12
0
 public override void Cleanup()
 {
     _activityMonitor.WorkItemsChanged -= UpdateProgress;
     _activityMonitor.Dispose();
 }
示例#13
0
 /// <summary>
 /// Cleanup the activity monitor connections
 /// </summary>
 public void Cleanup()
 {
     _monitor.WorkItemsChanged -= WorkItemsChanged;
     _monitor.Dispose();
 }