diff Plugins/Engine/OrthancPlugins.h @ 1433:461e7554bff7

refactoring: LuaScripting
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 30 Jun 2015 15:09:34 +0200
parents 97268448bdfc
children f9cd40166269
line wrap: on
line diff
--- a/Plugins/Engine/OrthancPlugins.h	Tue Jun 30 12:51:29 2015 +0200
+++ b/Plugins/Engine/OrthancPlugins.h	Tue Jun 30 15:09:34 2015 +0200
@@ -32,18 +32,24 @@
 
 #pragma once
 
-#include "PluginsManager.h"
+#include "../../Core/FileStorage/IStorageArea.h"
 #include "../../Core/HttpServer/HttpHandler.h"
-#include "../../OrthancServer/ServerContext.h"
-#include "../../OrthancServer/OrthancRestApi/OrthancRestApi.h"
+#include "../../OrthancServer/IServerListener.h"
 #include "OrthancPluginDatabase.h"
+#include "PluginsManager.h"
 
 #include <list>
 #include <boost/shared_ptr.hpp>
 
 namespace Orthanc
 {
-  class OrthancPlugins : public HttpHandler, public IPluginServiceProvider
+  class OrthancRestApi;
+  class ServerContext;
+
+  class OrthancPlugins : 
+    public HttpHandler, 
+    public IPluginServiceProvider, 
+    public IServerListener
   {
   private:
     struct PImpl;
@@ -105,10 +111,17 @@
     virtual bool InvokeService(_OrthancPluginService service,
                                const void* parameters);
 
-    void SignalChange(const ServerIndexChange& change);
+    virtual void SignalChange(const ServerIndexChange& change);
+
+    virtual void SignalStoredInstance(const std::string& instanceId,
+                                      DicomInstanceToStore& instance,
+                                      const Json::Value& simplifiedTags);
 
-    void SignalStoredInstance(DicomInstanceToStore& instance,
-                              const std::string& instanceId);
+    virtual bool FilterIncomingInstance(const Json::Value& simplified,
+                                        const std::string& remoteAet)
+    {
+      return true; // TODO Enable filtering of instances from plugins
+    }
 
     void SetOrthancRestApi(OrthancRestApi& restApi);