Mercurial > hg > orthanc-stone
diff Framework/Oracle/GetOrthancWebViewerJpegCommand.h @ 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 | 8e3763d1736a |
children | a0a33e5ea5bb |
line wrap: on
line diff
--- a/Framework/Oracle/GetOrthancWebViewerJpegCommand.h Wed Nov 06 12:56:23 2019 +0100 +++ b/Framework/Oracle/GetOrthancWebViewerJpegCommand.h Wed Nov 06 15:16:45 2019 +0100 @@ -21,7 +21,7 @@ #pragma once -#include "../Messages/IMessage.h" +#include "../Messages/IMessageEmitter.h" #include "OracleCommandBase.h" #include <Core/Images/ImageAccessor.h> @@ -35,20 +35,24 @@ public: typedef std::map<std::string, std::string> HttpHeaders; - class SuccessMessage : public OriginMessage<GetOrthancWebViewerJpegCommand> + class SuccessMessage : public OracleMessageBase { ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); private: - std::auto_ptr<Orthanc::ImageAccessor> image_; + const Orthanc::ImageAccessor& image_; public: - SuccessMessage(const GetOrthancWebViewerJpegCommand& command, - Orthanc::ImageAccessor* image); // Takes ownership + SuccessMessage(GetOrthancWebViewerJpegCommand& command, + const Orthanc::ImageAccessor& image) : + OracleMessageBase(command), + image_(image) + { + } const Orthanc::ImageAccessor& GetImage() const { - return *image_; + return image_; } }; @@ -128,6 +132,8 @@ std::string GetUri() const; - IMessage* ProcessHttpAnswer(const std::string& answer) const; + void ProcessHttpAnswer(boost::weak_ptr<IObserver> receiver, + IMessageEmitter& emitter, + const std::string& answer); }; }