--- parser3/src/classes/classes.C 2001/04/27 16:48:19 1.1.2.1 +++ parser3/src/classes/classes.C 2001/04/28 15:22:38 1.5 @@ -5,31 +5,49 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: classes.C,v 1.1.2.1 2001/04/27 16:48:19 paf Exp $ + $Id: classes.C,v 1.5 2001/04/28 15:22:38 paf Exp $ */ -#include "m_base.h" +#include "classes.h" +#include "pa_request.h" + +// Methoded + +void Methoded::register_directly_used(Request& r) { + if(used_directly()) + r.classes().put(name(), this); +} // Methoded_array // global variable -extern Methoded_array *methoded_array; +Methoded_array *methoded_array; // methods -Methoded_array::Methoded_array(Pool& pool) : Array(pool) { +Methoded_array::Methoded_array(Pool& apool) : Array(apool) { # include "classes.inc" } -static void configure_one(Array::Item *value, void *info) { +static void configure_admin_one(Array::Item *value, void *info) { + Request& r=*static_cast(info); + Methoded *methoded=static_cast(value); + methoded->configure_admin(r); +} + +void Methoded_array::configure_admin(Request& r) { + for_each(configure_admin_one, &r); +} + +static void configure_user_one(Array::Item *value, void *info) { Request& r=*static_cast(info); Methoded *methoded=static_cast(value); - methoded->configure(r); + methoded->configure_user(r); } -void Methoded_array::configure(Request& r) { - for_each(configure_one, &r); +void Methoded_array::configure_user(Request& r) { + for_each(configure_user_one, &r); } static void register_one(Array::Item *value, void *info) { @@ -47,4 +65,3 @@ void Methoded_array::register_directly_u void init_methoded_array(Pool& pool) { methoded_array=new(pool) Methoded_array(pool); } -