Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/OrthancApiClient.cpp @ 301:547e1cf7aa7b am-callable-and-promise
cleanup
author | am@osimis.io |
---|---|
date | Tue, 18 Sep 2018 15:34:28 +0200 |
parents | b4abaeb783b1 |
children | 14ef1227120f |
comparison
equal
deleted
inserted
replaced
300:b4abaeb783b1 | 301:547e1cf7aa7b |
---|---|
46 orthancApiSuccessCallback_(orthancApiSuccessCallback), | 46 orthancApiSuccessCallback_(orthancApiSuccessCallback), |
47 orthancApiFailureCallback_(orthancApiFailureCallback) | 47 orthancApiFailureCallback_(orthancApiFailureCallback) |
48 { | 48 { |
49 } | 49 } |
50 | 50 |
51 void ConvertResponseToJson(const IWebService::NewHttpRequestSuccessMessage& message) | 51 void ConvertResponseToJson(const IWebService::HttpRequestSuccessMessage& message) |
52 { | 52 { |
53 Json::Value response; | 53 Json::Value response; |
54 if (MessagingToolbox::ParseJson(response, message.Answer, message.AnswerSize)) | 54 if (MessagingToolbox::ParseJson(response, message.answer_, message.answerSize_)) |
55 { | 55 { |
56 if (orthancApiSuccessCallback_.get() != NULL) | 56 if (orthancApiSuccessCallback_.get() != NULL) |
57 { | 57 { |
58 orthancApiSuccessCallback_->Apply(OrthancApiClient::JsonResponseReadyMessage(message.Uri, response, message.Payload)); | 58 orthancApiSuccessCallback_->Apply(OrthancApiClient::JsonResponseReadyMessage(message.uri_, response, message.payload_)); |
59 } | 59 } |
60 } | 60 } |
61 else if (orthancApiFailureCallback_.get() != NULL) | 61 else if (orthancApiFailureCallback_.get() != NULL) |
62 { | 62 { |
63 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.Uri, message.Payload)); | 63 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.uri_, message.payload_)); |
64 } | 64 } |
65 | 65 |
66 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) | 66 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) |
67 } | 67 } |
68 | 68 |
69 void ConvertError(const IWebService::NewHttpRequestErrorMessage& message) | 69 void ConvertError(const IWebService::HttpRequestErrorMessage& message) |
70 { | 70 { |
71 if (orthancApiFailureCallback_.get() != NULL) | 71 if (orthancApiFailureCallback_.get() != NULL) |
72 { | 72 { |
73 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.Uri)); | 73 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.uri_)); |
74 } | 74 } |
75 | 75 |
76 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) | 76 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) |
77 } | 77 } |
78 }; | 78 }; |
92 orthancApiSuccessCallback_(orthancApiSuccessCallback), | 92 orthancApiSuccessCallback_(orthancApiSuccessCallback), |
93 orthancApiFailureCallback_(orthancApiFailureCallback) | 93 orthancApiFailureCallback_(orthancApiFailureCallback) |
94 { | 94 { |
95 } | 95 } |
96 | 96 |
97 void ConvertResponseToBinary(const IWebService::NewHttpRequestSuccessMessage& message) | 97 void ConvertResponseToBinary(const IWebService::HttpRequestSuccessMessage& message) |
98 { | 98 { |
99 if (orthancApiSuccessCallback_.get() != NULL) | 99 if (orthancApiSuccessCallback_.get() != NULL) |
100 { | 100 { |
101 orthancApiSuccessCallback_->Apply(OrthancApiClient::BinaryResponseReadyMessage(message.Uri, message.Answer, message.AnswerSize, message.Payload)); | 101 orthancApiSuccessCallback_->Apply(OrthancApiClient::BinaryResponseReadyMessage(message.uri_, message.answer_, message.answerSize_, message.payload_)); |
102 } | 102 } |
103 else if (orthancApiFailureCallback_.get() != NULL) | 103 else if (orthancApiFailureCallback_.get() != NULL) |
104 { | 104 { |
105 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.Uri, message.Payload)); | 105 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.uri_, message.payload_)); |
106 } | 106 } |
107 | 107 |
108 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) | 108 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) |
109 } | 109 } |
110 | 110 |
111 void ConvertError(const IWebService::NewHttpRequestErrorMessage& message) | 111 void ConvertError(const IWebService::HttpRequestErrorMessage& message) |
112 { | 112 { |
113 if (orthancApiFailureCallback_.get() != NULL) | 113 if (orthancApiFailureCallback_.get() != NULL) |
114 { | 114 { |
115 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.Uri)); | 115 orthancApiFailureCallback_->Apply(OrthancApiClient::HttpErrorMessage(message.uri_)); |
116 } | 116 } |
117 | 117 |
118 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) | 118 delete this; // hack untill we find someone to take ownership of this object (https://isocpp.org/wiki/faq/freestore-mgmt#delete-this) |
119 } | 119 } |
120 }; | 120 }; |
124 MessageHandler<HttpErrorMessage>* failureCallback, | 124 MessageHandler<HttpErrorMessage>* failureCallback, |
125 Orthanc::IDynamicObject* payload) | 125 Orthanc::IDynamicObject* payload) |
126 { | 126 { |
127 HttpResponseToJsonConverter* converter = new HttpResponseToJsonConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used | 127 HttpResponseToJsonConverter* converter = new HttpResponseToJsonConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used |
128 orthanc_.GetAsync(uri, IWebService::Headers(), payload, | 128 orthanc_.GetAsync(uri, IWebService::Headers(), payload, |
129 new Callable<HttpResponseToJsonConverter, IWebService::NewHttpRequestSuccessMessage>(*converter, &HttpResponseToJsonConverter::ConvertResponseToJson), | 129 new Callable<HttpResponseToJsonConverter, IWebService::HttpRequestSuccessMessage>(*converter, &HttpResponseToJsonConverter::ConvertResponseToJson), |
130 new Callable<HttpResponseToJsonConverter, IWebService::NewHttpRequestErrorMessage>(*converter, &HttpResponseToJsonConverter::ConvertError)); | 130 new Callable<HttpResponseToJsonConverter, IWebService::HttpRequestErrorMessage>(*converter, &HttpResponseToJsonConverter::ConvertError)); |
131 | 131 |
132 } | 132 } |
133 | 133 |
134 void OrthancApiClient::GetBinaryAsync(const std::string& uri, | 134 void OrthancApiClient::GetBinaryAsync(const std::string& uri, |
135 const IWebService::Headers& headers, | 135 const IWebService::Headers& headers, |
137 MessageHandler<HttpErrorMessage>* failureCallback, | 137 MessageHandler<HttpErrorMessage>* failureCallback, |
138 Orthanc::IDynamicObject* payload) | 138 Orthanc::IDynamicObject* payload) |
139 { | 139 { |
140 HttpResponseToBinaryConverter* converter = new HttpResponseToBinaryConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used | 140 HttpResponseToBinaryConverter* converter = new HttpResponseToBinaryConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used |
141 orthanc_.GetAsync(uri, headers, payload, | 141 orthanc_.GetAsync(uri, headers, payload, |
142 new Callable<HttpResponseToBinaryConverter, IWebService::NewHttpRequestSuccessMessage>(*converter, &HttpResponseToBinaryConverter::ConvertResponseToBinary), | 142 new Callable<HttpResponseToBinaryConverter, IWebService::HttpRequestSuccessMessage>(*converter, &HttpResponseToBinaryConverter::ConvertResponseToBinary), |
143 new Callable<HttpResponseToBinaryConverter, IWebService::NewHttpRequestErrorMessage>(*converter, &HttpResponseToBinaryConverter::ConvertError)); | 143 new Callable<HttpResponseToBinaryConverter, IWebService::HttpRequestErrorMessage>(*converter, &HttpResponseToBinaryConverter::ConvertError)); |
144 } | 144 } |
145 | 145 |
146 void OrthancApiClient::PostBinaryAsyncExpectJson(const std::string& uri, | 146 void OrthancApiClient::PostBinaryAsyncExpectJson(const std::string& uri, |
147 const std::string& body, | 147 const std::string& body, |
148 MessageHandler<JsonResponseReadyMessage>* successCallback, | 148 MessageHandler<JsonResponseReadyMessage>* successCallback, |
149 MessageHandler<HttpErrorMessage>* failureCallback, | 149 MessageHandler<HttpErrorMessage>* failureCallback, |
150 Orthanc::IDynamicObject* payload) | 150 Orthanc::IDynamicObject* payload) |
151 { | 151 { |
152 HttpResponseToJsonConverter* converter = new HttpResponseToJsonConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used | 152 HttpResponseToJsonConverter* converter = new HttpResponseToJsonConverter(broker_, successCallback, failureCallback); // it is currently deleting itself after being used |
153 orthanc_.PostAsync(uri, IWebService::Headers(), body, payload, | 153 orthanc_.PostAsync(uri, IWebService::Headers(), body, payload, |
154 new Callable<HttpResponseToJsonConverter, IWebService::NewHttpRequestSuccessMessage>(*converter, &HttpResponseToJsonConverter::ConvertResponseToJson), | 154 new Callable<HttpResponseToJsonConverter, IWebService::HttpRequestSuccessMessage>(*converter, &HttpResponseToJsonConverter::ConvertResponseToJson), |
155 new Callable<HttpResponseToJsonConverter, IWebService::NewHttpRequestErrorMessage>(*converter, &HttpResponseToJsonConverter::ConvertError)); | 155 new Callable<HttpResponseToJsonConverter, IWebService::HttpRequestErrorMessage>(*converter, &HttpResponseToJsonConverter::ConvertError)); |
156 | 156 |
157 } | 157 } |
158 | 158 |
159 | 159 |
160 } | 160 } |