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

1.1       paf         1: /** @file
                      2:        Parser: @b response class.
                      3: 
1.17.2.4  paf         4:        Copyright(c) 2001-2003 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.17.2.5! paf         8: static const char* IDENT_VRESPONSE_C="$Date: 2003/01/31 12:34:44 $";
1.1       paf         9: 
                     10: #include "pa_vresponse.h"
1.17.2.5! paf        11: #include "pa_value_includes.h"
        !            12: #include "pa_request_charsets.h"
1.1       paf        13: #include "pa_charsets.h"
                     14: #include "pa_charset.h"
                     15: #include "pa_vstring.h"
1.11      paf        16: #include "pa_vdate.h"
1.1       paf        17: 
1.17.2.3  paf        18: ValuePtr VResponse::get_element(StringPtr aname, Value& aself, bool looking_up) {
1.1       paf        19:        // $charset
1.17.2.1  paf        20:        if(*aname==CHARSET_NAME)
1.17.2.2  paf        21:                return ValuePtr(new VString(fcharsets.client().name()));
1.8       paf        22: 
                     23:        // $method
1.17.2.1  paf        24:        if(ValuePtr result=VStateless_object::get_element(aname, aself, looking_up))
1.8       paf        25:                return result;
                     26:        
                     27:        // $field
1.17.2.5! paf        28:        return ffields.get(aname->change_case(fpool, fcharsets.source(), String::CC_LOWER));
1.1       paf        29: }
                     30: 
1.17.2.3  paf        31: bool VResponse::put_element(StringPtr aname, ValuePtr avalue, bool /*replace*/) { 
1.1       paf        32:        // guard charset change
1.17.2.2  paf        33:        if(*aname==CHARSET_NAME)
1.17.2.5! paf        34:                fcharsets.set_client(charsets.get(avalue->as_string(&fpool)));
1.2       paf        35:        else
1.17.2.5! paf        36:                ffields.put(aname->change_case(fpool, fcharsets.source(), String::CC_LOWER), avalue);
1.8       paf        37: 
                     38:        return true;
1.11      paf        39: }

E-mail: