Diff for /parser3/src/classes/classes.C between versions 1.20 and 1.41

version 1.20, 2003/11/20 16:34:23 version 1.41, 2026/10/16 13:55:16
Line 1 Line 1
 /** @file  /** @file
         Parser: @b Methoded and Methoded_array classes.          Parser: @b Methoded and Methoded_array classes.
   
         Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2026 Art. Lebedev Studio (https://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Authors: Konstantin Morshnev <moko@design.ru>, Alexandr Petrosian <paf@design.ru>
 */  */
   
 static const char * const IDENT_CLASSES_C="$Date$";  
   
 #include "classes.h"  #include "classes.h"
 #include "pa_request.h"  #include "pa_request.h"
   
   volatile const char * IDENT_CLASSES_C="$Id$" IDENT_CLASSES_H;
   
 // Methoded  // Methoded
   
 void Methoded::register_directly_used(Request& r) {  void Methoded::register_directly_used(Request& r) {
         if(used_directly()) {          if(used_directly())
                 r.classes().put(name(), this);                  r.put_class(this);
         }  
   
         // prevent system classes from modification [calling add_method]          // prevent system classes from modification [calling set_method]
         // ^process[$string:CLASS]{@method} prohibited from now on...          // ^process[$string:CLASS]{@method} prohibited from now on...
         this->lock();          this->lock();
 }  }
Line 37  Methoded_array& methoded_array() { Line 36  Methoded_array& methoded_array() {
 // methods  // methods
   
 Methoded_array::Methoded_array() {  Methoded_array::Methoded_array() {
 #       include "classes.inc"          ADD_CLASS_VAR(array)
           ADD_CLASS_VAR(bool)
           ADD_CLASS_VAR(curl)
           ADD_CLASS_VAR(date)
           ADD_CLASS_VAR(double)
           ADD_CLASS_VAR(file)
           ADD_CLASS_VAR(form)
           ADD_CLASS_VAR(hash)
           ADD_CLASS_VAR(hashfile)
           ADD_CLASS_VAR(image)
           ADD_CLASS_VAR(inet)
           ADD_CLASS_VAR(int)
           ADD_CLASS_VAR(json)
           ADD_CLASS_VAR(mail)
           ADD_CLASS_VAR(math)
           ADD_CLASS_VAR(memcached)
           ADD_CLASS_VAR(amqp)
           ADD_CLASS_VAR(redis)
           ADD_CLASS_VAR(memory)
           ADD_CLASS_VAR(reflection)
           ADD_CLASS_VAR(regex)
           ADD_CLASS_VAR(response)
           ADD_CLASS_VAR(websocket)
           ADD_CLASS_VAR(string)
           ADD_CLASS_VAR(table)
           ADD_CLASS_VAR(void) // should be after string for set_base
   #ifdef XML
           ADD_CLASS_VAR(xnode)
           ADD_CLASS_VAR(xdoc) // should be after xnode for set_base
   #endif
 }  }
   
 static void configure_admin_one(Methoded_array::element_type methoded, Request *r) {  static void configure_admin_one(Methoded_array::element_type methoded, Request *r) {
         if(methoded)          methoded->configure_admin(*r);
                 methoded->configure_admin(*r);  
 }  }
 void Methoded_array::configure_admin(Request& r) {  void Methoded_array::configure_admin(Request& r) {
         for_each(configure_admin_one, &r);          for_each(configure_admin_one, &r);
 }  }
   
 static void configure_user_one(Methoded_array::element_type methoded, Request *r) {  
         if(methoded)  
                 methoded->configure_user(*r);  
 }  
 void Methoded_array::configure_user(Request& r) {  
         for_each(configure_user_one, &r);  
 }  
   
 static void register_one(Methoded_array::element_type methoded, Request *r) {  static void register_one(Methoded_array::element_type methoded, Request *r) {
         if(methoded)          methoded->register_directly_used(*r);
                 methoded->register_directly_used(*r);  
 }  }
 void Methoded_array::register_directly_used(Request& r) {  void Methoded_array::register_directly_used(Request& r) {
         for_each(register_one, &r);          for_each(register_one, &r);

Removed from v.1.20  
changed lines
  Added in v.1.41


E-mail: