Mercurial > hg > orthanc
diff OrthancServer/OrthancFindRequestHandler.cpp @ 2827:d4fd4614f275
IncomingWorklistRequestFilter() to filter incoming C-FIND worklist queries
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 19 Sep 2018 21:10:49 +0200 |
parents | 912a767911b0 |
children | ae8e72009e64 |
line wrap: on
line diff
--- a/OrthancServer/OrthancFindRequestHandler.cpp Wed Sep 19 16:06:41 2018 +0200 +++ b/OrthancServer/OrthancFindRequestHandler.cpp Wed Sep 19 21:10:49 2018 +0200 @@ -482,7 +482,8 @@ const DicomMap& source, const std::string& remoteIp, const std::string& remoteAet, - const std::string& calledAet) + const std::string& calledAet, + ModalityManufacturer manufacturer) { static const char* LUA_CALLBACK = "IncomingFindRequestFilter"; @@ -494,10 +495,8 @@ } else { - Json::Value origin = Json::objectValue; - origin["RemoteIp"] = remoteIp; - origin["RemoteAet"] = remoteAet; - origin["CalledAet"] = calledAet; + Json::Value origin; + FormatOrigin(origin, remoteIp, remoteAet, calledAet, manufacturer); LuaFunctionCall call(lock.GetLua(), LUA_CALLBACK); call.PushDicom(source); @@ -532,7 +531,7 @@ DicomMap lua; const DicomMap* filteredInput = &input; - if (ApplyLuaFilter(lua, input, remoteIp, remoteAet, calledAet)) + if (ApplyLuaFilter(lua, input, remoteIp, remoteAet, calledAet, manufacturer)) { filteredInput = &lua; } @@ -675,4 +674,18 @@ answers.SetComplete(complete); } + + + void OrthancFindRequestHandler::FormatOrigin(Json::Value& origin, + const std::string& remoteIp, + const std::string& remoteAet, + const std::string& calledAet, + ModalityManufacturer manufacturer) + { + origin = Json::objectValue; + origin["RemoteIp"] = remoteIp; + origin["RemoteAet"] = remoteAet; + origin["CalledAet"] = calledAet; + origin["Manufacturer"] = EnumerationToString(manufacturer); + } }