diff Framework/Plugins/IDatabaseBackend.h @ 532:25cfcb752af6 large-queries

merged find-refactoring -> large-queries
author Alain Mazy <am@orthanc.team>
date Fri, 06 Sep 2024 15:31:33 +0200
parents 2ab3d45c0b3c 451125122692
children 4ecf50a4521c
line wrap: on
line diff
--- a/Framework/Plugins/IDatabaseBackend.h	Tue Jul 09 16:30:52 2024 +0200
+++ b/Framework/Plugins/IDatabaseBackend.h	Fri Sep 06 15:31:33 2024 +0200
@@ -32,6 +32,14 @@
 
 #include <list>
 
+#include <orthanc/OrthancCPlugin.h>
+
+#if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE)         // Macro introduced in Orthanc 1.3.1
+#  if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
+#    include <OrthancDatabasePlugin.pb.h>  // Include protobuf messages for "Find()"
+#  endif
+#endif
+
 namespace OrthancDatabases
 {
   class IDatabaseBackend : public boost::noncopyable
@@ -110,13 +118,13 @@
                             int64_t since,
                             uint32_t limit) = 0;
 
-    virtual void GetChanges2(IDatabaseBackendOutput& output,
-                             bool& done /*out*/,
-                             DatabaseManager& manager,
-                             int64_t since,
-                             int64_t to,
-                             int32_t changeType,
-                             uint32_t limit) = 0;
+    virtual void GetChangesExtended(IDatabaseBackendOutput& output,
+                                    bool& done /*out*/,
+                                    DatabaseManager& manager,
+                                    int64_t since,
+                                    int64_t to,
+                                    int32_t changeType,
+                                    uint32_t limit) = 0;
 
     virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/,
                                        DatabaseManager& manager,
@@ -385,8 +393,16 @@
     // New in Orthanc 1.12.3
     virtual uint64_t MeasureLatency(DatabaseManager& manager) = 0;
 
-    // New in Orthanc 1.13.0
-    virtual bool HasExtendedApiV1() = 0;
+#if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
+    virtual bool HasFindSupport() const = 0;
+    virtual bool HasExtendedChanges() const = 0;
+#endif
 
+#if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
+    // New in Orthanc 1.12.5
+    virtual void ExecuteFind(Orthanc::DatabasePluginMessages::TransactionResponse& response,
+                             DatabaseManager& manager,
+                             const Orthanc::DatabasePluginMessages::Find_Request& request) = 0;
+#endif
   };
 }