diff OrthancServer/Internals/MoveScp.cpp @ 1573:3309878b3e16

more information about the origin of requests submitted to the DICOM handlers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 25 Aug 2015 13:05:22 +0200
parents f967bdf8534e
children 164d78911382
line wrap: on
line diff
--- a/OrthancServer/Internals/MoveScp.cpp	Tue Aug 25 12:10:12 2015 +0200
+++ b/OrthancServer/Internals/MoveScp.cpp	Tue Aug 25 13:05:22 2015 +0200
@@ -104,6 +104,8 @@
       unsigned int failureCount_;
       unsigned int warningCount_;
       std::auto_ptr<IMoveRequestIterator> iterator_;
+      const std::string* remoteIp_;
+      const std::string* remoteAet_;
     };
 
 
@@ -130,7 +132,8 @@
 
         try
         {
-          data.iterator_.reset(data.handler_->Handle(data.target_, data.input_));
+          data.iterator_.reset(data.handler_->Handle(data.target_, data.input_, 
+                                                     *data.remoteIp_, *data.remoteAet_));
 
           if (data.iterator_.get() == NULL)
           {
@@ -210,12 +213,16 @@
   OFCondition Internals::moveScp(T_ASC_Association * assoc, 
                                  T_DIMSE_Message * msg, 
                                  T_ASC_PresentationContextID presID,
-                                 IMoveRequestHandler& handler)
+                                 IMoveRequestHandler& handler,
+                                 const std::string& remoteIp,
+                                 const std::string& remoteAet)
   {
     MoveScpData data;
     data.target_ = std::string(msg->msg.CMoveRQ.MoveDestination);
     data.lastRequest_ = NULL;
     data.handler_ = &handler;
+    data.remoteIp_ = &remoteIp;
+    data.remoteAet_ = &remoteAet;
 
     OFCondition cond = DIMSE_moveProvider(assoc, presID, &msg->msg.CMoveRQ, 
                                           MoveScpCallback, &data,