1
/****************************************************************************
3
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
5
** This file is part of the porting application of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
33
#include <QStringList>
37
Base class for logger entries;
38
description() should return a text for this entry,
43
LogEntry(QString type, QString location);
44
virtual ~LogEntry(){};
45
virtual QString description() const =0;
46
virtual void updateLinePos(int threshold, int delta) {Q_UNUSED(threshold); Q_UNUSED(delta)};
48
QString type; // Error, Warning, Info, etc
49
QString location;// preprocessor, c++parser, porting, etc
52
class PlainLogEntry: public LogEntry
55
PlainLogEntry(QString type, QString lcation, QString text);
56
QString description() const {return text;};
62
A log entry that stores a source point: file, line and column.
64
class SourcePointLogEntry : public LogEntry
67
SourcePointLogEntry(QString type, QString location, QString file, int line, int column, QString text);
68
QString description() const;
69
void updateLinePos(int threshold, int delta);
83
static Logger *instance();
84
static void deleteInstance();
89
void addEntry(LogEntry *entry);
91
QStringList fullReport();
93
void updateLineNumbers(int insertLine, int numLines);
95
glabalState can be used for storage of application state
96
together with the logger. This can be useful in some cases,
97
for example the current filename is stored here when processing
100
QMap<QString, QString> globalState;
102
static Logger *theInstance;
103
QList<LogEntry*> logEntries;
104
QList<LogEntry*> pendingLogEntries;