AusweisApp2
Lade ...
Suche ...
Keine Treffer
LogModel.h
gehe zur Dokumentation dieser Datei
1/*
2 * \copyright Copyright (c) 2018-2021 Governikus GmbH & Co. KG, Germany
3 */
4
5#pragma once
6
7#include "Env.h"
8
9#include <QAbstractListModel>
10#include <QDateTime>
11#include <QObject>
12#include <QPoint>
13#include <QString>
14#include <QStringList>
15#include <QTextStream>
16#include <QUrl>
17
18class test_LogModel;
19
20namespace governikus
21{
22
24 : public QAbstractListModel
25{
26 Q_OBJECT
27 friend class Env;
28 friend class ::test_LogModel;
29
30 enum LogModelRoles
31 {
32 OriginRole = Qt::UserRole + 1,
33 MessageRole
34 };
35
36 Q_PROPERTY(QStringList logFiles READ getLogfiles NOTIFY fireLogFilesChanged)
37
38 private:
39 QStringList mLogFiles;
40 int mSelectedLogFile;
41 QStringList mLogEntries;
42
43 LogModel();
44 ~LogModel() override = default;
45
46 void reset();
47 void addLogEntry(const QString& pEntry);
48 void setLogEntries(QTextStream& pTextStream);
49
50 private Q_SLOTS:
51 void onNewLogMsg(const QString& pMsg);
52
53 public:
54 QStringList getLogfiles() const;
55 Q_INVOKABLE QDateTime getCurrentLogfileDate() const;
56 Q_INVOKABLE void removeOtherLogfiles();
57 Q_INVOKABLE void removeCurrentLogfile();
58 Q_INVOKABLE void setLogfile(int pIndex);
59 Q_INVOKABLE void saveCurrentLogfile(const QUrl& pFilename) const;
60#ifndef QT_NO_DEBUG
61 Q_INVOKABLE void saveDummyLogfile() const;
62#endif
63
64 Q_INVOKABLE void mailLog(const QString& pEmail = tr("support@ausweisapp.de"),
65 const QString& pSubject = tr("Mobile logfile"),
66 const QString& pMsg = tr("<Please describe the error>"));
67
69 Q_INVOKABLE void shareLog(QPoint popupPosition);
70
71 int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
72 QHash<int, QByteArray> roleNames() const override;
73 QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
74 Q_INVOKABLE static QString createLogFileName(const QDateTime& pDateTime = QDateTime::currentDateTime());
75
76 Q_SIGNALS:
79};
80
81} // namespace governikus
Definition: Env.h:44
Definition: LogModel.h:25
QHash< int, QByteArray > roleNames() const override
Definition: LogModel.cpp:219
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: LogModel.cpp:229
Q_INVOKABLE QDateTime getCurrentLogfileDate() const
Definition: LogModel.cpp:97
Q_INVOKABLE void saveDummyLogfile() const
Definition: LogModel.cpp:200
Q_INVOKABLE void saveCurrentLogfile(const QUrl &pFilename) const
Definition: LogModel.cpp:179
static Q_INVOKABLE QString createLogFileName(const QDateTime &pDateTime=QDateTime::currentDateTime())
Definition: LogModel.cpp:259
Q_INVOKABLE void setLogfile(int pIndex)
Definition: LogModel.cpp:136
QStringList logFiles
Definition: LogModel.h:36
Q_INVOKABLE void removeCurrentLogfile()
Definition: LogModel.cpp:118
Q_INVOKABLE void mailLog(const QString &pEmail=tr("support@ausweisapp.de"), const QString &pSubject=tr("Mobile logfile"), const QString &pMsg=tr("<Please describe the error>"))
Definition: LogModel_android.cpp:70
int rowCount(const QModelIndex &pIndex=QModelIndex()) const override
Definition: LogModel.cpp:212
Q_INVOKABLE void removeOtherLogfiles()
Definition: LogModel.cpp:108
QStringList getLogfiles() const
Definition: LogModel.cpp:80
Q_INVOKABLE void shareLog(QPoint popupPosition)
popupPosition will be used on an iPad as the origin of the share bubble
Definition: LogModel_android.cpp:115
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15