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 }