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,