comparison OrthancFramework/Sources/DicomNetworking/Internals/CommandDispatcher.cpp @ 4888:8523078f3f4b

added new configuration to authorize C-Find for worklist independently from other C-Find
author Alain Mazy <am@osimis.io>
date Fri, 18 Feb 2022 15:45:28 +0100
parents 43e613a7756b
children 45d6ce72a84e
comparison
equal deleted inserted replaced
4887:a29a6bdba9dd 4888:8523078f3f4b
786 request = DicomRequestType_Get; 786 request = DicomRequestType_Get;
787 supported = true; 787 supported = true;
788 break; 788 break;
789 789
790 case DIMSE_C_FIND_RQ: 790 case DIMSE_C_FIND_RQ:
791 request = DicomRequestType_Find; 791 {
792 supported = true; 792 std::string sopClassUid(msg.msg.CFindRQ.AffectedSOPClassUID);
793 break; 793 if (sopClassUid == UID_FINDModalityWorklistInformationModel)
794 794 {
795 request = DicomRequestType_FindWorklist;
796 }
797 else
798 {
799 request = DicomRequestType_Find;
800 }
801 supported = true;
802 }; break;
795 case DIMSE_N_ACTION_RQ: 803 case DIMSE_N_ACTION_RQ:
796 request = DicomRequestType_NAction; 804 request = DicomRequestType_NAction;
797 supported = true; 805 supported = true;
798 break; 806 break;
799 807
873 } 881 }
874 } 882 }
875 break; 883 break;
876 884
877 case DicomRequestType_Find: 885 case DicomRequestType_Find:
886 case DicomRequestType_FindWorklist:
878 if (server_.HasFindRequestHandlerFactory() || // Should always be true 887 if (server_.HasFindRequestHandlerFactory() || // Should always be true
879 server_.HasWorklistRequestHandlerFactory()) 888 server_.HasWorklistRequestHandlerFactory())
880 { 889 {
881 std::unique_ptr<IFindRequestHandler> findHandler; 890 std::unique_ptr<IFindRequestHandler> findHandler;
882 if (server_.HasFindRequestHandlerFactory()) 891 if (server_.HasFindRequestHandlerFactory())