AusweisApp
Lade ...
Suche ...
Keine Treffer
UpdatableFile.h
gehe zur Dokumentation dieser Datei
1
12#pragma once
13
14#include "GlobalStatus.h"
15
16#include <QObject>
17#include <QUrl>
18
19#include <functional>
20
21class test_UpdatableFile;
22class test_ReaderConfiguration;
23
24
25namespace governikus
26{
28 : public QObject
29{
31 friend class ::test_UpdatableFile;
32 friend class ::test_ReaderConfiguration;
33
34 private:
35 const QString mSection;
36 const QString mName;
37 QString mDefaultPath;
38 const QString mSectionCachePath;
39 const QUrl mUpdateUrl;
40 bool mUpdateRunning;
41
42 [[nodiscard]] const QString& getName() const;
43 [[nodiscard]] QDateTime cacheTimestamp() const;
44 [[nodiscard]] const QString& getSectionCachePath() const;
45
46 [[nodiscard]] QString qrcPath() const;
47 [[nodiscard]] QString cachePath() const;
48 [[nodiscard]] QUrl updateUrl(const QString& pSection, const QString& pName) const;
49 [[nodiscard]] QString dirtyFilePath() const;
50 [[nodiscard]] QString sectionCachePath(const QString& pSection) const;
51 [[nodiscard]] QString makeSectionCachePath(const QString& pSection) const;
52 void cleanupAfterUpdate(const std::function<void()>& pCustomAction);
53 bool writeDataToFile(const QByteArray& pData, const QString& pFilePath) const;
54
55 private Q_SLOTS:
56 void onDownloadSuccess(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
57 void onDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
58 void onDownloadUnnecessary(const QUrl& pUpdateUrl);
59
60 public:
61 UpdatableFile(const QString& pSection, const QString& pName, const QString& pDefaultPath = QString());
62 ~UpdatableFile() override = default;
63
65 QString lookupPath();
66 bool forEachLookupPath(const std::function<bool(const QString&)>& pValidate);
67
68 void setDefaultPath(const QString& pPath);
69 [[nodiscard]] const QString& getDefaultPath() const;
70
71 void update();
72 [[nodiscard]] bool isDirty() const;
73 void clearDirty() const;
74 void markDirty() const;
75
79
80};
81
82} // namespace governikus
Code
Definition GlobalStatus.h:30
Definition UpdatableFile.h:29
void clearDirty() const
Definition UpdatableFile.cpp:377
bool forEachLookupPath(const std::function< bool(const QString &)> &pValidate)
Definition UpdatableFile.cpp:299
~UpdatableFile() override=default
bool isDirty() const
Definition UpdatableFile.cpp:366
UpdatableFile(const QString &pSection, const QString &pName, const QString &pDefaultPath=QString())
Definition UpdatableFile.cpp:241
const QString & getDefaultPath() const
Definition UpdatableFile.cpp:343
QUrl lookupUrl()
Definition UpdatableFile.cpp:257
void update()
Definition UpdatableFile.cpp:349
void setDefaultPath(const QString &pPath)
Definition UpdatableFile.cpp:334
QString lookupPath()
Definition UpdatableFile.cpp:271
void markDirty() const
Definition UpdatableFile.cpp:395
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