Mercurial > hg > orthanc-databases
comparison SQLite/Plugins/SQLiteIndex.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 | 1ad9118b0717 |
comparison
equal
deleted
inserted
replaced
225:94c9908e6aca | 226:a4918d57435c |
---|---|
19 **/ | 19 **/ |
20 | 20 |
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "../../Framework/Common/IDatabaseFactory.h" | |
24 #include "../../Framework/Plugins/IndexBackend.h" | 25 #include "../../Framework/Plugins/IndexBackend.h" |
25 | 26 |
26 namespace OrthancDatabases | 27 namespace OrthancDatabases |
27 { | 28 { |
28 class SQLiteIndex : public IndexBackend | 29 class SQLiteIndex : public IndexBackend |
29 { | 30 { |
30 private: | 31 private: |
31 class Factory : public IDatabaseFactory | |
32 { | |
33 private: | |
34 SQLiteIndex& that_; | |
35 | |
36 public: | |
37 Factory(SQLiteIndex& that) : | |
38 that_(that) | |
39 { | |
40 } | |
41 | |
42 virtual Dialect GetDialect() const | |
43 { | |
44 return Dialect_SQLite; | |
45 } | |
46 | |
47 virtual IDatabase* Open() | |
48 { | |
49 return that_.OpenInternal(); | |
50 } | |
51 | |
52 virtual void GetConnectionRetriesParameters(unsigned int& maxConnectionRetries, | |
53 unsigned int& connectionRetryInterval) | |
54 { | |
55 // Dummy parameters | |
56 maxConnectionRetries = 0; | |
57 connectionRetryInterval = 1; | |
58 } | |
59 }; | |
60 | |
61 std::string path_; | 32 std::string path_; |
62 bool fast_; | 33 bool fast_; |
63 | |
64 IDatabase* OpenInternal(); | |
65 | 34 |
66 public: | 35 public: |
67 SQLiteIndex(OrthancPluginContext* context); // Opens in memory | 36 SQLiteIndex(OrthancPluginContext* context); // Opens in memory |
68 | 37 |
69 SQLiteIndex(OrthancPluginContext* context, | 38 SQLiteIndex(OrthancPluginContext* context, |
72 void SetFast(bool fast) | 41 void SetFast(bool fast) |
73 { | 42 { |
74 fast_ = fast; | 43 fast_ = fast; |
75 } | 44 } |
76 | 45 |
77 virtual IDatabaseFactory* CreateDatabaseFactory() ORTHANC_OVERRIDE | 46 virtual IDatabase* OpenDatabaseConnection() ORTHANC_OVERRIDE; |
78 { | 47 |
79 return new Factory(*this); | 48 virtual void ConfigureDatabase(IDatabase& database) ORTHANC_OVERRIDE; |
80 } | |
81 | 49 |
82 virtual int64_t CreateResource(DatabaseManager& manager, | 50 virtual int64_t CreateResource(DatabaseManager& manager, |
83 const char* publicId, | 51 const char* publicId, |
84 OrthancPluginResourceType type); | 52 OrthancPluginResourceType type); |
85 | 53 |