Mercurial > hg > orthanc-transfers
comparison Plugin/Plugin.cpp @ 31:cfeda58d0c8e
remove calls to deprecated classes of JsonCpp
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 22 Dec 2020 08:31:22 +0100 |
parents | a0af5a8182a8 |
children | 44a0430d7899 |
comparison
equal
deleted
inserted
replaced
30:3abebab5d004 | 31:cfeda58d0c8e |
---|---|
26 | 26 |
27 #include <Compatibility.h> // For std::unique_ptr | 27 #include <Compatibility.h> // For std::unique_ptr |
28 #include <ChunkedBuffer.h> | 28 #include <ChunkedBuffer.h> |
29 #include <Compression/GzipCompressor.h> | 29 #include <Compression/GzipCompressor.h> |
30 #include <Logging.h> | 30 #include <Logging.h> |
31 #include <Toolbox.h> | |
31 | 32 |
32 | 33 |
33 static bool DisplayPerformanceWarning() | 34 static bool DisplayPerformanceWarning() |
34 { | 35 { |
35 (void) DisplayPerformanceWarning; // Disable warning about unused function | 36 (void) DisplayPerformanceWarning; // Disable warning about unused function |
185 | 186 |
186 static bool ParsePostBody(Json::Value& body, | 187 static bool ParsePostBody(Json::Value& body, |
187 OrthancPluginRestOutput* output, | 188 OrthancPluginRestOutput* output, |
188 const OrthancPluginHttpRequest* request) | 189 const OrthancPluginHttpRequest* request) |
189 { | 190 { |
190 Json::Reader reader; | |
191 | |
192 if (request->method != OrthancPluginHttpMethod_Post) | 191 if (request->method != OrthancPluginHttpMethod_Post) |
193 { | 192 { |
194 OrthancPluginSendMethodNotAllowed(OrthancPlugins::GetGlobalContext(), output, "POST"); | 193 OrthancPluginSendMethodNotAllowed(OrthancPlugins::GetGlobalContext(), output, "POST"); |
195 return false; | 194 return false; |
196 } | 195 } |
197 else if (reader.parse(request->body, request->body + request->bodySize, body)) | 196 else if (Orthanc::Toolbox::ReadJson(body, request->body, request->bodySize)) |
198 { | 197 { |
199 return true; | 198 return true; |
200 } | 199 } |
201 else | 200 else |
202 { | 201 { |
235 Json::Value instance; | 234 Json::Value instance; |
236 instances[i].Serialize(instance); | 235 instances[i].Serialize(instance); |
237 answer[KEY_INSTANCES].append(instance); | 236 answer[KEY_INSTANCES].append(instance); |
238 } | 237 } |
239 | 238 |
240 Json::FastWriter writer; | 239 std::string s; |
241 std::string s = writer.write(answer); | 240 Orthanc::Toolbox::WriteFastJson(s, answer); |
242 | |
243 OrthancPluginAnswerBuffer(OrthancPlugins::GetGlobalContext(), output, s.c_str(), s.size(), "application/json"); | 241 OrthancPluginAnswerBuffer(OrthancPlugins::GetGlobalContext(), output, s.c_str(), s.size(), "application/json"); |
244 } | 242 } |
245 | 243 |
246 | 244 |
247 | 245 |
448 lookup[KEY_RESOURCES] = query.GetResources(); | 446 lookup[KEY_RESOURCES] = query.GetResources(); |
449 lookup[KEY_COMPRESSION] = OrthancPlugins::EnumerationToString(query.GetCompression()); | 447 lookup[KEY_COMPRESSION] = OrthancPlugins::EnumerationToString(query.GetCompression()); |
450 lookup[KEY_ORIGINATOR_UUID] = context.GetPluginUuid(); | 448 lookup[KEY_ORIGINATOR_UUID] = context.GetPluginUuid(); |
451 lookup[KEY_PEER] = remoteSelf; | 449 lookup[KEY_PEER] = remoteSelf; |
452 | 450 |
453 Json::FastWriter writer; | 451 std::string s; |
454 std::string s = writer.write(lookup); | 452 Orthanc::Toolbox::WriteFastJson(s, lookup); |
455 | 453 |
456 Json::Value answer; | 454 Json::Value answer; |
457 if (DoPostPeer(answer, peers, query.GetPeer(), URI_PULL, s, context.GetMaxHttpRetries()) && | 455 if (DoPostPeer(answer, peers, query.GetPeer(), URI_PULL, s, context.GetMaxHttpRetries()) && |
458 answer.type() == Json::objectValue && | 456 answer.type() == Json::objectValue && |
459 answer.isMember(KEY_ID) && | 457 answer.isMember(KEY_ID) && |
511 try | 509 try |
512 { | 510 { |
513 std::string tmp(serialized); | 511 std::string tmp(serialized); |
514 | 512 |
515 Json::Value source; | 513 Json::Value source; |
516 Json::Reader reader; | 514 if (Orthanc::Toolbox::ReadJson(source, tmp)) |
517 if (reader.parse(tmp, source)) | |
518 { | 515 { |
519 OrthancPlugins::TransferQuery query(source); | 516 OrthancPlugins::TransferQuery query(source); |
520 | 517 |
521 std::unique_ptr<OrthancPlugins::OrthancJob> job; | 518 std::unique_ptr<OrthancPlugins::OrthancJob> job; |
522 | 519 |