diff OrthancServer/FromDcmtkBridge.h @ 304:4eea080e6e7a

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 19 Dec 2012 14:57:18 +0100
parents 238134081136
children 86bb79522f19
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.h	Tue Dec 18 19:01:01 2012 +0100
+++ b/OrthancServer/FromDcmtkBridge.h	Wed Dec 19 14:57:18 2012 +0100
@@ -71,8 +71,23 @@
                          const std::string& value,
                          bool insertOnAbsent);
 
+    void Setup(const char* content,
+               size_t size);
+
   public:
-    ParsedDicomFile(const std::string& content);
+    ParsedDicomFile(const char* content,
+                    size_t size)
+    {
+      Setup(content, size);
+    }
+
+    ParsedDicomFile(const std::string& content)
+    {
+      if (content.size() == 0)
+        Setup(NULL, 0);
+      else
+        Setup(&content[0], content.size());
+    }
 
     DcmFileFormat& GetDicom()
     {
@@ -130,30 +145,30 @@
 
     static std::string GetName(const DicomTag& tag);
 
-    static DicomTag FindTag(const char* name);
+    static DicomTag ParseTag(const char* name);
 
-    static DicomTag FindTag(const std::string& name)
+    static DicomTag ParseTag(const std::string& name)
     {
-      return FindTag(name.c_str());
+      return ParseTag(name.c_str());
     }
 
     static bool HasTag(const DicomMap& fields,
                        const std::string& tagName)
     {
-      return fields.HasTag(FindTag(tagName));
+      return fields.HasTag(ParseTag(tagName));
     }
 
     static const DicomValue& GetValue(const DicomMap& fields,
                                       const std::string& tagName)
     {
-      return fields.GetValue(FindTag(tagName));
+      return fields.GetValue(ParseTag(tagName));
     }
 
     static void SetValue(DicomMap& target,
                          const std::string& tagName,
                          DicomValue* value)
     {
-      target.SetValue(FindTag(tagName), value);
+      target.SetValue(ParseTag(tagName), value);
     }
 
     static void Print(FILE* fp,