--- parser3/src/classes/classes.C 2001/04/28 08:45:15 1.2 +++ parser3/src/classes/classes.C 2001/09/26 10:32:25 1.9 @@ -2,10 +2,9 @@ Parser: @b Methoded and Methoded_array classes. Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) - $Id: classes.C,v 1.2 2001/04/28 08:45:15 paf Exp $ + $Id: classes.C,v 1.9 2001/09/26 10:32:25 parser Exp $ */ #include "classes.h" @@ -30,20 +29,30 @@ Methoded_array::Methoded_array(Pool& apo # 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(r); + methoded->configure_admin(r); +} + +void Methoded_array::configure_admin(Request& r) { + for_each(configure_admin_one, &r); } -void Methoded_array::configure(Request& r) { - for_each(configure_one, &r); +static void configure_user_one(Array::Item *value, void *info) { + Request& r=*static_cast(info); + if(Methoded *methoded=static_cast(value)) + methoded->configure_user(r); +} + +void Methoded_array::configure_user(Request& r) { + for_each(configure_user_one, &r); } static void register_one(Array::Item *value, void *info) { Request& r=*static_cast(info); - Methoded *methoded=static_cast(value); - methoded->register_directly_used(r); + if(Methoded *methoded=static_cast(value)) + methoded->register_directly_used(r); } void Methoded_array::register_directly_used(Request& r) {