diff Resources/Orthanc/Plugins/Samples/Common/DicomDatasetReader.h @ 87:3d83d34cd4db

sync, optimizations
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 16 Dec 2016 16:44:14 +0100
parents a59fdb848a7b
children 61e629ce7c94
line wrap: on
line diff
--- a/Resources/Orthanc/Plugins/Samples/Common/DicomDatasetReader.h	Fri Dec 16 14:55:19 2016 +0100
+++ b/Resources/Orthanc/Plugins/Samples/Common/DicomDatasetReader.h	Fri Dec 16 16:44:14 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;
   };
 }