Mercurial > hg > orthanc-stone
comparison Framework/Oracle/GetOrthancImageCommand.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 GetOrthancImageCommand : public OracleCommandBase | 33 class GetOrthancImageCommand : 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<GetOrthancImageCommand> | 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 Orthanc::MimeType mime_; | 44 Orthanc::MimeType mime_; |
45 | 45 |
46 public: | 46 public: |
47 SuccessMessage(const GetOrthancImageCommand& command, | 47 SuccessMessage(GetOrthancImageCommand& command, |
48 Orthanc::ImageAccessor* image, // Takes ownership | 48 const Orthanc::ImageAccessor& image, |
49 Orthanc::MimeType mime); | 49 Orthanc::MimeType mime) : |
50 OracleMessageBase(command), | |
51 image_(image), | |
52 mime_(mime) | |
53 { | |
54 } | |
50 | 55 |
51 const Orthanc::ImageAccessor& GetImage() const | 56 const Orthanc::ImageAccessor& GetImage() const |
52 { | 57 { |
53 return *image_; | 58 return image_; |
54 } | 59 } |
55 | 60 |
56 Orthanc::MimeType GetMimeType() const | 61 Orthanc::MimeType GetMimeType() const |
57 { | 62 { |
58 return mime_; | 63 return mime_; |
109 unsigned int GetTimeout() const | 114 unsigned int GetTimeout() const |
110 { | 115 { |
111 return timeout_; | 116 return timeout_; |
112 } | 117 } |
113 | 118 |
114 IMessage* ProcessHttpAnswer(const std::string& answer, | 119 void ProcessHttpAnswer(boost::weak_ptr<IObserver> receiver, |
115 const HttpHeaders& answerHeaders) const; | 120 IMessageEmitter& emitter, |
121 const std::string& answer, | |
122 const HttpHeaders& answerHeaders); | |
116 }; | 123 }; |
117 } | 124 } |