comparison OrthancServer/ServerContext.cpp @ 3814:023b2a9f3aa1 transcoding

new enum: StoreInstanceMode
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 Apr 2020 17:35:44 +0200
parents aaaa442bfe39
children 5bba4d249422
comparison
equal deleted inserted replaced
3813:aaaa442bfe39 3814:023b2a9f3aa1
338 accessor.Remove(fileUuid, type); 338 accessor.Remove(fileUuid, type);
339 } 339 }
340 340
341 341
342 StoreStatus ServerContext::Store(std::string& resultPublicId, 342 StoreStatus ServerContext::Store(std::string& resultPublicId,
343 DicomInstanceToStore& dicom) 343 DicomInstanceToStore& dicom,
344 { 344 StoreInstanceMode mode)
345 {
346 bool overwrite;
347 switch (mode)
348 {
349 case StoreInstanceMode_Default:
350 overwrite = overwriteInstances_;
351 break;
352
353 case StoreInstanceMode_OverwriteDuplicate:
354 overwrite = true;
355 break;
356
357 case StoreInstanceMode_IgnoreDuplicate:
358 overwrite = false;
359 break;
360
361 default:
362 throw OrthancException(ErrorCode_ParameterOutOfRange);
363 }
364
345 try 365 try
346 { 366 {
347 MetricsRegistry::Timer timer(GetMetricsRegistry(), "orthanc_store_dicom_duration_ms"); 367 MetricsRegistry::Timer timer(GetMetricsRegistry(), "orthanc_store_dicom_duration_ms");
348 StorageAccessor accessor(area_, GetMetricsRegistry()); 368 StorageAccessor accessor(area_, GetMetricsRegistry());
349 369
404 attachments.push_back(jsonInfo); 424 attachments.push_back(jsonInfo);
405 425
406 typedef std::map<MetadataType, std::string> InstanceMetadata; 426 typedef std::map<MetadataType, std::string> InstanceMetadata;
407 InstanceMetadata instanceMetadata; 427 InstanceMetadata instanceMetadata;
408 StoreStatus status = index_.Store( 428 StoreStatus status = index_.Store(
409 instanceMetadata, dicom, attachments, overwriteInstances_); 429 instanceMetadata, dicom, attachments, overwrite);
410 430
411 // Only keep the metadata for the "instance" level 431 // Only keep the metadata for the "instance" level
412 dicom.GetMetadata().clear(); 432 dicom.GetMetadata().clear();
413 433
414 for (InstanceMetadata::const_iterator it = instanceMetadata.begin(); 434 for (InstanceMetadata::const_iterator it = instanceMetadata.begin();