diff Framework/Plugins/IDatabaseBackend.h @ 525:451125122692 find-refactoring

created branch find-refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 19 Jul 2024 13:59:27 +0200
parents 54d518dcd74a
children 25cfcb752af6
line wrap: on
line diff
--- a/Framework/Plugins/IDatabaseBackend.h	Thu Jun 06 14:43:38 2024 +0200
+++ b/Framework/Plugins/IDatabaseBackend.h	Fri Jul 19 13:59:27 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
@@ -377,6 +385,15 @@
     // New in Orthanc 1.12.3
     virtual uint64_t MeasureLatency(DatabaseManager& manager) = 0;
 
+#if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 12, 5)
+    virtual bool HasFindSupport() 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
   };
 }