Mercurial > hg > orthanc
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 { |