Mercurial > hg > orthanc
diff Core/DicomNetworking/DicomStoreUserConnection.h @ 3880:cdd0cb5ec4e4 transcoding
DicomStoreUserConnection::LookupTranscoding()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 May 2020 22:10:55 +0200 |
parents | a18b34dec94a |
children | f23ab7829a8d |
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomStoreUserConnection.h Mon May 04 19:17:07 2020 +0200 +++ b/Core/DicomNetworking/DicomStoreUserConnection.h Mon May 04 22:10:55 2020 +0200 @@ -69,10 +69,15 @@ { private: typedef std::map<std::string, std::set<DicomTransferSyntax> > RegisteredClasses; + + // "ProposedOriginalClasses" keeps track of the storage classes + // that were proposed with a single transfer syntax + typedef std::set< std::pair<std::string, DicomTransferSyntax> > ProposedOriginalClasses; DicomAssociationParameters parameters_; boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl RegisteredClasses registeredClasses_; + ProposedOriginalClasses proposedOriginalClasses_; bool proposeCommonClasses_; bool proposeUncompressedSyntaxes_; bool proposeRetiredBigEndian_; @@ -86,6 +91,14 @@ DicomTransferSyntax& transferSyntax, DcmDataset& dataset); + bool LookupPresentationContext(uint8_t& presentationContextId, + const std::string& sopClassUid, + DicomTransferSyntax transferSyntax); + + bool NegotiatePresentationContext(uint8_t& presentationContextId, + const std::string& sopClassUid, + DicomTransferSyntax transferSyntax); + void StoreInternal(std::string& sopClassUid, std::string& sopInstanceUid, DcmDataset& dataset, @@ -133,17 +146,6 @@ void RegisterStorageClass(const std::string& sopClassUid, DicomTransferSyntax syntax); - // Should only be used if transcoding - // TODO => to private - bool LookupPresentationContext(uint8_t& presentationContextId, - const std::string& sopClassUid, - DicomTransferSyntax transferSyntax); - - // TODO => to private - bool NegotiatePresentationContext(uint8_t& presentationContextId, - const std::string& sopClassUid, - DicomTransferSyntax transferSyntax); - void Store(std::string& sopClassUid, std::string& sopInstanceUid, const void* buffer, @@ -158,5 +160,9 @@ { Store(sopClassUid, sopInstanceUid, buffer, size, "", 0); // Not a C-Move } + + bool LookupTranscoding(std::set<DicomTransferSyntax>& acceptedSyntaxes, + const std::string& sopClassUid, + DicomTransferSyntax sourceSyntax); }; }