comparison 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
comparison
equal deleted inserted replaced
3825:4570c57668a8 3826:e82bd07c384e
31 **/ 31 **/
32 32
33 33
34 #pragma once 34 #pragma once
35 35
36 #include "DicomAssociation.h" 36 #include "DicomAssociationParameters.h"
37
38 #include <boost/shared_ptr.hpp>
39 #include <boost/noncopyable.hpp>
40 #include <set>
41 #include <stdint.h> // For uint8_t
37 42
38 43
39 namespace Orthanc 44 namespace Orthanc
40 { 45 {
41 /** 46 /**
54 Compressed | Same transfer syntax, or uncompressed 59 Compressed | Same transfer syntax, or uncompressed
55 Uncompressed | Same transfer syntax, or other uncompressed 60 Uncompressed | Same transfer syntax, or other uncompressed
56 61
57 **/ 62 **/
58 63
64 class DicomAssociation; // Forward declaration for PImpl design pattern
59 65
60 class DicomStoreUserConnection : public boost::noncopyable 66 class DicomStoreUserConnection : public boost::noncopyable
61 { 67 {
62 private: 68 private:
63 typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses; 69 typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses;
64 70
65 DicomAssociationParameters parameters_; 71 DicomAssociationParameters parameters_;
66 DicomAssociation association_; 72 boost::shared_ptr<DicomAssociation> association_;
67 StorageClasses storageClasses_; 73 StorageClasses storageClasses_;
68 bool proposeCommonClasses_; 74 bool proposeCommonClasses_;
69 bool proposeUncompressedSyntaxes_; 75 bool proposeUncompressedSyntaxes_;
70 bool proposeRetiredBigEndian_; 76 bool proposeRetiredBigEndian_;
71
72 77
73 // Return "false" if there is not enough room remaining in the association 78 // Return "false" if there is not enough room remaining in the association
74 bool ProposeStorageClass(const std::string& sopClassUid, 79 bool ProposeStorageClass(const std::string& sopClassUid,
75 const std::set<DicomTransferSyntax>& syntaxes); 80 const std::set<DicomTransferSyntax>& syntaxes);
76 81