Mercurial > hg > orthanc-databases
annotate Framework/MySQL/MySQLParameters.h @ 581:a80775ee5eea find-refactoring
MySQL: Added support for ExtendedFind
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 21 Oct 2024 14:34:57 +0200 |
parents | 54d518dcd74a |
children |
rev | line source |
---|---|
0 | 1 /** |
2 * Orthanc - A Lightweight, RESTful DICOM Store | |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | |
4 * Department, University Hospital of Liege, Belgium | |
507
54d518dcd74a
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
5 * Copyright (C) 2017-2023 Osimis S.A., Belgium |
54d518dcd74a
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
6 * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium |
459
ecd0b719cff5
update year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
389
diff
changeset
|
7 * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
0 | 8 * |
9 * This program is free software: you can redistribute it and/or | |
10 * modify it under the terms of the GNU Affero General Public License | |
11 * as published by the Free Software Foundation, either version 3 of | |
12 * the License, or (at your option) any later version. | |
13 * | |
14 * This program is distributed in the hope that it will be useful, but | |
15 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 * Affero General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU Affero General Public License | |
20 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
21 **/ | |
22 | |
23 | |
24 #pragma once | |
25 | |
26 #if ORTHANC_ENABLE_MYSQL != 1 | |
27 # error MySQL support must be enabled to use this file | |
28 #endif | |
29 | |
152 | 30 #include "../../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h" |
0 | 31 |
32 namespace OrthancDatabases | |
33 { | |
34 class MySQLParameters | |
35 { | |
36 private: | |
37 std::string host_; | |
38 std::string username_; | |
39 std::string password_; | |
40 std::string database_; | |
41 uint16_t port_; | |
42 std::string unixSocket_; | |
163
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
43 bool ssl_; |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
44 bool verifySslServerCertificates_; |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
45 std::string sslCaCertificates_; |
0 | 46 bool lock_; |
141
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
47 unsigned int maxConnectionRetries_; |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
48 unsigned int connectionRetryInterval_; |
0 | 49 |
50 void Reset(); | |
186 | 51 |
0 | 52 public: |
53 MySQLParameters(); | |
54 | |
186 | 55 MySQLParameters(const OrthancPlugins::OrthancConfiguration& pluginConfiguration, |
56 const OrthancPlugins::OrthancConfiguration& orthancConfiguration); | |
0 | 57 |
58 const std::string& GetHost() const | |
59 { | |
60 return host_; | |
61 } | |
62 | |
63 const std::string& GetUsername() const | |
64 { | |
65 return username_; | |
66 } | |
67 | |
68 const std::string& GetPassword() const | |
69 { | |
70 return password_; | |
71 } | |
72 | |
73 const std::string& GetDatabase() const | |
74 { | |
75 return database_; | |
76 } | |
77 | |
78 const std::string& GetUnixSocket() const | |
79 { | |
80 return unixSocket_; | |
81 } | |
82 | |
83 uint16_t GetPort() const | |
84 { | |
85 return port_; | |
86 } | |
87 | |
163
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
88 bool IsSsl() const |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
89 { |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
90 return ssl_; |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
91 } |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
92 |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
93 bool IsVerifyServerCertificates() const |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
94 { |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
95 return verifySslServerCertificates_; |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
96 } |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
97 |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
98 const char* GetSslCaCertificates() const |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
99 { |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
100 return sslCaCertificates_.c_str(); |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
101 } |
4d32c9c8d6c0
Added support for TLS connections
Alain Mazy <alain@mazy.be>
parents:
152
diff
changeset
|
102 |
0 | 103 void SetHost(const std::string& host); |
104 | |
105 void SetUsername(const std::string& username); | |
106 | |
107 void SetPassword(const std::string& password); | |
108 | |
109 void SetDatabase(const std::string& database); | |
110 | |
111 void SetPort(unsigned int port); | |
112 | |
113 void SetUnixSocket(const std::string& socket); | |
114 | |
115 void SetLock(bool lock) | |
116 { | |
117 lock_ = lock; | |
118 } | |
119 | |
120 bool HasLock() const | |
121 { | |
122 return lock_; | |
123 } | |
22
1e9bad493475
prevent running unit tests on a non-existing db
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
124 |
141
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
125 unsigned int GetMaxConnectionRetries() const |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
126 { |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
127 return maxConnectionRetries_; |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
128 } |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
129 |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
130 unsigned int GetConnectionRetryInterval() const |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
131 { |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
132 return connectionRetryInterval_; |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
133 } |
0b3e9ee53c46
Added 'MaximumConnectionRetries' & 'ConnectionRetryInterval' to configure the retries when connecting to the DB at startup
Alain Mazy <alain@mazy.be>
parents:
140
diff
changeset
|
134 |
22
1e9bad493475
prevent running unit tests on a non-existing db
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
135 void Format(Json::Value& target) const; |
0 | 136 }; |
137 } |