/// <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); } } } }
/// <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); }
/// <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); } } } }
/// <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; }