diff options
Diffstat (limited to 'cpp/include/IceXML/Parser.h')
-rw-r--r-- | cpp/include/IceXML/Parser.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/include/IceXML/Parser.h b/cpp/include/IceXML/Parser.h index f5de9291968..b68bd9ed918 100644 --- a/cpp/include/IceXML/Parser.h +++ b/cpp/include/IceXML/Parser.h @@ -88,6 +88,7 @@ typedef std::map<std::string, std::string> Attributes; class ICE_XML_API Node : public IceUtil::Shared { public: + virtual ~Node(); virtual NodePtr getParent() const; @@ -99,10 +100,13 @@ public: virtual bool addChild(const NodePtr&); + virtual void destroy(); + int getLine() const; int getColumn() const; protected: + Node(const NodePtr&, const std::string&, const std::string&, int, int); NodePtr _parent; @@ -115,6 +119,7 @@ protected: class ICE_XML_API Element : public Node { public: + Element(const NodePtr&, const std::string&, const Attributes&, int, int); virtual ~Element(); @@ -124,7 +129,10 @@ public: virtual bool addChild(const NodePtr&); + virtual void destroy(); + private: + NodeList _children; Attributes _attributes; }; @@ -132,6 +140,7 @@ private: class ICE_XML_API Text : public Node { public: + Text(const NodePtr&, const std::string&, int, int); virtual ~Text(); }; @@ -139,6 +148,7 @@ public: class ICE_XML_API Document : public Node { public: + Document(); virtual ~Document(); @@ -146,13 +156,17 @@ public: virtual bool addChild(const NodePtr&); + virtual void destroy(); + private: + NodeList _children; }; class ICE_XML_API Handler { public: + virtual ~Handler(); virtual void startElement(const std::string&, const Attributes&, int, int) = 0; |