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