File:  [parser3project] / parser3 / src / main / pa_cache_managers.C
Revision 1.16.12.1: download - view: text, annotated - select for diffs - revision graph
Sun Apr 9 12:25:04 2006 UTC (20 years, 3 months ago) by paf
Diff to: branchpoint 1.16: preferred, unified
! switched to VS2005 (projects and object<info explicitly typed>.for_each(, info))
+ $response:field[] setting void means removing
+ grammar $name` name stops now, for mysql `$field`
+ started ^break[] ^continue[], in ^for. TODO: to other iterators (while, menu, foreach)
+ all log messages += [uri=, method=, cl=]

/** @file
	Parser: status press center implementation.

	Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
	Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
*/

static const char * const IDENT_CACHE_MANAGERS_C="$Date: 2006/04/09 12:25:04 $";

#include "pa_cache_managers.h"

#include "pa_sql_driver_manager.h"
#ifdef XML
#include "pa_stylesheet_manager.h"
#endif

// globals

Cache_managers* cache_managers=0;

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 delete_one(Cache_managers::key_type /*akey*/, Cache_managers::value_type avalue, 
						int) {
	delete avalue;
}
Cache_managers::~Cache_managers() {
	for_each<int>(delete_one, 0);
}

// methods

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() {
	for_each<int>(maybe_expire_one, 0);
}

E-mail: