8 #ifndef CPPCMS_CACHE_INTERFACE_H
9 #define CPPCMS_CACHE_INTERFACE_H
14 #include <cppcms/defs.h>
15 #include <cppcms/serialization_classes.h>
16 #include <booster/noncopyable.h>
17 #include <booster/intrusive_ptr.h>
18 #include <booster/hold_ptr.h>
19 #include <cppcms/cstdint.h>
30 class cache_interface;
85 std::set<std::string> detach();
88 void add(std::string
const &t);
91 std::set<std::string> triggers_;
153 void rise(std::string
const &trigger);
159 void add_trigger(std::string
const &trigger);
179 bool stats(
unsigned &keys,
unsigned &triggers);
195 bool fetch_page(std::string
const &key);
208 void store_page(std::string
const &key,
int timeout=-1);
220 bool fetch_frame(std::string
const &key,std::string &result,
bool notriggers=
false);
233 void store_frame(std::string
const &key,
234 std::string
const &frame,
235 std::set<std::string>
const &triggers=std::set<std::string>(),
237 bool notriggers=
false);
248 void store_frame(std::string
const &key,
249 std::string
const &frame,
251 bool notriggers=
false);
263 template<
typename Serializable>
264 bool fetch_data(std::string
const &key,Serializable &data,
bool notriggers=
false)
267 if(!fetch(key,buffer,notriggers))
284 template<
typename Serializable>
285 void store_data(std::string
const &key,Serializable
const &data,
286 std::set<std::string>
const &triggers=std::set<std::string>(),
287 int timeout=-1,
bool notriggers=
false)
291 store(key,buffer,triggers,timeout,notriggers);
304 template<
typename Serializable>
305 void store_data(std::string
const &key,Serializable
const &data,
int timeout,
bool notriggers=
false)
307 store_data<Serializable>(key,data,std::set<std::string>(),timeout,notriggers);
318 void store( std::string
const &key,
319 std::string
const &data,
320 std::set<std::string>
const &triggers,
324 bool fetch( std::string
const &key,
331 std::set<std::string> triggers_;
332 std::set<triggers_recorder *> recorders_;
335 uint32_t page_compression_used_ : 1;
336 uint32_t reserved : 31;
void store_data(std::string const &key, Serializable const &data, std::set< std::string > const &triggers=std::set< std::string >(), int timeout=-1, bool notriggers=false)
Definition: cache_interface.h:285
bool fetch_data(std::string const &key, Serializable &data, bool notriggers=false)
Definition: cache_interface.h:264
static void load(std::string const &serialized_object, Object &real_object)
context is a central class that holds all specific connection related information. It encapsulates CGI request and response, cache, session and locale information
Definition: http_context.h:45
void store_data(std::string const &key, Serializable const &data, int timeout, bool notriggers=false)
Definition: cache_interface.h:305
triggers_recorder is a class that allows you to record all triggers added in certain scope...
Definition: cache_interface.h:71
This class is the major gateway of the application to CppCMS caching abilities. Any access too cache ...
Definition: cache_interface.h:137
This class makes impossible to copy any class derived from this one.
Definition: noncopyable.h:15
static void save(Object const &real_object, std::string &serialized_object)