AusweisApp2
UpdatableFile.h
gehe zur Dokumentation dieser Datei
1 
10 #pragma once
11 
12 #include "GlobalStatus.h"
13 
14 #include <QObject>
15 #include <QUrl>
16 
17 #include <functional>
18 
19 class test_UpdatableFile;
21 
22 
23 namespace governikus
24 {
26  : public QObject
27 {
28  Q_OBJECT
29 
30  private:
31  friend class ::test_UpdatableFile;
32  friend class ::test_ReaderConfiguration;
33 
34  const QString mSection;
35  const QString mName;
36  QString mDefaultPath;
37  const QString mSectionCachePath;
38  const QUrl mUpdateUrl;
39  bool mUpdateRunning;
40 
41  const QString& getName();
42  QDateTime cacheTimestamp() const;
43  const QString& getSectionCachePath() const;
44 
45  QString qrcPath() const;
46  QString cachePath() const;
47  QUrl updateUrl(const QString& pSection, const QString& pName);
48  QString dirtyFilePath() const;
49  QString sectionCachePath(const QString& pSection) const;
50  QString makeSectionCachePath(const QString& pSection);
51  void cleanupAfterUpdate(const std::function<void()>& pCustomAction);
52  bool writeDataToFile(const QByteArray& pData, const QString& pFilePath, bool pOverwrite = false);
53 
54  private Q_SLOTS:
55  void onDownloadSuccess(const QUrl& pUpdateUrl, const QDateTime& pNewTimestamp, const QByteArray& pData);
56  void onDownloadFailed(const QUrl& pUpdateUrl, GlobalStatus::Code pErrorCode);
57  void onDownloadUnnecessary(const QUrl& pUpdateUrl);
58 
59  public:
60  UpdatableFile(const QString& pSection, const QString& pName, const QString& pDefaultPath = QString());
61  virtual ~UpdatableFile() = default;
62 
63  QUrl lookupUrl();
64  QString lookupPath();
65  void setDefaultPath(const QString& pPath);
66  const QString& getDefaultPath() const;
67 
68  void update();
69  bool isDirty() const;
70  void clearDirty() const;
71  void markDirty() const;
72 
73  Q_SIGNALS:
74  void fireUpdated();
75  void fireNoUpdateAvailable();
76 
77 };
78 
79 } // namespace governikus
governikus::UpdatableFile
Definition: UpdatableFile.h:27
governikus::UpdatableFile::markDirty
void markDirty() const
Definition: UpdatableFile.cpp:363
governikus::UpdatableFile::setDefaultPath
void setDefaultPath(const QString &pPath)
Definition: UpdatableFile.cpp:294
governikus::UpdatableFile::update
void update()
Definition: UpdatableFile.cpp:309
governikus::GlobalStatus::Code
Code
Definition: GlobalStatus.h:26
SecureStorage.h
UpdatableFile.h
governikus::UpdatableFile::fireNoUpdateAvailable
void fireNoUpdateAvailable()
Definition: moc_UpdatableFile.cpp:170
governikus::UpdatableFile::UpdatableFile
UpdatableFile(const QString &pSection, const QString &pName, const QString &pDefaultPath=QString())
Definition: UpdatableFile.cpp:236
governikus::UpdatableFile::~UpdatableFile
virtual ~UpdatableFile()=default
governikus::UpdatableFile::lookupPath
QString lookupPath()
Definition: UpdatableFile.cpp:266
governikus::Downloader::fireDownloadFailed
void fireDownloadFailed(const QUrl &pUpdateUrl, GlobalStatus::Code pErrorCode)
Definition: moc_Downloader.cpp:216
GlobalStatus.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::UpdatableFile::clearDirty
void clearDirty() const
Definition: UpdatableFile.cpp:345
governikus::UpdatableFile::getDefaultPath
const QString & getDefaultPath() const
Definition: UpdatableFile.cpp:303
governikus::UpdatableFile::isDirty
bool isDirty() const
Definition: UpdatableFile.cpp:334
test_UpdatableFile
Definition: test_UpdatableFile.cpp:17
governikus::UpdatableFile::lookupUrl
QUrl lookupUrl()
Definition: UpdatableFile.cpp:252
Downloader.h
governikus::Downloader::fireDownloadUnnecessary
void fireDownloadUnnecessary(const QUrl &pUpdateUrl)
Definition: moc_Downloader.cpp:223
test_ReaderConfiguration
Definition: test_ReaderConfiguration.cpp:26
governikus::Downloader::fireDownloadSuccess
void fireDownloadSuccess(const QUrl &pUpdateUrl, const QDateTime &pNewTimestamp, const QByteArray &pData)
Definition: moc_Downloader.cpp:209
governikus::UpdatableFile::fireUpdated
void fireUpdated()
Definition: moc_UpdatableFile.cpp:164