diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2001-09-23 17:28:38 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2001-09-23 17:28:38 (GMT) |
commit | 156b0bb68fc4104792afb27ee4ee466f3efac206 (patch) | |
tree | 66859557d84fe96d692e8d6ee0a72d639a25b283 /addon/xmlparse/mainhandler.cpp | |
parent | e4e787013da916e7331797233c1bec05c14b1f76 (diff) | |
download | Doxygen-156b0bb68fc4104792afb27ee4ee466f3efac206.zip Doxygen-156b0bb68fc4104792afb27ee4ee466f3efac206.tar.gz Doxygen-156b0bb68fc4104792afb27ee4ee466f3efac206.tar.bz2 |
Release-1.2.10-20010923
Diffstat (limited to 'addon/xmlparse/mainhandler.cpp')
-rw-r--r-- | addon/xmlparse/mainhandler.cpp | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/addon/xmlparse/mainhandler.cpp b/addon/xmlparse/mainhandler.cpp index 8a5d449..21185e6 100644 --- a/addon/xmlparse/mainhandler.cpp +++ b/addon/xmlparse/mainhandler.cpp @@ -13,6 +13,7 @@ * */ +#include <qxml.h> #include "mainhandler.h" void MainHandler::startCompound(const QXmlAttributes& attrib) @@ -20,9 +21,10 @@ void MainHandler::startCompound(const QXmlAttributes& attrib) CompoundHandler *compHandler = new CompoundHandler(this); compHandler->startCompound(attrib); m_compounds.append(compHandler); + m_compoundDict.insert(compHandler->id(),compHandler); } -MainHandler::MainHandler() +MainHandler::MainHandler() : m_compoundDict(10007) { m_compounds.setAutoDelete(TRUE); addStartHandler("doxygen"); @@ -33,6 +35,45 @@ MainHandler::MainHandler() MainHandler::~MainHandler() { + printf("MainHandler::~MainHandler()\n"); } +class ErrorHandler : public QXmlErrorHandler +{ + public: + virtual ~ErrorHandler() {} + bool warning( const QXmlParseException & ) + { + return FALSE; + } + bool error( const QXmlParseException & ) + { + return FALSE; + } + bool fatalError( const QXmlParseException &exception ) + { + fprintf(stderr,"Fatal error at line %d column %d: %s\n", + exception.lineNumber(),exception.columnNumber(), + exception.message().data()); + return FALSE; + } + QString errorString() { return ""; } + + private: + QString errorMsg; +}; + +IDoxygen *createObjectModelFromXML(const char * xmlFileName) +{ + QFile xmlFile(xmlFileName); + MainHandler * handler = new MainHandler; + ErrorHandler errorHandler; + QXmlInputSource source( xmlFile ); + QXmlSimpleReader reader; + reader.setContentHandler( handler ); + reader.setErrorHandler( &errorHandler ); + reader.parse( source ); + return handler; +} + |