|
|
| version 1.23.2.1, 2003/01/24 14:36:09 | version 1.37, 2016/04/01 16:27:31 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: @b Methoded class decl. | Parser: @b Methoded class decl. |
| Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001-2015 Art. Lebedev Studio (http://www.artlebedev.com) |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| */ | */ |
| #ifndef CLASSES_H | #ifndef CLASSES_H |
| #define CLASSES_H | #define CLASSES_H |
| static const char* IDENT_CLASSES_H="$Date$"; | #define IDENT_CLASSES_H "$Id$" |
| // include | |
| #include "pa_vstateless_class.h" | #include "pa_vstateless_class.h" |
| #include "pa_array.h" | #include "pa_array.h" |
| Line 15 static const char* IDENT_CLASSES_H="$Dat | Line 18 static const char* IDENT_CLASSES_H="$Dat |
| /** 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*/ bool put_element(const String& /*name*/, Value * /*value*/, bool /*replace*/) { | |
| return false; // 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 29 public: // Methoded | Line 26 public: // Methoded |
| if not - global variable with Methoded descendant | if not - global variable with Methoded descendant |
| is used in VStateless_class parameter | is used in VStateless_class parameter |
| */ | */ |
| virtual bool used_directly() =0; | virtual bool used_directly() { return true; } |
| /// 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& ) {} | 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 |
| Line 39 public: // Methoded | Line 36 public: // Methoded |
| public: // usage | public: // usage |
| Methoded(const char *aname, VStateless_class *abase=0) : | Methoded(const char* aname, VStateless_class* abase=0): VStateless_class(aname, abase) {} |
| VStateless_class(ConstStringPtr(new String(aname)), abase) { | |
| } | |
| void register_directly_used(Request& r); | void register_directly_used(Request& r); |
| }; | }; |
| /// all Methoded registered here in autogenerated classes.C | /// all Methoded registered here in autogenerated classes.C |
| class Methoded_array: public Array<Methoded *> { | class Methoded_array: public Array<Methoded*> { |
| public: | public: |
| Methoded_array(); | Methoded_array(); |
| Line 61 public: // Methoded for_each-es | Line 56 public: // Methoded for_each-es |
| void register_directly_used(Request& r); | void register_directly_used(Request& r); |
| }; | }; |
| extern Methoded_array methoded_array; | // globals |
| Methoded_array& methoded_array(); | |
| // defines | |
| #define DECLARE_CLASS_VAR(name, self) \ | |
| Methoded* name##_class=self | |
| #endif | #endif |