Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/MessagingToolbox.cpp @ 67:acb60cbb8301 wasm
refactoring SeriesLoader
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 18 May 2017 17:51:41 +0200 |
parents | 28956ed68280 |
children | 2eca030792aa |
comparison
equal
deleted
inserted
replaced
66:298f375dcb68 | 67:acb60cbb8301 |
---|---|
150 return true; | 150 return true; |
151 } | 151 } |
152 } | 152 } |
153 | 153 |
154 | 154 |
155 static void ParseJson(Json::Value& target, | 155 bool ParseJson(Json::Value& target, |
156 const std::string& source) | 156 const void* content, |
157 size_t size) | |
158 { | |
159 Json::Reader reader; | |
160 return reader.parse(reinterpret_cast<const char*>(content), | |
161 reinterpret_cast<const char*>(content) + size, | |
162 target); | |
163 } | |
164 | |
165 | |
166 static void ParseJsonException(Json::Value& target, | |
167 const std::string& source) | |
157 { | 168 { |
158 Json::Reader reader; | 169 Json::Reader reader; |
159 if (!reader.parse(source, target)) | 170 if (!reader.parse(source, target)) |
160 { | 171 { |
161 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadFileFormat); | 172 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadFileFormat); |
167 OrthancPlugins::IOrthancConnection& orthanc, | 178 OrthancPlugins::IOrthancConnection& orthanc, |
168 const std::string& uri) | 179 const std::string& uri) |
169 { | 180 { |
170 std::string tmp; | 181 std::string tmp; |
171 orthanc.RestApiGet(tmp, uri); | 182 orthanc.RestApiGet(tmp, uri); |
172 ParseJson(target, tmp); | 183 ParseJsonException(target, tmp); |
173 } | 184 } |
174 | 185 |
175 | 186 |
176 void RestApiPost(Json::Value& target, | 187 void RestApiPost(Json::Value& target, |
177 OrthancPlugins::IOrthancConnection& orthanc, | 188 OrthancPlugins::IOrthancConnection& orthanc, |
178 const std::string& uri, | 189 const std::string& uri, |
179 const std::string& body) | 190 const std::string& body) |
180 { | 191 { |
181 std::string tmp; | 192 std::string tmp; |
182 orthanc.RestApiPost(tmp, uri, body); | 193 orthanc.RestApiPost(tmp, uri, body); |
183 ParseJson(target, tmp); | 194 ParseJsonException(target, tmp); |
184 } | 195 } |
185 | 196 |
186 | 197 |
187 bool HasWebViewerInstalled(OrthancPlugins::IOrthancConnection& orthanc) | 198 bool HasWebViewerInstalled(OrthancPlugins::IOrthancConnection& orthanc) |
188 { | 199 { |