Annotation of parser3/src/types/pa_venv.C, revision 1.6

1.2       paf         1: /** @file
                      2:        Parser: @b env class.
                      3: 
1.5       misha       4:        Copyright(c) 2001-2009 ArtLebedev Group (http://www.artlebedev.com)
1.2       paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
                      6: */
                      7: 
1.6     ! misha       8: static const char * const IDENT="$Date: 2009-04-10 11:37:02 $";
1.2       paf         9: 
                     10: #include "pa_venv.h"
                     11: #include "pa_vstring.h"
                     12: #include "pa_version.h"
                     13: 
1.4       misha      14: #define PARSER_VERSION_ELEMENT_NAME "PARSER_VERSION"
                     15: 
1.2       paf        16: static const String parser_version(PARSER_VERSION);
                     17: 
                     18: Value* VEnv::get_element(const String& aname, Value& /*aself*/, bool /*looking_up*/) {
1.6     ! misha      19:        // $env:CLASS
1.5       misha      20:        if(aname==CLASS_NAME)
                     21:                return this;
                     22: 
1.6     ! misha      23:        // $env:CLASS_NAME
1.5       misha      24:        if(aname==CLASS_NAMETEXT)
                     25:                return new VString(env_class_name);
                     26: 
1.2       paf        27:        // $env:PARSER_VERSION
1.4       misha      28:        if(aname==PARSER_VERSION_ELEMENT_NAME)
1.2       paf        29:                return new VString(parser_version);
                     30: 
1.6     ! misha      31:        // $env:field
1.2       paf        32:        if(const char* local_value=SAPI::get_env(finfo, aname.cstr()))
1.6     ! misha      33:                return new VString(*new String(strdup(local_value), true));
        !            34:        
        !            35:        return 0;
1.3       paf        36: }

E-mail: