comparison 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
comparison
equal deleted inserted replaced
1133:0e3a3be313fd 1134:87fbeb823375
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "../Messages/IMessage.h" 24 #include "../Messages/IMessageEmitter.h"
25 #include "OracleCommandBase.h" 25 #include "OracleCommandBase.h"
26 26
27 #include <Core/Images/ImageAccessor.h> 27 #include <Core/Images/ImageAccessor.h>
28 28
29 #include <map> 29 #include <map>
33 class GetOrthancWebViewerJpegCommand : public OracleCommandBase 33 class GetOrthancWebViewerJpegCommand : public OracleCommandBase
34 { 34 {
35 public: 35 public:
36 typedef std::map<std::string, std::string> HttpHeaders; 36 typedef std::map<std::string, std::string> HttpHeaders;
37 37
38 class SuccessMessage : public OriginMessage<GetOrthancWebViewerJpegCommand> 38 class SuccessMessage : public OracleMessageBase
39 { 39 {
40 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); 40 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__);
41 41
42 private: 42 private:
43 std::auto_ptr<Orthanc::ImageAccessor> image_; 43 const Orthanc::ImageAccessor& image_;
44 44
45 public: 45 public:
46 SuccessMessage(const GetOrthancWebViewerJpegCommand& command, 46 SuccessMessage(GetOrthancWebViewerJpegCommand& command,
47 Orthanc::ImageAccessor* image); // Takes ownership 47 const Orthanc::ImageAccessor& image) :
48 OracleMessageBase(command),
49 image_(image)
50 {
51 }
48 52
49 const Orthanc::ImageAccessor& GetImage() const 53 const Orthanc::ImageAccessor& GetImage() const
50 { 54 {
51 return *image_; 55 return image_;
52 } 56 }
53 }; 57 };
54 58
55 private: 59 private:
56 std::string instanceId_; 60 std::string instanceId_;
126 return timeout_; 130 return timeout_;
127 } 131 }
128 132
129 std::string GetUri() const; 133 std::string GetUri() const;
130 134
131 IMessage* ProcessHttpAnswer(const std::string& answer) const; 135 void ProcessHttpAnswer(boost::weak_ptr<IObserver> receiver,
136 IMessageEmitter& emitter,
137 const std::string& answer);
132 }; 138 };
133 } 139 }