diff OrthancServer/LuaScripting.h @ 1437:02f5a3f5c0a0

access to the REST API from Lua
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 30 Jun 2015 18:41:33 +0200
parents 6406f5493d92
children f3672356c121
line wrap: on
line diff
--- a/OrthancServer/LuaScripting.h	Tue Jun 30 17:19:26 2015 +0200
+++ b/OrthancServer/LuaScripting.h	Tue Jun 30 18:41:33 2015 +0200
@@ -35,6 +35,7 @@
 #include "IServerListener.h"
 #include "../Core/Lua/LuaContext.h"
 #include "Scheduler/IServerCommand.h"
+#include "OrthancRestApi/OrthancRestApi.h"
 
 namespace Orthanc
 {
@@ -43,6 +44,10 @@
   class LuaScripting : public IServerListener
   {
   private:
+    static OrthancRestApi* GetRestApi(lua_State *state);
+
+    static int RestApiGet(lua_State *state);
+
     void ApplyOnStoredInstance(const std::string& instanceId,
                                const Json::Value& simplifiedDicom,
                                const Json::Value& metadata,
@@ -61,6 +66,7 @@
     boost::mutex    mutex_;
     LuaContext      lua_;
     ServerContext&  context_;
+    OrthancRestApi* restApi_;
 
   public:
     class Locker : public boost::noncopyable
@@ -86,6 +92,10 @@
     };
 
     LuaScripting(ServerContext& context);
+    
+    void SetOrthancRestApi(OrthancRestApi& restApi);
+
+    void ResetOrthancRestApi();
 
     virtual void SignalStoredInstance(const std::string& publicId,
                                       DicomInstanceToStore& instance,