diff Framework/Common/DatabaseManager.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 73cc85f3d9c1
children 0a9b48d19643
line wrap: on
line diff
--- a/Framework/Common/DatabaseManager.h	Thu Apr 01 19:18:19 2021 +0200
+++ b/Framework/Common/DatabaseManager.h	Fri Apr 02 19:23:36 2021 +0200
@@ -21,7 +21,7 @@
 
 #pragma once
 
-#include "IDatabaseFactory.h"
+#include "IDatabase.h"
 #include "StatementLocation.h"
 
 #include <Compatibility.h>  // For std::unique_ptr<>
@@ -38,14 +38,16 @@
   private:
     typedef std::map<StatementLocation, IPrecompiledStatement*>  CachedStatements;
 
-    boost::recursive_mutex           mutex_;
-    std::unique_ptr<IDatabaseFactory>  factory_;
-    std::unique_ptr<IDatabase>         database_;
-    std::unique_ptr<ITransaction>      transaction_;
-    CachedStatements                 cachedStatements_;
-    Dialect                          dialect_;
+    boost::recursive_mutex         mutex_;
+    std::unique_ptr<IDatabase>     database_;
+    std::unique_ptr<ITransaction>  transaction_;
+    CachedStatements               cachedStatements_;
+    Dialect                        dialect_;
 
-    IDatabase& GetDatabase();
+    IDatabase& GetDatabase()
+    {
+      return *database_;
+    }
 
     void CloseIfUnavailable(Orthanc::ErrorCode e);
 
@@ -59,7 +61,7 @@
     void ReleaseImplicitTransaction();
 
   public:
-    explicit DatabaseManager(IDatabaseFactory* factory);  // Takes ownership
+    explicit DatabaseManager(IDatabase* database);  // Takes ownership
     
     ~DatabaseManager()
     {
@@ -71,11 +73,6 @@
       return dialect_;
     }
 
-    void Open()
-    {
-      GetDatabase();
-    }
-
     void Close();
     
     void StartTransaction(TransactionType type);