コード例 #1
0
        public void Break(BreakType type)
        {
            if (type == BreakType.Shutdown)
            {
                if (ServiceLocator.IsRegistered <CommandAsyncProcessor> ( ))
                {
                    foreach (CommandAsyncProcessor processor in ServiceLocator.RetrieveAll <CommandAsyncProcessor> ( ))
                    {
                        if (processor != null)
                        {
                            processor.Stop( );

                            processor.Dispose( );
                        }
                    }
                }

                if (ServiceLocator.IsRegistered <SettingsChangedNotifier> ( ))
                {
                    using (SettingsChangedNotifier configChangedNotifier = ServiceLocator.Retrieve <SettingsChangedNotifier> ( ))
                    {
                        configChangedNotifier.Enabled = false;
                    }
                }
            }
        }
コード例 #2
0
        public override void Load(string serviceDirectory, string displayName)
        {
            _serviceDirectory = serviceDirectory;
            _displayName      = displayName;
            DicomServer server = ServiceLocator.Retrieve <DicomServer>();

            if (server != null)
            {
                _serverAE    = server.AETitle;
                _serviceName = server.Name;
            }

            _settings = AdvancedSettings.Open(serviceDirectory);

            InitializeDicomSecurity();

            if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
            {
                SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(Settings);

                configChangedNotifier.SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                configChangedNotifier.Enabled          = true;
                ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
            }
            else
            {
                ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
            }
        }
コード例 #3
0
ファイル: GatewaySession.cs プロジェクト: sakpung/webstudy
        public override void AddServices( )
        {
            Configuration configuration = DicomDemoSettingsManager.GetGlobalPacsAddinsConfiguration(ServiceDirectory);
            DicomServer   server        = ServiceLocator.Retrieve <DicomServer>();
            string        serviceName   = server.Name;

            if (!DataAccessServices.IsDataAccessServiceRegistered <IForwardDataAccessAgent> ( ))
            {
                IForwardDataAccessAgent dataAccess = DataAccessFactory.GetInstance(new ForwardDataAccessConfigurationView(configuration, null, serviceName)).CreateDataAccessAgent <IForwardDataAccessAgent>();

                DataAccessServices.RegisterDataAccessService <IForwardDataAccessAgent> (dataAccess);
            }

            RegisterGatewayServer( );

            RegisterForwardService( );

            SettingsChangedNotifier settingsChanged;

            if (!ServiceLocator.IsRegistered <SettingsChangedNotifier> ( ))
            {
                settingsChanged = new SettingsChangedNotifier(__Settings);

                ServiceLocator.Register <SettingsChangedNotifier> (settingsChanged);
            }
            else
            {
                settingsChanged = ServiceLocator.Retrieve <SettingsChangedNotifier> (  );
            }

            settingsChanged.SettingsChanged += new EventHandler(settingsChanged_SettingsChanged);

            settingsChanged.Enabled = true;
        }
コード例 #4
0
        private void RegisterServerEvents(AdvancedSettings settings)
        {
            DicomServer server = ServiceLocator.Retrieve <DicomServer>();

            if (server != null)
            {
                _Server   = server;
                _ServerAE = server.AETitle;
                server.ServerSettingsChanged += new EventHandler(server_ServerSettingsChanged);
            }

            if (settings != null)
            {
                if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
                {
                    SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(settings);

                    configChangedNotifier.SettingsChanged += new EventHandler(server_AdvancedSettingsChanged);
                    configChangedNotifier.Enabled          = true;
                    ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
                }
                else
                {
                    ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += new EventHandler(server_AdvancedSettingsChanged);
                }
            }
        }
コード例 #5
0
        // Leadtools.Dicom.Server.exe calls this
        public override void Load(string serviceDirectory, string displayName)
        {
            try
            {
                // Open 'advanced.config' which contains all settings for CSStorageServerManger.exe addins (including this addin)
                AdvancedSettings settings = AdvancedSettings.Open(serviceDirectory);

                ServiceDirectory = serviceDirectory;
                DisplayName      = displayName;
                _server          = ServiceLocator.Retrieve <DicomServer>();
                ServiceName      = _server.Name;

                if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
                {
                    SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(settings);

                    configChangedNotifier.SettingsChanged += ConfigChangedNotifier_SettingsChanged;
                    configChangedNotifier.Enabled          = true;
                    ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
                }
                else
                {
                    ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += ConfigChangedNotifier_SettingsChanged;
                }

                ConfigureAddin(settings);
            }
            catch (Exception)
            {
            }
        }
コード例 #6
0
        void UnRegisterForSettingsChangedEvent()
        {
            if (null != _settingsChangedNotify)
            {
                _settingsChangedNotify.Dispose();

                _settingsChangedNotify = null;
            }
        }
コード例 #7
0
        public override void Load(string serviceDirectory, string displayName)
        {
            bool     isLicensed = false;
            ILicense license    = null;

            if (ServiceLocator.IsRegistered <ILicense>())
            {
                license = ServiceLocator.Retrieve <ILicense>();
            }

            InitializeLicense();
            isLicensed = IsLicenseValid();
            try
            {
                AdvancedSettings settings = AdvancedSettings.Open(serviceDirectory);

                ServiceDirectory = serviceDirectory;
                DisplayName      = displayName;
                DicomServer server = ServiceLocator.Retrieve <DicomServer>();
                ServiceName = server.Name;

                GetService(serviceDirectory, displayName);
                if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
                {
                    SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(settings);

                    configChangedNotifier.SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                    configChangedNotifier.Enabled          = true;
                    ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
                }
                else
                {
                    ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                }

                if (isLicensed)
                {
                    ConfigureRuleProcessor(settings);
                }
            }
            catch (Exception e)
            {
                if (_Options == null)
                {
                    _Options = new RuleProcessorOptions();
                }

                Logger.Global.Error(Source, e.Message);
            }

            ConfigureScriptProcessor(serviceDirectory, isLicensed);
            if (license != null)
            {
                license.LicenseChanged += new EventHandler(license_LicenseChanged);
            }
        }
コード例 #8
0
        void RegisterForSettingsChangedEvent()
        {
            _advancedSettings = Load(JobsCleanupSession.ServiceDirectory);

            _settingsChangedNotify = new SettingsChangedNotifier(_advancedSettings);

            _settingsChangedNotify.SettingsChanged += new EventHandler(notifier_SettingsChanged);

            _settingsChangedNotify.Enabled = true;
        }
コード例 #9
0
        public void Load(string serviceDirectory)
        {
            if (IsLoaded)
            {
                Unload( );
            }
            _advancedSettings = AdvancedSettings.Open(serviceDirectory);

            _settingsChangedNotify = new SettingsChangedNotifier(_advancedSettings);

            _settingsChangedNotify.SettingsChanged += new EventHandler(notifier_SettingsChanged);

            _settingsChangedNotify.Enabled = true;
        }
コード例 #10
0
        public static void SaveAddInConfiguration( )
        {
            if (_settings != null)
            {
                SettingsChangedNotifier configChangedNotifier = null;
                string addInsName;


                if (ServiceLocator.IsRegistered <SettingsChangedNotifier> ( ))
                {
                    configChangedNotifier = ServiceLocator.Retrieve <SettingsChangedNotifier> ( );
                }

                if (null != configChangedNotifier)
                {
                    configChangedNotifier.Enabled = false;
                }

                addInsName = System.Reflection.Assembly.GetExecutingAssembly( ).GetName( ).Name;

                _settings.SetAddInCustomData <MediaAddInConfiguration> (addInsName,
                                                                        typeof(MediaAddInConfiguration).Name,
                                                                        AddInConfiguration);

                _settings.SetAddInCustomData <MediaMaintenanceState> (addInsName,
                                                                      typeof(MediaMaintenanceState).Name,
                                                                      MaintenanceConfiguration);

                _settings.SetAddInCustomData <MediaAutoCreationConfiguration> (addInsName,
                                                                               typeof(MediaAutoCreationConfiguration).Name,
                                                                               MediaAutoCreationConfiguration);

                _settings.Save( );

                if (null != configChangedNotifier)
                {
                    configChangedNotifier.Enabled = true;
                }

                if (ServiceLocator.IsRegistered <MediaServicesState> ( ))
                {
                    ServiceLocator.Retrieve <MediaServicesState> ( ).MediaMaintenanceServiceEnabled = MaintenanceConfiguration.Enabled;
                    ServiceLocator.Retrieve <MediaServicesState> ( ).AutoCreationServiceEnabled     = MediaAutoCreationConfiguration.EnableAutoMediaCreation;
                }

                OnAddInConfigurationSaved( );
            }
        }
コード例 #11
0
ファイル: Module.cs プロジェクト: sakpung/webstudy
        // Called when the external store addin is loaded by the PACSFramework
        public override void Load(string serviceDirectory, string displayName)
        {
            try
            {
                // Open 'advanced.config' which contains all settings for CSStorageServerManger.exe addins (including this addin)
                AdvancedSettings settings = AdvancedSettings.Open(serviceDirectory);

                ServiceDirectory = serviceDirectory;
                DisplayName      = displayName;

                if (ServiceLocator.IsRegistered <DicomServer>())
                {
                    _Server     = ServiceLocator.Retrieve <DicomServer>();
                    ServiceName = _Server.Name;
                }
                else
                {
                    _Server = new DicomServer(string.Empty);
                }

                if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
                {
                    SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(settings);

                    configChangedNotifier.SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                    configChangedNotifier.Enabled          = true;
                    ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
                }
                else
                {
                    ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                }

                ConfigureUSAF(settings);
            }
            catch (Exception e)
            {
                if (_Options == null)
                {
                    _Options = new FindOtherPatientIdsOptions();
                }

                Logger.Global.SystemMessage(LogType.Error, e.Message);
            }
        }
コード例 #12
0
ファイル: GatewaySession.cs プロジェクト: sakpung/webstudy
        void settingsChanged_SettingsChanged(object sender, EventArgs e)
        {
            SettingsChangedNotifier settingsChanged = (SettingsChangedNotifier)sender;

            bool currentStatus = settingsChanged.Enabled;

            settingsChanged.Enabled = false;

            try
            {
                // Reinitialize the dicom security settings
                InitializeDicomSecurity(true);

                __Settings.RefreshSettings( );

                RegisterGatewayServer( );
                RegisterForwardService( );
            }
            finally
            {
                settingsChanged.Enabled = currentStatus;
            }
        }
コード例 #13
0
        public override void Load(string serviceDirectory, string displayName)
        {
            try
            {
                AdvancedSettings settings = AdvancedSettings.Open(serviceDirectory);

                ServiceDirectory = serviceDirectory;
                DisplayName      = displayName;
                _Server          = ServiceLocator.Retrieve <DicomServer> ( );
                ServiceName      = _Server.Name;

                if (!ServiceLocator.IsRegistered <SettingsChangedNotifier>())
                {
                    SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(settings);

                    configChangedNotifier.SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                    configChangedNotifier.Enabled          = true;
                    ServiceLocator.Register <SettingsChangedNotifier>(configChangedNotifier);
                }
                else
                {
                    ServiceLocator.Retrieve <SettingsChangedNotifier>().SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);
                }

                ConfigureAutoCopy(settings);
            }
            catch (Exception e)
            {
                if (Options == null)
                {
                    Options = new AutoCopyOptions();
                }

                Logger.Global.Error(Source, e.Message);
            }
        }
コード例 #14
0
        internal static void RegisterServices(string serviceName)
        {
            if (!DataAccessServices.IsDataAccessServiceRegistered <IMediaCreationDataAccessAgent> ( ))
            {
                IMediaCreationDataAccessAgent mediaCreationService;

                System.Configuration.Configuration configuration = DicomDemoSettingsManager.GetGlobalPacsConfiguration();

                mediaCreationService = DataAccessFactory.GetInstance(new MediaCreationDataAccessConfigurationView(configuration, null, serviceName)).CreateDataAccessAgent <IMediaCreationDataAccessAgent> ( );

                DataAccessServices.RegisterDataAccessService <IMediaCreationDataAccessAgent> (mediaCreationService);
            }

            IStorageDataAccessAgent storageService;

            if (!DataAccessServices.IsDataAccessServiceRegistered <IStorageDataAccessAgent> ( ))
            {
                System.Configuration.Configuration configuration = DicomDemoSettingsManager.GetGlobalPacsConfiguration();

                storageService = DataAccessFactory.GetInstance(new StorageDataAccessConfigurationView(configuration, null, serviceName)).CreateDataAccessAgent <IStorageDataAccessAgent>();

                DataAccessServices.RegisterDataAccessService <IStorageDataAccessAgent> (storageService);
            }
            else
            {
                storageService = DataAccessServices.GetDataAccessService <IStorageDataAccessAgent> ( );
            }

            if (!CommandRequestValidationManager.IsRegistered <CommandRequestDataSetValidator> ( ))
            {
                CommandRequestValidationManager.AddValidator(new CommandRequestDataSetValidator( ));
            }

            if (!CommandRequestValidationManager.IsRegistered <MediaCreationReferencedSopsValidator> ( ))
            {
                MediaCreationReferencedSopsValidator validator = new MediaCreationReferencedSopsValidator(storageService);


                validator.Enabled = AddInConfiguration.ValidateReferencedSopInstances;

                CommandRequestValidationManager.AddValidator(validator);
            }

            if (!DicomCommandFactory.IsCommandServiceRegistered(typeof(MediaNCreateCommand)))
            {
                DicomCommandFactory.RegisterCommandInitializationService(typeof(MediaNCreateCommand),
                                                                         new MediaNCreateCommandInitializationService( ));
            }

            if (!ServiceLocator.IsRegistered <MediaServicesState> ( ))
            {
                MediaServicesState servicesState;


                servicesState = new MediaServicesState( );

                servicesState.AutoCreationServiceEnabled     = MediaAutoCreationConfiguration.EnableAutoMediaCreation;
                servicesState.MediaMaintenanceServiceEnabled = MaintenanceConfiguration.Enabled;

                servicesState.AutoCreationServiceStateChanged     += new EventHandler(servicesState_AutoCreationServiceStateChanged);
                servicesState.MediaMaintenanceServiceStateChanged += new EventHandler(servicesState_MediaMaintenanceServiceStateChanged);

                ServiceLocator.Register <MediaServicesState> (servicesState);
            }

            if (!ServiceLocator.IsRegistered <SettingsChangedNotifier> ( ))
            {
                SettingsChangedNotifier configChangedNotifier = new SettingsChangedNotifier(_settings);

                configChangedNotifier.SettingsChanged += new EventHandler(configChangedNotifier_SettingsChanged);

                configChangedNotifier.Enabled = true;

                ServiceLocator.Register <SettingsChangedNotifier> (configChangedNotifier);
            }
        }