summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/mainhandler.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2001-09-23 17:28:38 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2001-09-23 17:28:38 (GMT)
commit156b0bb68fc4104792afb27ee4ee466f3efac206 (patch)
tree66859557d84fe96d692e8d6ee0a72d639a25b283 /addon/xmlparse/mainhandler.cpp
parente4e787013da916e7331797233c1bec05c14b1f76 (diff)
downloadDoxygen-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.cpp43
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;
+}
+