diff OrthancServer/Search/LookupResource.h @ 1756:03b030680e3d db-changes

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 28 Oct 2015 12:14:06 +0100
parents 39c37a994b2f
children 318c2e83c2bd
line wrap: on
line diff
--- a/OrthancServer/Search/LookupResource.h	Wed Oct 28 12:02:15 2015 +0100
+++ b/OrthancServer/Search/LookupResource.h	Wed Oct 28 12:14:06 2015 +0100
@@ -42,7 +42,7 @@
   class LookupResource : public boost::noncopyable
   {
   private:
-    typedef std::list<IFindConstraint*>  Constraints;
+    typedef std::map<DicomTag, IFindConstraint*>  Constraints;
     
     class Level
     {
@@ -58,7 +58,8 @@
 
       ~Level();
 
-      bool Add(std::auto_ptr<IFindConstraint>& constraint);
+      bool Add(const DicomTag& tag,
+               std::auto_ptr<IFindConstraint>& constraint);
 
       void Apply(SetOfResources& candidates,
                  IDatabaseWrapper& database) const;
@@ -72,6 +73,7 @@
     std::auto_ptr<ListConstraint>   modalitiesInStudy_;
 
     bool AddInternal(ResourceType level,
+                     const DicomTag& tag,
                      std::auto_ptr<IFindConstraint>& constraint);
 
     void ApplyLevel(SetOfResources& candidates,
@@ -90,7 +92,8 @@
 
     void SetModalitiesInStudy(const std::string& modalities); 
 
-    void Add(IFindConstraint* constraint);   // Takes ownership
+    void Add(const DicomTag& tag,
+             IFindConstraint* constraint);   // Takes ownership
 
     void AddDicomConstraint(const DicomTag& tag,
                             const std::string& dicomQuery,