summaryrefslogtreecommitdiff
path: root/browser/errorlogger.h
diff options
context:
space:
mode:
Diffstat (limited to 'browser/errorlogger.h')
-rw-r--r--browser/errorlogger.h56
1 files changed, 54 insertions, 2 deletions
diff --git a/browser/errorlogger.h b/browser/errorlogger.h
index ad7fb9a..814a812 100644
--- a/browser/errorlogger.h
+++ b/browser/errorlogger.h
@@ -16,6 +16,7 @@
#include <QObject>
#include <QDBusContext>
+#include <QDateTime>
#include "../common/browserdefs.h"
@@ -23,8 +24,51 @@ class errorlogger : public QObject, protected QDBusContext
{
Q_OBJECT
public:
- errorlogger(QObject *parent = 0);
+ static errorlogger *instance()
+ {
+ if (!m_instance)
+ m_instance = new errorlogger();
+ return m_instance;
+ }
+ static void logError (qlonglong dateTime,
+ QString browserVersion,
+ QString connectionType,
+ QString code,
+ QString source,
+ QString desc)
+ {
+ conn::brw::ErrorItem err;
+ err.i64DateTime = dateTime;
+ err.strBrowserVersion = browserVersion;
+ err.strConnectionType = connectionType;
+ err.strCode = code;
+ err.strSource = source;
+ err.strDescription = desc;
+ errorlogger::logError(err);
+ }
+
+ static void logError(QString error)
+ {
+ errorlogger::logError(
+ QDateTime::currentDateTime().toTime_t(),
+ "Unknown",
+ "Unknown",
+ "Unknown",
+ "Unknown",
+ error);
+ }
+
+ static void logError(conn::brw::ErrorItem item)
+ {
+ m_instance->m_logError(item);
+ }
+
+ void clearErrors()
+ {
+ m_errors->clear();
+ emit onErrorListChanged();
+ }
signals:
void onErrorListChanged();
void onNewErrorItem (const conn::brw::ErrorItem);
@@ -36,9 +80,17 @@ public Q_SLOTS:
conn::brw::ERROR_SORT_TYPE sortType,
uint startIndex,
uint itemsCount,
- conn::brw::ErrorItemList items);
+ conn::brw::ErrorItemList &items);
private:
+ errorlogger(){
+ m_errors = new conn::brw::ErrorItemList();
+ }
+ static errorlogger *m_instance;
+
+ void m_logError(conn::brw::ErrorItem);
+
+ conn::brw::ErrorItemList *m_errors;
};
#endif // ERRORLOGGER_H