Annotation of parser3/src/types/pa_venv.h, revision 1.4

1.2       paf         1: /*
                      2:        Parser
                      3:        Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
                      4:        Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
                      5: 
1.4     ! paf         6:        $Id: pa_venv.h,v 1.3 2001/03/13 13:53:37 paf Exp $
1.2       paf         7: */
                      8: 
                      9: #ifndef PA_VENV_H
                     10: #define PA_VENV_H
                     11: 
1.3       paf        12: #include "pa_vstateless_class.h"
                     13: #include "pa_string.h"
                     14: #include "_env.h"
1.2       paf        15: 
1.3       paf        16: class VEnv : public VStateless_class {
1.2       paf        17: public: // Value
                     18:        
                     19:        // all: for error reporting after fail(), etc
                     20:        const char *type() const { return "env"; }
                     21: 
                     22:        // env: CLASS,BASE,method,field
                     23:        Value *get_element(const String& aname) {
                     24:                // $CLASS,$BASE,$method
1.3       paf        25:                if(Value *result=VStateless_class::get_element(aname))
1.2       paf        26:                        return result;
                     27: 
1.3       paf        28:                String& string=*NEW String(pool());
1.2       paf        29:                char *file="environment";
                     30:                int line=3;
                     31:                char *value="<value>";// TODO: getenv
                     32:                string.APPEND_TAINTED(value, 0, file, line);
1.3       paf        33:                return NEW VString(string);
1.2       paf        34:        }
                     35: 
                     36: public: // usage
                     37: 
1.3       paf        38:        VEnv(Pool& apool) : VStateless_class(apool) {
1.2       paf        39:        }
                     40: 
                     41: private:
                     42: };
                     43: 
                     44: #endif

E-mail: