Annotation of parser3/src/classes/classes.h, revision 1.1.2.2
1.1.2.1 paf 1: /** @file
2: Parser: @b Methoded class decl.
3:
4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
5:
6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
7:
1.1.2.2 ! paf 8: $Id: classes.h,v 1.1.2.1 2001/04/27 16:48:19 paf Exp $
1.1.2.1 paf 9: */
10:
11: #ifndef PA_METHODED_H
12: #define PA_METHODED_H
13:
14: #include "pa_vstateless_class.h"
15: #include "pa_array.h"
16:
17: /** Pure virtual base for configurable Methoded descendants
18: */
19: class Methoded : public VStateless_class {
20: public: // Value
21:
22: /// all: for error reporting after fail(), etc
23: const char *type() const { return "m_base"; }
24:
25: public: // Methoded
26:
27: virtual bool used_directly() =0;
28: virtual void configure(Request& r) {}
29:
30: public: // usage
31:
32: Methoded(Pool& pool) : VStateless_class(pool) {
33: }
34:
1.1.2.2 ! paf 35: void register_directly_used(Request& r);
1.1.2.1 paf 36:
37: };
38:
39:
40: class Methoded_array : public Array {
41: public:
42: Methoded_array(Pool& pool);
43:
44: public: // Methoded for_each-es
45: void configure(Request& r);
46: void register_directly_used(Request& r);
47: };
48:
49: extern Methoded_array *methoded_array;
50: void init_methoded_array(Pool& pool);
51:
52: #endif
E-mail: