diff OrthancServer/ServerContext.cpp @ 1434:f9cd40166269

refactoring of OrthancPlugins, improvement in ServeFolders
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 30 Jun 2015 16:04:05 +0200
parents 461e7554bff7
children 0a3e3be59094
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp	Tue Jun 30 15:09:34 2015 +0200
+++ b/OrthancServer/ServerContext.cpp	Tue Jun 30 16:04:05 2015 +0200
@@ -75,7 +75,6 @@
     scheduler_(Configuration::GetGlobalIntegerParameter("LimitJobs", 10)),
     lua_(*this),
     plugins_(NULL),
-    pluginsManager_(NULL),
     queryRetrieveArchive_(Configuration::GetGlobalIntegerParameter("QueryRetrieveSize", 10)),
     defaultLocalAet_(Configuration::GetGlobalStringParameter("DicomAet", "ORTHANC"))
   {
@@ -376,26 +375,34 @@
   }
 
 
-  bool ServerContext::HasPlugins() const
+  void ServerContext::SetPlugins(OrthancPlugins& plugins)
   {
-    return (pluginsManager_ && plugins_);
+    plugins_ = &plugins;
+
+    // TODO REFACTOR THIS
+    listeners_.clear();
+    listeners_.push_back(ServerListener(lua_, "Lua"));
+    listeners_.push_back(ServerListener(plugins, "plugin"));
   }
 
 
-  const PluginsManager& ServerContext::GetPluginsManager() const
+  void ServerContext::ResetPlugins()
   {
-    if (HasPlugins())
-    {
-      return *pluginsManager_;
-    }
-    else
-    {
-      throw OrthancException(ErrorCode_InternalError);
-    }
+    plugins_ = NULL;
+
+    // TODO REFACTOR THIS
+    listeners_.clear();
+    listeners_.push_back(ServerListener(lua_, "Lua"));
   }
 
 
-  const OrthancPlugins& ServerContext::GetOrthancPlugins() const
+  bool ServerContext::HasPlugins() const
+  {
+    return (plugins_ != NULL);
+  }
+
+
+  const OrthancPlugins& ServerContext::GetPlugins() const
   {
     if (HasPlugins())
     {