diff MySQL/Plugins/MySQLStorageArea.cpp @ 255:d663d9e44f8d

reintroduction of IDatabaseFactory into DatabaseManager
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 14 Apr 2021 17:57:08 +0200
parents 33fa478c119a
children 567761f0c1ea
line wrap: on
line diff
--- a/MySQL/Plugins/MySQLStorageArea.cpp	Wed Apr 14 15:33:57 2021 +0200
+++ b/MySQL/Plugins/MySQLStorageArea.cpp	Wed Apr 14 17:57:08 2021 +0200
@@ -87,17 +87,14 @@
 
 
   MySQLStorageArea::MySQLStorageArea(const MySQLParameters& parameters,
-                                     bool clearAll)
+                                     bool clearAll) :
+    StorageBackend(MySQLDatabase::CreateDatabaseFactory(parameters))
   {
-    std::unique_ptr<MySQLDatabase> database(MySQLDatabase::OpenDatabaseConnection(parameters));
-    
-    if (database.get() == NULL)
     {
-      throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError);
+      AccessorBase accessor(*this);
+      MySQLDatabase& database = dynamic_cast<MySQLDatabase&>(accessor.GetManager().GetDatabase());
+      ConfigureDatabase(database, parameters, clearAll);
     }
-    
-    ConfigureDatabase(*database, parameters, clearAll);
-    SetDatabase(database.release());
   }