diff OrthancServer/Sources/Database/Compatibility/DatabaseLookup.cpp @ 5680:68fc5af30c03

added container class DatabaseConstraints
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 09 Jul 2024 10:09:57 +0200
parents f7adfb22e20e
children
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/Compatibility/DatabaseLookup.cpp	Tue Jul 09 08:56:50 2024 +0200
+++ b/OrthancServer/Sources/Database/Compatibility/DatabaseLookup.cpp	Tue Jul 09 10:09:57 2024 +0200
@@ -153,7 +153,7 @@
     static void ApplyLevel(SetOfResources& candidates,
                            IDatabaseWrapper::ITransaction& transaction,
                            ILookupResources& compatibility,
-                           const std::vector<DatabaseConstraint>& lookup,
+                           const DatabaseConstraints& lookup,
                            ResourceType level)
     {
       typedef std::set<const DatabaseConstraint*>  SetOfConstraints;
@@ -166,17 +166,19 @@
       Identifiers       identifiers;
       SetOfConstraints  mainTags;
       
-      for (size_t i = 0; i < lookup.size(); i++)
+      for (size_t i = 0; i < lookup.GetSize(); i++)
       {
-        if (lookup[i].GetLevel() == level)
+        const DatabaseConstraint& constraint = lookup.GetConstraint(i);
+
+        if (constraint.GetLevel() == level)
         {
-          if (lookup[i].IsIdentifier())
+          if (constraint.IsIdentifier())
           {
-            identifiers[lookup[i].GetTag()].insert(&lookup[i]);
+            identifiers[constraint.GetTag()].insert(&constraint);
           }
           else
           {
-            mainTags.insert(&lookup[i]);
+            mainTags.insert(&constraint);
           }
         }
       }
@@ -306,7 +308,7 @@
 
     void DatabaseLookup::ApplyLookupResources(std::list<std::string>& resourcesId,
                                               std::list<std::string>* instancesId,
-                                              const std::vector<DatabaseConstraint>& lookup,
+                                              const DatabaseConstraints& lookup,
                                               ResourceType queryLevel,
                                               size_t limit)
     {
@@ -320,9 +322,9 @@
       ResourceType upperLevel = queryLevel;
       ResourceType lowerLevel = queryLevel;
 
-      for (size_t i = 0; i < lookup.size(); i++)
+      for (size_t i = 0; i < lookup.GetSize(); i++)
       {
-        ResourceType level = lookup[i].GetLevel();
+        ResourceType level = lookup.GetConstraint(i).GetLevel();
 
         if (level < upperLevel)
         {