Mercurial > hg > orthanc-databases
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(¶ms, 0, sizeof(params)); | 1652 memset(¶ms, 0, sizeof(params)); |
1649 | 1653 |
1650 OrthancPluginDatabaseExtensions extensions; | 1654 OrthancPluginDatabaseExtensions extensions; |