Annotation of parser3/src/main/pa_cache_managers.C, revision 1.24
1.1 paf 1: /** @file
2: Parser: status press center implementation.
3:
1.24 ! moko 4: Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com)
1.23 moko 5: Authors: Konstantin Morshnev <moko@design.ru>, Alexandr Petrosian <paf@design.ru>
1.5 paf 6: */
1.1 paf 7:
1.18 moko 8: #include "pa_cache_managers.h"
1.1 paf 9:
1.24 ! moko 10: volatile const char * IDENT_PA_CACHE_MANAGERS_C="$Id: pa_cache_managers.C,v 1.23 2023/09/26 20:49:09 moko Exp $" IDENT_PA_CACHE_MANAGERS_H;
1.1 paf 11:
1.11 paf 12: #include "pa_sql_driver_manager.h"
1.14 paf 13: #ifdef XML
1.11 paf 14: #include "pa_stylesheet_manager.h"
1.14 paf 15: #endif
1.11 paf 16:
1.1 paf 17: // globals
18:
1.12 paf 19: Cache_managers* cache_managers=0;
1.11 paf 20:
21: Cache_managers::Cache_managers() {
22: put("sql", (SQL_driver_manager=new SQL_Driver_manager));
1.14 paf 23: #ifdef XML
1.11 paf 24: put("stylesheet", (stylesheet_manager=new Stylesheet_manager));
1.14 paf 25: #endif
1.11 paf 26: }
27:
1.21 moko 28: static void delete_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, int) {
1.15 paf 29: delete avalue;
30: }
31: Cache_managers::~Cache_managers() {
1.17 paf 32: for_each<int>(delete_one, 0);
1.15 paf 33: }
1.1 paf 34:
35: // methods
1.2 paf 36:
1.21 moko 37: static void maybe_expire_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, int) {
1.8 paf 38: avalue->maybe_expire_cache();
1.1 paf 39: }
1.21 moko 40:
1.1 paf 41: void Cache_managers::maybe_expire() {
1.17 paf 42: for_each<int>(maybe_expire_one, 0);
1.1 paf 43: }
E-mail: