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(&params, 0, sizeof(params)); 1654 memset(&params, 0, sizeof(params));
1649 1655
1650 OrthancPluginDatabaseExtensions extensions; 1656 OrthancPluginDatabaseExtensions extensions;