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

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.4! paf         8: static const char* IDENT_CLASSES_C="$Date: 2003/02/14 17:28:18 $";
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) {
1.18.2.4! paf        16:        if(used_directly()) {
1.18.2.3  paf        17:                r.classes().put(name(), MethodedPtr(this));
1.18.2.4! paf        18: 
        !            19:                // prevent system classes from modification [calling add_method]
        !            20:                // ^process[$string:CLASS]{@method} prohibited from now on...
        !            21:                this->lock();
        !            22:        }
1.2       paf        23: }
                     24: 
                     25: // Methoded_array
                     26: 
                     27: // global variable
                     28: 
1.18.2.1  paf        29: Methoded_array methoded_array;
1.2       paf        30: 
                     31: // methods
                     32: 
1.18.2.1  paf        33: Methoded_array::Methoded_array() {
1.2       paf        34: #      include "classes.inc"
                     35: }
                     36: 
1.18.2.3  paf        37: static void configure_admin_one(Methoded_array::element_type methoded, Request *r) {
                     38:        //[ptr porting]why check? if(methoded)
                     39:                methoded->configure_admin(*r);
1.2       paf        40: }
                     41: 
1.3       paf        42: void Methoded_array::configure_admin(Request& r) {
                     43:        for_each(configure_admin_one, &r);
                     44: }
                     45: 
1.18.2.3  paf        46: static void configure_user_one(Methoded_array::element_type methoded, Request *r) {
                     47:        //[ptr porting]why check? if(methoded)
                     48:                methoded->configure_user(*r);
1.3       paf        49: }
                     50: 
                     51: void Methoded_array::configure_user(Request& r) {
                     52:        for_each(configure_user_one, &r);
1.2       paf        53: }
                     54: 
1.18.2.3  paf        55: static void register_one(Methoded_array::element_type methoded, Request *r) {
                     56:        //[ptr porting]why check? if(methoded)
                     57:                methoded->register_directly_used(*r);
1.2       paf        58: }
                     59: 
                     60: void Methoded_array::register_directly_used(Request& r) {
                     61:        for_each(register_one, &r);
                     62: }

E-mail: