diff OrthancServer/Sources/ResourceFinder.h @ 5609:4690a0d2b01e find-refactoring

preliminary support of requestedTags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 08 May 2024 18:28:36 +0200
parents 3d0aa94b44b3
children a10978a5e65c
line wrap: on
line diff
--- a/OrthancServer/Sources/ResourceFinder.h	Wed May 08 13:37:23 2024 +0200
+++ b/OrthancServer/Sources/ResourceFinder.h	Wed May 08 18:28:36 2024 +0200
@@ -35,8 +35,13 @@
   private:
     FindRequest        request_;
     bool               expand_;
-    std::set<DicomTag> requestedTags_;
     DicomToJsonFormat  format_;
+    bool               hasRequestedTags_;
+    std::set<DicomTag> requestedPatientTags_;
+    std::set<DicomTag> requestedStudyTags_;
+    std::set<DicomTag> requestedSeriesTags_;
+    std::set<DicomTag> requestedInstanceTags_;
+    std::set<DicomTag> requestedTagsFromFileStorage_;
     bool               includeAllMetadata_;   // Same as: ExpandResourceFlags_IncludeAllMetadata
 
     SeriesStatus GetSeriesStatus(uint32_t& expectedNumberOfInstances,
@@ -50,11 +55,6 @@
     ResourceFinder(ResourceType level,
                    bool expand);
 
-    void SetRequestedTags(const std::set<DicomTag>& tags)
-    {
-      requestedTags_ = tags;
-    }
-
     void SetFormat(DicomToJsonFormat format)
     {
       format_ = format;
@@ -71,6 +71,10 @@
       includeAllMetadata_ = include;
     }
 
+    void AddRequestedTags(const DicomTag& tag);
+
+    void AddRequestedTags(const std::set<DicomTag>& tags);
+
     void Execute(Json::Value& target,
                  ServerContext& context);
   };