AusweisApp2
Lade ...
Suche ...
Keine Treffer
BuildHelper.h
gehe zur Dokumentation dieser Datei
1/*
2 * \brief Helper to get build date and time.
3 *
4 * \copyright Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
5 */
6
7#pragma once
8
9#include "EnumHelper.h"
10
11#include <QCoreApplication>
12#include <QPair>
13#include <QString>
14#include <QVector>
15
16#ifdef Q_OS_ANDROID
17 #include <QByteArrayList>
18 #include <QJniObject>
19#endif
20
21#include <functional>
22
23namespace governikus
24{
25
26defineEnumType(CertificateType
27 , UNKNOWN
28 , PRODUCTION
29 , DEVELOPER
30 )
31
32class BuildHelper
33{
34 Q_DECLARE_TR_FUNCTIONS(BuildHelper)
35
36 private:
37 BuildHelper() = delete;
38 ~BuildHelper() = delete;
39
40 [[nodiscard]] static CertificateType fetchCertificateType();
41 [[nodiscard]] static bool fetchUserInteractive();
42
43 public:
44 static QVector<QPair<QLatin1String, QString>> getInformationHeader();
45 static void processInformationHeader(const std::function<void(const QString&, const QString&)>& pFunc, bool pTranslate = true);
46
47 [[nodiscard]] static CertificateType getCertificateType();
48 [[nodiscard]] static bool isUserInteractive();
49
50
51#ifdef Q_OS_ANDROID
52 static QJniObject getPackageInfo(const QString& pPackageName, int pFlags = 0);
53 static int getVersionCode();
54 static int getVersionCode(const QString& pPackageName);
55 static QString getPackageName();
56 static QByteArrayList getAppCertificates();
57 static QByteArrayList getAppCertificates(const QString& pPackageName);
58#endif
59
60
61};
62
63} // namespace governikus
#define defineEnumType(enumName,...)
Definition: EnumHelper.h:96
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
UNKNOWN
Definition: ResponseApdu.h:63