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