diff Core/DicomNetworking/DicomUserConnection.cpp @ 3785:763533d6dd67 SylvainRouquette/fix-issue169-95b752c

add PreferredTransferSyntax to RemoteModalityParameters DicomUserConnection can now use RemoteModalityParameters.PreferredTransferSyntax instead of using the default transfer syntax (LE-implicit). This way we can transcode by default in LE-explicit. fix issue #169
author sylvain.rouquette@incepto-medical.com
date Wed, 18 Mar 2020 08:59:06 +0100
parents cf31b5bacce3
children 3801435e34a1
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomUserConnection.cpp	Wed Oct 16 12:52:25 2019 +0200
+++ b/Core/DicomNetworking/DicomUserConnection.cpp	Wed Mar 18 08:59:06 2020 +0100
@@ -126,7 +126,7 @@
 #endif
 
 
-static const char* DEFAULT_PREFERRED_TRANSFER_SYNTAX = UID_LittleEndianImplicitTransferSyntax;
+static const std::string DEFAULT_PREFERRED_TRANSFER_SYNTAX = UID_LittleEndianImplicitTransferSyntax;
 
 /**
  * "If we have more than 64 storage SOP classes, tools such as
@@ -900,6 +900,7 @@
   void DicomUserConnection::DefaultSetup()
   {
     preferredTransferSyntax_ = DEFAULT_PREFERRED_TRANSFER_SYNTAX;
+    modalityPreferredTransferSyntax_ = DEFAULT_PREFERRED_TRANSFER_SYNTAX;
     localAet_ = "STORESCU";
     remoteAet_ = "ANY-SCP";
     remoteHost_ = "127.0.0.1";
@@ -951,6 +952,8 @@
     SetRemoteHost(parameters.GetHost());
     SetRemotePort(parameters.GetPortNumber());
     SetRemoteManufacturer(parameters.GetManufacturer());
+    SetPreferredTransferSyntax(parameters.GetPreferredTransferSyntax());
+    modalityPreferredTransferSyntax_ = parameters.GetPreferredTransferSyntax();
   }
 
 
@@ -983,7 +986,7 @@
 
   void DicomUserConnection::ResetPreferredTransferSyntax()
   {
-    SetPreferredTransferSyntax(DEFAULT_PREFERRED_TRANSFER_SYNTAX);
+    SetPreferredTransferSyntax(modalityPreferredTransferSyntax_);
   }
 
   void DicomUserConnection::SetPreferredTransferSyntax(const std::string& preferredTransferSyntax)