diff SQLite/Plugins/SQLiteIndex.h @ 226:a4918d57435c

DatabaseManager doesn't IDatabaseFactory anymore
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 02 Apr 2021 19:23:36 +0200
parents 94c9908e6aca
children 1ad9118b0717
line wrap: on
line diff
--- a/SQLite/Plugins/SQLiteIndex.h	Thu Apr 01 19:18:19 2021 +0200
+++ b/SQLite/Plugins/SQLiteIndex.h	Fri Apr 02 19:23:36 2021 +0200
@@ -21,6 +21,7 @@
 
 #pragma once
 
+#include "../../Framework/Common/IDatabaseFactory.h"
 #include "../../Framework/Plugins/IndexBackend.h"
 
 namespace OrthancDatabases
@@ -28,41 +29,9 @@
   class SQLiteIndex : public IndexBackend 
   {
   private:
-    class Factory : public IDatabaseFactory
-    {
-    private:
-      SQLiteIndex&  that_;
-
-    public:
-      Factory(SQLiteIndex& that) :
-      that_(that)
-      {
-      }
-
-      virtual Dialect GetDialect() const
-      {
-        return Dialect_SQLite;
-      }
-
-      virtual IDatabase* Open()
-      {
-        return that_.OpenInternal();
-      }
-
-      virtual void GetConnectionRetriesParameters(unsigned int& maxConnectionRetries,
-                                                  unsigned int& connectionRetryInterval)
-      {
-        // Dummy parameters
-        maxConnectionRetries = 0;
-        connectionRetryInterval = 1;
-      }
-    };
-
     std::string            path_;
     bool                   fast_;
 
-    IDatabase* OpenInternal();
-
   public:
     SQLiteIndex(OrthancPluginContext* context);  // Opens in memory
 
@@ -74,10 +43,9 @@
       fast_ = fast;
     }
 
-    virtual IDatabaseFactory* CreateDatabaseFactory() ORTHANC_OVERRIDE
-    {
-      return new Factory(*this);
-    }
+    virtual IDatabase* OpenDatabaseConnection() ORTHANC_OVERRIDE;
+
+    virtual void ConfigureDatabase(IDatabase& database) ORTHANC_OVERRIDE;
     
     virtual int64_t CreateResource(DatabaseManager& manager,
                                    const char* publicId,