Mercurial > hg > orthanc-databases
diff Framework/Plugins/DatabaseBackendAdapterV2.cpp @ 373:be7de633695c db-protobuf
started DatabaseBackendAdapterV4
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 28 Mar 2023 12:47:54 +0200 |
parents | 16aac0287485 |
children | 9db9e0275ec0 |
line wrap: on
line diff
--- a/Framework/Plugins/DatabaseBackendAdapterV2.cpp Tue Mar 28 11:40:07 2023 +0200 +++ b/Framework/Plugins/DatabaseBackendAdapterV2.cpp Tue Mar 28 12:47:54 2023 +0200 @@ -1632,17 +1632,21 @@ void DatabaseBackendAdapterV2::Register(IDatabaseBackend* backend) { - if (backend == NULL) { - throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); - } + std::unique_ptr<IDatabaseBackend> protection(backend); + + if (backend == NULL) + { + throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); + } - if (adapter_.get() != NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); + if (adapter_.get() != NULL) + { + throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); + } + + adapter_.reset(new Adapter(protection.release())); } - - adapter_.reset(new Adapter(backend)); OrthancPluginDatabaseBackend params; memset(¶ms, 0, sizeof(params));