comparison OrthancServer/ServerJobs/OrthancJobUnserializer.cpp @ 2664:a21b244efb37 jobs

serialization of DicomModalityStoreJob, OrthancPeerStoreJob and ResourceModificationJob
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 07 Jun 2018 21:37:40 +0200
parents a6d3e45eeff5
children 925d8dc03a23
comparison
equal deleted inserted replaced
2663:228e2783ce83 2664:a21b244efb37
43 #include "Operations/ModifyInstanceOperation.h" 43 #include "Operations/ModifyInstanceOperation.h"
44 #include "Operations/StorePeerOperation.h" 44 #include "Operations/StorePeerOperation.h"
45 #include "Operations/StoreScuOperation.h" 45 #include "Operations/StoreScuOperation.h"
46 #include "Operations/SystemCallOperation.h" 46 #include "Operations/SystemCallOperation.h"
47 47
48 #include "DicomModalityStoreJob.h"
49 #include "OrthancPeerStoreJob.h"
50 #include "ResourceModificationJob.h"
51
48 namespace Orthanc 52 namespace Orthanc
49 { 53 {
50 IJob* OrthancJobUnserializer::UnserializeJob(const Json::Value& source) 54 IJob* OrthancJobUnserializer::UnserializeJob(const Json::Value& source)
51 { 55 {
52 return GenericJobUnserializer::UnserializeJob(source); 56 const std::string type = SerializationToolbox::ReadString(source, "Type");
57
58 if (type == "DicomModalityStore")
59 {
60 return new DicomModalityStoreJob(context_, source);
61 }
62 else if (type == "OrthancPeerStore")
63 {
64 return new OrthancPeerStoreJob(context_, source);
65 }
66 else if (type == "ResourceModification")
67 {
68 return new ResourceModificationJob(context_, source);
69 }
70 else
71 {
72 return GenericJobUnserializer::UnserializeJob(source);
73 }
53 } 74 }
54 75
55 76
56 IJobOperation* OrthancJobUnserializer::UnserializeOperation(const Json::Value& source) 77 IJobOperation* OrthancJobUnserializer::UnserializeOperation(const Json::Value& source)
57 { 78 {