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"]));
+  }
 }