changeset 7:03157465f6f4

added "Interval" configuration option
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 23 Sep 2021 13:58:05 +0200
parents d9951c2e0bac
children 01b142f0a508
files Sources/Plugin.cpp
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Sources/Plugin.cpp	Thu Sep 23 13:43:11 2021 +0200
+++ b/Sources/Plugin.cpp	Thu Sep 23 13:58:05 2021 +0200
@@ -36,7 +36,7 @@
 static std::list<std::string>        folders_;
 static IndexerDatabase               database_;
 static std::unique_ptr<StorageArea>  storageArea_;
-
+static unsigned int                  intervalSeconds_;
 
 
 static bool ComputeInstanceId(std::string& instanceId,
@@ -183,7 +183,7 @@
 }
 
 
-static void MonitorDirectories(bool* stop)
+static void MonitorDirectories(bool* stop, unsigned int intervalSeconds)
 {
   for (;;)
   {
@@ -265,7 +265,7 @@
       LOG(ERROR) << e.What();
     }
     
-    for (unsigned int i = 0; i < /*100*/10; i++)
+    for (unsigned int i = 0; i < intervalSeconds * 10; i++)
     {
       if (*stop)
       {
@@ -424,7 +424,7 @@
   {
     case OrthancPluginChangeType_OrthancStarted:
       stop_ = false;
-      thread_ = boost::thread(MonitorDirectories, &stop_);
+      thread_ = boost::thread(MonitorDirectories, &stop_, intervalSeconds_);
       break;
 
     case OrthancPluginChangeType_OrthancStopped:
@@ -478,7 +478,10 @@
         static const char* const INDEX_DIRECTORY = "IndexDirectory";
         static const char* const ORTHANC_STORAGE = "OrthancStorage";
         static const char* const STORAGE_DIRECTORY = "StorageDirectory";
+        static const char* const INTERVAL = "Interval";
 
+        intervalSeconds_ = indexer.GetUnsignedIntegerValue(INTERVAL, 10 /* 10 seconds by default */);
+        
         if (!indexer.LookupListOfStrings(folders_, FOLDERS, true) ||
             folders_.empty())
         {