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