diff OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp @ 5593:862b54b4cfe2 find-refactoring

implemented the default multi-stage find/expand
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 04 May 2024 11:35:34 +0200
parents b0b5546f1b9f
children 4640b7ae9a11
line wrap: on
line diff
--- a/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp	Fri May 03 21:26:06 2024 +0200
+++ b/OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp	Sat May 04 11:35:34 2024 +0200
@@ -1279,11 +1279,31 @@
 
 
     virtual void ExecuteFind(FindResponse& response,
-                             const FindRequest& request, 
+                             const FindRequest& request,
+                             const std::vector<DatabaseConstraint>& normalized) ORTHANC_OVERRIDE
+    {
+      // TODO-FIND
+      throw OrthancException(ErrorCode_NotImplemented);
+    }
+
+
+    virtual void ExecuteFind(std::list<std::string>& identifiers,
+                             const FindRequest& request,
                              const std::vector<DatabaseConstraint>& normalized) ORTHANC_OVERRIDE
     {
+      // TODO-FIND
       Compatibility::GenericFind find(*this);
-      find.Execute(response, request);
+      find.ExecuteFind(identifiers, request, normalized);
+    }
+
+
+    virtual void ExecuteExpand(FindResponse& response,
+                               const FindRequest& request,
+                               const std::string& identifier) ORTHANC_OVERRIDE
+    {
+      // TODO-FIND
+      Compatibility::GenericFind find(*this);
+      find.ExecuteExpand(response, request, identifier);
     }
   };
 
@@ -1499,4 +1519,10 @@
       return dbCapabilities_;
     }
   }
+
+
+  bool OrthancPluginDatabaseV4::HasIntegratedFind() const
+  {
+    return false;  // TODO-FIND
+  }
 }