Mercurial > hg > orthanc
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 } |