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."); } } }
public void Initialize() { this.ActivityMonitor = WorkItemActivityMonitor.Create(true); this.ActivityMonitor.IsConnectedChanged += ActivityMonitorIsConnectedChanged; _connectionState = _connectionState.Update(); }
public override void Initialize() { base.Initialize(); KeyImageClipboard.OnViewerOpened(base.Context.Viewer); UpdateEnabled(); if (WorkItemActivityMonitor.IsSupported) { _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged; } if (!KeyImageClipboard.HasViewPlugin) { foreach (var a in Actions) { // TODO (CR Phoenix5 - High): use the ID, which doesn't change; this will change with language. if (a.Path.LocalizedPath == "global-toolbars/ToolbarStandard/Show Key Images") { var buttonAction = a as ButtonAction; if (buttonAction != null) { buttonAction.Visible = false; } } } } }
public MoveScpExtension() : base(GetSupportedSops()) { _sendOperations = new List <SendOperationInfo>(); // TODO (CR Jun 2012 - Med): This item is disposable and should ideally be cleaned up. _activityMonitor = WorkItemActivityMonitor.Create(false); _activityMonitor.WorkItemsChanged += UpdateProgress; }
public override void Initialize() { base.Initialize(); _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += OnConnectionChanged; this.Enabled = _workItemActivityMonitor.IsConnected; }
public override void Initialize() { base.Initialize(); this.Context.SelectionChanged += OnSelectedStudyChanged; _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged; }
public override void Initialize() { base.Initialize(); KeyImageClipboard.OnViewerOpened(base.Context.Viewer); UpdateEnabled(); _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged; }
public void TestRealActivityMonitorSubscriptionsWithProxy() { _expectingAsyncEvents = true; //Make sure it's initially open. TestServiceProvider.ServiceInstance.Open(); var monitor = WorkItemActivityMonitor.Create(false); TestActivityMonitorSubscriptions(monitor, TestServiceProvider.ServiceInstance); monitor.Dispose(); Assert.AreEqual(0, WorkItemActivityMonitor._proxyCount); }
/// <summary> /// Called by the framework to initialize this tool. /// </summary> public override void Initialize() { base.Initialize(); ImageViewer.EventBroker.DisplaySetChanged += OnDisplaySetChanged; ImageViewer.EventBroker.LayoutCompleted += OnLayoutComplete; if (WorkItemActivityMonitor.IsSupported) { _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.WorkItemsChanged += OnWorkItemsChanged; } }
/// <summary> /// Constructor. /// </summary> /// <param name="sourceAE">The AE title of the remote application sending the SOP Instances.</param> /// <param name="configuration">Storage configuration. </param> /// <param name="hostname">The IP Address the remote app is connecting with.</param> /// <param name="auditSource">The source of the request for auditing purposes </param> public DicomReceiveImportContext(string sourceAE, string hostname, StorageConfiguration configuration, EventSource auditSource) : base(sourceAE, configuration, auditSource) { // TODO (CR Jun 2012 - Med): This object is disposable and should be cleaned up. _monitor = WorkItemActivityMonitor.Create(false); _monitor.WorkItemsChanged += WorkItemsChanged; var serverList = ServerDirectory.GetRemoteServersByAETitle(sourceAE); if (serverList.Count == 1) _dicomServerNode = CollectionUtils.FirstElement(serverList); _hostname = hostname; }
/// <summary> /// Constructor. /// </summary> /// <param name="sourceAE">The AE title of the remote application sending the SOP Instances.</param> /// <param name="configuration">Storage configuration. </param> /// <param name="hostname">The IP Address the remote app is connecting with.</param> /// <param name="auditSource">The source of the request for auditing purposes </param> public DicomReceiveImportContext(string sourceAE, string hostname, StorageConfiguration configuration, EventSource auditSource) : base(sourceAE, configuration, auditSource) { _monitor = WorkItemActivityMonitor.Create(false); _monitor.WorkItemsChanged += WorkItemsChanged; var serverList = ServerDirectory.GetRemoteServersByAETitle(sourceAE); if (serverList.Count == 1) { _dicomServerNode = CollectionUtils.FirstElement(serverList); } _hostname = hostname; }
public override void Initialize() { base.Initialize(); _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += IsConnectedChanged; _workItemActivityMonitor.WorkItemsChanged += WorkItemsChanged; Enabled = _workItemActivityMonitor.IsConnected; _asyncOperation = AsyncOperationManager.CreateOperation(null); if (XnatSettings.Default.DownloadCheckInterval > 0) { StartDownloadCheckingThread(); } }
public override void Start() { _delaySetFileStoreDirectory = new DelayedEventPublisher(RealSetFileStoreDirectory); _activityMonitor = WorkItemActivityMonitor.Create(); _activityMonitor.IsConnectedChanged += ActivityMonitorOnIsConnectedChanged; _configuration = StudyStore.GetConfiguration(); _fileStoreDirectory = _currentFileStoreDirectory = _configuration.FileStoreDirectory; UpdateFileStoreDriveName(); MaximumUsedSpaceChanged(); _currentDeletionRule = _configuration.DefaultDeletionRule.Clone(); base.Start(); }
private void Connect() { if (_workItemActivityMonitor != null) { return; } Platform.Log(LogLevel.Debug, "Attempting to connect to ActivityMonitorService."); _workItemActivityMonitor = WorkItemActivityMonitor.Create(false); _workItemActivityMonitor.WorkItemsChanged += OnWorkItemsChanged; _workItemActivityMonitor.StudiesCleared += OnStudiesCleared; _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged; _updatedIdleStudies = new HashSet <long>(); FireIsConnectedChanged(); }
private void StartMonitoringStudies() { if (_activityMonitor != null) { return; } _synchronizationContext = SynchronizationContext.Current; //Don't use the sync context when monitoring work item activity, since we'll be processing //the changed studies asynchronously anyway. _activityMonitor = WorkItemActivityMonitor.Create(false); _activityMonitor.IsConnectedChanged += OnIsConnectedChangedAsync; _activityMonitor.WorkItemsChanged += OnWorkItemsChangedAsync; _activityMonitor.StudiesCleared += OnStudiesClearedAsync; UpdateReindexing(); _processChangedStudiesTimer = new System.Threading.Timer(ProcessChangedStudiesAsync, null, 100, 100); }
public override void Initialize() { base.Initialize(); KeyImageClipboard.OnViewerOpened(Context.Viewer); UpdateEnabled(); if (WorkItemActivityMonitor.IsSupported) { _workItemActivityMonitor = WorkItemActivityMonitor.Create(); _workItemActivityMonitor.IsConnectedChanged += OnIsConnectedChanged; } if (!KeyImageClipboardComponent.HasViewPlugin) { foreach (var buttonAction in Actions.Where(a => a.ActionID == "show").OfType <ClickAction>()) { buttonAction.Visible = false; } } }
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(); }
public override void Start() { base.Start(); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnPatient, w => w.PatientInfo) { WidthFactor = .7f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStudy, w => w.StudyInfo) { WidthFactor = .9f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnActivityDescription, w => w.ActivityDescription) { WidthFactor = .7f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStatus, w => w.Status.GetDescription()) { WidthFactor = .3f, TooltipTextProvider = w => string.IsNullOrEmpty(w.ProgressStatusDescription) ? string.Empty : w.ProgressStatusDescription, Comparison = WorkItem.StatusComparison }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStatusDescription, w => w.ProgressStatus) { WidthFactor = 1.5f }); var requestedTimeColumn = new DateTimeTableColumn <WorkItem>(SR.ColumnRequestedTime, w => w.RequestedTime) { WidthFactor = .5f }; _workItems.Columns.Add(requestedTimeColumn); _workItems.Columns.Add(new DateTimeTableColumn <WorkItem>(SR.ColumnScheduledTime, w => w.ScheduledTime) { WidthFactor = .5f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnPriority, w => w.Priority.GetDescription()) { WidthFactor = .25f, Comparison = WorkItem.PriorityComparison }); _workItems.Columns.Add(new TableColumn <WorkItem, IconSet>(SR.ColumnProgress, w => w.ProgressIcon) { WidthFactor = .4f, Comparison = WorkItem.ProgressComparison }); // establish initial sort order _workItems.Sort(new TableSortParams(requestedTimeColumn, false)); this.ActivityMonitor = WorkItemActivityMonitor.Create(true); _connectionState = _connectionState.Update(); this.ActivityMonitor.IsConnectedChanged += ActivityMonitorIsConnectedChanged; _localServerWatcher.DicomServerConfigurationChanged += OnDicomServerConfigurationChanged; _localServerWatcher.StudyStorageConfigurationChanged += OnStorageConfigurationChanged; _localServerWatcher.DiskSpaceUsageChanged += OnDiskspaceChanged; }