Mercurial > hg > orthanc-stone
comparison Platforms/Generic/WebServiceGetCommand.cpp @ 247:3d523c9a8f0d am
trying to use boost::signals2 even more.
author | am@osimis.io |
---|---|
date | Mon, 02 Jul 2018 12:32:02 +0200 |
parents | 5470b15f7cf2 |
children |
comparison
equal
deleted
inserted
replaced
246:5470b15f7cf2 | 247:3d523c9a8f0d |
---|---|
23 | 23 |
24 #include <Core/HttpClient.h> | 24 #include <Core/HttpClient.h> |
25 | 25 |
26 namespace OrthancStone | 26 namespace OrthancStone |
27 { | 27 { |
28 WebServiceGetCommand::WebServiceGetCommand(IWebService::ICallback& callback, | 28 WebServiceGetCommand::WebServiceGetCommand(IWebService::IWebServiceObserver* observer, |
29 const Orthanc::WebServiceParameters& parameters, | 29 boost::shared_ptr<boost::noncopyable> tracker,const Orthanc::WebServiceParameters& parameters, |
30 const std::string& uri, | 30 const std::string& uri, |
31 Orthanc::IDynamicObject* payload /* takes ownership */) : | 31 Orthanc::IDynamicObject* payload /* takes ownership */) : |
32 callback_(callback), | 32 observer_(observer), |
33 parameters_(parameters), | 33 parameters_(parameters), |
34 uri_(uri), | 34 uri_(uri), |
35 payload_(payload) | 35 payload_(payload) |
36 { | 36 { |
37 //SignalSuccess.connect(boost::bind(&IWebService::ICallback::NotifySuccess, callback, _1, _2, _3, _4)); | 37 // connect the signals and track the deletion of the observer |
38 SignalSuccess.connect(IWebService::IWebServiceObserver::SignalSuccessType::slot_type(&IWebService::IWebServiceObserver::OnRequestSuccess, observer_, _1, _2, _3, _4).track(tracker)); | |
39 SignalError.connect(IWebService::IWebServiceObserver::SignalErrorType::slot_type(&IWebService::IWebServiceObserver::OnRequestError, observer_, _1, _2).track(tracker)); | |
38 } | 40 } |
39 | 41 |
40 | 42 |
41 void WebServiceGetCommand::Execute() | 43 void WebServiceGetCommand::Execute() |
42 { | 44 { |
50 void WebServiceGetCommand::Commit() | 52 void WebServiceGetCommand::Commit() |
51 { | 53 { |
52 if (success_) | 54 if (success_) |
53 { | 55 { |
54 SignalSuccess(uri_, answer_.c_str(), answer_.size(), payload_.release()); | 56 SignalSuccess(uri_, answer_.c_str(), answer_.size(), payload_.release()); |
55 //callback_.NotifySuccess(uri_, answer_.c_str(), answer_.size(), payload_.release()); | |
56 } | 57 } |
57 else | 58 else |
58 { | 59 { |
59 callback_.NotifyError(uri_, payload_.release()); | 60 SignalError(uri_, payload_.release()); |
60 } | 61 } |
61 } | 62 } |
62 } | 63 } |