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 }