QGIS API Documentation  2.99.0-Master (b058df7)
qgserror.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgserror.h - Error container
3  -------------------
4  begin : October 2012
5  copyright : (C) 2012 Radim Blazek
6  email : radim dot blazek at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 #ifndef QGSERROR_H
18 #define QGSERROR_H
19 
20 #include <QString>
21 #include <QList>
22 
23 #include "qgis_core.h"
24 
25 // Macro to create Error message including info about where it was created.
26 #define QGS_ERROR_MESSAGE(message, tag) QgsErrorMessage(QString(message),QString(tag), QString(__FILE__), QString(__FUNCTION__), __LINE__)
27 
32 class CORE_EXPORT QgsErrorMessage
33 {
34  public:
36  enum Format
37  {
38  Text, // Plain text
39  Html
40  };
41 
43  QgsErrorMessage() = default;
44 
53  QgsErrorMessage( const QString &message, const QString &tag = QString(), const QString &file = QString(), const QString &function = QString(), int line = 0 );
54 
55  QString message() const { return mMessage; }
56  QString tag() const { return mTag; }
57  QString file() const { return mFile; }
58  QString function() const { return mFunction; }
59  int line() const { return mLine; }
60 
61  private:
63  QString mMessage;
64 
66  QString mTag;
67 
69  QString mFile;
70  QString mFunction;
71  int mLine = 0;
72 
74  Format mFormat = Text;
75 };
76 
83 class CORE_EXPORT QgsError
84 {
85  public:
86 
88  QgsError() = default;
89 
95  QgsError( const QString &message, const QString &tag );
96 
102  void append( const QString &message, const QString &tag );
103 
108  void append( const QgsErrorMessage &message );
109 
114  bool isEmpty() const { return mMessageList.isEmpty(); }
115 
121  QString message( QgsErrorMessage::Format format = QgsErrorMessage::Html ) const;
122 
127  QString summary() const;
128 
130  void clear() { mMessageList.clear(); }
131 
136  QList<QgsErrorMessage> messageList() const { return mMessageList; }
137 
138  private:
140  QList<QgsErrorMessage> mMessageList;
141 };
142 
143 #endif
QString message() const
Definition: qgserror.h:55
QList< QgsErrorMessage > messageList() const
messageList return the list of current error messages
Definition: qgserror.h:136
bool isEmpty() const
Test if any error is set.
Definition: qgserror.h:114
Format
Format.
Definition: qgserror.h:36
QgsErrorMessage represents single error message.
Definition: qgserror.h:32
int line() const
Definition: qgserror.h:59
QgsError is container for error messages (report).
Definition: qgserror.h:83
QString tag() const
Definition: qgserror.h:56
QString file() const
Definition: qgserror.h:57
void clear()
Clear error messages.
Definition: qgserror.h:130