diff OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp @ 5517:0d433132b249 pg-transactions

refactoring IDatabaseWrapper::Capabilities
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 29 Jan 2024 19:19:52 +0100
parents 4dd50c4b985a
children 2c5eb1ef26a0
line wrap: on
line diff
--- a/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp	Mon Jan 29 18:18:07 2024 +0100
+++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp	Mon Jan 29 19:19:52 2024 +0100
@@ -305,7 +305,7 @@
       }
     }
 
-    virtual const IDatabaseWrapper::Capabilities& GetDatabaseCapabilities() const ORTHANC_OVERRIDE
+    virtual const Capabilities GetDatabaseCapabilities() const ORTHANC_OVERRIDE
     {
       return database_.GetDatabaseCapabilities();
     }
@@ -1292,8 +1292,7 @@
     definition_(database),
     serverIdentifier_(serverIdentifier),
     open_(false),
-    databaseVersion_(0),
-    dbCapabilities_(false, false, false, false, false, false) // updated in Open()
+    databaseVersion_(0)
   {
     CLOG(INFO, PLUGINS) << "Identifier of this Orthanc server for the global properties "
                         << "of the custom database: \"" << serverIdentifier << "\"";
@@ -1363,12 +1362,12 @@
       
       const ::Orthanc::DatabasePluginMessages::GetSystemInformation_Response& systemInfo = response.get_system_information();
       databaseVersion_ = systemInfo.database_version();
-      dbCapabilities_.hasFlushToDisk_ = systemInfo.supports_flush_to_disk();
-      dbCapabilities_.hasRevisionsSupport_ = systemInfo.supports_revisions();
-      dbCapabilities_.hasLabelsSupport_ = systemInfo.supports_labels();
-      dbCapabilities_.hasAtomicIncrementGlobalProperty_ = systemInfo.supports_increment_global_property();
-      dbCapabilities_.hasUpdateAndGetStatistics_ = systemInfo.has_update_and_get_statistics();
-      dbCapabilities_.hasMeasureLatency_ = systemInfo.has_measure_latency();
+      dbCapabilities_.SetFlushToDisk(systemInfo.supports_flush_to_disk());
+      dbCapabilities_.SetRevisionsSupport(systemInfo.supports_revisions());
+      dbCapabilities_.SetLabelsSupport(systemInfo.supports_labels());
+      dbCapabilities_.SetAtomicIncrementGlobalProperty(systemInfo.supports_increment_global_property());
+      dbCapabilities_.SetUpdateAndGetStatistics(systemInfo.has_update_and_get_statistics());
+      dbCapabilities_.SetMeasureLatency(systemInfo.has_measure_latency());
     }
 
     open_ = true;
@@ -1491,7 +1490,8 @@
     }
   }
 
-  const IDatabaseWrapper::Capabilities& OrthancPluginDatabaseV4::GetDatabaseCapabilities() const
+
+  const IDatabaseWrapper::Capabilities OrthancPluginDatabaseV4::GetDatabaseCapabilities() const
   {
     if (!open_)
     {
@@ -1502,6 +1502,4 @@
       return dbCapabilities_;
     }
   }
-
-
 }