Mercurial > hg > orthanc
comparison Core/DicomNetworking/DicomStoreUserConnection.h @ 3831:83ea6939293d
starting DicomStoreUserConnection::Store()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 10 Apr 2020 17:56:12 +0200 |
parents | e82bd07c384e |
children | 5bba4d249422 |
comparison
equal
deleted
inserted
replaced
3830:447880856ce8 | 3831:83ea6939293d |
---|---|
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 |
85 // Should only be used if transcoding | |
82 bool LookupPresentationContext(uint8_t& presentationContextId, | 86 bool LookupPresentationContext(uint8_t& presentationContextId, |
83 const std::string& sopClassUid, | 87 const std::string& sopClassUid, |
84 DicomTransferSyntax transferSyntax); | 88 DicomTransferSyntax transferSyntax); |
85 | 89 |
86 public: | 90 public: |
87 DicomStoreUserConnection(const DicomAssociationParameters& params); | 91 DicomStoreUserConnection(const DicomAssociationParameters& params); |
88 | 92 |
89 const DicomAssociationParameters& GetParameters() const | 93 const DicomAssociationParameters& GetParameters() const |
90 { | 94 { |
122 } | 126 } |
123 | 127 |
124 void PrepareStorageClass(const std::string& sopClassUid, | 128 void PrepareStorageClass(const std::string& sopClassUid, |
125 DicomTransferSyntax syntax); | 129 DicomTransferSyntax syntax); |
126 | 130 |
131 // TODO => to private | |
127 bool NegotiatePresentationContext(uint8_t& presentationContextId, | 132 bool NegotiatePresentationContext(uint8_t& presentationContextId, |
128 const std::string& sopClassUid, | 133 const std::string& sopClassUid, |
129 DicomTransferSyntax transferSyntax); | 134 DicomTransferSyntax transferSyntax); |
135 | |
136 void Store(std::string& sopClassUid, | |
137 std::string& sopInstanceUid, | |
138 DcmDataset& dataset, | |
139 const std::string& moveOriginatorAET, | |
140 uint16_t moveOriginatorID); | |
141 | |
142 void Store(std::string& sopClassUid, | |
143 std::string& sopInstanceUid, | |
144 ParsedDicomFile& parsed, | |
145 const std::string& moveOriginatorAET, | |
146 uint16_t moveOriginatorID); | |
147 | |
148 void Store(std::string& sopClassUid, | |
149 std::string& sopInstanceUid, | |
150 const void* buffer, | |
151 size_t size, | |
152 const std::string& moveOriginatorAET, | |
153 uint16_t moveOriginatorID); | |
130 }; | 154 }; |
131 } | 155 } |