Annotation of parser3/src/classes/classes.C, revision 1.18.2.2

1.2       paf         1: /** @file
                      2:        Parser: @b Methoded and Methoded_array classes.
                      3: 
1.18.2.2! paf         4:        Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
1.15      paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.16      paf         6: */
1.2       paf         7: 
1.18.2.2! paf         8: static const char* IDENT_CLASSES_C="$Date: 2003/01/24 14:36:09 $";
1.2       paf         9: 
                     10: #include "classes.h"
                     11: #include "pa_request.h"
                     12: 
                     13: // Methoded
                     14: 
                     15: void Methoded::register_directly_used(Request& r) {
                     16:        if(used_directly())
                     17:                r.classes().put(name(), this);
                     18: }
                     19: 
                     20: // Methoded_array
                     21: 
                     22: // global variable
                     23: 
1.18.2.1  paf        24: Methoded_array methoded_array;
1.2       paf        25: 
                     26: // methods
                     27: 
1.18.2.1  paf        28: Methoded_array::Methoded_array() {
1.2       paf        29: #      include "classes.inc"
                     30: }
                     31: 
1.3       paf        32: static void configure_admin_one(Array::Item *value, void *info) {
1.2       paf        33:        Request& r=*static_cast<Request *>(info);
1.13      paf        34:        if(Methoded *methoded=static_cast<Methoded *>(value))
                     35:                methoded->configure_admin(r);
1.2       paf        36: }
                     37: 
1.3       paf        38: void Methoded_array::configure_admin(Request& r) {
                     39:        for_each(configure_admin_one, &r);
                     40: }
                     41: 
                     42: static void configure_user_one(Array::Item *value, void *info) {
                     43:        Request& r=*static_cast<Request *>(info);
1.13      paf        44:        if(Methoded *methoded=static_cast<Methoded *>(value))
                     45:                methoded->configure_user(r);
1.3       paf        46: }
                     47: 
                     48: void Methoded_array::configure_user(Request& r) {
                     49:        for_each(configure_user_one, &r);
1.2       paf        50: }
                     51: 
                     52: static void register_one(Array::Item *value, void *info) {
                     53:        Request& r=*static_cast<Request *>(info);
1.13      paf        54:        if(Methoded *methoded=static_cast<Methoded *>(value))
                     55:                methoded->register_directly_used(r);
1.2       paf        56: }
                     57: 
                     58: void Methoded_array::register_directly_used(Request& r) {
                     59:        for_each(register_one, &r);
                     60: }

E-mail: