diff OrthancServer/ServerContext.cpp @ 291:4d7469f72a0b

embedding of dicom dictionaries
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 14 Dec 2012 15:15:48 +0100
parents 40d3bf6cc8d9
children 4eea080e6e7a
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp	Fri Dec 14 11:24:24 2012 +0100
+++ b/OrthancServer/ServerContext.cpp	Fri Dec 14 15:15:48 2012 +0100
@@ -36,6 +36,8 @@
 
 #include <glog/logging.h>
 
+#define ENABLE_DICOM_CACHE  1
+
 
 static const size_t DICOM_CACHE_SIZE = 2;
 
@@ -178,6 +180,12 @@
 
   ParsedDicomFile& ServerContext::GetDicomFile(const std::string& instancePublicId)
   {
+#if ENABLE_DICOM_CACHE == 0
+    static std::auto_ptr<IDynamicObject> p;
+    p.reset(provider_.Provide(instancePublicId));
+    return dynamic_cast<ParsedDicomFile&>(*p);
+#else
     return dynamic_cast<ParsedDicomFile&>(dicomCache_.Access(instancePublicId));
+#endif
   }
 }