Mercurial > hg > orthanc
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 } |