Mercurial > hg > orthanc
diff OrthancServer/Search/DatabaseLookup.cpp @ 3033:5da6d1063d8f db-changes
effectively replacing LookupResource by DatabaseLookup in searches
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 19 Dec 2018 13:58:28 +0100 |
parents | fd587cf51a89 |
children | ce272138f15e |
line wrap: on
line diff
--- a/OrthancServer/Search/DatabaseLookup.cpp Wed Dec 19 13:10:48 2018 +0100 +++ b/OrthancServer/Search/DatabaseLookup.cpp Wed Dec 19 13:58:28 2018 +0100 @@ -76,7 +76,7 @@ } - bool DatabaseLookup::IsMatch(const DicomMap& value) + bool DatabaseLookup::IsMatch(const DicomMap& value) const { for (size_t i = 0; i < constraints_.size(); i++) { @@ -227,4 +227,24 @@ AddDicomConstraintInternal(tag, FromDcmtkBridge::LookupValueRepresentation(tag), dicomQuery, caseSensitive, mandatoryTag); } + + + bool DatabaseLookup::HasOnlyMainDicomTags() const + { + std::set<DicomTag> mainTags; + DicomMap::GetMainDicomTags(mainTags); + + for (size_t i = 0; i < constraints_.size(); i++) + { + assert(constraints_[i] != NULL); + + if (mainTags.find(constraints_[i]->GetTag()) == mainTags.end()) + { + // This is not a main DICOM tag + return false; + } + } + + return true; + } }