Mercurial > hg > orthanc-databases
comparison PostgreSQL/Plugins/PostgreSQLIndex.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 PostgreSQLIndex : public IndexBackend | 29 class PostgreSQLIndex : public IndexBackend |
30 { | 30 { |
31 private: | 31 private: |
32 class Factory : public IDatabaseFactory | |
33 { | |
34 private: | |
35 PostgreSQLIndex& that_; | |
36 | |
37 public: | |
38 Factory(PostgreSQLIndex& that) : | |
39 that_(that) | |
40 { | |
41 } | |
42 | |
43 virtual Dialect GetDialect() const | |
44 { | |
45 return Dialect_PostgreSQL; | |
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 PostgreSQLParameters parameters_; | 32 PostgreSQLParameters parameters_; |
61 bool clearAll_; | 33 bool clearAll_; |
62 | |
63 IDatabase* OpenInternal(); | |
64 | 34 |
65 public: | 35 public: |
66 PostgreSQLIndex(OrthancPluginContext* context, | 36 PostgreSQLIndex(OrthancPluginContext* context, |
67 const PostgreSQLParameters& parameters); | 37 const PostgreSQLParameters& 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 { | 45 |
76 return new Factory(*this); | 46 virtual void ConfigureDatabase(IDatabase& database) ORTHANC_OVERRIDE; |
77 } | |
78 | 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; |