--- parser3/src/include/pa_cache_managers.h 2003/09/25 09:15:02 1.11 +++ parser3/src/include/pa_cache_managers.h 2017/02/07 22:00:31 1.22 @@ -1,16 +1,14 @@ /** @file Parser: cache managers center decl. - Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - - $Date: 2003/09/25 09:15:02 $ */ #ifndef PA_CACHE_MANAGERS_H #define PA_CACHE_MANAGERS_H -static const char* IDENT_CACHE_MANAGERS_H="$Date: 2003/09/25 09:15:02 $"; +#define IDENT_PA_CACHE_MANAGERS_H "$Id: pa_cache_managers.h,v 1.22 2017/02/07 22:00:31 moko Exp $" #include "pa_hash.h" #include "pa_value.h" @@ -23,17 +21,21 @@ public: /// if filter_server_id not null, returns status only Cachable -s with matching cacheable_item_server_id() virtual Value* get_status() =0; virtual void maybe_expire_cache() {} + virtual ~Cache_manager() {} }; /// maintains name=>Cache_manager association, can expire its contents -class Cache_managers: public Hash { +class Cache_managers: public HashString { public: + Cache_managers(); + virtual ~Cache_managers(); + /// maybe-expires all caches it contains, each cache manager desides it itself void maybe_expire(); }; /// global -extern Cache_managers cache_managers; +extern Cache_managers* cache_managers; #endif