comparison 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
comparison
equal deleted inserted replaced
290:b3322636b06d 291:4d7469f72a0b
33 #include "ServerContext.h" 33 #include "ServerContext.h"
34 34
35 #include "../Core/HttpServer/FilesystemHttpSender.h" 35 #include "../Core/HttpServer/FilesystemHttpSender.h"
36 36
37 #include <glog/logging.h> 37 #include <glog/logging.h>
38
39 #define ENABLE_DICOM_CACHE 1
38 40
39 41
40 static const size_t DICOM_CACHE_SIZE = 2; 42 static const size_t DICOM_CACHE_SIZE = 2;
41 43
42 /** 44 /**
176 } 178 }
177 179
178 180
179 ParsedDicomFile& ServerContext::GetDicomFile(const std::string& instancePublicId) 181 ParsedDicomFile& ServerContext::GetDicomFile(const std::string& instancePublicId)
180 { 182 {
183 #if ENABLE_DICOM_CACHE == 0
184 static std::auto_ptr<IDynamicObject> p;
185 p.reset(provider_.Provide(instancePublicId));
186 return dynamic_cast<ParsedDicomFile&>(*p);
187 #else
181 return dynamic_cast<ParsedDicomFile&>(dicomCache_.Access(instancePublicId)); 188 return dynamic_cast<ParsedDicomFile&>(dicomCache_.Access(instancePublicId));
189 #endif
182 } 190 }
183 } 191 }