Mercurial > hg > orthanc-stone
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 } |