Mercurial > hg > orthanc-databases
comparison Framework/Plugins/DatabaseBackendAdapterV2.cpp @ 387:f35b17a38301
integration db-protobuf->mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 03 Apr 2023 17:12:08 +0200 |
parents | 9db9e0275ec0 |
children | 3d6886f3e5b3 |
comparison
equal
deleted
inserted
replaced
371:c1fe28de1bf6 | 387:f35b17a38301 |
---|---|
944 DatabaseBackendAdapterV2::Adapter* adapter = reinterpret_cast<DatabaseBackendAdapterV2::Adapter*>(payload); | 944 DatabaseBackendAdapterV2::Adapter* adapter = reinterpret_cast<DatabaseBackendAdapterV2::Adapter*>(payload); |
945 | 945 |
946 try | 946 try |
947 { | 947 { |
948 DatabaseBackendAdapterV2::Adapter::DatabaseAccessor accessor(*adapter); | 948 DatabaseBackendAdapterV2::Adapter::DatabaseAccessor accessor(*adapter); |
949 adapter->GetBackend().LogExportedResource(accessor.GetManager(), *exported); | 949 adapter->GetBackend().LogExportedResource(accessor.GetManager(), exported->resourceType, exported->publicId, |
950 exported->modality, exported->date, exported->patientId, | |
951 exported->studyInstanceUid, exported->seriesInstanceUid, exported->sopInstanceUid); | |
950 return OrthancPluginErrorCode_Success; | 952 return OrthancPluginErrorCode_Success; |
951 } | 953 } |
952 ORTHANC_PLUGINS_DATABASE_CATCH; | 954 ORTHANC_PLUGINS_DATABASE_CATCH; |
953 } | 955 } |
954 | 956 |
1630 | 1632 |
1631 static std::unique_ptr<DatabaseBackendAdapterV2::Adapter> adapter_; | 1633 static std::unique_ptr<DatabaseBackendAdapterV2::Adapter> adapter_; |
1632 | 1634 |
1633 void DatabaseBackendAdapterV2::Register(IDatabaseBackend* backend) | 1635 void DatabaseBackendAdapterV2::Register(IDatabaseBackend* backend) |
1634 { | 1636 { |
1635 if (backend == NULL) | 1637 { |
1636 { | 1638 std::unique_ptr<IDatabaseBackend> protection(backend); |
1637 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | 1639 |
1638 } | 1640 if (backend == NULL) |
1639 | 1641 { |
1640 if (adapter_.get() != NULL) | 1642 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); |
1641 { | 1643 } |
1642 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); | 1644 |
1643 } | 1645 if (adapter_.get() != NULL) |
1644 | 1646 { |
1645 adapter_.reset(new Adapter(backend)); | 1647 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); |
1648 } | |
1649 | |
1650 adapter_.reset(new Adapter(protection.release())); | |
1651 } | |
1646 | 1652 |
1647 OrthancPluginDatabaseBackend params; | 1653 OrthancPluginDatabaseBackend params; |
1648 memset(¶ms, 0, sizeof(params)); | 1654 memset(¶ms, 0, sizeof(params)); |
1649 | 1655 |
1650 OrthancPluginDatabaseExtensions extensions; | 1656 OrthancPluginDatabaseExtensions extensions; |