diff OrthancServer/Scheduler/StoreScuCommand.cpp @ 2222:21713ce8717b

Fix handling of Move Originator AET and ID in C-MOVE SCP
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 13 Dec 2016 14:34:33 +0100
parents 2b1520efa282
children a3a65de1840f
line wrap: on
line diff
--- a/OrthancServer/Scheduler/StoreScuCommand.cpp	Tue Dec 13 12:13:12 2016 +0100
+++ b/OrthancServer/Scheduler/StoreScuCommand.cpp	Tue Dec 13 14:34:33 2016 +0100
@@ -40,16 +40,24 @@
   StoreScuCommand::StoreScuCommand(ServerContext& context,
                                    const std::string& localAet,
                                    const RemoteModalityParameters& modality,
-                                   bool ignoreExceptions,
-                                   uint16_t moveOriginatorID) : 
+                                   bool ignoreExceptions) : 
     context_(context),
     modality_(modality),
     ignoreExceptions_(ignoreExceptions),
     localAet_(localAet),
-    moveOriginatorID_(moveOriginatorID)
+    moveOriginatorID_(0)
   {
   }
 
+
+  void StoreScuCommand::SetMoveOriginator(const std::string& aet,
+                                          uint16_t id)
+  {
+    moveOriginatorAET_ = aet;
+    moveOriginatorID_ = id;
+  }
+
+
   bool StoreScuCommand::Apply(ListOfStrings& outputs,
                              const ListOfStrings& inputs)
   {
@@ -66,7 +74,7 @@
         std::string dicom;
         context_.ReadDicom(dicom, *it);
 
-        locker.GetConnection().Store(dicom, moveOriginatorID_);
+        locker.GetConnection().Store(dicom, moveOriginatorAET_, moveOriginatorID_);
 
         // Only chain with other commands if this command succeeds
         outputs.push_back(*it);