diff OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp @ 4285:544120b34c09

fix for VS2008, debug logs for C-FIND SCP and for storage commitment SCP
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 04 Nov 2020 16:27:59 +0100
parents 756126cd2219
children 5b254bd435d3
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp	Wed Nov 04 15:01:47 2020 +0100
+++ b/OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp	Wed Nov 04 16:27:59 2020 +0100
@@ -748,7 +748,10 @@
       // detail information, dump this information
       if (statusDetail != NULL)
       {
-        //LOG4CPP_WARN(Internals::GetLogger(), "Status Detail:" << OFendl << DcmObject::PrintHelper(*statusDetail));
+        std::stringstream s;  // This is necessary for VS2008
+        s << DcmObject::PrintHelper(*statusDetail);
+        CLOG(TRACE, DICOM) << "Status Detail:" << std::endl << s.str();
+
         delete statusDetail;
       }
 
@@ -1137,7 +1140,14 @@
       
       std::unique_ptr<DcmDataset> dataset(
         ReadDataset(assoc_, "Cannot read the dataset in N-ACTION SCP", associationTimeout_));
+      assert(dataset.get() != NULL);
 
+      {
+        std::stringstream s;  // This is necessary for VS2008
+        s << DcmObject::PrintHelper(*dataset);
+        CLOG(TRACE, DICOM) << "Received Storage Commitment Request:" << std::endl << s.str();
+      }
+      
       std::string transactionUid = ReadString(*dataset, DCM_TransactionUID);
 
       std::vector<std::string> sopClassUid, sopInstanceUid;
@@ -1200,6 +1210,12 @@
         content.DataSetType = DIMSE_DATASET_NULL;  // Dataset is absent in storage commitment response
         content.opts = O_NACTION_AFFECTEDSOPCLASSUID | O_NACTION_AFFECTEDSOPINSTANCEUID;
 
+        {
+          OFString str;
+          CLOG(TRACE, DICOM) << "Sending Storage Commitment Request Response:" << std::endl
+                             << DIMSE_dumpMessage(str, response, DIMSE_OUTGOING);
+        }
+        
         return DIMSE_sendMessageUsingMemoryData(
           assoc_, presID, &response, NULL /* no dataset */, NULL /* dataObject */,
           NULL /* callback */, NULL /* callback context */, NULL /* commandSet */);
@@ -1260,7 +1276,14 @@
       
       std::unique_ptr<DcmDataset> dataset(
         ReadDataset(assoc_, "Cannot read the dataset in N-EVENT-REPORT SCP", associationTimeout_));
+      assert(dataset.get() != NULL);
 
+      {
+        std::stringstream s;  // This is necessary for VS2008
+        s << DcmObject::PrintHelper(*dataset);
+        CLOG(TRACE, DICOM) << "Received Storage Commitment Report:" << std::endl << s.str();
+      }
+      
       std::string transactionUid = ReadString(*dataset, DCM_TransactionUID);
 
       std::vector<std::string> successSopClassUid, successSopInstanceUid;
@@ -1340,6 +1363,12 @@
         content.DataSetType = DIMSE_DATASET_NULL;  // Dataset is absent in storage commitment response
         content.opts = O_NEVENTREPORT_AFFECTEDSOPCLASSUID | O_NEVENTREPORT_AFFECTEDSOPINSTANCEUID;
 
+        {
+          OFString str;
+          CLOG(TRACE, DICOM) << "Sending Storage Commitment Report Response:" << std::endl
+                             << DIMSE_dumpMessage(str, response, DIMSE_OUTGOING);
+        }
+
         return DIMSE_sendMessageUsingMemoryData(
           assoc_, presID, &response, NULL /* no dataset */, NULL /* dataObject */,
           NULL /* callback */, NULL /* callback context */, NULL /* commandSet */);