[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Usata-commits] Changes to usata2/src/xml/scene_parser_elements.hpp
From: |
David Lau |
Subject: |
[Usata-commits] Changes to usata2/src/xml/scene_parser_elements.hpp |
Date: |
Tue, 22 Feb 2005 13:18:05 -0500 |
Index: usata2/src/xml/scene_parser_elements.hpp
diff -u usata2/src/xml/scene_parser_elements.hpp:1.1
usata2/src/xml/scene_parser_elements.hpp:1.2
--- usata2/src/xml/scene_parser_elements.hpp:1.1 Fri Feb 18 02:24:33 2005
+++ usata2/src/xml/scene_parser_elements.hpp Tue Feb 22 18:17:57 2005
@@ -10,7 +10,7 @@
// included in the software distribution, or visit
// http://www.fsf.org/licenses/gpl.html.
//
-// $Id: scene_parser_elements.hpp,v 1.1 2005/02/18 02:24:33 skunix Exp $
+// $Id: scene_parser_elements.hpp,v 1.2 2005/02/22 18:17:57 skunix Exp $
#ifndef USATA_SCENE_PARSER_ELEMENTS
#define USATA_SCENE_PARSER_ELEMENTS
@@ -31,7 +31,7 @@
public:
virtual bool take_data(const std::string& name,
ObjectDescription* odp){return false;};
virtual SceneElement* make_child(const char* eName){ return 0;}
- virtual bool take_data_any(const std::string& name, boost::any&
a){return false;}
+ virtual bool take_data_any(const std::string& name, const
boost::any& a){return false;}
};
class SceneDocument
@@ -41,6 +41,7 @@
public:
SceneDocument(SceneParser *parser);
virtual SceneElement* make_child(const char* eName);
+
virtual ~SceneDocument();
virtual void start_element(const char*, const char**);
virtual void end_element(){}
@@ -55,6 +56,7 @@
{
std::auto_ptr<ObjectDescription> mOd;
+ bool mOk;
public:
ObjectE(SceneElement* parent, SceneParser*parser);
virtual ~ObjectE();
@@ -66,6 +68,17 @@
static SceneElement*create(SceneElement*,SceneParser*);
};
+class IgnoreE : public SceneElement
+{
+ public:
+ IgnoreE(SceneElement* parent, SceneParser*parser)
+ : SceneElement(parent,parser)
+ {}
+ virtual void start_element(const char*, const char**){}
+ virtual void end_element(){};
+ virtual ~IgnoreE(){}
+};
+
class SimpleElementBase : public SceneElement
{
protected:
@@ -73,7 +86,7 @@
bool mHaveName,
mHaveValue;
-
+
public:
SimpleElementBase(SceneElement* parent, SceneParser*parser)
: SceneElement(parent, parser),
@@ -83,7 +96,8 @@
}
virtual void start_element(const char*, const char**);
- virtual void process(const char*)=0;
+ virtual void process(const char*, SceneElementHub&)=0;
+ virtual void end_element(){};
};
class IntE : public SimpleElementBase
@@ -92,10 +106,7 @@
public:
IntE(SceneElement* parent, SceneParser* parser);
- //virtual void start_element(const char*, const char**);
- virtual void process(const char*);
- virtual void end_element();
- virtual void content(const char*,int);
+ virtual void process(const char*, SceneElementHub&);
static SceneElement * create(SceneElement*p, SceneParser*pp);
};
@@ -107,11 +118,12 @@
static SceneElement * create(SceneElement*p, SceneParser*pp);
};
-class StringE : public SceneElement
+class StringE : public SimpleElementBase
{
std::string mValue;
public:
StringE(SceneElement*parent, SceneParser*parser);
+ virtual void process(const char*, SceneElementHub&);
static SceneElement * create(SceneElement*p, SceneParser*pp);
};