CppCMS
cppcms/cache_pool.h
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