CppCMS
|
00001 00002 // 00003 // Copyright (C) 2008-2012 Artyom Beilis (Tonkikh) <artyomtnk@yahoo.com> 00004 // 00005 // See accompanying file COPYING.TXT file for licensing details. 00006 // 00008 #ifndef CPPCMS_CACHE_POOL_H 00009 #define CPPCMS_CACHE_POOL_H 00010 00011 #include <cppcms/defs.h> 00012 #include <booster/noncopyable.h> 00013 #include <booster/intrusive_ptr.h> 00014 #include <booster/hold_ptr.h> 00015 #include <cppcms/base_cache_fwd.h> 00016 00017 namespace cppcms { 00018 namespace json { class value; } 00019 namespace impl { class base_cache; } 00020 00022 class CPPCMS_API cache_pool { 00023 public: 00024 cache_pool(json::value const &settings); 00025 ~cache_pool(); 00026 booster::intrusive_ptr<impl::base_cache> get(); 00027 private: 00028 struct _data; 00029 booster::hold_ptr<_data> d; 00030 }; 00032 } 00033 00034 #endif