Annotation of parser3/src/types/pa_vrequest.h, revision 1.37
1.6 paf 1: /** @file
1.8 paf 2: Parser: @b request class decl.
1.6 paf 3:
1.36 misha 4: Copyright (c) 2001-2009 ArtLebedev Group (http://www.artlebedev.com)
1.16 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1 paf 6: */
7:
8: #ifndef PA_VREQUEST_H
9: #define PA_VREQUEST_H
1.18 paf 10:
1.37 ! misha 11: static const char * const IDENT_VREQUEST_H="$Date: 2009-04-10 11:39:47 $";
1.1 paf 12:
1.26 paf 13: // includes
14:
1.34 misha 15: #include "pa_common.h"
1.7 paf 16: #include "pa_value.h"
1.1 paf 17:
1.26 paf 18: // defines
1.9 paf 19:
20: #define REQUEST_CLASS_NAME "request"
1.34 misha 21: #define REQUEST_ARGV_ELEMENT_NAME "argv"
1.35 misha 22: #define POST_CHARSET_NAME "post-charset"
1.1 paf 23:
1.36 misha 24: static const String request_class_name(REQUEST_CLASS_NAME);
25:
1.26 paf 26: // forwards
27:
28: class Request_info;
1.35 misha 29: class VForm;
1.26 paf 30:
1.6 paf 31: /// request class
1.26 paf 32: class VRequest: public Value {
33:
34: Request_info& finfo;
35: Request_charsets& fcharsets;
1.34 misha 36: HashStringValue fargv;
1.35 misha 37: VForm& fform;
1.26 paf 38:
1.1 paf 39: public: // Value
40:
1.34 misha 41: override const char* type() const { return REQUEST_CLASS_NAME; }
1.17 paf 42: /// VRequest: 0
1.26 paf 43: override VStateless_class *get_class() { return 0; }
1.1 paf 44:
1.36 misha 45: /// request: CLASS,CLASS_NAME,field
1.37 ! misha 46: override Value* get_element(const String& name);
1.13 paf 47:
48: /// request: (key)=value
1.37 ! misha 49: override const VJunction* put_element(const String& name, Value* value, bool replace);
1.1 paf 50:
51: public: // usage
52:
1.35 misha 53: VRequest(Request_info& ainfo, Request_charsets& acharsets, VForm& aform);
1.1 paf 54:
55: };
56:
57: #endif
E-mail: