Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 2222:21713ce8717b
Fix handling of Move Originator AET and ID in C-MOVE SCP
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 13 Dec 2016 14:34:33 +0100 |
parents | f8d4543e3fef |
children | a3a65de1840f |
comparison
equal
deleted
inserted
replaced
2221:e7beca979562 | 2222:21713ce8717b |
---|---|
684 } | 684 } |
685 | 685 |
686 std::string localAet = Toolbox::GetJsonStringField(request, "LocalAet", context.GetDefaultLocalApplicationEntityTitle()); | 686 std::string localAet = Toolbox::GetJsonStringField(request, "LocalAet", context.GetDefaultLocalApplicationEntityTitle()); |
687 bool permissive = Toolbox::GetJsonBooleanField(request, "Permissive", false); | 687 bool permissive = Toolbox::GetJsonBooleanField(request, "Permissive", false); |
688 bool asynchronous = Toolbox::GetJsonBooleanField(request, "Asynchronous", false); | 688 bool asynchronous = Toolbox::GetJsonBooleanField(request, "Asynchronous", false); |
689 std::string moveOriginatorAET = Toolbox::GetJsonStringField(request, "MoveOriginatorAet", context.GetDefaultLocalApplicationEntityTitle()); | |
689 int moveOriginatorID = Toolbox::GetJsonIntegerField(request, "MoveOriginatorID", 0 /* By default, not a C-MOVE */); | 690 int moveOriginatorID = Toolbox::GetJsonIntegerField(request, "MoveOriginatorID", 0 /* By default, not a C-MOVE */); |
690 | 691 |
691 if (moveOriginatorID < 0 || | 692 if (moveOriginatorID < 0 || |
692 moveOriginatorID >= 65536) | 693 moveOriginatorID >= 65536) |
693 { | 694 { |
698 | 699 |
699 ServerJob job; | 700 ServerJob job; |
700 for (std::list<std::string>::const_iterator | 701 for (std::list<std::string>::const_iterator |
701 it = instances.begin(); it != instances.end(); ++it) | 702 it = instances.begin(); it != instances.end(); ++it) |
702 { | 703 { |
703 job.AddCommand(new StoreScuCommand(context, localAet, p, permissive, | 704 std::auto_ptr<StoreScuCommand> command(new StoreScuCommand(context, localAet, p, permissive)); |
704 static_cast<uint16_t>(moveOriginatorID))).AddInput(*it); | 705 |
706 if (moveOriginatorID != 0) | |
707 { | |
708 command->SetMoveOriginator(moveOriginatorAET, static_cast<uint16_t>(moveOriginatorID)); | |
709 } | |
710 | |
711 job.AddCommand(command.release()).AddInput(*it); | |
705 } | 712 } |
706 | 713 |
707 job.SetDescription("HTTP request: Store-SCU to peer \"" + remote + "\""); | 714 job.SetDescription("HTTP request: Store-SCU to peer \"" + remote + "\""); |
708 | 715 |
709 if (asynchronous) | 716 if (asynchronous) |