Mercurial > hg > orthanc-databases
diff 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 |
line wrap: on
line diff
--- a/Framework/Plugins/IndexBackend.cpp Tue Mar 30 10:40:34 2021 +0200 +++ b/Framework/Plugins/IndexBackend.cpp Thu Apr 01 11:16:13 2021 +0200 @@ -2221,13 +2221,18 @@ } - void IndexBackend::Register(IndexBackend& backend) + void IndexBackend::Register(IndexBackend* backend) { + if (backend == NULL) + { + throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); + } + bool hasLoadedV3 = false; #if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 # if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) - if (OrthancPluginCheckVersionAdvanced(backend.GetContext(), 1, 9, 2) == 1) + if (OrthancPluginCheckVersionAdvanced(backend->GetContext(), 1, 9, 2) == 1) { OrthancDatabases::DatabaseBackendAdapterV3::Register(backend); hasLoadedV3 = true; @@ -2241,4 +2246,16 @@ OrthancDatabases::DatabaseBackendAdapterV2::Register(backend); } } + + + void IndexBackend::Finalize() + { + OrthancDatabases::DatabaseBackendAdapterV2::Finalize(); + +#if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in Orthanc 1.3.1 +# if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) + OrthancDatabases::DatabaseBackendAdapterV3::Finalize(); +# endif +#endif + } }