Mercurial > hg > orthanc
diff Core/DicomNetworking/DicomStoreUserConnection.h @ 3862:594263db316a transcoding
DicomModalityStoreJob now uses DicomStoreUserConnection
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 27 Apr 2020 17:28:55 +0200 |
parents | 5bba4d249422 |
children | d5be23fc0106 |
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomStoreUserConnection.h Mon Apr 27 15:56:20 2020 +0200 +++ b/Core/DicomNetworking/DicomStoreUserConnection.h Mon Apr 27 17:28:55 2020 +0200 @@ -72,17 +72,22 @@ typedef std::map<std::string, std::set<DicomTransferSyntax> > StorageClasses; DicomAssociationParameters parameters_; - boost::shared_ptr<DicomAssociation> association_; + boost::shared_ptr<DicomAssociation> association_; // "shared_ptr" is for PImpl StorageClasses storageClasses_; bool proposeCommonClasses_; bool proposeUncompressedSyntaxes_; bool proposeRetiredBigEndian_; + void Setup(); + // Return "false" if there is not enough room remaining in the association bool ProposeStorageClass(const std::string& sopClassUid, const std::set<DicomTransferSyntax>& syntaxes); public: + DicomStoreUserConnection(const std::string& localAet, + const RemoteModalityParameters& remote); + DicomStoreUserConnection(const DicomAssociationParameters& params); const DicomAssociationParameters& GetParameters() const @@ -134,6 +139,13 @@ const std::string& sopClassUid, DicomTransferSyntax transferSyntax); + // TODO => to private + void LookupParameters(std::string& sopClassUid, + std::string& sopInstanceUid, + DicomTransferSyntax& transferSyntax, + DcmDataset& dataset); + + private: void Store(std::string& sopClassUid, std::string& sopInstanceUid, DcmDataset& dataset, @@ -146,11 +158,20 @@ const std::string& moveOriginatorAET, uint16_t moveOriginatorID); + public: void Store(std::string& sopClassUid, std::string& sopInstanceUid, const void* buffer, size_t size, const std::string& moveOriginatorAET, uint16_t moveOriginatorID); + + void Store(std::string& sopClassUid, + std::string& sopInstanceUid, + const void* buffer, + size_t size) + { + Store(sopClassUid, sopInstanceUid, buffer, size, "", 0); // Not a C-Move + } }; }