--- parser3/src/classes/xnode.h 2001/10/19 14:56:16 1.3 +++ parser3/src/classes/xnode.h 2003/03/07 11:16:45 1.18.2.6 @@ -1,46 +1,49 @@ /** @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) - - $Id: xnode.h,v 1.3 2001/10/19 14:56:16 parser Exp $ + Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef XNODE_H #define XNODE_H -#include +static const char* IDENT_XNODE_H="$Date: 2003/03/07 11:16:45 $"; -class MXnode : public Methoded { +class MXnode: public Methoded { public: // Value /// MXnode: +$const - Value *get_element(const String& aname) { - // $CLASS, $method - if(Value *result=Methoded::get_element(aname)) + ValuePtr get_element(StringPtr aname, Value& aself, bool looking_up) { + // $method + if(ValuePtr result=Methoded::get_element(aname, aself, looking_up)) return result; // $const - if(Value *result=(Value *)consts.get(aname)) + if(ValuePtr result=consts.get(aname)) return result; - return 0; + return ValuePtr(0); } public: // VStateless_class - Value *create_new_value(Pool& pool) { return new(pool) VXnode(pool, 0, false); } + ValuePtr create_new_value() { return ValuePtr(new VXnode(0, 0, 0)); } public: - MXnode(Pool& pool); + MXnode(const char* aname=0, VStateless_class* abase=0); public: // Methoded bool used_directly() { return true; } private: - Hash consts; + HashStringValue consts; }; +#define gdome_xml_doc_get_xmlDoc(dome_doc) ((_Gdome_xml_Document *)dome_doc)->n; + +GdomeNode *as_node(StringPtr method_name, MethodParams* params, + int index, const char* msg); + #endif