Mercurial > hg > orthanc-stone
diff 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 |
line wrap: on
line diff
--- a/Platforms/Wasm/WasmWebService.h Mon Dec 03 18:03:30 2018 +0100 +++ b/Platforms/Wasm/WasmWebService.h Tue Dec 04 11:52:43 2018 +0100 @@ -1,17 +1,17 @@ #pragma once -#include <Framework/Toolbox/IWebService.h> +#include <Framework/Toolbox/BaseWebService.h> #include <Core/OrthancException.h> namespace OrthancStone { -class WasmWebService : public IWebService +class WasmWebService : public BaseWebService { private: static MessageBroker *broker_; // Private constructor => Singleton design pattern - WasmWebService(MessageBroker &broker) : IWebService(broker) + WasmWebService(MessageBroker &broker) : BaseWebService(broker) { } @@ -32,13 +32,6 @@ broker_ = &broker; } - virtual void GetAsyncInternal(const std::string &uri, - const HttpHeaders &headers, - Orthanc::IDynamicObject *payload, - MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, - MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, - unsigned int timeoutInSeconds = 60); - virtual void PostAsync(const std::string &uri, const HttpHeaders &headers, const std::string &body, @@ -54,12 +47,16 @@ MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, unsigned int timeoutInSeconds = 60); - // virtual void Start() - // { - // } +protected: + virtual void GetAsyncInternal(const std::string &uri, + const HttpHeaders &headers, + Orthanc::IDynamicObject *payload, + MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallable, + MessageHandler<IWebService::HttpRequestErrorMessage> *failureCallable = NULL, + unsigned int timeoutInSeconds = 60); - // virtual void Stop() - // { - // } + virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage, + Orthanc::IDynamicObject *payload, // takes ownership + MessageHandler<IWebService::HttpRequestSuccessMessage> *successCallback); }; } // namespace OrthancStone