Mercurial > hg > orthanc
diff OrthancServer/ServerJobs/Operations/ModifyInstanceOperation.cpp @ 2655:c196d76cb8fa jobs
serialization
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 05 Jun 2018 17:57:49 +0200 |
parents | 761031029aa9 |
children | a6d3e45eeff5 |
line wrap: on
line diff
--- a/OrthancServer/ServerJobs/Operations/ModifyInstanceOperation.cpp Tue Jun 05 17:09:18 2018 +0200 +++ b/OrthancServer/ServerJobs/Operations/ModifyInstanceOperation.cpp Tue Jun 05 17:57:49 2018 +0200 @@ -127,10 +127,26 @@ void ModifyInstanceOperation::Serialize(Json::Value& target) const { - result = Json::objectValue; + target = Json::objectValue; target["Type"] = "ModifyInstance"; target["Origin"] = EnumerationToString(origin_); modification_->Serialize(target["Modification"]); } + + + ModifyInstanceOperation::ModifyInstanceOperation(ServerContext& context, + const Json::Value& serialized) : + context_(context) + { + if (IJobUnserializer::ReadString(serialized, "Type") != "ModifyInstance" || + !serialized.isMember("Modification")) + { + throw OrthancException(ErrorCode_BadFileFormat); + } + + origin_ = StringToRequestOrigin(IJobUnserializer::ReadString(serialized, "Origin")); + + modification_.reset(new DicomModification(serialized["Modification"])); + } }