diff OrthancServer/Search/Compatibility/CompatibilityDatabaseWrapper.h @ 3084:195ba4cbac3f db-changes

reorganization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 04 Jan 2019 16:42:55 +0100
parents 683d572424b6
children
line wrap: on
line diff
--- a/OrthancServer/Search/Compatibility/CompatibilityDatabaseWrapper.h	Fri Jan 04 15:52:19 2019 +0100
+++ b/OrthancServer/Search/Compatibility/CompatibilityDatabaseWrapper.h	Fri Jan 04 16:42:55 2019 +0100
@@ -33,9 +33,7 @@
 
 #pragma once
 
-#include "../../ServerToolbox.h"
-#include "ICompatibilityCreateInstance.h"
-#include "ISetResourcesContent.h"
+#include "../../IDatabaseWrapper.h"
 
 namespace Orthanc
 {
@@ -46,26 +44,13 @@
      * that were used in Orthanc <= 1.5.1, and that have been removed
      * during the optimization of the database engine.
      **/
-    class CompatibilityDatabaseWrapper :
-      public ICompatibilityCreateInstance,
-      public ISetResourcesContent
+    class CompatibilityDatabaseWrapper : public boost::noncopyable
     {     
     public:
-      virtual void ApplyLookupResources(std::list<std::string>& resourcesId,
-                                        std::list<std::string>* instancesId,
-                                        const std::vector<DatabaseConstraint>& lookup,
-                                        ResourceType queryLevel,
-                                        size_t limit)
-        ORTHANC_OVERRIDE;
-
-      virtual bool CreateInstance(CreateInstanceResult& result,
-                                  int64_t& instanceId,
-                                  const std::string& patient,
-                                  const std::string& study,
-                                  const std::string& series,
-                                  const std::string& instance)
-        ORTHANC_OVERRIDE;
-
+      virtual ~CompatibilityDatabaseWrapper()
+      {
+      }
+      
       virtual void GetAllInternalIds(std::list<int64_t>& target,
                                      ResourceType resourceType) = 0;
       
@@ -80,6 +65,14 @@
                                          const DicomTag& tag,
                                          const std::string& start,
                                          const std::string& end) = 0;
+
+      static void Apply(IDatabaseWrapper& database,
+                        CompatibilityDatabaseWrapper& compatibility,
+                        std::list<std::string>& resourcesId,
+                        std::list<std::string>* instancesId,
+                        const std::vector<DatabaseConstraint>& lookup,
+                        ResourceType queryLevel,
+                        size_t limit);
     };
   }
 }