|
|
| version 1.2, 2001/12/13 11:09:46 | version 1.16.12.1, 2006/04/09 12:25:04 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: status press center implementation. | Parser: status press center implementation. |
| Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) |
| Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| $Id$ | |
| */ | */ |
| static const char * const IDENT_CACHE_MANAGERS_C="$Date$"; | |
| #include "pa_cache_managers.h" | #include "pa_cache_managers.h" |
| #include "pa_sql_driver_manager.h" | |
| #ifdef XML | |
| #include "pa_stylesheet_manager.h" | |
| #endif | |
| // globals | // globals |
| Cache_managers *cache_managers; | Cache_managers* cache_managers=0; |
| // methods | Cache_managers::Cache_managers() { |
| put("sql", (SQL_driver_manager=new SQL_Driver_manager)); | |
| #ifdef XML | |
| put("stylesheet", (stylesheet_manager=new Stylesheet_manager)); | |
| #endif | |
| } | |
| static void destroy_one(const Hash::Key& akey, Hash::Val *avalue, | static void delete_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, |
| void *) { | int) { |
| static_cast<Cache_manager *>(avalue)->~Cache_manager(); | delete avalue; |
| } | } |
| Cache_managers::~Cache_managers() { | Cache_managers::~Cache_managers() { |
| for_each(destroy_one); | for_each<int>(delete_one, 0); |
| } | } |
| static void maybe_expire_one(const Hash::Key& akey, Hash::Val *avalue, | // methods |
| void *) { | |
| static_cast<Cache_manager *>(avalue)->maybe_expire_cache(); | static void maybe_expire_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, |
| int) { | |
| avalue->maybe_expire_cache(); | |
| } | } |
| void Cache_managers::maybe_expire() { | void Cache_managers::maybe_expire() { |
| for_each(maybe_expire_one); | for_each<int>(maybe_expire_one, 0); |
| } | } |