Mercurial > hg > orthanc
comparison OrthancFramework/Sources/DicomNetworking/DicomStoreUserConnection.h @ 4465:fe774d8e904b
New configuration option: "DicomScuPreferredTransferSyntax" to control transcoding in C-STORE SCU
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 21 Jan 2021 17:08:32 +0100 |
parents | d9473bd5ed43 |
children | 2243f1bb909b |
comparison
equal
deleted
inserted
replaced
4464:e8c7be7a02a9 | 4465:fe774d8e904b |
---|---|
68 typedef std::map<std::string, std::set<DicomTransferSyntax> > RegisteredClasses; | 68 typedef std::map<std::string, std::set<DicomTransferSyntax> > RegisteredClasses; |
69 | 69 |
70 // "ProposedOriginalClasses" keeps track of the storage classes | 70 // "ProposedOriginalClasses" keeps track of the storage classes |
71 // that were proposed with a single transfer syntax | 71 // that were proposed with a single transfer syntax |
72 typedef std::set< std::pair<std::string, DicomTransferSyntax> > ProposedOriginalClasses; | 72 typedef std::set< std::pair<std::string, DicomTransferSyntax> > ProposedOriginalClasses; |
73 | 73 |
74 DicomAssociationParameters parameters_; | 74 DicomAssociationParameters parameters_; |
75 boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl | 75 boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl |
76 RegisteredClasses registeredClasses_; | 76 RegisteredClasses registeredClasses_; |
77 ProposedOriginalClasses proposedOriginalClasses_; | 77 ProposedOriginalClasses proposedOriginalClasses_; |
78 bool proposeCommonClasses_; | 78 bool proposeCommonClasses_; |
79 bool proposeUncompressedSyntaxes_; | 79 bool proposeUncompressedSyntaxes_; |
80 bool proposeRetiredBigEndian_; | 80 bool proposeRetiredBigEndian_; |
81 | 81 |
82 // Return "false" if there is not enough room remaining in the association | 82 // Return "false" if there is not enough room remaining in the association |
83 bool ProposeStorageClass(const std::string& sopClassUid, | 83 bool ProposeStorageClass(const std::string& sopClassUid, |
84 const std::set<DicomTransferSyntax>& syntaxes); | 84 const std::set<DicomTransferSyntax>& sourceSyntaxes, |
85 bool hasPreferred, | |
86 DicomTransferSyntax preferred); | |
85 | 87 |
86 bool LookupPresentationContext(uint8_t& presentationContextId, | 88 bool LookupPresentationContext(uint8_t& presentationContextId, |
87 const std::string& sopClassUid, | 89 const std::string& sopClassUid, |
88 DicomTransferSyntax transferSyntax); | 90 DicomTransferSyntax transferSyntax); |
89 | 91 |
90 bool NegotiatePresentationContext(uint8_t& presentationContextId, | 92 bool NegotiatePresentationContext(uint8_t& presentationContextId, |
91 const std::string& sopClassUid, | 93 const std::string& sopClassUid, |
92 DicomTransferSyntax transferSyntax); | 94 DicomTransferSyntax transferSyntax, |
95 bool hasPreferred, | |
96 DicomTransferSyntax preferred); | |
93 | 97 |
94 void LookupTranscoding(std::set<DicomTransferSyntax>& acceptedSyntaxes, | 98 void LookupTranscoding(std::set<DicomTransferSyntax>& acceptedSyntaxes, |
95 const std::string& sopClassUid, | 99 const std::string& sopClassUid, |
96 DicomTransferSyntax sourceSyntax); | 100 DicomTransferSyntax sourceSyntax, |
101 bool hasPreferred, | |
102 DicomTransferSyntax preferred); | |
97 | 103 |
98 public: | 104 public: |
99 explicit DicomStoreUserConnection(const DicomAssociationParameters& params); | 105 explicit DicomStoreUserConnection(const DicomAssociationParameters& params); |
100 | 106 |
101 const DicomAssociationParameters& GetParameters() const; | 107 const DicomAssociationParameters& GetParameters() const; |
138 void Transcode(std::string& sopClassUid /* out */, | 144 void Transcode(std::string& sopClassUid /* out */, |
139 std::string& sopInstanceUid /* out */, | 145 std::string& sopInstanceUid /* out */, |
140 IDicomTranscoder& transcoder, | 146 IDicomTranscoder& transcoder, |
141 const void* buffer, | 147 const void* buffer, |
142 size_t size, | 148 size_t size, |
149 DicomTransferSyntax preferredTransferSyntax, | |
143 bool hasMoveOriginator, | 150 bool hasMoveOriginator, |
144 const std::string& moveOriginatorAET, | 151 const std::string& moveOriginatorAET, |
145 uint16_t moveOriginatorID); | 152 uint16_t moveOriginatorID); |
146 }; | 153 }; |
147 } | 154 } |