diff Core/DicomFormat/DicomMap.h @ 1364:111e23bb4904 query-retrieve

integration mainline->query-retrieve
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 21 May 2015 16:58:30 +0200
parents 67e6400fca03 0649c5aef34a
children ec66a16aa398
line wrap: on
line diff
--- a/Core/DicomFormat/DicomMap.h	Wed Jun 25 15:34:40 2014 +0200
+++ b/Core/DicomFormat/DicomMap.h	Thu May 21 16:58:30 2015 +0200
@@ -1,7 +1,7 @@
 /**
  * Orthanc - A Lightweight, RESTful DICOM Store
- * Copyright (C) 2012-2014 Medical Physics Department, CHU of Liege,
- * Belgium
+ * Copyright (C) 2012-2015 Sebastien Jodogne, Medical Physics
+ * Department, University Hospital of Liege, Belgium
  *
  * This program is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -78,8 +78,15 @@
       Clear();
     }
 
+    size_t GetSize() const
+    {
+      return map_.size();
+    }
+    
     DicomMap* Clone() const;
 
+    void Assign(const DicomMap& other);
+
     void Clear();
 
     void SetValue(uint16_t group, 
@@ -125,11 +132,13 @@
 
     const DicomValue& GetValue(const DicomTag& tag) const;
 
+    // DO NOT delete the returned value!
     const DicomValue* TestAndGetValue(uint16_t group, uint16_t element) const
     {
       return TestAndGetValue(DicomTag(group, element));
     }       
 
+    // DO NOT delete the returned value!
     const DicomValue* TestAndGetValue(const DicomTag& tag) const;
 
     void Remove(const DicomTag& tag);
@@ -161,7 +170,8 @@
 
     static void GetMainDicomTags(std::set<DicomTag>& result);
 
-    void ExtractMainDicomTagsForLevel(DicomMap& result,
-                                      ResourceType level) const;
+    void Print(FILE* fp) const;
+
+    void GetTags(std::set<DicomTag>& tags) const;
   };
 }