Mercurial > hg > orthanc
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 } |