comparison MySQL/Plugins/MySQLIndex.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 35598014f140
comparison
equal deleted inserted replaced
225:94c9908e6aca 226:a4918d57435c
27 namespace OrthancDatabases 27 namespace OrthancDatabases
28 { 28 {
29 class MySQLIndex : public IndexBackend 29 class MySQLIndex : public IndexBackend
30 { 30 {
31 private: 31 private:
32 class Factory : public IDatabaseFactory
33 {
34 private:
35 MySQLIndex& that_;
36
37 public:
38 Factory(MySQLIndex& that) :
39 that_(that)
40 {
41 }
42
43 virtual Dialect GetDialect() const
44 {
45 return Dialect_MySQL;
46 }
47
48 virtual IDatabase* Open()
49 {
50 return that_.OpenInternal();
51 }
52
53 virtual void GetConnectionRetriesParameters(unsigned int& maxConnectionRetries, unsigned int& connectionRetryInterval)
54 {
55 maxConnectionRetries = that_.parameters_.GetMaxConnectionRetries();
56 connectionRetryInterval = that_.parameters_.GetConnectionRetryInterval();
57 }
58 };
59
60 MySQLParameters parameters_; 32 MySQLParameters parameters_;
61 bool clearAll_; 33 bool clearAll_;
62
63 IDatabase* OpenInternal();
64 34
65 public: 35 public:
66 MySQLIndex(OrthancPluginContext* context, 36 MySQLIndex(OrthancPluginContext* context,
67 const MySQLParameters& parameters); 37 const MySQLParameters& parameters);
68 38
69 void SetClearAll(bool clear) 39 void SetClearAll(bool clear)
70 { 40 {
71 clearAll_ = clear; 41 clearAll_ = clear;
72 } 42 }
73 43
74 virtual IDatabaseFactory* CreateDatabaseFactory() ORTHANC_OVERRIDE 44 virtual IDatabase* OpenDatabaseConnection() ORTHANC_OVERRIDE;
75 {
76 return new Factory(*this);
77 }
78 45
46 virtual void ConfigureDatabase(IDatabase& database) ORTHANC_OVERRIDE;
47
79 virtual int64_t CreateResource(DatabaseManager& manager, 48 virtual int64_t CreateResource(DatabaseManager& manager,
80 const char* publicId, 49 const char* publicId,
81 OrthancPluginResourceType type) 50 OrthancPluginResourceType type)
82 ORTHANC_OVERRIDE; 51 ORTHANC_OVERRIDE;
83 52