diff OrthancServer/Sources/Database/SQLiteDatabaseWrapper.h @ 4589:bec74e29f86b db-changes

attaching the listener to transactions in IDatabaseWrapper
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 12 Mar 2021 15:33:47 +0100
parents 648defffc8cc
children ff8170d17d90
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/SQLiteDatabaseWrapper.h	Wed Mar 10 17:15:01 2021 +0100
+++ b/OrthancServer/Sources/Database/SQLiteDatabaseWrapper.h	Fri Mar 12 15:33:47 2021 +0100
@@ -43,11 +43,6 @@
 
 namespace Orthanc
 {
-  namespace Internals
-  {
-    class SignalRemainingAncestor;
-  }
-
   /**
    * This class manages an instance of the Orthanc SQLite database. It
    * translates low-level requests into SQL statements. Mutual
@@ -61,13 +56,16 @@
     public Compatibility::ISetResourcesContent
   {
   private:
+    class SignalFileDeleted;
+    class SignalResourceDeleted;
+    class SignalRemainingAncestor;
     class ReadOnlyTransaction;
     class ReadWriteTransaction;
     class LookupFormatter;
 
     IDatabaseListener* listener_;
     SQLite::Connection db_;
-    Internals::SignalRemainingAncestor* signalRemainingAncestor_;
+    SignalRemainingAncestor* signalRemainingAncestor_;
     unsigned int version_;
 
     void GetChangesInternal(std::list<ServerIndexChange>& target,
@@ -100,9 +98,6 @@
       db_.Close();
     }
 
-    virtual void SetListener(IDatabaseListener& listener)
-      ORTHANC_OVERRIDE;
-
     virtual bool LookupParent(int64_t& parentId,
                               int64_t resourceId)
       ORTHANC_OVERRIDE;
@@ -125,7 +120,8 @@
     virtual void GetLastChange(std::list<ServerIndexChange>& target /*out*/)
       ORTHANC_OVERRIDE;
 
-    virtual IDatabaseWrapper::ITransaction* StartTransaction(TransactionType type)
+    virtual IDatabaseWrapper::ITransaction* StartTransaction(TransactionType type,
+                                                             IDatabaseListener& listener)
       ORTHANC_OVERRIDE;
 
     virtual void FlushToDisk()