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

1.2       paf         1: /** @file
                      2:        Parser: @b Methoded and Methoded_array classes.
                      3: 
                      4:        Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
1.11      paf         5:        Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
1.2       paf         6: 
1.12    ! paf         7:        $Id: classes.C,v 1.11 2001/11/05 11:46:19 paf Exp $
1.2       paf         8: */
                      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: 
                     24: Methoded_array *methoded_array;
                     25: 
                     26: // methods
                     27: 
                     28: Methoded_array::Methoded_array(Pool& apool) : Array(apool) {
                     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.12    ! paf        34:        static_cast<Methoded *>(value)->configure_admin(r);
1.2       paf        35: }
                     36: 
1.3       paf        37: void Methoded_array::configure_admin(Request& r) {
                     38:        for_each(configure_admin_one, &r);
                     39: }
                     40: 
                     41: static void configure_user_one(Array::Item *value, void *info) {
                     42:        Request& r=*static_cast<Request *>(info);
1.12    ! paf        43:        static_cast<Methoded *>(value)->configure_user(r);
1.3       paf        44: }
                     45: 
                     46: void Methoded_array::configure_user(Request& r) {
                     47:        for_each(configure_user_one, &r);
1.2       paf        48: }
                     49: 
                     50: static void register_one(Array::Item *value, void *info) {
                     51:        Request& r=*static_cast<Request *>(info);
1.12    ! paf        52:        static_cast<Methoded *>(value)->register_directly_used(r);
1.2       paf        53: }
                     54: 
                     55: void Methoded_array::register_directly_used(Request& r) {
                     56:        for_each(register_one, &r);
                     57: }
                     58: 
                     59: // creator
                     60: 
                     61: void init_methoded_array(Pool& pool) {
                     62:        methoded_array=new(pool) Methoded_array(pool);
                     63: }

E-mail: