AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteServiceSettings.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "AbstractSettings.h"
10 
11 #include <QDateTime>
12 #include <QList>
13 #include <QSet>
14 #include <QSslCertificate>
15 #include <QSslKey>
16 #include <QString>
17 #include <QVector>
18 
19 class test_RemoteServiceSettings;
20 class test_RemoteConnector;
21 class test_RemoteTlsServer;
22 class test_RemoteWebSocketServer;
23 
24 namespace governikus
25 {
26 
28  : public AbstractSettings
29 {
30  Q_OBJECT
31 
32  friend class AppSettings;
33  friend class ::test_RemoteServiceSettings;
34  friend class ::test_RemoteConnector;
35  friend class ::test_RemoteTlsServer;
36  friend class ::test_RemoteWebSocketServer;
37 
38  public:
39  class RemoteInfo
40  {
41  friend class RemoteServiceSettings;
42  friend class ::test_RemoteServiceSettings;
43 
44  private:
45  QString mFingerprint;
46  QString mName;
47  QDateTime mLastConnected;
48 
49  RemoteInfo(const QString& pFingerprint,
50  const QDateTime& pLastConnected = QDateTime(),
51  const QString& pName = QString());
52 
53  public:
54  RemoteInfo() = default;
55 
56  const QString& getFingerprint() const;
57 
58  const QString& getName() const;
59  void setName(const QString& pName);
60 
61  const QDateTime& getLastConnected() const;
62  void setLastConnected(const QDateTime& pLastConnected);
63 
64  bool operator==(const RemoteInfo& pOther) const;
65  bool operator!=(const RemoteInfo& pOther) const;
66  };
67 
68  private:
69  QSharedPointer<QSettings> mStore;
70 
72  QString getDefaultServerName();
73  void setTrustedCertificates(const QList<QSslCertificate>& pCertificates);
74  void setUniqueTrustedCertificates(const QSet<QSslCertificate>& pCertificates);
75 
76  void setRemoteInfos(const QVector<RemoteInfo>& pInfos);
77  void syncRemoteInfos(const QSet<QSslCertificate>& pCertificates);
78 
79  public:
80  static QString generateFingerprint(const QSslCertificate& pCert);
81  virtual ~RemoteServiceSettings() override;
82  virtual void save() override;
83 
84  QString getServerName() const;
85  void setServerName(const QString& pName);
86 
87  bool getPinPadMode() const;
88  void setPinPadMode(bool pPinPadMode);
89 
90  QList<QSslCertificate> getTrustedCertificates() const;
91  void addTrustedCertificate(const QSslCertificate& pCertificate);
92  void removeTrustedCertificate(const QSslCertificate& pCertificate);
93  void removeTrustedCertificate(const QString& pFingerprint);
94 
95  QSslCertificate getCertificate() const;
96  void setCertificate(const QSslCertificate& pCert) const;
97 
98  QSslKey getKey() const;
99  void setKey(const QSslKey& pKey) const;
100 
101  RemoteInfo getRemoteInfo(const QSslCertificate& pCertificate) const;
102  RemoteInfo getRemoteInfo(const QString& pFingerprint) const;
103  QVector<RemoteInfo> getRemoteInfos() const;
104  bool updateRemoteInfo(const RemoteInfo& pInfo);
105 
106  Q_SIGNALS:
109 };
110 
111 
112 } /* namespace governikus */
113 
static QString generateFingerprint(const QSslCertificate &pCert)
Definition: RemoteServiceSettings.cpp:30
virtual void save() override
Definition: RemoteServiceSettings.cpp:54
Definition: RemoteServiceSettings.h:39
const QString & getFingerprint() const
Definition: RemoteServiceSettings.cpp:328
void removeTrustedCertificate(const QSslCertificate &pCertificate)
Definition: RemoteServiceSettings.cpp:154
QSslCertificate getCertificate() const
Definition: RemoteServiceSettings.cpp:176
virtual ~RemoteServiceSettings() override
Definition: RemoteServiceSettings.cpp:49
QVector< RemoteInfo > getRemoteInfos() const
Definition: RemoteServiceSettings.cpp:227
bool operator!=(const RemoteInfo &pOther) const
Definition: RemoteServiceSettings.cpp:366
void setName(const QString &pName)
Definition: RemoteServiceSettings.cpp:340
QSslKey getKey() const
Definition: RemoteServiceSettings.cpp:188
QString getServerName() const
Definition: RemoteServiceSettings.cpp:72
bool operator==(const RemoteInfo &pOther) const
Definition: RemoteServiceSettings.cpp:358
bool getPinPadMode() const
Definition: RemoteServiceSettings.cpp:90
const QDateTime & getLastConnected() const
Definition: RemoteServiceSettings.cpp:346
void setServerName(const QString &pName)
Definition: RemoteServiceSettings.cpp:78
bool updateRemoteInfo(const RemoteInfo &pInfo)
Definition: RemoteServiceSettings.cpp:294
Represents application settings.
Definition: AppSettings.h:25
Definition: RemoteServiceSettings.h:27
Definition: AbstractSettings.h:24
void setKey(const QSslKey &pKey) const
Definition: RemoteServiceSettings.cpp:200
Q_DECLARE_TYPEINFO(governikus::AccessRight, Q_PRIMITIVE_TYPE)
QSharedPointer< QSettings > mStore
Definition: HistorySettings.h:40
const QString & getName() const
Definition: RemoteServiceSettings.cpp:334
void setPinPadMode(bool pPinPadMode)
Definition: RemoteServiceSettings.cpp:96
QList< QSslCertificate > getTrustedCertificates() const
Definition: RemoteServiceSettings.cpp:102
void setLastConnected(const QDateTime &pLastConnected)
Definition: RemoteServiceSettings.cpp:352
void setCertificate(const QSslCertificate &pCert) const
Definition: RemoteServiceSettings.cpp:182
void addTrustedCertificate(const QSslCertificate &pCertificate)
Definition: RemoteServiceSettings.cpp:146
RemoteInfo getRemoteInfo(const QSslCertificate &pCertificate) const
Definition: RemoteServiceSettings.cpp:206