comparison OrthancServer/ServerEnumerations.cpp @ 2382:7284093111b0

big reorganization to cleanly separate framework vs. server
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 29 Aug 2017 21:17:35 +0200
parents 415450f11cc7
children 878b59270859
comparison
equal deleted inserted replaced
2381:b8969010b534 2382:7284093111b0
315 default: 315 default:
316 throw OrthancException(ErrorCode_ParameterOutOfRange); 316 throw OrthancException(ErrorCode_ParameterOutOfRange);
317 } 317 }
318 } 318 }
319 319
320
321 const char* EnumerationToString(ModalityManufacturer manufacturer)
322 {
323 switch (manufacturer)
324 {
325 case ModalityManufacturer_Generic:
326 return "Generic";
327
328 case ModalityManufacturer_GenericNoWildcardInDates:
329 return "GenericNoWildcardInDates";
330
331 case ModalityManufacturer_GenericNoUniversalWildcard:
332 return "GenericNoUniversalWildcard";
333
334 case ModalityManufacturer_StoreScp:
335 return "StoreScp";
336
337 case ModalityManufacturer_ClearCanvas:
338 return "ClearCanvas";
339
340 case ModalityManufacturer_Dcm4Chee:
341 return "Dcm4Chee";
342
343 case ModalityManufacturer_Vitrea:
344 return "Vitrea";
345
346 default:
347 throw OrthancException(ErrorCode_ParameterOutOfRange);
348 }
349 }
350
351
352 const char* EnumerationToString(DicomRequestType type)
353 {
354 switch (type)
355 {
356 case DicomRequestType_Echo:
357 return "Echo";
358 break;
359
360 case DicomRequestType_Find:
361 return "Find";
362 break;
363
364 case DicomRequestType_Get:
365 return "Get";
366 break;
367
368 case DicomRequestType_Move:
369 return "Move";
370 break;
371
372 case DicomRequestType_Store:
373 return "Store";
374 break;
375
376 default:
377 throw OrthancException(ErrorCode_ParameterOutOfRange);
378 }
379 }
380
381
382
383 ModalityManufacturer StringToModalityManufacturer(const std::string& manufacturer)
384 {
385 ModalityManufacturer result;
386 bool obsolete = false;
387
388 if (manufacturer == "Generic")
389 {
390 return ModalityManufacturer_Generic;
391 }
392 else if (manufacturer == "GenericNoWildcardInDates")
393 {
394 return ModalityManufacturer_GenericNoWildcardInDates;
395 }
396 else if (manufacturer == "GenericNoUniversalWildcard")
397 {
398 return ModalityManufacturer_GenericNoUniversalWildcard;
399 }
400 else if (manufacturer == "ClearCanvas")
401 {
402 return ModalityManufacturer_ClearCanvas;
403 }
404 else if (manufacturer == "StoreScp")
405 {
406 return ModalityManufacturer_StoreScp;
407 }
408 else if (manufacturer == "Dcm4Chee")
409 {
410 return ModalityManufacturer_Dcm4Chee;
411 }
412 else if (manufacturer == "Vitrea")
413 {
414 return ModalityManufacturer_Vitrea;
415 }
416 else if (manufacturer == "AgfaImpax" ||
417 manufacturer == "SyngoVia")
418 {
419 result = ModalityManufacturer_GenericNoWildcardInDates;
420 obsolete = true;
421 }
422 else if (manufacturer == "EFilm2" ||
423 manufacturer == "MedInria")
424 {
425 result = ModalityManufacturer_Generic;
426 obsolete = true;
427 }
428 else
429 {
430 throw OrthancException(ErrorCode_ParameterOutOfRange);
431 }
432
433 if (obsolete)
434 {
435 LOG(WARNING) << "The \"" << manufacturer << "\" manufacturer is obsolete since "
436 << "Orthanc 1.3.0. To guarantee compatibility with future Orthanc "
437 << "releases, you should replace it by \""
438 << EnumerationToString(result)
439 << "\" in your configuration file.";
440 }
441
442 return result;
443 }
444
445
446 const char* EnumerationToString(TransferSyntax syntax)
447 {
448 switch (syntax)
449 {
450 case TransferSyntax_Deflated:
451 return "Deflated";
452
453 case TransferSyntax_Jpeg:
454 return "JPEG";
455
456 case TransferSyntax_Jpeg2000:
457 return "JPEG2000";
458
459 case TransferSyntax_JpegLossless:
460 return "JPEG Lossless";
461
462 case TransferSyntax_Jpip:
463 return "JPIP";
464
465 case TransferSyntax_Mpeg2:
466 return "MPEG2";
467
468 case TransferSyntax_Rle:
469 return "RLE";
470
471 default:
472 throw OrthancException(ErrorCode_ParameterOutOfRange);
473 }
474 }
475
476
477 const char* EnumerationToString(DicomVersion version)
478 {
479 switch (version)
480 {
481 case DicomVersion_2008:
482 return "2008";
483 break;
484
485 case DicomVersion_2017c:
486 return "2017c";
487 break;
488
489 default:
490 throw OrthancException(ErrorCode_ParameterOutOfRange);
491 }
492 }
493
494
495 DicomVersion StringToDicomVersion(const std::string& version)
496 {
497 if (version == "2008")
498 {
499 return DicomVersion_2008;
500 }
501 else if (version == "2017c")
502 {
503 return DicomVersion_2017c;
504 }
505 else
506 {
507 throw OrthancException(ErrorCode_ParameterOutOfRange);
508 }
509 }
510
511 320
512 bool IsUserMetadata(MetadataType metadata) 321 bool IsUserMetadata(MetadataType metadata)
513 { 322 {
514 return (metadata >= MetadataType_StartUser && 323 return (metadata >= MetadataType_StartUser &&
515 metadata <= MetadataType_EndUser); 324 metadata <= MetadataType_EndUser);