AusweisApp
Lade ...
Suche ...
Keine Treffer
LogModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Env.h"
8#include "SingletonCreator.h"
9
10#include <QAbstractListModel>
11#include <QDateTime>
12#include <QObject>
13#include <QPoint>
14#include <QSet>
15#include <QString>
16#include <QStringList>
17#include <QTextStream>
18#include <QUrl>
19#include <QtQml/qqmlregistration.h>
20
21class test_LogModel;
22
23namespace governikus
24{
25
27 : public QAbstractListModel
28 , public SingletonCreator<LogModel>
29{
33
34 friend class Env;
35 friend class ::test_LogModel;
36
38
39 private:
40 QStringList mLogFiles;
41 int mSelectedLogFile;
42 QStringList mLogEntries;
43
44 QSet<QString> mLevels;
45 QSet<QString> mCategories;
46
47 LogModel();
48 ~LogModel() override = default;
49
50 void reset();
51 void addLogEntry(const QString& pEntry);
52 void setLogEntries(QTextStream& pTextStream);
53
54 private Q_SLOTS:
55 void onNewLogMsg(const QString& pMsg);
56
57 public Q_SLOTS:
59
60 public:
68
70 [[nodiscard]] const QSet<QString>& getLevels() const;
71 [[nodiscard]] const QSet<QString>& getCategories() const;
76#ifndef QT_NO_DEBUG
78#endif
79
80 Q_INVOKABLE void mailLog(const QString& pEmail = QStringLiteral("support@ausweisapp.de"),
81 const QString& pSubject = tr("Mobile logfile"),
82 const QString& pMsg = tr("<Please describe the error>")) const;
83
84 // \a popupPosition will be used on an iPad as the origin of the share bubble
86
87 int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
88 QHash<int, QByteArray> roleNames() const override;
89 QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
90 Q_INVOKABLE static QString createLogFileName(const QDateTime& pDateTime = QDateTime::currentDateTime());
91
97};
98
99} // namespace governikus
Definition Env.h:42
Definition LogModel.h:29
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:171
Q_INVOKABLE void saveDummyLogFile(const QDateTime &pTimeStamp=QDateTime())
Definition LogModel.cpp:225
Q_INVOKABLE void removeOtherLogFiles()
Definition LogModel.cpp:161
QHash< int, QByteArray > roleNames() const override
Definition LogModel.cpp:253
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition LogModel.cpp:265
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:37
static Q_INVOKABLE QString createLogFileName(const QDateTime &pDateTime=QDateTime::currentDateTime())
Definition LogModel.cpp:312
Q_INVOKABLE void saveCurrentLogFile(const QUrl &pFilename) const
Definition LogModel.cpp:207
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:246
Q_INVOKABLE void shareLog(QPoint popupPosition) const
Definition LogModel_android.cpp:84
LogModelRoles
Definition LogModel.h:62
@ CategoryRole
Definition LogModel.h:65
@ OriginRole
Definition LogModel.h:63
@ LevelRole
Definition LogModel.h:64
@ MessageRole
Definition LogModel.h:66
Definition SingletonCreator.h:22
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114