Mercurial > hg > orthanc-databases
diff Framework/Plugins/StorageBackend.cpp @ 255:d663d9e44f8d
reintroduction of IDatabaseFactory into DatabaseManager
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 14 Apr 2021 17:57:08 +0200 |
parents | 33fa478c119a |
children | cd73e34d5411 |
line wrap: on
line diff
--- a/Framework/Plugins/StorageBackend.cpp Wed Apr 14 15:33:57 2021 +0200 +++ b/Framework/Plugins/StorageBackend.cpp Wed Apr 14 17:57:08 2021 +0200 @@ -56,36 +56,11 @@ namespace OrthancDatabases { - void StorageBackend::SetDatabase(IDatabase* database) + StorageBackend::StorageBackend(IDatabaseFactory* factory) : + manager_(factory) { - if (database == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); - } - else if (manager_.get() != NULL) - { - delete database; - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); - } - else - { - manager_.reset(new DatabaseManager(database)); - } } - DatabaseManager& StorageBackend::GetManager() - { - if (manager_.get() == NULL) - { - throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); - } - else - { - return *manager_; - } - } - - void StorageBackend::AccessorBase::Create(const std::string& uuid, const void* content, size_t size,