Mercurial > hg > orthanc-stone
diff Framework/Oracle/GetOrthancWebViewerJpegCommand.cpp @ 1134:87fbeb823375 broker
allocating messages from oracle commands on the stack
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 06 Nov 2019 15:16:45 +0100 |
parents | 17660df24c36 |
children | a0a33e5ea5bb |
line wrap: on
line diff
--- a/Framework/Oracle/GetOrthancWebViewerJpegCommand.cpp Wed Nov 06 12:56:23 2019 +0100 +++ b/Framework/Oracle/GetOrthancWebViewerJpegCommand.cpp Wed Nov 06 15:16:45 2019 +0100 @@ -34,18 +34,6 @@ namespace OrthancStone { - GetOrthancWebViewerJpegCommand::SuccessMessage::SuccessMessage(const GetOrthancWebViewerJpegCommand& command, - Orthanc::ImageAccessor* image) : // Takes ownership - OriginMessage(command), - image_(image) - { - if (image == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); - } - } - - GetOrthancWebViewerJpegCommand::GetOrthancWebViewerJpegCommand() : frame_(0), quality_(95), @@ -76,7 +64,9 @@ } - IMessage* GetOrthancWebViewerJpegCommand::ProcessHttpAnswer(const std::string& answer) const + void GetOrthancWebViewerJpegCommand::ProcessHttpAnswer(boost::weak_ptr<IObserver> receiver, + IMessageEmitter& emitter, + const std::string& answer) { // This code comes from older "OrthancSlicesLoader::ParseSliceImageJpeg()" @@ -147,7 +137,9 @@ } else { - return new SuccessMessage(*this, reader.release()); + SuccessMessage message(*this, *reader); + emitter.EmitMessage(receiver, message); + return; } } @@ -164,7 +156,9 @@ } else { - return new SuccessMessage(*this, reader.release()); + SuccessMessage message(*this, *reader); + emitter.EmitMessage(receiver, message); + return; } } @@ -205,6 +199,7 @@ Orthanc::ImageProcessing::ShiftScale(*image, offset, scaling, true); } - return new SuccessMessage(*this, image.release()); + SuccessMessage message(*this, *image); + emitter.EmitMessage(receiver, message); } }