comparison OrthancServer/Sources/LuaScripting.cpp @ 4819:70d2a97ca8cb openssl-3.x

integration mainline->openssl-3.x
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Nov 2021 13:12:32 +0100
parents f0038043fb97 94616af363ec
children 2e71a08eea15
comparison
equal deleted inserted replaced
4785:61da49321754 4819:70d2a97ca8cb
29 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h" 29 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h"
30 #include "../../OrthancFramework/Sources/HttpServer/StringHttpOutput.h" 30 #include "../../OrthancFramework/Sources/HttpServer/StringHttpOutput.h"
31 #include "../../OrthancFramework/Sources/Logging.h" 31 #include "../../OrthancFramework/Sources/Logging.h"
32 #include "../../OrthancFramework/Sources/Lua/LuaFunctionCall.h" 32 #include "../../OrthancFramework/Sources/Lua/LuaFunctionCall.h"
33 33
34 #include <dcmtk/dcmnet/dimse.h>
35
34 #include <OrthancServerResources.h> 36 #include <OrthancServerResources.h>
35 37
36 38
37 namespace Orthanc 39 namespace Orthanc
38 { 40 {
931 } 933 }
932 934
933 return true; 935 return true;
934 } 936 }
935 937
938 uint16_t LuaScripting::FilterIncomingCStoreInstance(const DicomInstanceToStore& instance,
939 const Json::Value& simplified)
940 {
941 static const char* NAME = "ReceivedCStoreInstanceFilter";
942
943 boost::recursive_mutex::scoped_lock lock(mutex_);
944
945 if (lua_.IsExistingFunction(NAME))
946 {
947 LuaFunctionCall call(lua_, NAME);
948 call.PushJson(simplified);
949
950 Json::Value origin;
951 instance.GetOrigin().Format(origin);
952 call.PushJson(origin);
953
954 Json::Value info = Json::objectValue;
955 info["HasPixelData"] = instance.HasPixelData();
956
957 DicomTransferSyntax s;
958 if (instance.LookupTransferSyntax(s))
959 {
960 info["TransferSyntaxUID"] = GetTransferSyntaxUid(s);
961 }
962
963 call.PushJson(info);
964
965 int result;
966 call.ExecuteToInt(result);
967 return static_cast<uint16_t>(result);
968 }
969
970 return STATUS_Success;
971 }
972
936 973
937 void LuaScripting::Execute(const std::string& command) 974 void LuaScripting::Execute(const std::string& command)
938 { 975 {
939 pendingEvents_.Enqueue(new ExecuteEvent(command)); 976 pendingEvents_.Enqueue(new ExecuteEvent(command));
940 } 977 }