comparison Framework/MySQL/MySQLDatabase.h @ 255:d663d9e44f8d

reintroduction of IDatabaseFactory into DatabaseManager
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 14 Apr 2021 17:57:08 +0200
parents c82c2cf84ae8
children 16aac0287485
comparison
equal deleted inserted replaced
254:8a4ce70f456a 255:d663d9e44f8d
23 23
24 #if ORTHANC_ENABLE_MYSQL != 1 24 #if ORTHANC_ENABLE_MYSQL != 1
25 # error MySQL support must be enabled to use this file 25 # error MySQL support must be enabled to use this file
26 #endif 26 #endif
27 27
28 #include "../Common/IDatabase.h" 28 #include "../Common/IDatabaseFactory.h"
29 #include "MySQLParameters.h" 29 #include "MySQLParameters.h"
30 30
31 #include <mysql.h> 31 #include <mysql.h>
32 32
33 namespace OrthancDatabases 33 namespace OrthancDatabases
35 class MySQLTransaction; 35 class MySQLTransaction;
36 36
37 class MySQLDatabase : public IDatabase 37 class MySQLDatabase : public IDatabase
38 { 38 {
39 private: 39 private:
40 class Factory;
41
40 MySQLParameters parameters_; 42 MySQLParameters parameters_;
41 MYSQL *mysql_; 43 MYSQL *mysql_;
42 44
43 void OpenInternal(const char* database); 45 void OpenInternal(const char* database);
44 46
117 const std::string& lock); 119 const std::string& lock);
118 120
119 ~TransientAdvisoryLock(); 121 ~TransientAdvisoryLock();
120 }; 122 };
121 123
122 static MySQLDatabase* OpenDatabaseConnection(const MySQLParameters& parameters); 124 static IDatabaseFactory* CreateDatabaseFactory(const MySQLParameters& parameters);
125
126 static MySQLDatabase* CreateDatabaseConnection(const MySQLParameters& parameters);
123 }; 127 };
124 } 128 }