00001
00002
00003
00004
00005
00006
00007 #include "Logger.h"
00008 #include <QFileDevice>
00009 #include <QMessageBox>
00010 #include <QObject>
00011 #include "QtToString.h"
00012 #include "Xml.h"
00013
00014 QXmlStreamReader::TokenType loadNextFromReader (QXmlStreamReader &reader)
00015 {
00016 QXmlStreamReader::TokenType tokenType = reader.readNext();
00017
00018 LOG4CPP_DEBUG_S ((*mainCat)) << "loadNextFromReader "
00019 << " tokenType=" << QXmlStreamReaderTokenTypeToString (tokenType).toLatin1().data()
00020 << " tag=" << reader.name().toLatin1().data();
00021
00022 return tokenType;
00023 }
00024
00025 void xmlExitWithError (QXmlStreamReader &reader,
00026 const QString &message)
00027 {
00028
00029 QString context;
00030 QFileDevice *fileDevice = dynamic_cast<QFileDevice*> (reader.device());
00031 if (fileDevice == 0) {
00032
00033 context = QString ("%1 %2: ")
00034 .arg (QObject::tr ("Start at line"))
00035 .arg (reader.lineNumber());
00036
00037 } else {
00038
00039 context = QString ("%1 %2 %3 %4: ")
00040 .arg (QObject::tr ("File"))
00041 .arg (fileDevice->fileName())
00042 .arg (QObject::tr ("at line"))
00043 .arg (reader.lineNumber());
00044
00045 }
00046
00047
00048 QString adornedMsg = QString ("%1%2. %3")
00049 .arg (context)
00050 .arg (message)
00051 .arg (QObject::tr ("Quitting"));
00052
00053 QMessageBox::critical (0,
00054 QObject::tr ("Error reading xml"),
00055 adornedMsg);
00056
00057 LOG4CPP_ERROR_S ((*mainCat)) << "xmlExitWithError error='" << adornedMsg.toLatin1().data() << "'";
00058
00059 exit (-1);
00060 }