diff Plugins/Samples/Common/DicomDatasetReader.h @ 2238:4f0a9a61d905

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 16 Dec 2016 16:22:38 +0100
parents de32f3b4ff09
children df47c45694ed
line wrap: on
line diff
--- a/Plugins/Samples/Common/DicomDatasetReader.h	Fri Dec 16 14:45:40 2016 +0100
+++ b/Plugins/Samples/Common/DicomDatasetReader.h	Fri Dec 16 16:22:38 2016 +0100
@@ -35,26 +35,34 @@
 #include "IDicomDataset.h"
 
 #include <memory>
+#include <vector>
 
 namespace OrthancPlugins
 {
   class DicomDatasetReader : public boost::noncopyable
   {
   private:
-    std::auto_ptr<IDicomDataset>  dataset_;
+    const IDicomDataset&  dataset_;
 
   public:
-    DicomDatasetReader(IDicomDataset* dataset);  // takes ownership
+    DicomDatasetReader(const IDicomDataset& dataset);
 
-    IDicomDataset& GetDataset() const
+    const IDicomDataset& GetDataset() const
     {
-      return *dataset_;
+      return dataset_;
     }
 
+    std::string GetStringValue(const DicomPath& path,
+                               const std::string& defaultValue) const;
+
     std::string GetMandatoryStringValue(const DicomPath& path) const;
 
-    int GetIntegerValue(const DicomPath& path);
+    int GetIntegerValue(const DicomPath& path) const;
+
+    unsigned int GetUnsignedIntegerValue(const DicomPath& path) const;
 
-    unsigned int GetUnsignedIntegerValue(const DicomPath& path);
+    float GetFloatValue(const DicomPath& path) const;
+
+    double GetDoubleValue(const DicomPath& path) const;
   };
 }