--- parser3/src/classes/classes.C 2001/04/28 08:45:15 1.2 +++ parser3/src/classes/classes.C 2001/05/21 16:01:10 1.6 @@ -5,7 +5,7 @@ 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.6 2001/05/21 16:01:10 parser Exp $ */ #include "classes.h" @@ -30,19 +30,31 @@ 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(Request& r) { - for_each(configure_one, &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_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); + // register "operators" as a superclass of all system classes + methoded->set_base(r.OP); methoded->register_directly_used(r); }