comparison Framework/Deprecated/Toolbox/OrthancApiClient.cpp @ 1066:b537002f83a9 broker

removing broker from deprecated classes
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 15 Oct 2019 15:39:39 +0200
parents e146743f6cdc
children 21c2b0eee53c
comparison
equal deleted inserted replaced
1065:9d42f89b8c3c 1066:b537002f83a9
125 125
126 void HandleSuccess(const IWebService::HttpRequestSuccessMessage& message) const 126 void HandleSuccess(const IWebService::HttpRequestSuccessMessage& message) const
127 { 127 {
128 if (emptyHandler_.get() != NULL) 128 if (emptyHandler_.get() != NULL)
129 { 129 {
130 if (broker_.IsActive(*(emptyHandler_->GetObserver()))) 130 emptyHandler_->Apply(OrthancApiClient::EmptyResponseReadyMessage
131 (message.GetUri(), userPayload_.get()));
132 }
133 else if (binaryHandler_.get() != NULL)
134 {
135 binaryHandler_->Apply(OrthancApiClient::BinaryResponseReadyMessage
136 (message.GetUri(), message.GetAnswer(),
137 message.GetAnswerSize(), userPayload_.get()));
138 }
139 else if (jsonHandler_.get() != NULL)
140 {
141 Json::Value response;
142 if (MessagingToolbox::ParseJson(response, message.GetAnswer(), message.GetAnswerSize()))
131 { 143 {
132 emptyHandler_->Apply(OrthancApiClient::EmptyResponseReadyMessage 144 jsonHandler_->Apply(OrthancApiClient::JsonResponseReadyMessage
133 (message.GetUri(), userPayload_.get())); 145 (message.GetUri(), response, userPayload_.get()));
134 } 146 }
135 } 147 else
136 else if (binaryHandler_.get() != NULL)
137 {
138 if (broker_.IsActive(*(binaryHandler_->GetObserver())))
139 { 148 {
140 binaryHandler_->Apply(OrthancApiClient::BinaryResponseReadyMessage 149 NotifyConversionError(message);
141 (message.GetUri(), message.GetAnswer(),
142 message.GetAnswerSize(), userPayload_.get()));
143 }
144 }
145 else if (jsonHandler_.get() != NULL)
146 {
147 if (broker_.IsActive(*(jsonHandler_->GetObserver())))
148 {
149 Json::Value response;
150 if (MessagingToolbox::ParseJson(response, message.GetAnswer(), message.GetAnswerSize()))
151 {
152 jsonHandler_->Apply(OrthancApiClient::JsonResponseReadyMessage
153 (message.GetUri(), response, userPayload_.get()));
154 }
155 else
156 {
157 NotifyConversionError(message);
158 }
159 } 150 }
160 } 151 }
161 else 152 else
162 { 153 {
163 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); 154 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError);
173 } 164 }
174 } 165 }
175 }; 166 };
176 167
177 168
178 OrthancApiClient::OrthancApiClient(OrthancStone::MessageBroker& broker, 169 OrthancApiClient::OrthancApiClient(IWebService& web,
179 IWebService& web,
180 const std::string& baseUrl) : 170 const std::string& baseUrl) :
181 IObservable(broker),
182 IObserver(broker),
183 web_(web), 171 web_(web),
184 baseUrl_(baseUrl) 172 baseUrl_(baseUrl)
185 { 173 {
186 } 174 }
187 175
193 Orthanc::IDynamicObject* payload) 181 Orthanc::IDynamicObject* payload)
194 { 182 {
195 IWebService::HttpHeaders emptyHeaders; 183 IWebService::HttpHeaders emptyHeaders;
196 web_.GetAsync(baseUrl_ + uri, 184 web_.GetAsync(baseUrl_ + uri,
197 emptyHeaders, 185 emptyHeaders,
198 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), 186 new WebServicePayload(successCallback, failureCallback, payload),
199 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> 187 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage>
200 (*this, &OrthancApiClient::NotifyHttpSuccess), 188 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess),
201 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> 189 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage>
202 (*this, &OrthancApiClient::NotifyHttpError)); 190 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError));
203 } 191 }
204 192
205 193
206 void OrthancApiClient::GetBinaryAsync( 194 void OrthancApiClient::GetBinaryAsync(
207 const std::string& uri, 195 const std::string& uri,
223 Orthanc::IDynamicObject* payload) 211 Orthanc::IDynamicObject* payload)
224 { 212 {
225 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str()); 213 // printf("GET [%s] [%s]\n", baseUrl_.c_str(), uri.c_str());
226 214
227 web_.GetAsync(baseUrl_ + uri, headers, 215 web_.GetAsync(baseUrl_ + uri, headers,
228 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), 216 new WebServicePayload(successCallback, failureCallback, payload),
229 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> 217 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage>
230 (*this, &OrthancApiClient::NotifyHttpSuccess), 218 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess),
231 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> 219 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage>
232 (*this, &OrthancApiClient::NotifyHttpError)); 220 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError));
233 } 221 }
234 222
235 223
236 void OrthancApiClient::PostBinaryAsyncExpectJson( 224 void OrthancApiClient::PostBinaryAsyncExpectJson(
237 const std::string& uri, 225 const std::string& uri,
239 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback, 227 OrthancStone::MessageHandler<JsonResponseReadyMessage>* successCallback,
240 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, 228 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback,
241 Orthanc::IDynamicObject* payload) 229 Orthanc::IDynamicObject* payload)
242 { 230 {
243 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, 231 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body,
244 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), 232 new WebServicePayload(successCallback, failureCallback, payload),
245 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> 233 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage>
246 (*this, &OrthancApiClient::NotifyHttpSuccess), 234 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess),
247 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> 235 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage>
248 (*this, &OrthancApiClient::NotifyHttpError)); 236 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError));
249 237
250 } 238 }
251 239
252 void OrthancApiClient::PostBinaryAsync( 240 void OrthancApiClient::PostBinaryAsync(
253 const std::string& uri, 241 const std::string& uri,
262 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, 250 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback,
263 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, 251 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback,
264 Orthanc::IDynamicObject* payload /* takes ownership */) 252 Orthanc::IDynamicObject* payload /* takes ownership */)
265 { 253 {
266 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body, 254 web_.PostAsync(baseUrl_ + uri, IWebService::HttpHeaders(), body,
267 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), 255 new WebServicePayload(successCallback, failureCallback, payload),
268 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> 256 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage>
269 (*this, &OrthancApiClient::NotifyHttpSuccess), 257 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess),
270 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> 258 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage>
271 (*this, &OrthancApiClient::NotifyHttpError)); 259 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError));
272 } 260 }
273 261
274 void OrthancApiClient::PostJsonAsyncExpectJson( 262 void OrthancApiClient::PostJsonAsyncExpectJson(
275 const std::string& uri, 263 const std::string& uri,
276 const Json::Value& data, 264 const Json::Value& data,
309 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback, 297 OrthancStone::MessageHandler<EmptyResponseReadyMessage>* successCallback,
310 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback, 298 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback,
311 Orthanc::IDynamicObject* payload) 299 Orthanc::IDynamicObject* payload)
312 { 300 {
313 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(), 301 web_.DeleteAsync(baseUrl_ + uri, IWebService::HttpHeaders(),
314 new WebServicePayload(IObservable::GetBroker(), successCallback, failureCallback, payload), 302 new WebServicePayload(successCallback, failureCallback, payload),
315 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage> 303 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestSuccessMessage>
316 (*this, &OrthancApiClient::NotifyHttpSuccess), 304 (GetSharedObserver(), &OrthancApiClient::NotifyHttpSuccess),
317 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage> 305 new OrthancStone::Callable<OrthancApiClient, IWebService::HttpRequestErrorMessage>
318 (*this, &OrthancApiClient::NotifyHttpError)); 306 (GetSharedObserver(), &OrthancApiClient::NotifyHttpError));
319 } 307 }
320 308
321 309
322 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message) 310 void OrthancApiClient::NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message)
323 { 311 {