Mercurial > hg > orthanc-databases
annotate Framework/Plugins/PluginInitialization.cpp @ 582:8296c6a0238e find-refactoring
ODBC: fixes limit
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 21 Oct 2024 17:57:52 +0200 |
parents | 51a78b3f96bb |
children |
rev | line source |
---|---|
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 /** |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 * Orthanc - A Lightweight, RESTful DICOM Store |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4 * Department, University Hospital of Liege, Belgium |
507
54d518dcd74a
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
492
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:
492
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 |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 * |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 * This program is free software: you can redistribute it and/or |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 * modify it under the terms of the GNU Affero General Public License |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 * as published by the Free Software Foundation, either version 3 of |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 * the License, or (at your option) any later version. |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 * |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 * This program is distributed in the hope that it will be useful, but |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 * WITHOUT ANY WARRANTY; without even the implied warranty of |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 * Affero General Public License for more details. |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 * |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 * You should have received a copy of the GNU Affero General Public License |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 **/ |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 #include "PluginInitialization.h" |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
26 #include "../Common/ImplicitTransaction.h" |
152 | 27 #include "../../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h" |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
28 |
152 | 29 #include <Logging.h> |
30 #include <Toolbox.h> | |
62
eedd082355f9
fix for compatibility with simplified OrthancPluginCppWrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
31 |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
33 namespace OrthancDatabases |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 { |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
35 static bool DisplayPerformanceWarning(const std::string& dbms, |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
36 bool isIndex) |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
37 { |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
38 (void) DisplayPerformanceWarning; // Disable warning about unused function |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
39 LOG(WARNING) << "Performance warning in " << dbms |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
40 << (isIndex ? " index" : " storage area") |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
41 << ": Non-release build, runtime debug assertions are turned on"; |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 return true; |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
43 } |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 bool InitializePlugin(OrthancPluginContext* context, |
492
af6998ed73dd
fix deprecated calls
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
490
diff
changeset
|
47 const std::string& pluginName, |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
48 const std::string& dbms, |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
49 bool isIndex) |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
50 { |
511
51a78b3f96bb
use Framework 1.12.4 by default
Alain Mazy <am@orthanc.team>
parents:
507
diff
changeset
|
51 #if ORTHANC_FRAMEWORK_VERSION_IS_ABOVE(1, 12, 4) |
51a78b3f96bb
use Framework 1.12.4 by default
Alain Mazy <am@orthanc.team>
parents:
507
diff
changeset
|
52 Orthanc::Logging::InitializePluginContext(context, pluginName); |
51a78b3f96bb
use Framework 1.12.4 by default
Alain Mazy <am@orthanc.team>
parents:
507
diff
changeset
|
53 #elif ORTHANC_FRAMEWORK_VERSION_IS_ABOVE(1, 7, 2) |
149 | 54 Orthanc::Logging::InitializePluginContext(context); |
151
6c58af430ba0
improved Orthanc::Logging::Initialize()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
149
diff
changeset
|
55 #else |
6c58af430ba0
improved Orthanc::Logging::Initialize()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
149
diff
changeset
|
56 Orthanc::Logging::Initialize(context); |
6c58af430ba0
improved Orthanc::Logging::Initialize()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
149
diff
changeset
|
57 #endif |
260
793bbbe11287
IDatabaseBackend::HasRevisionsSupport()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
193
diff
changeset
|
58 |
793bbbe11287
IDatabaseBackend::HasRevisionsSupport()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
193
diff
changeset
|
59 Orthanc::Logging::EnableInfoLevel(true); |
62
eedd082355f9
fix for compatibility with simplified OrthancPluginCppWrapper
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
60 OrthancPlugins::SetGlobalContext(context); |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
61 ImplicitTransaction::SetErrorOnDoubleExecution(false); |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
62 |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
63 assert(DisplayPerformanceWarning(dbms, isIndex)); |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
65 /* Check the version of the Orthanc core */ |
490
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
66 if (OrthancPluginCheckVersion(context) == 0) |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
67 { |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
68 LOG(ERROR) << "Your version of Orthanc (" |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
69 << context->orthancVersion << ") must be above " |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
70 << ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER << "." |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
71 << ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER << "." |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
72 << ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
73 << " to run this plugin"; |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
74 return false; |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
75 } |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
76 |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
77 |
b3876cbb93a2
Fix check of Orthanc runtime version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
459
diff
changeset
|
78 /* Warn the user if the Orthanc runtime has not an optimal version */ |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
79 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
80 bool useFallback = true; |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
81 bool isOptimal = false; |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
82 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
83 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
84 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 4, 0) |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
85 if (OrthancPluginCheckVersionAdvanced(context, 0, 9, 5) == 0) |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
86 { |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
87 LOG(ERROR) << "Your version of Orthanc (" << context->orthancVersion |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
88 << ") must be above 0.9.5 to run this plugin"; |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
89 return false; |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
90 } |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
91 |
129
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
92 if (OrthancPluginCheckVersionAdvanced(context, 1, 4, 0) == 1) |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
93 { |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
94 ImplicitTransaction::SetErrorOnDoubleExecution(true); |
129
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
95 } |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
96 |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
97 if (OrthancPluginCheckVersionAdvanced(context, |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
98 ORTHANC_OPTIMAL_VERSION_MAJOR, |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
99 ORTHANC_OPTIMAL_VERSION_MINOR, |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
100 ORTHANC_OPTIMAL_VERSION_REVISION) == 1) |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
101 { |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
102 isOptimal = true; |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
103 } |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
104 |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
105 useFallback = false; |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
106 # endif |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
107 #endif |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
108 |
64
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
109 if (useFallback) |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
110 { |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
111 std::string v(context->orthancVersion); |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
112 |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
113 if (v == "mainline") |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
114 { |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
115 isOptimal = true; |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
116 } |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
117 else |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
118 { |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
119 std::vector<std::string> tokens; |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
120 Orthanc::Toolbox::TokenizeString(tokens, v, '.'); |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
121 |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
122 if (tokens.size() != 3) |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
123 { |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
124 LOG(ERROR) << "Bad version of Orthanc: " << v; |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
125 return false; |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
126 } |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
127 |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
128 int major = boost::lexical_cast<int>(tokens[0]); |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
129 int minor = boost::lexical_cast<int>(tokens[1]); |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
130 int revision = boost::lexical_cast<int>(tokens[2]); |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
131 |
129
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
132 isOptimal = (major > ORTHANC_OPTIMAL_VERSION_MAJOR || |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
133 (major == ORTHANC_OPTIMAL_VERSION_MAJOR && |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
134 minor > ORTHANC_OPTIMAL_VERSION_MINOR) || |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
135 (major == ORTHANC_OPTIMAL_VERSION_MAJOR && |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
136 minor == ORTHANC_OPTIMAL_VERSION_MINOR && |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
137 revision >= ORTHANC_OPTIMAL_VERSION_REVISION)); |
64
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
138 } |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
139 } |
e39c1ebb7a0e
fix in backwards compatibility
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
62
diff
changeset
|
140 |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
141 if (!isOptimal && |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
142 isIndex) |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
143 { |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
144 LOG(WARNING) << "Performance warning in " << dbms |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
145 << " index: Your version of Orthanc (" |
129
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
146 << context->orthancVersion << ") should be upgraded to " |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
147 << ORTHANC_OPTIMAL_VERSION_MAJOR << "." |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
148 << ORTHANC_OPTIMAL_VERSION_MINOR << "." |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
149 << ORTHANC_OPTIMAL_VERSION_REVISION |
534759b0cf14
use of macros to report performance warnings
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
127
diff
changeset
|
150 << " to benefit from best performance"; |
28
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
151 } |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
152 |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
153 |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
154 std::string description = ("Stores the Orthanc " + |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
155 std::string(isIndex ? "index" : "storage area") + |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
156 " into a " + dbms + " database"); |
c0cb5d2cd696
checks depending on Orthanc version
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
24
diff
changeset
|
157 |
492
af6998ed73dd
fix deprecated calls
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
490
diff
changeset
|
158 OrthancPlugins::SetDescription(pluginName, description.c_str()); |
24
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
159 |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
160 return true; |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
161 } |
17f849b2af34
sharing plugin initialization code
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
162 } |