diff OrthancServer/FromDcmtkBridge.h @ 302:238134081136

modification of dicom files
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 18 Dec 2012 17:29:30 +0100
parents 4d7469f72a0b
children 4eea080e6e7a
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.h	Mon Dec 17 16:30:39 2012 +0100
+++ b/OrthancServer/FromDcmtkBridge.h	Tue Dec 18 17:29:30 2012 +0100
@@ -62,6 +62,15 @@
   private:
     std::auto_ptr<DcmFileFormat> file_;
 
+    ParsedDicomFile(DcmFileFormat& other) :
+      file_(dynamic_cast<DcmFileFormat*>(other.clone()))
+    {
+    }
+
+    void ReplaceInternal(const DicomTag& tag,
+                         const std::string& value,
+                         bool insertOnAbsent);
+
   public:
     ParsedDicomFile(const std::string& content);
 
@@ -70,8 +79,26 @@
       return *file_;
     }
 
+    ParsedDicomFile* Clone()
+    {
+      return new ParsedDicomFile(*file_);
+    }
+
     void SendPathValue(RestApiOutput& output,
                        const UriComponents& uri);
+
+    void Answer(RestApiOutput& output);
+
+    void Remove(const DicomTag& tag);
+
+    void Replace(const DicomTag& tag,
+                 const std::string& value);
+
+    void Insert(const DicomTag& tag,
+                const std::string& value);
+    
+    void InsertOrReplace(const DicomTag& tag,
+                         const std::string& value);
   };
 
   class FromDcmtkBridge