Annotation of parser3/src/include/pa_cache_managers.h, revision 1.2
1.1 paf 1: /** @file
2: Parser: cache managers center decl.
3:
4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
5: Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
6:
1.2 ! paf 7: $Id: pa_cache_managers.h,v 1.1 2001/11/08 11:04:12 paf Exp $
1.1 paf 8: */
9:
10: #ifndef PA_CACHE_MANAGERS_H
11: #define PA_CACHE_MANAGERS_H
12:
13: #include "pa_config_includes.h"
14: #include "pa_hash.h"
15: #include "pa_value.h"
16:
17: // defines
18:
19: // forwards
20:
21: /// maintains name=>Cache_manager association, can expire its contents
22: class Cache_managers : public Hash {
23: public:
24: Cache_managers(Pool& apool) : Hash(apool) {
25: }
26:
27: /// maybe-expires all caches it contains, each cache manager desides it itself
28: void maybe_expire();
29:
30: };
31:
32: /// can return status and can expire it contents
1.2 ! paf 33: class Cache_manager : public Pooled {
1.1 paf 34: public:
1.2 ! paf 35: Cache_manager(Pool& apool) : Pooled(apool) {}
! 36:
1.1 paf 37: /// if filter_server_id not null, returns status only Cachable -s with matching cacheable_item_server_id()
38: virtual Value& get_status(Pool& pool, const String *source) =0;
39: virtual void maybe_expire_cache() {}
40: };
41:
42: /// global
43: extern Cache_managers *cache_managers;
44:
45: #endif
E-mail: