comparison Deprecated/Platforms/Wasm/WasmWebService.h @ 1400:419d0320c344

moved Platforms into Deprecated
author Alain Mazy <alain@mazy.be>
date Wed, 29 Apr 2020 20:45:14 +0200
parents Platforms/Wasm/WasmWebService.h@c35e98d22764
children 828a9b4ee1b7
comparison
equal deleted inserted replaced
1399:ff8d2e46ac63 1400:419d0320c344
1 #pragma once
2
3 #include "../../Framework/Deprecated/Toolbox/BaseWebService.h"
4 #include <Core/OrthancException.h>
5
6 namespace Deprecated
7 {
8 class WasmWebService : public BaseWebService
9 {
10 private:
11 static OrthancStone::MessageBroker *broker_;
12
13 // Private constructor => Singleton design pattern
14 WasmWebService(OrthancStone::MessageBroker &broker) : BaseWebService(broker)
15 {
16 }
17
18 public:
19 static WasmWebService &GetInstance()
20 {
21 if (broker_ == NULL)
22 {
23 printf("WasmWebService::GetInstance(): broker not initialized\n");
24 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
25 }
26 static WasmWebService instance(*broker_);
27 return instance;
28 }
29
30 static void SetBroker(OrthancStone::MessageBroker &broker)
31 {
32 broker_ = &broker;
33 }
34
35 virtual void PostAsync(const std::string &uri,
36 const HttpHeaders &headers,
37 const std::string &body,
38 Orthanc::IDynamicObject *payload,
39 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable,
40 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL,
41 unsigned int timeoutInSeconds = 60);
42
43 virtual void DeleteAsync(const std::string &uri,
44 const HttpHeaders &headers,
45 Orthanc::IDynamicObject *payload,
46 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable,
47 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL,
48 unsigned int timeoutInSeconds = 60);
49
50 protected:
51 virtual void GetAsyncInternal(const std::string &uri,
52 const HttpHeaders &headers,
53 Orthanc::IDynamicObject *payload,
54 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable,
55 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL,
56 unsigned int timeoutInSeconds = 60);
57
58 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage,
59 Orthanc::IDynamicObject *payload, // takes ownership
60 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallback);
61 };
62 } // namespace Deprecated