comparison OrthancServer/DicomProtocol/DicomFindAnswers.cpp @ 2202:9b373b7d6713

Fix handling of encodings in C-FIND requests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 08 Dec 2016 12:45:06 +0100
parents 9329ba17a069
children 6dc3bdb4088b
comparison
equal deleted inserted replaced
2201:307365d0991a 2202:9b373b7d6713
107 dicom_ = new ParsedDicomFile(*map_); 107 dicom_ = new ParsedDicomFile(*map_);
108 } 108 }
109 109
110 return *dicom_; 110 return *dicom_;
111 } 111 }
112
113 DcmDataset* ExtractDcmDataset() const
114 {
115 if (dicom_ != NULL)
116 {
117 return new DcmDataset(*dicom_->GetDcmtkObject().getDataset());
118 }
119 else
120 {
121 assert(map_ != NULL);
122 return ToDcmtkBridge::Convert(*map_);
123 }
124 }
125 }; 112 };
126 113
127 114
128 void DicomFindAnswers::SetWorklist(bool isWorklist) 115 void DicomFindAnswers::SetWorklist(bool isWorklist)
129 { 116 {
198 } 185 }
199 186
200 187
201 DcmDataset* DicomFindAnswers::ExtractDcmDataset(size_t index) const 188 DcmDataset* DicomFindAnswers::ExtractDcmDataset(size_t index) const
202 { 189 {
203 return GetAnswerInternal(index).ExtractDcmDataset(); 190 return new DcmDataset(*GetAnswer(index).GetDcmtkObject().getDataset());
204 } 191 }
205 192
206 193
207 void DicomFindAnswers::ToJson(Json::Value& target, 194 void DicomFindAnswers::ToJson(Json::Value& target,
208 size_t index, 195 size_t index,