Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp @ 3712:2a170a8f1faf
replacing std::auto_ptr by std::unique_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Mar 2020 15:32:45 +0100 |
parents | 1f4910999fe7 |
children | 023b2a9f3aa1 |
comparison
equal
deleted
inserted
replaced
3709:1f4910999fe7 | 3712:2a170a8f1faf |
---|---|
114 static void AnonymizeOrModifyInstance(DicomModification& modification, | 114 static void AnonymizeOrModifyInstance(DicomModification& modification, |
115 RestApiPostCall& call) | 115 RestApiPostCall& call) |
116 { | 116 { |
117 std::string id = call.GetUriComponent("id", ""); | 117 std::string id = call.GetUriComponent("id", ""); |
118 | 118 |
119 std::auto_ptr<ParsedDicomFile> modified; | 119 std::unique_ptr<ParsedDicomFile> modified; |
120 | 120 |
121 { | 121 { |
122 ServerContext::DicomCacheLocker locker(OrthancRestApi::GetContext(call), id); | 122 ServerContext::DicomCacheLocker locker(OrthancRestApi::GetContext(call), id); |
123 modified.reset(locker.GetDicom().Clone(true)); | 123 modified.reset(locker.GetDicom().Clone(true)); |
124 } | 124 } |
167 | 167 |
168 AnonymizeOrModifyInstance(modification, call); | 168 AnonymizeOrModifyInstance(modification, call); |
169 } | 169 } |
170 | 170 |
171 | 171 |
172 static void SubmitModificationJob(std::auto_ptr<DicomModification>& modification, | 172 static void SubmitModificationJob(std::unique_ptr<DicomModification>& modification, |
173 bool isAnonymization, | 173 bool isAnonymization, |
174 RestApiPostCall& call, | 174 RestApiPostCall& call, |
175 const Json::Value& body, | 175 const Json::Value& body, |
176 ResourceType level) | 176 ResourceType level) |
177 { | 177 { |
178 ServerContext& context = OrthancRestApi::GetContext(call); | 178 ServerContext& context = OrthancRestApi::GetContext(call); |
179 | 179 |
180 std::auto_ptr<ResourceModificationJob> job(new ResourceModificationJob(context)); | 180 std::unique_ptr<ResourceModificationJob> job(new ResourceModificationJob(context)); |
181 | 181 |
182 job->SetModification(modification.release(), level, isAnonymization); | 182 job->SetModification(modification.release(), level, isAnonymization); |
183 job->SetOrigin(call); | 183 job->SetOrigin(call); |
184 | 184 |
185 context.AddChildInstances(*job, call.GetUriComponent("id", "")); | 185 context.AddChildInstances(*job, call.GetUriComponent("id", "")); |
190 | 190 |
191 | 191 |
192 template <enum ResourceType resourceType> | 192 template <enum ResourceType resourceType> |
193 static void ModifyResource(RestApiPostCall& call) | 193 static void ModifyResource(RestApiPostCall& call) |
194 { | 194 { |
195 std::auto_ptr<DicomModification> modification(new DicomModification); | 195 std::unique_ptr<DicomModification> modification(new DicomModification); |
196 | 196 |
197 Json::Value body; | 197 Json::Value body; |
198 ParseModifyRequest(body, *modification, call); | 198 ParseModifyRequest(body, *modification, call); |
199 | 199 |
200 modification->SetLevel(resourceType); | 200 modification->SetLevel(resourceType); |
205 | 205 |
206 | 206 |
207 template <enum ResourceType resourceType> | 207 template <enum ResourceType resourceType> |
208 static void AnonymizeResource(RestApiPostCall& call) | 208 static void AnonymizeResource(RestApiPostCall& call) |
209 { | 209 { |
210 std::auto_ptr<DicomModification> modification(new DicomModification); | 210 std::unique_ptr<DicomModification> modification(new DicomModification); |
211 | 211 |
212 Json::Value body; | 212 Json::Value body; |
213 ParseAnonymizationRequest(body, *modification, call); | 213 ParseAnonymizationRequest(body, *modification, call); |
214 | 214 |
215 SubmitModificationJob(modification, true /* anonymization */, | 215 SubmitModificationJob(modification, true /* anonymization */, |
341 | 341 |
342 try | 342 try |
343 { | 343 { |
344 for (Json::ArrayIndex i = 0; i < content.size(); i++) | 344 for (Json::ArrayIndex i = 0; i < content.size(); i++) |
345 { | 345 { |
346 std::auto_ptr<ParsedDicomFile> dicom(base.Clone(false)); | 346 std::unique_ptr<ParsedDicomFile> dicom(base.Clone(false)); |
347 const Json::Value* payload = NULL; | 347 const Json::Value* payload = NULL; |
348 | 348 |
349 if (content[i].type() == Json::stringValue) | 349 if (content[i].type() == Json::stringValue) |
350 { | 350 { |
351 payload = &content[i]; | 351 payload = &content[i]; |
666 throw OrthancException(ErrorCode_BadFileFormat); | 666 throw OrthancException(ErrorCode_BadFileFormat); |
667 } | 667 } |
668 | 668 |
669 const std::string study = call.GetUriComponent("id", ""); | 669 const std::string study = call.GetUriComponent("id", ""); |
670 | 670 |
671 std::auto_ptr<SplitStudyJob> job(new SplitStudyJob(context, study)); | 671 std::unique_ptr<SplitStudyJob> job(new SplitStudyJob(context, study)); |
672 job->SetOrigin(call); | 672 job->SetOrigin(call); |
673 | 673 |
674 std::vector<std::string> series; | 674 std::vector<std::string> series; |
675 SerializationToolbox::ReadArrayOfStrings(series, request, "Series"); | 675 SerializationToolbox::ReadArrayOfStrings(series, request, "Series"); |
676 | 676 |
749 throw OrthancException(ErrorCode_BadFileFormat); | 749 throw OrthancException(ErrorCode_BadFileFormat); |
750 } | 750 } |
751 | 751 |
752 const std::string study = call.GetUriComponent("id", ""); | 752 const std::string study = call.GetUriComponent("id", ""); |
753 | 753 |
754 std::auto_ptr<MergeStudyJob> job(new MergeStudyJob(context, study)); | 754 std::unique_ptr<MergeStudyJob> job(new MergeStudyJob(context, study)); |
755 job->SetOrigin(call); | 755 job->SetOrigin(call); |
756 | 756 |
757 std::vector<std::string> resources; | 757 std::vector<std::string> resources; |
758 SerializationToolbox::ReadArrayOfStrings(resources, request, "Resources"); | 758 SerializationToolbox::ReadArrayOfStrings(resources, request, "Resources"); |
759 | 759 |