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 }