Mercurial > hg > orthanc-stone
comparison Platforms/Generic/WebServiceCommandBase.h @ 300:b4abaeb783b1 am-callable-and-promise
messaging refactoring almost complete: works fine in native
author | am@osimis.io |
---|---|
date | Tue, 18 Sep 2018 15:23:21 +0200 |
parents | 3897f9f28cfa |
children | 547e1cf7aa7b |
comparison
equal
deleted
inserted
replaced
299:3897f9f28cfa | 300:b4abaeb783b1 |
---|---|
35 namespace OrthancStone | 35 namespace OrthancStone |
36 { | 36 { |
37 class WebServiceCommandBase : public IOracleCommand, IObservable | 37 class WebServiceCommandBase : public IOracleCommand, IObservable |
38 { | 38 { |
39 protected: | 39 protected: |
40 IWebService::ICallback& callback_; | |
41 Orthanc::WebServiceParameters parameters_; | |
42 std::string uri_; | |
43 std::map<std::string, std::string> headers_; | |
44 std::auto_ptr<Orthanc::IDynamicObject> payload_; | |
45 bool success_; | |
46 std::string answer_; | |
47 NativeStoneApplicationContext& context_; | |
48 | |
49 public: | |
50 WebServiceCommandBase(MessageBroker& broker, | |
51 IWebService::ICallback& callback, | |
52 const Orthanc::WebServiceParameters& parameters, | |
53 const std::string& uri, | |
54 const std::map<std::string, std::string>& headers, | |
55 Orthanc::IDynamicObject* payload /* takes ownership */, | |
56 NativeStoneApplicationContext& context); | |
57 | |
58 virtual void Execute() = 0; | |
59 | |
60 virtual void Commit(); | |
61 }; | |
62 | |
63 class NewWebServiceCommandBase : public IOracleCommand, IObservable | |
64 { | |
65 protected: | |
66 std::auto_ptr<MessageHandler<IWebService::NewHttpRequestSuccessMessage>> successCallback_; | 40 std::auto_ptr<MessageHandler<IWebService::NewHttpRequestSuccessMessage>> successCallback_; |
67 std::auto_ptr<MessageHandler<IWebService::NewHttpRequestErrorMessage>> failureCallback_; | 41 std::auto_ptr<MessageHandler<IWebService::NewHttpRequestErrorMessage>> failureCallback_; |
68 Orthanc::WebServiceParameters parameters_; | 42 Orthanc::WebServiceParameters parameters_; |
69 std::string uri_; | 43 std::string uri_; |
70 std::map<std::string, std::string> headers_; | 44 std::map<std::string, std::string> headers_; |
72 bool success_; | 46 bool success_; |
73 std::string answer_; | 47 std::string answer_; |
74 NativeStoneApplicationContext& context_; | 48 NativeStoneApplicationContext& context_; |
75 | 49 |
76 public: | 50 public: |
77 NewWebServiceCommandBase(MessageBroker& broker, | 51 WebServiceCommandBase(MessageBroker& broker, |
78 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership | 52 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, // takes ownership |
79 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership | 53 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback, // takes ownership |
80 const Orthanc::WebServiceParameters& parameters, | 54 const Orthanc::WebServiceParameters& parameters, |
81 const std::string& uri, | 55 const std::string& uri, |
82 const std::map<std::string, std::string>& headers, | 56 const std::map<std::string, std::string>& headers, |