Mercurial > hg > orthanc-stone
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 } |