Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/WasmWebService.h @ 435:e641d3978856 am-vsol-upgrade
WasmWebService now using BaseWebService and supporting cache
author | am@osimis.io |
---|---|
date | Tue, 04 Dec 2018 11:52:43 +0100 |
parents | 3a8bcc45c221 |
children | 4f2416d519b4 |
comparison
equal
deleted
inserted
replaced
434:3a8bcc45c221 | 435:e641d3978856 |
---|---|
1 #pragma once | 1 #pragma once |
2 | 2 |
3 #include <Framework/Toolbox/IWebService.h> | 3 #include <Framework/Toolbox/BaseWebService.h> |
4 #include <Core/OrthancException.h> | 4 #include <Core/OrthancException.h> |
5 | 5 |
6 namespace OrthancStone | 6 namespace OrthancStone |
7 { | 7 { |
8 class WasmWebService : public IWebService | 8 class WasmWebService : public BaseWebService |
9 { | 9 { |
10 private: | 10 private: |
11 static MessageBroker *broker_; | 11 static MessageBroker *broker_; |
12 | 12 |
13 // Private constructor => Singleton design pattern | 13 // Private constructor => Singleton design pattern |
14 WasmWebService(MessageBroker &broker) : IWebService(broker) | 14 WasmWebService(MessageBroker &broker) : BaseWebService(broker) |
15 { | 15 { |
16 } | 16 } |
17 | 17 |
18 public: | 18 public: |
19 static WasmWebService &GetInstance() | 19 static WasmWebService &GetInstance() |
30 static void SetBroker(MessageBroker &broker) | 30 static void SetBroker(MessageBroker &broker) |
31 { | 31 { |
32 broker_ = &broker; | 32 broker_ = &broker; |
33 } | 33 } |
34 | 34 |
35 virtual void GetAsyncInternal(const std::string &uri, | |
36 const HttpHeaders &headers, | |
37 Orthanc::IDynamicObject *payload, | |
38 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, | |
39 MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, | |
40 unsigned int timeoutInSeconds = 60); | |
41 | |
42 virtual void PostAsync(const std::string &uri, | 35 virtual void PostAsync(const std::string &uri, |
43 const HttpHeaders &headers, | 36 const HttpHeaders &headers, |
44 const std::string &body, | 37 const std::string &body, |
45 Orthanc::IDynamicObject *payload, | 38 Orthanc::IDynamicObject *payload, |
46 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, | 39 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, |
52 Orthanc::IDynamicObject *payload, | 45 Orthanc::IDynamicObject *payload, |
53 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, | 46 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, |
54 MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, | 47 MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, |
55 unsigned int timeoutInSeconds = 60); | 48 unsigned int timeoutInSeconds = 60); |
56 | 49 |
57 // virtual void Start() | 50 protected: |
58 // { | 51 virtual void GetAsyncInternal(const std::string &uri, |
59 // } | 52 const HttpHeaders &headers, |
53 Orthanc::IDynamicObject *payload, | |
54 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, | |
55 MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, | |
56 unsigned int timeoutInSeconds = 60); | |
60 | 57 |
61 // virtual void Stop() | 58 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage, |
62 // { | 59 Orthanc::IDynamicObject *payload, // takes ownership |
63 // } | 60 MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallback); |
64 }; | 61 }; |
65 } // namespace OrthancStone | 62 } // namespace OrthancStone |