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

1.1       paf         1: /** @file
                      2:        Parser: status press center implementation.
                      3: 
1.22    ! moko        4:        Copyright (c) 2001-2020 Art. Lebedev Studio (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.18      moko        8: #include "pa_cache_managers.h"
1.1       paf         9: 
1.22    ! moko       10: volatile const char * IDENT_PA_CACHE_MANAGERS_C="$Id: pa_cache_managers.C,v 1.21 2019/11/24 23:31:34 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: