comparison 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
comparison
equal deleted inserted replaced
372:b5e2c1e48828 373:be7de633695c
1630 1630
1631 static std::unique_ptr<DatabaseBackendAdapterV2::Adapter> adapter_; 1631 static std::unique_ptr<DatabaseBackendAdapterV2::Adapter> adapter_;
1632 1632
1633 void DatabaseBackendAdapterV2::Register(IDatabaseBackend* backend) 1633 void DatabaseBackendAdapterV2::Register(IDatabaseBackend* backend)
1634 { 1634 {
1635 if (backend == NULL) 1635 {
1636 { 1636 std::unique_ptr<IDatabaseBackend> protection(backend);
1637 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); 1637
1638 } 1638 if (backend == NULL)
1639 1639 {
1640 if (adapter_.get() != NULL) 1640 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
1641 { 1641 }
1642 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); 1642
1643 } 1643 if (adapter_.get() != NULL)
1644 1644 {
1645 adapter_.reset(new Adapter(backend)); 1645 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
1646 }
1647
1648 adapter_.reset(new Adapter(protection.release()));
1649 }
1646 1650
1647 OrthancPluginDatabaseBackend params; 1651 OrthancPluginDatabaseBackend params;
1648 memset(&params, 0, sizeof(params)); 1652 memset(&params, 0, sizeof(params));
1649 1653
1650 OrthancPluginDatabaseExtensions extensions; 1654 OrthancPluginDatabaseExtensions extensions;