comparison OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp @ 4899:3ab57510f6dd proto-filter-instance-returning-error-code

integration mainline->proto-filter-instance-returning-error-code
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 20 Feb 2022 12:59:30 +0100
parents 8523078f3f4b
children 45d6ce72a84e
comparison
equal deleted inserted replaced
4791:656784ac6759 4899:3ab57510f6dd
1 /** 1 /**
2 * Orthanc - A Lightweight, RESTful DICOM Store 2 * Orthanc - A Lightweight, RESTful DICOM Store
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics 3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
4 * Department, University Hospital of Liege, Belgium 4 * Department, University Hospital of Liege, Belgium
5 * Copyright (C) 2017-2021 Osimis S.A., Belgium 5 * Copyright (C) 2017-2022 Osimis S.A., Belgium
6 * Copyright (C) 2021-2022 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
6 * 7 *
7 * This program is free software: you can redistribute it and/or 8 * This program is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License 9 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation, either version 3 of 10 * as published by the Free Software Foundation, either version 3 of
10 * the License, or (at your option) any later version. 11 * the License, or (at your option) any later version.
785 request = DicomRequestType_Get; 786 request = DicomRequestType_Get;
786 supported = true; 787 supported = true;
787 break; 788 break;
788 789
789 case DIMSE_C_FIND_RQ: 790 case DIMSE_C_FIND_RQ:
790 request = DicomRequestType_Find; 791 {
791 supported = true; 792 std::string sopClassUid(msg.msg.CFindRQ.AffectedSOPClassUID);
792 break; 793 if (sopClassUid == UID_FINDModalityWorklistInformationModel)
793 794 {
795 request = DicomRequestType_FindWorklist;
796 }
797 else
798 {
799 request = DicomRequestType_Find;
800 }
801 supported = true;
802 }; break;
794 case DIMSE_N_ACTION_RQ: 803 case DIMSE_N_ACTION_RQ:
795 request = DicomRequestType_NAction; 804 request = DicomRequestType_NAction;
796 supported = true; 805 supported = true;
797 break; 806 break;
798 807
872 } 881 }
873 } 882 }
874 break; 883 break;
875 884
876 case DicomRequestType_Find: 885 case DicomRequestType_Find:
886 case DicomRequestType_FindWorklist:
877 if (server_.HasFindRequestHandlerFactory() || // Should always be true 887 if (server_.HasFindRequestHandlerFactory() || // Should always be true
878 server_.HasWorklistRequestHandlerFactory()) 888 server_.HasWorklistRequestHandlerFactory())
879 { 889 {
880 std::unique_ptr<IFindRequestHandler> findHandler; 890 std::unique_ptr<IFindRequestHandler> findHandler;
881 if (server_.HasFindRequestHandlerFactory()) 891 if (server_.HasFindRequestHandlerFactory())