comparison Framework/Oracle/OrthancRestApiCommand.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
34 class OrthancRestApiCommand : public OracleCommandBase 34 class OrthancRestApiCommand : public OracleCommandBase
35 { 35 {
36 public: 36 public:
37 typedef std::map<std::string, std::string> HttpHeaders; 37 typedef std::map<std::string, std::string> HttpHeaders;
38 38
39 class SuccessMessage : public OriginMessage<OrthancRestApiCommand> 39 class SuccessMessage : public OracleMessageBase
40 { 40 {
41 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); 41 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__);
42 42
43 private: 43 private:
44 HttpHeaders headers_; 44 const HttpHeaders& headers_;
45 std::string answer_; 45 const std::string& answer_;
46 46
47 public: 47 public:
48 SuccessMessage(const OrthancRestApiCommand& command, 48 SuccessMessage(OrthancRestApiCommand& command,
49 const HttpHeaders& answerHeaders, 49 const HttpHeaders& answerHeaders,
50 std::string& answer /* will be swapped to avoid a memcpy() */); 50 const std::string& answer) :
51 51 OracleMessageBase(command),
52 headers_(answerHeaders),
53 answer_(answer)
54 {
55 }
56
52 const std::string& GetAnswer() const 57 const std::string& GetAnswer() const
53 { 58 {
54 return answer_; 59 return answer_;
55 } 60 }
56 61