diff OrthancServer/Internals/FindScp.cpp @ 1800:30e97a1f4093 worklists

callback for handling worklists with plugins
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 20 Nov 2015 13:53:20 +0100
parents 4f01c9d73f02
children 4e7c318a3f69
line wrap: on
line diff
--- a/OrthancServer/Internals/FindScp.cpp	Fri Nov 20 12:57:14 2015 +0100
+++ b/OrthancServer/Internals/FindScp.cpp	Fri Nov 20 13:53:20 2015 +0100
@@ -102,7 +102,6 @@
       const std::string* remoteIp_;
       const std::string* remoteAet_;
       const std::string* calledAet_;
-      bool noCroppingOfResults_;
     };
 
 
@@ -135,9 +134,9 @@
             if (data.worklistHandler_ != NULL)
             {
               ParsedDicomFile query(*requestIdentifiers);
-              data.noCroppingOfResults_ = data.worklistHandler_->Handle(data.answers_, query,
-                                                                        *data.remoteIp_, *data.remoteAet_,
-                                                                        *data.calledAet_);
+              data.worklistHandler_->Handle(data.answers_, query,
+                                            *data.remoteIp_, *data.remoteAet_,
+                                            *data.calledAet_);
               ok = true;
             }
             else
@@ -151,9 +150,9 @@
             {
               DicomMap input;
               FromDcmtkBridge::Convert(input, *requestIdentifiers);
-              data.noCroppingOfResults_ = data.findHandler_->Handle(data.answers_, input,
-                                                                    *data.remoteIp_, *data.remoteAet_,
-                                                                    *data.calledAet_);
+              data.findHandler_->Handle(data.answers_, input,
+                                        *data.remoteIp_, *data.remoteAet_,
+                                        *data.calledAet_);
               ok = true;
             }
             else
@@ -191,7 +190,7 @@
         response->DimseStatus = STATUS_Pending;
         *responseIdentifiers = data.answers_.ExtractDcmDataset(responseCount - 1);
       }
-      else if (data.noCroppingOfResults_)
+      else if (data.answers_.IsComplete())
       {
         // Success: All the results have been sent
         response->DimseStatus = STATUS_Success;
@@ -224,7 +223,6 @@
     data.remoteIp_ = &remoteIp;
     data.remoteAet_ = &remoteAet;
     data.calledAet_ = &calledAet;
-    data.noCroppingOfResults_ = true;
 
     OFCondition cond = DIMSE_findProvider(assoc, presID, &msg->msg.CFindRQ, 
                                           FindScpCallback, &data,