Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/IWebService.h @ 726:4f2416d519b4
moving layers, widgets and loaders to Deprecated namespace
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 21 May 2019 11:43:25 +0200 |
parents | f0008c55e5f7 |
children |
comparison
equal
deleted
inserted
replaced
714:d2c0e347ddc2 | 726:4f2416d519b4 |
---|---|
28 #include <Core/Logging.h> | 28 #include <Core/Logging.h> |
29 | 29 |
30 #include <string> | 30 #include <string> |
31 #include <map> | 31 #include <map> |
32 | 32 |
33 namespace OrthancStone | 33 namespace Deprecated |
34 { | 34 { |
35 // The IWebService performs HTTP requests. | 35 // The IWebService performs HTTP requests. |
36 // Since applications can run in native or WASM environment and, since | 36 // Since applications can run in native or WASM environment and, since |
37 // in a WASM environment, the WebService is asynchronous, the IWebservice | 37 // in a WASM environment, the WebService is asynchronous, the IWebservice |
38 // also implements an asynchronous interface: you must schedule a request | 38 // also implements an asynchronous interface: you must schedule a request |
39 // and you'll be notified when the response/error is ready. | 39 // and you'll be notified when the response/error is ready. |
40 class IWebService : public boost::noncopyable | 40 class IWebService : public boost::noncopyable |
41 { | 41 { |
42 protected: | 42 protected: |
43 MessageBroker& broker_; | 43 OrthancStone::MessageBroker& broker_; |
44 | 44 |
45 public: | 45 public: |
46 typedef std::map<std::string, std::string> HttpHeaders; | 46 typedef std::map<std::string, std::string> HttpHeaders; |
47 | 47 |
48 class HttpRequestSuccessMessage : public IMessage | 48 class HttpRequestSuccessMessage : public OrthancStone::IMessage |
49 { | 49 { |
50 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); | 50 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); |
51 | 51 |
52 private: | 52 private: |
53 const std::string& uri_; | 53 const std::string& uri_; |
97 | 97 |
98 const Orthanc::IDynamicObject& GetPayload() const; | 98 const Orthanc::IDynamicObject& GetPayload() const; |
99 }; | 99 }; |
100 | 100 |
101 | 101 |
102 class HttpRequestErrorMessage : public IMessage | 102 class HttpRequestErrorMessage : public OrthancStone::IMessage |
103 { | 103 { |
104 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); | 104 ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); |
105 | 105 |
106 private: | 106 private: |
107 const std::string& uri_; | 107 const std::string& uri_; |
127 | 127 |
128 const Orthanc::IDynamicObject& GetPayload() const; | 128 const Orthanc::IDynamicObject& GetPayload() const; |
129 }; | 129 }; |
130 | 130 |
131 | 131 |
132 IWebService(MessageBroker& broker) : | 132 IWebService(OrthancStone::MessageBroker& broker) : |
133 broker_(broker) | 133 broker_(broker) |
134 { | 134 { |
135 } | 135 } |
136 | 136 |
137 | 137 |
142 virtual void EnableCache(bool enable) = 0; | 142 virtual void EnableCache(bool enable) = 0; |
143 | 143 |
144 virtual void GetAsync(const std::string& uri, | 144 virtual void GetAsync(const std::string& uri, |
145 const HttpHeaders& headers, | 145 const HttpHeaders& headers, |
146 Orthanc::IDynamicObject* payload /* takes ownership */, | 146 Orthanc::IDynamicObject* payload /* takes ownership */, |
147 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, | 147 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, |
148 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, | 148 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, |
149 unsigned int timeoutInSeconds = 60) = 0; | 149 unsigned int timeoutInSeconds = 60) = 0; |
150 | 150 |
151 virtual void PostAsync(const std::string& uri, | 151 virtual void PostAsync(const std::string& uri, |
152 const HttpHeaders& headers, | 152 const HttpHeaders& headers, |
153 const std::string& body, | 153 const std::string& body, |
154 Orthanc::IDynamicObject* payload /* takes ownership */, | 154 Orthanc::IDynamicObject* payload /* takes ownership */, |
155 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, | 155 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, |
156 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, | 156 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, |
157 unsigned int timeoutInSeconds = 60) = 0; | 157 unsigned int timeoutInSeconds = 60) = 0; |
158 | 158 |
159 virtual void DeleteAsync(const std::string& uri, | 159 virtual void DeleteAsync(const std::string& uri, |
160 const HttpHeaders& headers, | 160 const HttpHeaders& headers, |
161 Orthanc::IDynamicObject* payload /* takes ownership */, | 161 Orthanc::IDynamicObject* payload /* takes ownership */, |
162 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, | 162 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, |
163 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, | 163 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, |
164 unsigned int timeoutInSeconds = 60) = 0; | 164 unsigned int timeoutInSeconds = 60) = 0; |
165 }; | 165 }; |
166 } | 166 } |