Mercurial > hg > orthanc
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()) |