Annotation of parser3/src/types/pa_venv.C, revision 1.5
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.5 ! misha 8: static const char * const IDENT="$Date: 2007/09/17 15:13:45 $";
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.5 ! misha 19: // $CLASS
! 20: if(aname==CLASS_NAME)
! 21: return this;
! 22:
! 23: // $CLASS_NAME
! 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:
31: // getenv
32: String& result=*new String;
33: if(const char* local_value=SAPI::get_env(finfo, aname.cstr()))
34: result.append_help_length(strdup(local_value), 0, String::L_TAINTED);
35: return new VString(result);
1.3 paf 36: }
E-mail: