Annotation of parser3/src/types/pa_vresponse.C, revision 1.9

1.1       paf         1: /** @file
                      2:        Parser: @b response class.
                      3: 
1.5       paf         4:        Copyright(c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
1.4       paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.6       paf         6: */
1.1       paf         7: 
1.9     ! paf         8: static const char* IDENT_VRESPONSE_C="$Date: 2002/08/13 13:02:42 $";
1.1       paf         9: 
                     10: #include "pa_vresponse.h"
                     11: #include "pa_charsets.h"
                     12: #include "pa_charset.h"
                     13: #include "pa_vstring.h"
                     14: 
1.9     ! paf        15: Value *VResponse::get_element(const String& aname, Value *aself, bool looking_down) {
1.1       paf        16:        // $charset
1.8       paf        17:        if(aname==CHARSET_NAME)
1.1       paf        18:                return NEW VString(pool().get_client_charset().name());
1.8       paf        19: 
                     20:        // $method
1.9     ! paf        21:        if(Value *result=VStateless_object::get_element(aname, aself, looking_down))
1.8       paf        22:                return result;
                     23:        
                     24:        // $field
                     25:        return static_cast<Value *>(ffields.get(aname));
1.1       paf        26: }
                     27: 
1.8       paf        28: bool VResponse::put_element(const String& aname, Value *avalue, bool /*replace*/) { 
1.1       paf        29:        // guard charset change
1.8       paf        30:        if(aname==CHARSET_NAME)
                     31:                pool().set_client_charset(charsets->get_charset(avalue->as_string()));
1.2       paf        32:        else
1.8       paf        33:                ffields.put(aname, avalue);
                     34: 
                     35:        return true;
1.1       paf        36: }
                     37: 

E-mail: