diff Core/DicomNetworking/DicomStoreUserConnection.h @ 3826:e82bd07c384e

putting DicomAssociation behind pimpl
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 10 Apr 2020 16:12:10 +0200
parents 4570c57668a8
children 638906dcfe32 83ea6939293d
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomStoreUserConnection.h	Fri Apr 10 16:04:54 2020 +0200
+++ b/Core/DicomNetworking/DicomStoreUserConnection.h	Fri Apr 10 16:12:10 2020 +0200
@@ -33,7 +33,12 @@
 
 #pragma once
 
-#include "DicomAssociation.h"
+#include "DicomAssociationParameters.h"
+
+#include <boost/shared_ptr.hpp>
+#include <boost/noncopyable.hpp>
+#include <set>
+#include <stdint.h>  // For uint8_t
 
 
 namespace Orthanc
@@ -56,19 +61,19 @@
 
   **/
 
+  class DicomAssociation;  // Forward declaration for PImpl design pattern
 
   class DicomStoreUserConnection : public boost::noncopyable
   {
   private:
     typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses;
     
-    DicomAssociationParameters  parameters_;
-    DicomAssociation            association_;
-    StorageClasses              storageClasses_;
-    bool                        proposeCommonClasses_;
-    bool                        proposeUncompressedSyntaxes_;
-    bool                        proposeRetiredBigEndian_;
-
+    DicomAssociationParameters           parameters_;
+    boost::shared_ptr<DicomAssociation>  association_;
+    StorageClasses                       storageClasses_;
+    bool                                 proposeCommonClasses_;
+    bool                                 proposeUncompressedSyntaxes_;
+    bool                                 proposeRetiredBigEndian_;
 
     // Return "false" if there is not enough room remaining in the association
     bool ProposeStorageClass(const std::string& sopClassUid,