Diff for /parser3/src/classes/classes.h between versions 1.9 and 1.28.2.2

version 1.9, 2001/08/02 06:54:12 version 1.28.2.2, 2005/07/27 10:57:52
Line 1 Line 1
 /** @file  /** @file
         Parser: @b Methoded class decl.          Parser: @b Methoded class decl.
   
         Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)  
   
         $Id$  
 */  */
   
 #ifndef CLASSES_H  #ifndef CLASSES_H
 #define CLASSES_H  #define CLASSES_H
   
   static const char * const IDENT_CLASSES_H="$Date$";
   
   // include
   
 #include "pa_vstateless_class.h"  #include "pa_vstateless_class.h"
 #include "pa_array.h"  #include "pa_array.h"
   
 /**     Pure virtual base for configurable Methoded descendants  /**     Pure virtual base for configurable Methoded descendants
         @see Methoded_array          @see Methoded_array
 */  */
 class Methoded : public VStateless_class {  class Methoded: public VStateless_class {
   public: // Value
   
           override const Junction* put_element(Value& /*self*/, const String& /*name*/, Value * /*value*/) { 
                   return 0; // fewer useless Exceptions
           }
   
 public: // Methoded  public: // Methoded
   
         /** should Methoded_array::register_directly_used register this class in          /** should Methoded_array::register_directly_used register this class in
Line 27  public: // Methoded Line 34  public: // Methoded
         */          */
         virtual bool used_directly() =0;          virtual bool used_directly() =0;
         /// use this method to read parameters from root "auto.p"; access r.main_class          /// use this method to read parameters from root "auto.p"; access r.main_class
         virtual void configure_admin(Request& r) {}          virtual void configure_admin(Request& ) {}
         /// use this method to read parameters from 'MAIN' class; access r.main_class          /// use this method to read parameters from 'MAIN' class; access r.main_class
         virtual void configure_user(Request& r) {}          virtual void configure_user(Request& ) {}
         /// use it to construct static variables. check some static so that would be only ONCE!          /// use it to construct static variables. check some static so that would be only ONCE!
         virtual void construct_statics() {}          virtual void construct_statics() {}
   
 public: // usage  public: // usage
   
         Methoded(Pool& pool) : VStateless_class(pool) {          Methoded(const char* aname, VStateless_class* abase=0): 
                   VStateless_class(new String(aname), abase) {
         }          }
   
         void register_directly_used(Request& r);          void register_directly_used(Request& r);
Line 43  public: // usage Line 51  public: // usage
 };  };
   
 /// all Methoded registered here in autogenerated classes.C  /// all Methoded registered here in autogenerated classes.C
 class Methoded_array : public Array {  class Methoded_array: public Array<Methoded*> {
 public:  public:
         Methoded_array(Pool& pool);          Methoded_array();
   
 public: // Methoded for_each-es  public: // Methoded for_each-es
         /// @see Methoded::configure_admin          /// @see Methoded::configure_admin
Line 56  public: // Methoded for_each-es Line 64  public: // Methoded for_each-es
         void register_directly_used(Request& r);          void register_directly_used(Request& r);
 };  };
   
 extern Methoded_array *methoded_array;  // globals
 void init_methoded_array(Pool& pool);  
   Methoded_array& methoded_array();
   
   // defines
   
   #define DECLARE_CLASS_VAR(name, self, base) \
           Methoded* name##_class=self; \
           Methoded* name##_base_class=base
   
 #endif  #endif

Removed from v.1.9  
changed lines
  Added in v.1.28.2.2


E-mail: