diff Framework/Plugins/IDatabaseBackend.h @ 403:91124cc8a8c7 db-protobuf

database plugins are informed about the identifier tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 11 Apr 2023 11:10:19 +0200
parents 82921a29349a
children 7c1fe5d6c12c ecd0b719cff5
line wrap: on
line diff
--- a/Framework/Plugins/IDatabaseBackend.h	Sat Apr 08 10:26:03 2023 +0200
+++ b/Framework/Plugins/IDatabaseBackend.h	Tue Apr 11 11:10:19 2023 +0200
@@ -27,6 +27,7 @@
 #include "../Common/DatabaseManager.h"
 #include "../Common/DatabasesEnumerations.h"
 #include "IDatabaseBackendOutput.h"
+#include "IdentifierTag.h"
 
 #include <list>
 
@@ -43,8 +44,13 @@
 
     virtual IDatabaseFactory* CreateDatabaseFactory() = 0;
 
-    // This function is invoked once, even if multiple connections are open
-    virtual void ConfigureDatabase(DatabaseManager& database) = 0;
+    /**
+     * This function is invoked once, even if multiple connections are
+     * open. It is notably used to update the schema of the database.
+     **/
+    virtual void ConfigureDatabase(DatabaseManager& database,
+                                   bool hasIdentifierTags,
+                                   const std::list<IdentifierTag>& identifierTags) = 0;
 
     virtual void SetOutputFactory(IDatabaseBackendOutput::IFactory* factory) = 0;