diff OrthancServer/Sources/Database/FindResponse.h @ 5595:a87f2a56257d find-refactoring

implemented FindRequest::retrieveChildrenMetadata_
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 May 2024 12:53:12 +0200
parents a906dc19264c
children 81a29ad7fb4b
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/FindResponse.h	Sat May 04 15:25:19 2024 +0200
+++ b/OrthancServer/Sources/Database/FindResponse.h	Tue May 07 12:53:12 2024 +0200
@@ -62,7 +62,8 @@
     private:
       class DicomValue;
 
-      typedef std::map<DicomTag, DicomValue*>  MainDicomTags;
+      typedef std::map<DicomTag, DicomValue*>                  MainDicomTags;
+      typedef std::map<MetadataType, std::list<std::string>*>  ChildrenMetadata;
 
       ResourceType                          level_;
       std::string                           identifier_;
@@ -74,6 +75,7 @@
       std::set<std::string>                 labels_;      
       std::map<MetadataType, std::string>   metadata_;
       std::map<FileContentType, FileInfo>   attachments_;
+      ChildrenMetadata                      childrenMetadata_;
 
       ChildrenAtLevel& GetChildrenAtLevel(ResourceType level);
 
@@ -170,7 +172,15 @@
       bool LookupAttachment(FileInfo& target,
                             FileContentType type) const;
 
-      void Format(Json::Value& target,
+      void AddChildrenMetadata(MetadataType metadata,
+                               const std::list<std::string>& values);
+
+      bool LookupChildrenMetadata(std::list<std::string>& values,
+                                  MetadataType metadata) const;
+
+      SeriesStatus GetSeriesStatus(uint32_t& expecterNumberOfInstances) const;
+
+      void Expand(Json::Value& target,
                   const FindRequest& request) const;
     };