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,