Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/OrthancServer/ServerJobs/OrthancJobUnserializer.cpp Thu Jun 07 18:18:02 2018 +0200 +++ b/OrthancServer/ServerJobs/OrthancJobUnserializer.cpp Thu Jun 07 21:37:40 2018 +0200 @@ -45,11 +45,32 @@ #include "Operations/StoreScuOperation.h" #include "Operations/SystemCallOperation.h" +#include "DicomModalityStoreJob.h" +#include "OrthancPeerStoreJob.h" +#include "ResourceModificationJob.h" + namespace Orthanc { IJob* OrthancJobUnserializer::UnserializeJob(const Json::Value& source) { - return GenericJobUnserializer::UnserializeJob(source); + const std::string type = SerializationToolbox::ReadString(source, "Type"); + + if (type == "DicomModalityStore") + { + return new DicomModalityStoreJob(context_, source); + } + else if (type == "OrthancPeerStore") + { + return new OrthancPeerStoreJob(context_, source); + } + else if (type == "ResourceModification") + { + return new ResourceModificationJob(context_, source); + } + else + { + return GenericJobUnserializer::UnserializeJob(source); + } }