Mercurial > hg > orthanc
comparison Core/DicomNetworking/DicomStoreUserConnection.h @ 3879:a18b34dec94a transcoding
reorganization
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 May 2020 19:17:07 +0200 |
parents | ea1d32861cfc |
children | cdd0cb5ec4e4 |
comparison
equal
deleted
inserted
replaced
3878:661c931f22ad | 3879:a18b34dec94a |
---|---|
62 Uncompressed | Same transfer syntax, or other uncompressed | 62 Uncompressed | Same transfer syntax, or other uncompressed |
63 | 63 |
64 **/ | 64 **/ |
65 | 65 |
66 class DicomAssociation; // Forward declaration for PImpl design pattern | 66 class DicomAssociation; // Forward declaration for PImpl design pattern |
67 class ParsedDicomFile; | |
68 | 67 |
69 class DicomStoreUserConnection : public boost::noncopyable | 68 class DicomStoreUserConnection : public boost::noncopyable |
70 { | 69 { |
71 private: | 70 private: |
72 typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses; | 71 typedef std::map<std::string, std::set<DicomTransferSyntax> > RegisteredClasses; |
73 | 72 |
74 DicomAssociationParameters parameters_; | 73 DicomAssociationParameters parameters_; |
75 boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl | 74 boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl |
76 StorageClasses storageClasses_; | 75 RegisteredClasses registeredClasses_; |
77 bool proposeCommonClasses_; | 76 bool proposeCommonClasses_; |
78 bool proposeUncompressedSyntaxes_; | 77 bool proposeUncompressedSyntaxes_; |
79 bool proposeRetiredBigEndian_; | 78 bool proposeRetiredBigEndian_; |
80 | 79 |
81 // Return "false" if there is not enough room remaining in the association | 80 // Return "false" if there is not enough room remaining in the association |
82 bool ProposeStorageClass(const std::string& sopClassUid, | 81 bool ProposeStorageClass(const std::string& sopClassUid, |
83 const std::set<DicomTransferSyntax>& syntaxes); | 82 const std::set<DicomTransferSyntax>& syntaxes); |
83 | |
84 void LookupParameters(std::string& sopClassUid, | |
85 std::string& sopInstanceUid, | |
86 DicomTransferSyntax& transferSyntax, | |
87 DcmDataset& dataset); | |
88 | |
89 void StoreInternal(std::string& sopClassUid, | |
90 std::string& sopInstanceUid, | |
91 DcmDataset& dataset, | |
92 const std::string& moveOriginatorAET, | |
93 uint16_t moveOriginatorID); | |
84 | 94 |
85 public: | 95 public: |
86 DicomStoreUserConnection(const DicomAssociationParameters& params); | 96 DicomStoreUserConnection(const DicomAssociationParameters& params); |
87 | 97 |
88 const DicomAssociationParameters& GetParameters() const | 98 const DicomAssociationParameters& GetParameters() const |
126 // Should only be used if transcoding | 136 // Should only be used if transcoding |
127 // TODO => to private | 137 // TODO => to private |
128 bool LookupPresentationContext(uint8_t& presentationContextId, | 138 bool LookupPresentationContext(uint8_t& presentationContextId, |
129 const std::string& sopClassUid, | 139 const std::string& sopClassUid, |
130 DicomTransferSyntax transferSyntax); | 140 DicomTransferSyntax transferSyntax); |
131 | 141 |
132 // TODO => to private | 142 // TODO => to private |
133 bool NegotiatePresentationContext(uint8_t& presentationContextId, | 143 bool NegotiatePresentationContext(uint8_t& presentationContextId, |
134 const std::string& sopClassUid, | 144 const std::string& sopClassUid, |
135 DicomTransferSyntax transferSyntax); | 145 DicomTransferSyntax transferSyntax); |
136 | 146 |
137 // TODO => to private | |
138 void LookupParameters(std::string& sopClassUid, | |
139 std::string& sopInstanceUid, | |
140 DicomTransferSyntax& transferSyntax, | |
141 DcmDataset& dataset); | |
142 | |
143 private: | |
144 void Store(std::string& sopClassUid, | |
145 std::string& sopInstanceUid, | |
146 DcmDataset& dataset, | |
147 const std::string& moveOriginatorAET, | |
148 uint16_t moveOriginatorID); | |
149 | |
150 void Store(std::string& sopClassUid, | |
151 std::string& sopInstanceUid, | |
152 ParsedDicomFile& parsed, | |
153 const std::string& moveOriginatorAET, | |
154 uint16_t moveOriginatorID); | |
155 | |
156 public: | |
157 void Store(std::string& sopClassUid, | 147 void Store(std::string& sopClassUid, |
158 std::string& sopInstanceUid, | 148 std::string& sopInstanceUid, |
159 const void* buffer, | 149 const void* buffer, |
160 size_t size, | 150 size_t size, |
161 const std::string& moveOriginatorAET, | 151 const std::string& moveOriginatorAET, |