diff OrthancServer/ServerContext.cpp @ 2940:4767d36679ed

refactoring access to Orthanc configuration
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 29 Nov 2018 11:47:00 +0100
parents a80ba85d89e6
children dc18d5804746
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp	Wed Nov 28 14:48:14 2018 +0100
+++ b/OrthancServer/ServerContext.cpp	Thu Nov 29 11:47:00 2018 +0100
@@ -40,7 +40,7 @@
 #include "../Core/HttpServer/HttpStreamTranscoder.h"
 #include "../Core/Logging.h"
 #include "../Plugins/Engine/OrthancPlugins.h"
-#include "OrthancInitialization.h"
+#include "OrthancConfiguration.h"
 #include "OrthancRestApi/OrthancRestApi.h"
 #include "Search/LookupResource.h"
 #include "ServerJobs/OrthancJobUnserializer.h"
@@ -229,11 +229,16 @@
 #endif
     done_(false),
     haveJobsChanged_(false),
-    isJobsEngineUnserialized_(false),
-    queryRetrieveArchive_(Configuration::GetGlobalUnsignedIntegerParameter("QueryRetrieveSize", 10)),
-    defaultLocalAet_(Configuration::GetGlobalStringParameter("DicomAet", "ORTHANC"))
+    isJobsEngineUnserialized_(false)
   {
-    jobsEngine_.SetWorkersCount(Configuration::GetGlobalUnsignedIntegerParameter("ConcurrentJobs", 2));
+    {
+      OrthancConfiguration::ReaderLock lock;
+      queryRetrieveArchive_.reset(
+        new SharedArchive(lock.GetConfiguration().GetUnsignedIntegerParameter("QueryRetrieveSize", 10)));
+      defaultLocalAet_ = lock.GetConfiguration().GetStringParameter("DicomAet", "ORTHANC");
+      jobsEngine_.SetWorkersCount(lock.GetConfiguration().GetUnsignedIntegerParameter("ConcurrentJobs", 2));
+    }
+
     jobsEngine_.SetThreadSleep(unitTesting ? 20 : 200);
 
     listeners_.push_back(ServerListener(luaListener_, "Lua"));
@@ -819,4 +824,26 @@
       job.AddInstance(*it);
     }
   }
+
+
+  void ServerContext::SignalUpdatedModalities()
+  {
+#if ORTHANC_ENABLE_PLUGINS == 1
+    if (HasPlugins())
+    {
+      GetPlugins().SignalUpdatedModalities();
+    }
+#endif
+  }
+
+   
+  void ServerContext::SignalUpdatedPeers()
+  {
+#if ORTHANC_ENABLE_PLUGINS == 1
+    if (HasPlugins())
+    {
+      GetPlugins().SignalUpdatedPeers();
+    }
+#endif
+  }
 }