Annotation of parser3/src/main/pa_cache_managers.C, revision 1.16

1.1       paf         1: /** @file
                      2:        Parser: status press center implementation.
                      3: 
1.16    ! paf         4:        Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
1.4       paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.5       paf         6: */
1.1       paf         7: 
1.16    ! paf         8: static const char * const IDENT_CACHE_MANAGERS_C="$Date: 2004/04/01 11:43:53 $";
1.1       paf         9: 
                     10: #include "pa_cache_managers.h"
                     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.15      paf        28: static void delete_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, 
                     29:                                                int) {
                     30:        delete avalue;
                     31: }
                     32: Cache_managers::~Cache_managers() {
                     33:        for_each(delete_one, 0);
                     34: }
1.1       paf        35: 
                     36: // methods
1.2       paf        37: 
1.9       paf        38: static void maybe_expire_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, 
1.8       paf        39:                                                                                  int) {
                     40:        avalue->maybe_expire_cache();
1.1       paf        41: }
                     42: void Cache_managers::maybe_expire() {
1.8       paf        43:        for_each(maybe_expire_one, 0);
1.1       paf        44: }

E-mail: