diff Core/DicomNetworking/RemoteModalityParameters.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 4e43e67f8ecf
children 3801435e34a1
line wrap: on
line diff
--- a/Core/DicomNetworking/RemoteModalityParameters.cpp	Wed Oct 16 12:52:25 2019 +0200
+++ b/Core/DicomNetworking/RemoteModalityParameters.cpp	Wed Mar 18 08:59:06 2020 +0100
@@ -38,6 +38,8 @@
 #include "../OrthancException.h"
 #include "../SerializationToolbox.h"
 
+#include <dcmtk/dcmdata/dcuid.h>
+
 #include <boost/lexical_cast.hpp>
 #include <stdexcept>
 
@@ -49,6 +51,7 @@
 static const char* KEY_ALLOW_MOVE = "AllowMove";
 static const char* KEY_ALLOW_STORE = "AllowStore";
 static const char* KEY_HOST = "Host";
+static const char* KEY_PREFERRED_TRANSFER_SYNTAX = "PreferredTransferSyntax";
 static const char* KEY_MANUFACTURER = "Manufacturer";
 static const char* KEY_PORT = "Port";
 
@@ -59,6 +62,7 @@
   {
     aet_ = "ORTHANC";
     host_ = "127.0.0.1";
+    preferredTransferSyntax_ = UID_LittleEndianImplicitTransferSyntax;
     port_ = 104;
     manufacturer_ = ModalityManufacturer_Generic;
     allowEcho_ = true;
@@ -167,6 +171,7 @@
 
     aet_ = SerializationToolbox::ReadString(serialized, KEY_AET);
     host_ = SerializationToolbox::ReadString(serialized, KEY_HOST);
+    preferredTransferSyntax_ = SerializationToolbox::ReadString(serialized, KEY_PREFERRED_TRANSFER_SYNTAX);
 
     if (serialized.isMember(KEY_PORT))
     {
@@ -289,6 +294,7 @@
       target = Json::objectValue;
       target[KEY_AET] = aet_;
       target[KEY_HOST] = host_;
+      target[KEY_PREFERRED_TRANSFER_SYNTAX] = preferredTransferSyntax_;
       target[KEY_PORT] = port_;
       target[KEY_MANUFACTURER] = EnumerationToString(manufacturer_);
       target[KEY_ALLOW_ECHO] = allowEcho_;