--- parser3/src/classes/xnode.h 2001/09/26 11:24:07 1.1 +++ parser3/src/classes/xnode.h 2002/02/08 08:30:11 1.9 @@ -1,26 +1,50 @@ /** @file Parser: @b dnode methods class - MDnode class decl. - Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) + Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) - $Id: xnode.h,v 1.1 2001/09/26 11:24:07 parser Exp $ + $Id: xnode.h,v 1.9 2002/02/08 08:30:11 paf Exp $ */ #ifndef XNODE_H #define XNODE_H -#include class MXnode : public Methoded { +public: // Value + + /// MXnode: +$const + Value *get_element(const String& aname) { + // $CLASS, $method + if(Value *result=Methoded::get_element(aname)) + return result; + + // $const + if(Value *result=(Value *)consts.get(aname)) + return result; + + return 0; + } + + public: // VStateless_class - Value *create_new_value(Pool& pool) { return new(pool) VXnode(pool); } + Value *create_new_value(Pool& pool) { return new(pool) VXnode(pool, 0); } public: MXnode(Pool& pool); public: // Methoded bool used_directly() { return true; } + +private: + + Hash consts; }; +#define gdome_xml_doc_get_xmlDoc(dome_doc) ((_Gdome_xml_Document *)dome_doc)->n; + +GdomeNode *as_node(Pool& pool, const String& method_name, MethodParams *params, + int index, const char *msg); + #endif