diff Framework/Toolbox/ParsedDicomFileCache.cpp @ 1136:42581a6182c8 broker

reactivation of the cache of parsed DICOM files
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 06 Nov 2019 17:54:14 +0100
parents a8bf81756839
children 6333e6f7248e
line wrap: on
line diff
--- a/Framework/Toolbox/ParsedDicomFileCache.cpp	Wed Nov 06 17:34:58 2019 +0100
+++ b/Framework/Toolbox/ParsedDicomFileCache.cpp	Wed Nov 06 17:54:14 2019 +0100
@@ -26,13 +26,13 @@
   class ParsedDicomFileCache::Item : public Orthanc::ICacheable
   {
   private:
-    boost::mutex                                 mutex_;
-    boost::shared_ptr<Orthanc::ParsedDicomFile>  dicom_;
-    size_t                                       fileSize_;
-    bool                                         hasPixelData_;
+    boost::mutex                             mutex_;
+    std::auto_ptr<Orthanc::ParsedDicomFile>  dicom_;
+    size_t                                   fileSize_;
+    bool                                     hasPixelData_;
     
   public:
-    Item(boost::shared_ptr<Orthanc::ParsedDicomFile> dicom,
+    Item(Orthanc::ParsedDicomFile* dicom,
          size_t fileSize,
          bool hasPixelData) :
       dicom_(dicom),
@@ -55,10 +55,10 @@
       return fileSize_;
     }
 
-    boost::shared_ptr<Orthanc::ParsedDicomFile> GetDicom() const
+    Orthanc::ParsedDicomFile& GetDicom() const
     {
       assert(dicom_.get() != NULL);
-      return dicom_;
+      return *dicom_;
     }
 
     bool HasPixelData() const
@@ -69,7 +69,7 @@
     
 
   void ParsedDicomFileCache::Acquire(const std::string& path,
-                                     boost::shared_ptr<Orthanc::ParsedDicomFile> dicom,
+                                     Orthanc::ParsedDicomFile* dicom,
                                      size_t fileSize,
                                      bool hasPixelData)
   {
@@ -114,7 +114,7 @@
   }
 
   
-  boost::shared_ptr<Orthanc::ParsedDicomFile> ParsedDicomFileCache::Reader::GetDicom() const
+  Orthanc::ParsedDicomFile& ParsedDicomFileCache::Reader::GetDicom() const
   {
     if (item_ == NULL)
     {