AusweisApp
Lade ...
Suche ...
Keine Treffer
LogModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Env.h"
8
9#include <QAbstractListModel>
10#include <QDateTime>
11#include <QObject>
12#include <QPoint>
13#include <QSet>
14#include <QString>
15#include <QStringList>
16#include <QTextStream>
17#include <QUrl>
18
19class test_LogModel;
20
21namespace governikus
22{
23
25 : public QAbstractListModel
26{
27 Q_OBJECT
28 friend class Env;
29 friend class ::test_LogModel;
30
31 Q_PROPERTY(QStringList logFileNames READ getLogFileNames NOTIFY fireLogFileNamesChanged)
32
33 private:
34 QStringList mLogFiles;
35 int mSelectedLogFile;
36 QStringList mLogEntries;
37
38 QSet<QString> mLevels;
39 QSet<QString> mCategories;
40
41 LogModel();
42 ~LogModel() override = default;
43
44 void reset();
45 void addLogEntry(const QString& pEntry);
46 void setLogEntries(QTextStream& pTextStream);
47
48 private Q_SLOTS:
49 void onNewLogMsg(const QString& pMsg);
50
51 public Q_SLOTS:
53
54 public:
56 {
57 OriginRole = Qt::UserRole + 1,
61 };
62
63 QStringList getLogFileNames() const;
64 [[nodiscard]] const QSet<QString>& getLevels() const;
65 [[nodiscard]] const QSet<QString>& getCategories() const;
66 Q_INVOKABLE QDateTime getCurrentLogFileDate() const;
67 Q_INVOKABLE void removeOtherLogFiles();
68 Q_INVOKABLE void removeCurrentLogFile();
69 Q_INVOKABLE void setLogFile(int pIndex);
70 Q_INVOKABLE void saveCurrentLogFile(const QUrl& pFilename) const;
71#ifndef QT_NO_DEBUG
72 Q_INVOKABLE void saveDummyLogFile(const QDateTime& pTimeStamp = QDateTime());
73#endif
74
75 Q_INVOKABLE void mailLog(const QString& pEmail = QStringLiteral("support@ausweisapp.de"),
76 const QString& pSubject = tr("Mobile logfile"),
77 const QString& pMsg = tr("<Please describe the error>")) const;
78
79 // \a popupPosition will be used on an iPad as the origin of the share bubble
80 Q_INVOKABLE void shareLog(QPoint popupPosition) const;
81
82 int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
83 QHash<int, QByteArray> roleNames() const override;
84 QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
85 Q_INVOKABLE static QString createLogFileName(const QDateTime& pDateTime = QDateTime::currentDateTime());
86
87 Q_SIGNALS:
92};
93
94} // namespace governikus
Definition Env.h:42
Definition LogModel.h:26
const QSet< QString > & getCategories() const
Definition LogModel.cpp:144
QStringList getLogFileNames() const
Definition LogModel.cpp:120
Q_INVOKABLE void setLogFile(int pIndex)
Definition LogModel.cpp:189
Q_INVOKABLE void saveDummyLogFile(const QDateTime &pTimeStamp=QDateTime())
Definition LogModel.cpp:243
Q_INVOKABLE void removeOtherLogFiles()
Definition LogModel.cpp:161
QHash< int, QByteArray > roleNames() const override
Definition LogModel.cpp:271
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition LogModel.cpp:283
const QSet< QString > & getLevels() const
Definition LogModel.cpp:138
Q_INVOKABLE void mailLog(const QString &pEmail=QStringLiteral("support@ausweisapp.de"), const QString &pSubject=tr("Mobile logfile"), const QString &pMsg=tr("<Please describe the error>")) const
Definition LogModel_android.cpp:41
QStringList logFileNames
Definition LogModel.h:31
static Q_INVOKABLE QString createLogFileName(const QDateTime &pDateTime=QDateTime::currentDateTime())
Definition LogModel.cpp:330
Q_INVOKABLE void saveCurrentLogFile(const QUrl &pFilename) const
Definition LogModel.cpp:225
void onTranslationChanged()
Definition LogModel.cpp:114
void fireLogFileNamesChanged()
Q_INVOKABLE QDateTime getCurrentLogFileDate() const
Definition LogModel.cpp:150
int rowCount(const QModelIndex &pIndex=QModelIndex()) const override
Definition LogModel.cpp:264
Q_INVOKABLE void shareLog(QPoint popupPosition) const
Definition LogModel_android.cpp:84
Q_INVOKABLE void removeCurrentLogFile()
Definition LogModel.cpp:171
LogModelRoles
Definition LogModel.h:56
@ CategoryRole
Definition LogModel.h:59
@ OriginRole
Definition LogModel.h:57
@ LevelRole
Definition LogModel.h:58
@ MessageRole
Definition LogModel.h:60
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16