|
|
| version 1.17, 2002/10/31 15:01:53 | version 1.25, 2005/12/16 10:15:12 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: @b dnode methods class - MDnode class decl. | Parser: @b dnode methods class - MDnode class decl. |
| Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| */ | */ |
| #ifndef XNODE_H | #ifndef XNODE_H |
| #define XNODE_H | #define XNODE_H |
| static const char* IDENT_XNODE_H="$Date$"; | static const char * const IDENT_XNODE_H="$Date$"; |
| class MXnode : public Methoded { | class MXnode: public Methoded { |
| public: // Value | public: // Value |
| /// MXnode: +$const | /// MXnode: +$const |
| Value *get_element(const String& aname, Value& aself, bool looking_up) { | Value* get_element(const String& aname, Value& aself, bool looking_up) { |
| // $method | // $method |
| if(Value *result=Methoded::get_element(aname, aself, looking_up)) | if(Value* result=Methoded::get_element(aname, aself, looking_up)) |
| return result; | return result; |
| // $const | // $const |
| if(Value *result=(Value *)consts.get(aname)) | if(Value* result=consts.get(aname)) |
| return result; | return result; |
| return 0; | return 0; |
| Line 28 public: // Value | Line 28 public: // Value |
| public: // VStateless_class | public: // VStateless_class |
| Value *create_new_value(Pool& pool) { return new(pool) VXnode(pool, 0); } | Value* create_new_value(Pool&, HashStringValue&) { |
| throw Exception("parser.runtime", | |
| 0, | |
| "no constructors available, use CreateXXX DOM methods to create nodes instead"); | |
| } | |
| public: | public: |
| MXnode(Pool& pool, const char *aname=0, VStateless_class *abase=0); | MXnode(const char* aname=0, VStateless_class* abase=0); |
| public: // Methoded | public: // Methoded |
| bool used_directly() { return true; } | bool used_directly() { return true; } |
| private: | private: |
| Hash consts; | HashStringValue consts; |
| }; | }; |
| #define gdome_xml_doc_get_xmlDoc(dome_doc) ((_Gdome_xml_Document *)dome_doc)->n; | xmlNode& as_node(MethodParams& params, int index, const char* msg); |
| xmlChar* as_xmlchar(Request& r, MethodParams& params, int index, const char* msg); | |
| GdomeNode *as_node(const String& method_name, MethodParams *params, | xmlNs& pa_xmlMapNs(xmlDoc& doc, const xmlChar* href, const xmlChar* prefix); |
| int index, const char *msg); | |
| #endif | #endif |