7#include "XmlStackedHandlerReader.h"
12#include "XmlStackedHandler.h"
15 XmlStackedHandlerReader::XmlStackedHandlerReader() {
16 m_contentHandlers = NULL;
17 m_contentHandlers =
new QStack<XmlStackedHandler *>;
21 XmlStackedHandlerReader::~XmlStackedHandlerReader() {
22 delete m_contentHandlers;
23 m_contentHandlers = NULL;
27 void XmlStackedHandlerReader::popContentHandler() {
28 m_contentHandlers->pop();
30 if (m_contentHandlers->size()) {
31 m_contentHandlers->top()->setReader(
this);
32 setContentHandler(m_contentHandlers->top());
35 setContentHandler(NULL);
58 newHandler->setReader(
this);
59 m_contentHandlers->push(newHandler);
61 setContentHandler(m_contentHandlers->top());
66 old->switchToNewHandler(topContentHandler());
74 if (m_contentHandlers->size())
75 result = m_contentHandlers->top();
XML Handler that parses XMLs in a stack-oriented way.
virtual void pushContentHandler(XmlStackedHandler *newHandler)
Push a contentHandler and maybe continue parsing...
This is free and unencumbered software released into the public domain.