Mercurial > hg > orthanc
comparison OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp @ 5517:0d433132b249 pg-transactions
refactoring IDatabaseWrapper::Capabilities
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 29 Jan 2024 19:19:52 +0100 |
parents | 4dd50c4b985a |
children | 2c5eb1ef26a0 |
comparison
equal
deleted
inserted
replaced
5516:d9c9f3c57f4f | 5517:0d433132b249 |
---|---|
303 // Destructors must not throw exceptions | 303 // Destructors must not throw exceptions |
304 LOG(ERROR) << "Cannot finalize the database engine: " << e.What(); | 304 LOG(ERROR) << "Cannot finalize the database engine: " << e.What(); |
305 } | 305 } |
306 } | 306 } |
307 | 307 |
308 virtual const IDatabaseWrapper::Capabilities& GetDatabaseCapabilities() const ORTHANC_OVERRIDE | 308 virtual const Capabilities GetDatabaseCapabilities() const ORTHANC_OVERRIDE |
309 { | 309 { |
310 return database_.GetDatabaseCapabilities(); | 310 return database_.GetDatabaseCapabilities(); |
311 } | 311 } |
312 | 312 |
313 void* GetTransactionObject() | 313 void* GetTransactionObject() |
1290 library_(library), | 1290 library_(library), |
1291 errorDictionary_(errorDictionary), | 1291 errorDictionary_(errorDictionary), |
1292 definition_(database), | 1292 definition_(database), |
1293 serverIdentifier_(serverIdentifier), | 1293 serverIdentifier_(serverIdentifier), |
1294 open_(false), | 1294 open_(false), |
1295 databaseVersion_(0), | 1295 databaseVersion_(0) |
1296 dbCapabilities_(false, false, false, false, false, false) // updated in Open() | |
1297 { | 1296 { |
1298 CLOG(INFO, PLUGINS) << "Identifier of this Orthanc server for the global properties " | 1297 CLOG(INFO, PLUGINS) << "Identifier of this Orthanc server for the global properties " |
1299 << "of the custom database: \"" << serverIdentifier << "\""; | 1298 << "of the custom database: \"" << serverIdentifier << "\""; |
1300 | 1299 |
1301 if (definition_.backend == NULL || | 1300 if (definition_.backend == NULL || |
1361 DatabasePluginMessages::DatabaseResponse response; | 1360 DatabasePluginMessages::DatabaseResponse response; |
1362 ExecuteDatabase(response, *this, DatabasePluginMessages::OPERATION_GET_SYSTEM_INFORMATION, request); | 1361 ExecuteDatabase(response, *this, DatabasePluginMessages::OPERATION_GET_SYSTEM_INFORMATION, request); |
1363 | 1362 |
1364 const ::Orthanc::DatabasePluginMessages::GetSystemInformation_Response& systemInfo = response.get_system_information(); | 1363 const ::Orthanc::DatabasePluginMessages::GetSystemInformation_Response& systemInfo = response.get_system_information(); |
1365 databaseVersion_ = systemInfo.database_version(); | 1364 databaseVersion_ = systemInfo.database_version(); |
1366 dbCapabilities_.hasFlushToDisk_ = systemInfo.supports_flush_to_disk(); | 1365 dbCapabilities_.SetFlushToDisk(systemInfo.supports_flush_to_disk()); |
1367 dbCapabilities_.hasRevisionsSupport_ = systemInfo.supports_revisions(); | 1366 dbCapabilities_.SetRevisionsSupport(systemInfo.supports_revisions()); |
1368 dbCapabilities_.hasLabelsSupport_ = systemInfo.supports_labels(); | 1367 dbCapabilities_.SetLabelsSupport(systemInfo.supports_labels()); |
1369 dbCapabilities_.hasAtomicIncrementGlobalProperty_ = systemInfo.supports_increment_global_property(); | 1368 dbCapabilities_.SetAtomicIncrementGlobalProperty(systemInfo.supports_increment_global_property()); |
1370 dbCapabilities_.hasUpdateAndGetStatistics_ = systemInfo.has_update_and_get_statistics(); | 1369 dbCapabilities_.SetUpdateAndGetStatistics(systemInfo.has_update_and_get_statistics()); |
1371 dbCapabilities_.hasMeasureLatency_ = systemInfo.has_measure_latency(); | 1370 dbCapabilities_.SetMeasureLatency(systemInfo.has_measure_latency()); |
1372 } | 1371 } |
1373 | 1372 |
1374 open_ = true; | 1373 open_ = true; |
1375 } | 1374 } |
1376 | 1375 |
1489 throw; | 1488 throw; |
1490 } | 1489 } |
1491 } | 1490 } |
1492 } | 1491 } |
1493 | 1492 |
1494 const IDatabaseWrapper::Capabilities& OrthancPluginDatabaseV4::GetDatabaseCapabilities() const | 1493 |
1494 const IDatabaseWrapper::Capabilities OrthancPluginDatabaseV4::GetDatabaseCapabilities() const | |
1495 { | 1495 { |
1496 if (!open_) | 1496 if (!open_) |
1497 { | 1497 { |
1498 throw OrthancException(ErrorCode_BadSequenceOfCalls); | 1498 throw OrthancException(ErrorCode_BadSequenceOfCalls); |
1499 } | 1499 } |
1500 else | 1500 else |
1501 { | 1501 { |
1502 return dbCapabilities_; | 1502 return dbCapabilities_; |
1503 } | 1503 } |
1504 } | 1504 } |
1505 | |
1506 | |
1507 } | 1505 } |