Ejemplo n.º 1
0
        /// <summary>
        /// Add the given DicomClient using the Destination Actor Configuration.
        /// </summary>
        /// <param name="dicomClientType">Dicom Client Type.</param>
        /// <param name="toActorType">To Actor Type.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected void AddDicomClient(DicomClientTypeEnum dicomClientType, ActorTypeEnum toActorType, CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            foreach (BasePeerToPeerConfig basePeerToPeerConfig in peerToPeerConfigCollection)
            {
                if ((basePeerToPeerConfig is DicomPeerToPeerConfig) &&
                    (basePeerToPeerConfig.FromActorName.TypeId == _actorName.TypeId) &&
                    (basePeerToPeerConfig.ToActorName.Type == toActorType))
                {
                    DicomClient dicomClient = ClientServerFactory.CreateDicomClient(dicomClientType, this, basePeerToPeerConfig.ToActorName);
                    if (dicomClient != null)
                    {
                        dicomClient.ApplyConfig(commonConfig, (DicomPeerToPeerConfig)basePeerToPeerConfig);
                        SubscribeEvent(dicomClient);
                        _dicomClients.Add(dicomClient.ActorName.TypeId, dicomClient);

                        // Initialize the connection with the to actor as being active.
                        // - this can always be overruled by the application later.
                        SetActorDefaultConnectionActive(basePeerToPeerConfig.ToActorName);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create a Dicom Client of the given type.
        /// </summary>
        /// <param name="dicomClientType">Dicom Client Type - enum.</param>
        /// <param name="fromActor">From Actor instance.</param>
        /// <param name="toActorName">To Actor Name.</param>
        /// <returns>Dicom Client.</returns>
        public static DicomClient CreateDicomClient(DicomClientTypeEnum dicomClientType, BaseActor fromActor, ActorName toActorName)
        {
            DicomClient dicomClient = null;

            switch (dicomClientType)
            {
            case DicomClientTypeEnum.DicomMppsClient:
                dicomClient = new DicomMppsClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomPrintClient:
                dicomClient = new DicomPrintClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomQueryRetrieveClient:
                dicomClient = new DicomQueryRetrieveClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomStorageCommitClient:
                dicomClient = new DicomStorageCommitClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomStorageClient:
                dicomClient = new DicomStorageClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomWorklistClient:
                dicomClient = new DicomWorklistClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.Unknown:
            default:
                break;
            }

            return(dicomClient);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Add the given DicomClient using the Destination Actor Configuration.
        /// </summary>
        /// <param name="dicomClientType">Dicom Client Type.</param>
        /// <param name="toActorType">To Actor Type.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected void AddDicomClient(DicomClientTypeEnum dicomClientType, ActorTypeEnum toActorType, CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            foreach (BasePeerToPeerConfig basePeerToPeerConfig in peerToPeerConfigCollection)
            {
                if ((basePeerToPeerConfig is DicomPeerToPeerConfig) &&
                    (basePeerToPeerConfig.FromActorName.TypeId == _actorName.TypeId) &&
                    (basePeerToPeerConfig.ToActorName.Type == toActorType))
                {
                    DicomClient dicomClient = ClientServerFactory.CreateDicomClient(dicomClientType, this, basePeerToPeerConfig.ToActorName);
                    if (dicomClient != null)
                    {
                        dicomClient.ApplyConfig(commonConfig, (DicomPeerToPeerConfig)basePeerToPeerConfig);
                        SubscribeEvent(dicomClient);
                        _dicomClients.Add(dicomClient.ActorName.TypeId, dicomClient);

                        // Initialize the connection with the to actor as being active.
                        // - this can always be overruled by the application later.
                        SetActorDefaultConnectionActive(basePeerToPeerConfig.ToActorName);
                    }
                }
            }
        }
Ejemplo n.º 4
0
		/// <summary>
		/// Create a Dicom Client of the given type.
		/// </summary>
		/// <param name="dicomClientType">Dicom Client Type - enum.</param>
		/// <param name="fromActor">From Actor instance.</param>
		/// <param name="toActorName">To Actor Name.</param>
		/// <returns>Dicom Client.</returns>
		public static DicomClient CreateDicomClient(DicomClientTypeEnum dicomClientType, BaseActor fromActor, ActorName toActorName)
		{
			DicomClient dicomClient = null;

			switch (dicomClientType)
			{
				case DicomClientTypeEnum.DicomMppsClient:
					dicomClient = new DicomMppsClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomPrintClient:
                    dicomClient = new DicomPrintClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomQueryRetrieveClient:
                    dicomClient = new DicomQueryRetrieveClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomStorageCommitClient:
                    dicomClient = new DicomStorageCommitClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomStorageClient:
                    dicomClient = new DicomStorageClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomWorklistClient:
                    dicomClient = new DicomWorklistClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.Unknown:
				default:
					break;
			}

			return dicomClient;
		}