comparison PostgreSQL/Plugins/PostgreSQLStorageArea.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 dd6cfc250747
children b97a537f4613
comparison
equal deleted inserted replaced
225:94c9908e6aca 226:a4918d57435c
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "../../Framework/Plugins/StorageBackend.h" 24 #include "../../Framework/Plugins/StorageBackend.h"
25 #include "../../Framework/PostgreSQL/PostgreSQLParameters.h" 25 #include "../../Framework/PostgreSQL/PostgreSQLDatabase.h"
26 26
27 namespace OrthancDatabases 27 namespace OrthancDatabases
28 { 28 {
29 class PostgreSQLStorageArea : public StorageBackend 29 class PostgreSQLStorageArea : public StorageBackend
30 { 30 {
31 private: 31 private:
32 class Factory : public IDatabaseFactory 32 void ConfigureDatabase(PostgreSQLDatabase& db,
33 { 33 const PostgreSQLParameters& parameters,
34 private: 34 bool clearAll);
35 PostgreSQLStorageArea& that_;
36
37 public:
38 explicit Factory(PostgreSQLStorageArea& that) :
39 that_(that)
40 {
41 }
42
43 virtual Dialect GetDialect() const ORTHANC_OVERRIDE
44 {
45 return Dialect_PostgreSQL;
46 }
47
48 virtual IDatabase* Open() ORTHANC_OVERRIDE
49 {
50 return that_.OpenInternal();
51 }
52
53 virtual void GetConnectionRetriesParameters(unsigned int& maxConnectionRetries,
54 unsigned int& connectionRetryInterval) ORTHANC_OVERRIDE
55 {
56 maxConnectionRetries = that_.parameters_.GetMaxConnectionRetries();
57 connectionRetryInterval = that_.parameters_.GetConnectionRetryInterval();
58 }
59 };
60
61 PostgreSQLParameters parameters_;
62 bool clearAll_;
63
64 IDatabase* OpenInternal();
65 35
66 public: 36 public:
67 explicit PostgreSQLStorageArea(const PostgreSQLParameters& parameters); 37 PostgreSQLStorageArea(const PostgreSQLParameters& parameters,
68 38 bool clearAll);
69 void SetClearAll(bool clear)
70 {
71 clearAll_ = clear;
72 }
73 }; 39 };
74 } 40 }