Mercurial > hg > orthanc
diff OrthancServer/OrthancMoveRequestHandler.cpp @ 771:537837f50fbb
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 30 Apr 2014 14:15:26 +0200 |
parents | 3596177682a9 |
children | 31cc399c7762 |
line wrap: on
line diff
--- a/OrthancServer/OrthancMoveRequestHandler.cpp Wed Apr 30 13:49:41 2014 +0200 +++ b/OrthancServer/OrthancMoveRequestHandler.cpp Wed Apr 30 14:15:26 2014 +0200 @@ -47,17 +47,21 @@ private: ServerContext& context_; std::vector<std::string> instances_; - DicomUserConnection connection_; size_t position_; + std::string aet_, address_; + int port_; + ModalityManufacturer manufacturer_; + public: OrthancMoveRequestIterator(ServerContext& context, - const std::string& target, + const std::string& aet, const std::string& publicId) : context_(context), - position_(0) + position_(0), + aet_(aet) { - LOG(INFO) << "Sending resource " << publicId << " to modality \"" << target << "\""; + LOG(INFO) << "Sending resource " << publicId << " to modality \"" << aet << "\""; std::list<std::string> tmp; context_.GetIndex().GetChildInstances(tmp, publicId); @@ -67,8 +71,12 @@ { instances_.push_back(*it); } - - ConnectToModalityUsingAETitle(connection_, target); + + std::string symbolicName; + if (!LookupDicomModalityUsingAETitle(aet_, symbolicName, address_, port_, manufacturer_)) + { + throw OrthancException("Unknown modality: " + aet_); + } } virtual unsigned int GetSubOperationCount() const @@ -87,7 +95,12 @@ std::string dicom; context_.ReadFile(dicom, id, FileContentType_Dicom); - connection_.Store(dicom); + + { + ReusableDicomUserConnection::Connection connection(context_.GetReusableDicomUserConnection(), + aet_, address_, port_, manufacturer_); + connection.GetConnection().Store(dicom); + } return Status_Success; } @@ -121,10 +134,10 @@ } - IMoveRequestIterator* OrthancMoveRequestHandler::Handle(const std::string& target, + IMoveRequestIterator* OrthancMoveRequestHandler::Handle(const std::string& aet, const DicomMap& input) { - LOG(WARNING) << "Move-SCU request received for AET \"" << target << "\""; + LOG(WARNING) << "Move-SCU request received for AET \"" << aet << "\""; /** @@ -173,6 +186,6 @@ throw OrthancException(ErrorCode_BadRequest); } - return new OrthancMoveRequestIterator(context_, target, publicId); + return new OrthancMoveRequestIterator(context_, aet, publicId); } }