Mercurial > hg > orthanc-databases
comparison Framework/Plugins/IndexBackend.cpp @ 222:c8e06b41feec
refactoring registration/finalization of index backend
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 01 Apr 2021 11:16:13 +0200 |
parents | 73cc85f3d9c1 |
children | 94c9908e6aca |
comparison
equal
deleted
inserted
replaced
221:73cc85f3d9c1 | 222:c8e06b41feec |
---|---|
2219 assert(result.seriesId != -1); | 2219 assert(result.seriesId != -1); |
2220 assert(result.instanceId != -1); | 2220 assert(result.instanceId != -1); |
2221 } | 2221 } |
2222 | 2222 |
2223 | 2223 |
2224 void IndexBackend::Register(IndexBackend& backend) | 2224 void IndexBackend::Register(IndexBackend* backend) |
2225 { | 2225 { |
2226 if (backend == NULL) | |
2227 { | |
2228 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | |
2229 } | |
2230 | |
2226 bool hasLoadedV3 = false; | 2231 bool hasLoadedV3 = false; |
2227 | 2232 |
2228 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 | 2233 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 |
2229 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) | 2234 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) |
2230 if (OrthancPluginCheckVersionAdvanced(backend.GetContext(), 1, 9, 2) == 1) | 2235 if (OrthancPluginCheckVersionAdvanced(backend->GetContext(), 1, 9, 2) == 1) |
2231 { | 2236 { |
2232 OrthancDatabases::DatabaseBackendAdapterV3::Register(backend); | 2237 OrthancDatabases::DatabaseBackendAdapterV3::Register(backend); |
2233 hasLoadedV3 = true; | 2238 hasLoadedV3 = true; |
2234 } | 2239 } |
2235 # endif | 2240 # endif |
2239 { | 2244 { |
2240 LOG(WARNING) << "Performance warning: Your version of Orthanc doesn't support multiple readers/writers"; | 2245 LOG(WARNING) << "Performance warning: Your version of Orthanc doesn't support multiple readers/writers"; |
2241 OrthancDatabases::DatabaseBackendAdapterV2::Register(backend); | 2246 OrthancDatabases::DatabaseBackendAdapterV2::Register(backend); |
2242 } | 2247 } |
2243 } | 2248 } |
2249 | |
2250 | |
2251 void IndexBackend::Finalize() | |
2252 { | |
2253 OrthancDatabases::DatabaseBackendAdapterV2::Finalize(); | |
2254 | |
2255 #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 | |
2256 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) | |
2257 OrthancDatabases::DatabaseBackendAdapterV3::Finalize(); | |
2258 # endif | |
2259 #endif | |
2260 } | |
2244 } | 2261 } |