comparison Core/DicomNetworking/DicomStoreUserConnection.h @ 3839:5bba4d249422 transcoding

integration mainline->transcoding
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 15 Apr 2020 22:03:21 +0200
parents 638906dcfe32 83ea6939293d
children 594263db316a
comparison
equal deleted inserted replaced
3829:4fde7933e504 3839:5bba4d249422
39 #include <boost/noncopyable.hpp> 39 #include <boost/noncopyable.hpp>
40 #include <set> 40 #include <set>
41 #include <stdint.h> // For uint8_t 41 #include <stdint.h> // For uint8_t
42 42
43 43
44 class DcmDataset;
45
44 namespace Orthanc 46 namespace Orthanc
45 { 47 {
46 /** 48 /**
47 49
48 Orthanc < 1.7.0: 50 Orthanc < 1.7.0:
60 Uncompressed | Same transfer syntax, or other uncompressed 62 Uncompressed | Same transfer syntax, or other uncompressed
61 63
62 **/ 64 **/
63 65
64 class DicomAssociation; // Forward declaration for PImpl design pattern 66 class DicomAssociation; // Forward declaration for PImpl design pattern
67 class ParsedDicomFile;
65 68
66 class DicomStoreUserConnection : public boost::noncopyable 69 class DicomStoreUserConnection : public boost::noncopyable
67 { 70 {
68 private: 71 private:
69 typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses; 72 typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses;
76 bool proposeRetiredBigEndian_; 79 bool proposeRetiredBigEndian_;
77 80
78 // Return "false" if there is not enough room remaining in the association 81 // Return "false" if there is not enough room remaining in the association
79 bool ProposeStorageClass(const std::string& sopClassUid, 82 bool ProposeStorageClass(const std::string& sopClassUid,
80 const std::set<DicomTransferSyntax>& syntaxes); 83 const std::set<DicomTransferSyntax>& syntaxes);
81 84
82 public: 85 public:
83 DicomStoreUserConnection(const DicomAssociationParameters& params); 86 DicomStoreUserConnection(const DicomAssociationParameters& params);
84 87
85 const DicomAssociationParameters& GetParameters() const 88 const DicomAssociationParameters& GetParameters() const
86 { 89 {
118 } 121 }
119 122
120 void PrepareStorageClass(const std::string& sopClassUid, 123 void PrepareStorageClass(const std::string& sopClassUid,
121 DicomTransferSyntax syntax); 124 DicomTransferSyntax syntax);
122 125
126 // Should only be used if transcoding
127 // TODO => to private
123 bool LookupPresentationContext(uint8_t& presentationContextId, 128 bool LookupPresentationContext(uint8_t& presentationContextId,
124 const std::string& sopClassUid, 129 const std::string& sopClassUid,
125 DicomTransferSyntax transferSyntax); 130 DicomTransferSyntax transferSyntax);
126 131
132 // TODO => to private
127 bool NegotiatePresentationContext(uint8_t& presentationContextId, 133 bool NegotiatePresentationContext(uint8_t& presentationContextId,
128 const std::string& sopClassUid, 134 const std::string& sopClassUid,
129 DicomTransferSyntax transferSyntax); 135 DicomTransferSyntax transferSyntax);
136
137 void Store(std::string& sopClassUid,
138 std::string& sopInstanceUid,
139 DcmDataset& dataset,
140 const std::string& moveOriginatorAET,
141 uint16_t moveOriginatorID);
142
143 void Store(std::string& sopClassUid,
144 std::string& sopInstanceUid,
145 ParsedDicomFile& parsed,
146 const std::string& moveOriginatorAET,
147 uint16_t moveOriginatorID);
148
149 void Store(std::string& sopClassUid,
150 std::string& sopInstanceUid,
151 const void* buffer,
152 size_t size,
153 const std::string& moveOriginatorAET,
154 uint16_t moveOriginatorID);
130 }; 155 };
131 } 156 }