diff Core/DicomNetworking/DicomStoreUserConnection.h @ 3862:594263db316a transcoding

DicomModalityStoreJob now uses DicomStoreUserConnection
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 27 Apr 2020 17:28:55 +0200
parents 5bba4d249422
children d5be23fc0106
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomStoreUserConnection.h	Mon Apr 27 15:56:20 2020 +0200
+++ b/Core/DicomNetworking/DicomStoreUserConnection.h	Mon Apr 27 17:28:55 2020 +0200
@@ -72,17 +72,22 @@
     typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses;
     
     DicomAssociationParameters           parameters_;
-    boost::shared_ptr<DicomAssociation>  association_;
+    boost::shared_ptr<DicomAssociation>  association_;  // "shared_ptr" is for PImpl
     StorageClasses                       storageClasses_;
     bool                                 proposeCommonClasses_;
     bool                                 proposeUncompressedSyntaxes_;
     bool                                 proposeRetiredBigEndian_;
 
+    void Setup();
+
     // Return "false" if there is not enough room remaining in the association
     bool ProposeStorageClass(const std::string& sopClassUid,
                              const std::set<DicomTransferSyntax>& syntaxes);
 
   public:
+    DicomStoreUserConnection(const std::string& localAet,
+                             const RemoteModalityParameters& remote);
+    
     DicomStoreUserConnection(const DicomAssociationParameters& params);
     
     const DicomAssociationParameters& GetParameters() const
@@ -134,6 +139,13 @@
                                       const std::string& sopClassUid,
                                       DicomTransferSyntax transferSyntax);
 
+    // TODO => to private
+    void LookupParameters(std::string& sopClassUid,
+                          std::string& sopInstanceUid,
+                          DicomTransferSyntax& transferSyntax,
+                          DcmDataset& dataset);
+
+  private:
     void Store(std::string& sopClassUid,
                std::string& sopInstanceUid,
                DcmDataset& dataset,
@@ -146,11 +158,20 @@
                const std::string& moveOriginatorAET,
                uint16_t moveOriginatorID);
 
+  public:
     void Store(std::string& sopClassUid,
                std::string& sopInstanceUid,
                const void* buffer,
                size_t size,
                const std::string& moveOriginatorAET,
                uint16_t moveOriginatorID);
+
+    void Store(std::string& sopClassUid,
+               std::string& sopInstanceUid,
+               const void* buffer,
+               size_t size)
+    {
+      Store(sopClassUid, sopInstanceUid, buffer, size, "", 0);  // Not a C-Move
+    }
   };
 }