summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/mainhandler.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2001-09-23 17:28:38 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2001-09-23 17:28:38 (GMT)
commit86502f97ecaea3254217d723b5f10b6405495184 (patch)
tree66859557d84fe96d692e8d6ee0a72d639a25b283 /addon/xmlparse/mainhandler.cpp
parent4ce0e4344711a79781e2f6d64f2553ab4b45c4a5 (diff)
downloadDoxygen-86502f97ecaea3254217d723b5f10b6405495184.zip
Doxygen-86502f97ecaea3254217d723b5f10b6405495184.tar.gz
Doxygen-86502f97ecaea3254217d723b5f10b6405495184.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;
+}
+