diff Framework/Plugins/StorageBackend.h @ 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 567761f0c1ea
line wrap: on
line diff
--- a/Framework/Plugins/StorageBackend.h	Wed Apr 14 15:33:57 2021 +0200
+++ b/Framework/Plugins/StorageBackend.h	Wed Apr 14 17:57:08 2021 +0200
@@ -74,11 +74,9 @@
   private:
     class StringVisitor;
     
-    boost::mutex                       mutex_;
-    std::unique_ptr<DatabaseManager>   manager_;
+    boost::mutex      mutex_;
+    DatabaseManager   manager_;
 
-    DatabaseManager& GetManager();
-    
   protected:
     class AccessorBase : public IAccessor
     {
@@ -89,7 +87,7 @@
     public:
       explicit AccessorBase(StorageBackend& backend) :
         lock_(backend.mutex_),
-        manager_(backend.GetManager())
+        manager_(backend.manager_)
       {
       }
 
@@ -117,11 +115,11 @@
                           OrthancPluginContentType type) ORTHANC_OVERRIDE;
     };
     
-    void SetDatabase(IDatabase* database);  // Takes ownership
-
     virtual bool HasReadRange() const = 0;
 
   public:
+    StorageBackend(IDatabaseFactory* factory);  // Takes ownership
+
     virtual ~StorageBackend()
     {
     }