Annotation of parser3/src/types/pa_vcookie.h, revision 1.39

1.6       paf         1: /** @file
1.8       paf         2:        Parser: @b cookie class decls.
1.6       paf         3: 
1.37      moko        4:        Copyright (c) 2001-2012 Art. Lebedev Studio (http://www.artlebedev.com)
1.15      paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1       paf         6: */
                      7: 
                      8: #ifndef PA_VCOOKIE_H
                      9: #define PA_VCOOKIE_H
1.17      paf        10: 
1.39    ! misha      11: #define IDENT_PA_VCOOKIE_H "$Id: pa_vcookie.h,v 1.38 2013/10/04 21:21:56 moko Exp $"
1.1       paf        12: 
1.7       paf        13: #include "pa_hash.h"
1.3       paf        14: #include "pa_common.h"
1.5       paf        15: #include "pa_value.h"
1.24      paf        16: #include "pa_sapi.h"
1.9       paf        17: 
                     18: #define COOKIE_CLASS_NAME "cookie"
1.34      misha      19: static const String cookie_class_name(COOKIE_CLASS_NAME);
1.1       paf        20: 
1.33      misha      21: // forwards
                     22: class Request_info;
                     23: class Request_charsets;
                     24: 
1.6       paf        25: /// cookie class
1.24      paf        26: class VCookie: public Value {
                     27: 
1.33      misha      28:        HashStringValue before;
                     29:        HashStringValue after;
                     30:        HashStringValue deleted;
1.24      paf        31: 
1.1       paf        32: public: // Value
                     33:        
1.32      misha      34:        override const char* type() const { return COOKIE_CLASS_NAME; }
1.16      paf        35:        /// VCookie: 0
1.24      paf        36:        override VStateless_class *get_class() { return 0; }
1.1       paf        37: 
1.39    ! misha      38:        // cookie: field
1.36      misha      39:        override Value* get_element(const String& aname);
1.1       paf        40:        // cookie: field
1.38      moko       41:        override const VJunction* put_element(const String& name, Value* value);
1.1       paf        42: 
                     43: public: // usage
                     44: 
1.33      misha      45:        VCookie(Request_charsets& acharsets, Request_info& arequest_info);
1.24      paf        46:        void output_result(SAPI_Info& sapi_info);
1.1       paf        47: 
1.33      misha      48: private:
                     49:        Request_charsets& fcharsets;
                     50:        Request_info& frequest_info;
                     51: 
                     52: private:
                     53:        Charset* filled_source;
                     54:        Charset* filled_client;
                     55: 
                     56:        bool should_refill();
                     57:        void refill();
1.1       paf        58: };
                     59: 
                     60: #endif

E-mail: