Mercurial > hg > orthanc
diff OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp @ 5680:68fc5af30c03
added container class DatabaseConstraints
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 09 Jul 2024 10:09:57 +0200 |
parents | e47ac5e133b1 |
children | 77875b51cf95 |
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Tue Jul 09 08:56:50 2024 +0200 +++ b/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Tue Jul 09 10:09:57 2024 +0200 @@ -405,12 +405,11 @@ LoadTags(ResourceType_Instance); } - void NormalizeLookup(std::vector<DatabaseConstraint>& target, + void NormalizeLookup(DatabaseConstraints& target, const DatabaseLookup& source, ResourceType queryLevel) const { - target.clear(); - target.reserve(source.GetConstraintsCount()); + target.Clear(); for (size_t i = 0; i < source.GetConstraintsCount(); i++) { @@ -429,7 +428,7 @@ level = ResourceType_Study; } - target.push_back(source.GetConstraint(i).ConvertToDatabaseConstraint(level, type)); + target.AddConstraint(source.GetConstraint(i).ConvertToDatabaseConstraint(level, type)); } } } @@ -1687,20 +1686,20 @@ DicomTagConstraint c(tag, ConstraintType_Equal, value, true, true); - std::vector<DatabaseConstraint> query; - query.push_back(c.ConvertToDatabaseConstraint(level, DicomTagType_Identifier)); + DatabaseConstraints query; + query.AddConstraint(c.ConvertToDatabaseConstraint(level, DicomTagType_Identifier)); class Operations : public IReadOnlyOperations { private: - std::vector<std::string>& result_; - const std::vector<DatabaseConstraint>& query_; - ResourceType level_; + std::vector<std::string>& result_; + const DatabaseConstraints& query_; + ResourceType level_; public: Operations(std::vector<std::string>& result, - const std::vector<DatabaseConstraint>& query, + const DatabaseConstraints& query, ResourceType level) : result_(result), query_(query), @@ -1986,7 +1985,7 @@ LabelsConstraint labelsConstraint, uint32_t limit) { - class Operations : public ReadOnlyOperationsT6<bool, const std::vector<DatabaseConstraint>&, ResourceType, + class Operations : public ReadOnlyOperationsT6<bool, const DatabaseConstraints&, ResourceType, const std::set<std::string>&, LabelsConstraint, size_t> { private: @@ -2032,7 +2031,7 @@ ServerToolbox::CheckValidLabel(*it); } - std::vector<DatabaseConstraint> normalized; + DatabaseConstraints normalized; assert(mainDicomTagsRegistry_.get() != NULL); mainDicomTagsRegistry_->NormalizeLookup(normalized, lookup, queryLevel);