Mercurial > hg > orthanc
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) {