comparison Platforms/Generic/OracleWebService.h @ 754:92c400a09f1b

Merge from default
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 22 May 2019 16:13:46 +0200
parents c35e98d22764
children b537002f83a9 2d8ab34c8c91
comparison
equal deleted inserted replaced
753:a386bbc955dc 754:92c400a09f1b
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "../../Framework/Toolbox/BaseWebService.h" 24 #include "../../Framework/Deprecated/Toolbox/BaseWebService.h"
25 #include "Oracle.h" 25 #include "Oracle.h"
26 #include "WebServiceGetCommand.h" 26 #include "WebServiceGetCommand.h"
27 #include "WebServicePostCommand.h" 27 #include "WebServicePostCommand.h"
28 #include "WebServiceDeleteCommand.h" 28 #include "WebServiceDeleteCommand.h"
29 #include "../../Applications/Generic/NativeStoneApplicationContext.h" 29 #include "../../Applications/Generic/NativeStoneApplicationContext.h"
30 30
31 namespace OrthancStone 31 namespace Deprecated
32 { 32 {
33 // The OracleWebService performs HTTP requests in a native environment. 33 // The OracleWebService performs HTTP requests in a native environment.
34 // It uses a thread pool to handle multiple HTTP requests in a same time. 34 // It uses a thread pool to handle multiple HTTP requests in a same time.
35 // It works asynchronously to mimick the behaviour of the WebService running in a WASM environment. 35 // It works asynchronously to mimick the behaviour of the WebService running in a WASM environment.
36 class OracleWebService : public BaseWebService 36 class OracleWebService : public BaseWebService
37 { 37 {
38 private: 38 private:
39 Oracle& oracle_; 39 Oracle& oracle_;
40 NativeStoneApplicationContext& context_; 40 OrthancStone::NativeStoneApplicationContext& context_;
41 Orthanc::WebServiceParameters parameters_; 41 Orthanc::WebServiceParameters parameters_;
42 42
43 class WebServiceCachedGetCommand; 43 class WebServiceCachedGetCommand;
44 44
45 public: 45 public:
46 OracleWebService(MessageBroker& broker, 46 OracleWebService(OrthancStone::MessageBroker& broker,
47 Oracle& oracle, 47 Oracle& oracle,
48 const Orthanc::WebServiceParameters& parameters, 48 const Orthanc::WebServiceParameters& parameters,
49 NativeStoneApplicationContext& context) : 49 OrthancStone::NativeStoneApplicationContext& context) :
50 BaseWebService(broker), 50 BaseWebService(broker),
51 oracle_(oracle), 51 oracle_(oracle),
52 context_(context), 52 context_(context),
53 parameters_(parameters) 53 parameters_(parameters)
54 { 54 {
56 56
57 virtual void PostAsync(const std::string& uri, 57 virtual void PostAsync(const std::string& uri,
58 const HttpHeaders& headers, 58 const HttpHeaders& headers,
59 const std::string& body, 59 const std::string& body,
60 Orthanc::IDynamicObject* payload, // takes ownership 60 Orthanc::IDynamicObject* payload, // takes ownership
61 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership 61 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership
62 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, // takes ownership 62 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, // takes ownership
63 unsigned int timeoutInSeconds = 60) 63 unsigned int timeoutInSeconds = 60)
64 { 64 {
65 oracle_.Submit(new WebServicePostCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, body, payload, context_)); 65 oracle_.Submit(new WebServicePostCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, body, payload, context_));
66 } 66 }
67 67
68 virtual void DeleteAsync(const std::string& uri, 68 virtual void DeleteAsync(const std::string& uri,
69 const HttpHeaders& headers, 69 const HttpHeaders& headers,
70 Orthanc::IDynamicObject* payload, 70 Orthanc::IDynamicObject* payload,
71 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, 71 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
72 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, 72 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
73 unsigned int timeoutInSeconds = 60) 73 unsigned int timeoutInSeconds = 60)
74 { 74 {
75 oracle_.Submit(new WebServiceDeleteCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, payload, context_)); 75 oracle_.Submit(new WebServiceDeleteCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, payload, context_));
76 } 76 }
77 77
78 protected: 78 protected:
79 virtual void GetAsyncInternal(const std::string& uri, 79 virtual void GetAsyncInternal(const std::string& uri,
80 const HttpHeaders& headers, 80 const HttpHeaders& headers,
81 Orthanc::IDynamicObject* payload, // takes ownership 81 Orthanc::IDynamicObject* payload, // takes ownership
82 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership 82 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, // takes ownership
83 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,// takes ownership 83 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,// takes ownership
84 unsigned int timeoutInSeconds = 60) 84 unsigned int timeoutInSeconds = 60)
85 { 85 {
86 oracle_.Submit(new WebServiceGetCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, payload, context_)); 86 oracle_.Submit(new WebServiceGetCommand(GetBroker(), successCallback, failureCallback, parameters_, uri, headers, timeoutInSeconds, payload, context_));
87 } 87 }
88 88
89 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage, 89 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage,
90 Orthanc::IDynamicObject* payload, // takes ownership 90 Orthanc::IDynamicObject* payload, // takes ownership
91 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback); 91 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback);
92 92
93 }; 93 };
94 } 94 }