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: