AusweisApp
Lade ...
Suche ...
Keine Treffer
RemoteServiceModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Env.h"
9#include "RemoteDeviceModel.h"
10#include "SingletonCreator.h"
11#include "WorkflowModel.h"
12#include "WorkflowRequest.h"
14
15#include <QObject>
16#include <QQmlEngine>
17#include <QtQml/qqmlregistration.h>
18
19
20class test_UiPluginQml;
21
22
23namespace governikus
24{
25
27 : public WorkflowModel
28 , public SingletonCreator<RemoteServiceModel>
29{
33
34 friend class Env;
35 friend class ::test_UiPluginQml;
36
55 Q_PROPERTY(bool requiresLocalNetworkPermission MEMBER mRequiresLocalNetworkPermission CONSTANT)
58
59 private:
61 bool mRunnable;
62 bool mIsStarting;
63 bool mCanEnableNfc;
64 bool mPairingRequested;
65 QString mErrorMessage;
66 QByteArray mPsk;
67 RemoteDeviceModel mAllDevices;
68 RemoteDeviceFilterModel mAvailableDevicesInPairingMode;
69 RemoteDeviceFilterModel mAvailablePairedDevices;
70 RemoteDeviceFilterModel mUnavailablePairedDevices;
71 QString mConnectionInfo;
72 QString mConnectedServerDeviceNames;
73 QSharedPointer<IfdListEntry> mRememberedServerEntry;
74 const bool mRequiresLocalNetworkPermission;
75#if defined(Q_OS_IOS)
76 bool mWasRunning;
77 bool mWasPairing;
78#endif
79
81 ~RemoteServiceModel() override = default;
82
83 QString getErrorMessage(bool pNfcPluginEnabled, bool pWifiEnabled) const;
84 QRegularExpression getPercentMatcher() const;
85
86 void setStarting(bool pStarting);
87
88 private Q_SLOTS:
89 void onEstablishConnectionDone(const QSharedPointer<IfdListEntry>& pEntry, const GlobalStatus& pStatus);
90 void onConnectionInfoChanged(bool pConnected);
91 void onCardConnected(const QSharedPointer<CardConnection>& pConnection) const;
92 void onCardDisconnected(const QSharedPointer<CardConnection>& pConnection) const;
93 void onConnectedDevicesChanged();
94 void onEnvironmentChanged();
95#ifdef Q_OS_IOS
96 void onApplicationStateChanged(const bool pIsAppInForeground);
97#else
98 void onApplicationStateChanged(const bool pIsAppInForeground) const;
99#endif
100 void onPairingCompleted(const QSslCertificate& pCertificate);
101 void onNameChanged();
102
103 public Q_SLOTS:
106
107 public:
108 [[nodiscard]] bool isRunning() const;
109 Q_INVOKABLE void setRunning(bool pState, bool pEnablePairing = false);
110 [[nodiscard]] bool isStarting() const;
111
120 [[nodiscard]] QList<ReaderManagerPluginType> getSupportedReaderPluginTypes() const override;
121
123 void setPairing(bool pEnabled) const;
124 [[nodiscard]] bool isPairing() const;
125 [[nodiscard]] bool isConnectedToPairedDevice() const;
126 [[nodiscard]] bool enableTransportPinLink() const;
127 [[nodiscard]] bool isRunnable() const;
128 [[nodiscard]] bool isCanEnableNfc() const;
129 [[nodiscard]] QString getErrorMessage() const;
130 [[nodiscard]] QByteArray getPsk() const;
131 [[nodiscard]] QString getDisplayText() const;
132 [[nodiscard]] int getPercentage() const;
133 [[nodiscard]] QString getConnectionInfo() const;
134 [[nodiscard]] QString getConnectedServerDeviceNames() const;
135 [[nodiscard]] bool getRemoteReaderVisible() const;
136 [[nodiscard]] QString getTransactionInfo() const;
137 [[nodiscard]] QString getConnectedClientName() const;
138
139 [[nodiscard]] Q_INVOKABLE bool pinPadModeOn() const;
145
146 Q_SIGNALS:
156 void firePairingFailed(const QString& pDeviceName, const QString& pErrorMessage);
157 void firePairingSuccess(const QString& pDeviceName);
165};
166
167
168} // namespace governikus
Definition Env.h:40
Definition GlobalStatus.h:19
Definition IfdListEntry.h:17
Definition IfdServiceContext.h:24
Definition RemoteDeviceFilterModel.h:17
Definition RemoteDeviceModel.h:30
Definition RemoteServiceModel.h:29
RemoteDeviceFilterModel * getAvailablePairedDevices()
Definition RemoteServiceModel.cpp:230
QByteArray psk
Definition RemoteServiceModel.h:43
RemoteDeviceFilterModel * getUnavailablePairedDevices()
Definition RemoteServiceModel.cpp:242
Q_INVOKABLE void changePinLength()
Definition RemoteServiceModel.cpp:543
QString connectedClientName
Definition RemoteServiceModel.h:57
bool running
Definition RemoteServiceModel.h:37
bool remoteReaderVisible
Definition RemoteServiceModel.h:54
int getPercentage() const
Definition RemoteServiceModel.cpp:446
bool connectedToPairedDevice
Definition RemoteServiceModel.h:46
bool isRunnable() const
Definition RemoteServiceModel.cpp:415
QString transactionInfo
Definition RemoteServiceModel.h:56
void fireStartWorkflow(const QSharedPointer< WorkflowRequest > &pRequest)
void firePairingFailed(const QString &pDeviceName, const QString &pErrorMessage)
bool canEnableNfc
Definition RemoteServiceModel.h:40
void onTranslationChanged()
Definition RemoteServiceModel.cpp:133
bool isPairing
Definition RemoteServiceModel.h:42
governikus::RemoteDeviceFilterModel * availablePairedDevices
Definition RemoteServiceModel.h:51
QString connectionInfo
Definition RemoteServiceModel.h:47
Q_INVOKABLE void startDetection()
Definition RemoteServiceModel.cpp:248
RemoteDeviceModel * getAllDevices()
Definition RemoteServiceModel.cpp:224
QString getErrorMessage() const
Definition RemoteServiceModel.cpp:427
governikus::RemoteDeviceModel * allDevices
Definition RemoteServiceModel.h:49
Q_INVOKABLE bool pinPadModeOn() const
Definition RemoteServiceModel.cpp:490
Q_INVOKABLE void stopDetection(bool pStopScan)
Definition RemoteServiceModel.cpp:254
bool isConnectedToPairedDevice() const
Definition RemoteServiceModel.cpp:398
QString connectedServerDeviceNames
Definition RemoteServiceModel.h:48
bool runnable
Definition RemoteServiceModel.h:39
void firePskChanged(const QByteArray &pPsk)
void setPairing(bool pEnabled) const
Definition RemoteServiceModel.cpp:378
QString getConnectionInfo() const
Definition RemoteServiceModel.cpp:453
bool getRemoteReaderVisible() const
Definition RemoteServiceModel.cpp:465
void fireCertificateRemoved(const QString &pDeviceName)
governikus::RemoteDeviceFilterModel * availableDevicesInPairingMode
Definition RemoteServiceModel.h:50
bool isStarting
Definition RemoteServiceModel.h:38
void firePairingSuccess(const QString &pDeviceName)
QString getConnectedServerDeviceNames() const
Definition RemoteServiceModel.cpp:459
bool requiresLocalNetworkPermission
Definition RemoteServiceModel.h:55
void resetRemoteServiceContext(const QSharedPointer< IfdServiceContext > &pContext=QSharedPointer< IfdServiceContext >())
Definition RemoteServiceModel.cpp:337
Q_INVOKABLE void cancelPasswordRequest()
Definition RemoteServiceModel.cpp:525
QByteArray getPsk() const
Definition RemoteServiceModel.cpp:433
QString getTransactionInfo() const
Definition RemoteServiceModel.cpp:471
Q_INVOKABLE void forgetDevice(const QVariant &pId)
Definition RemoteServiceModel.cpp:519
Q_INVOKABLE bool rememberServer(const QVariant &pDeviceId)
Definition RemoteServiceModel.cpp:285
QString errorMessage
Definition RemoteServiceModel.h:41
bool isCanEnableNfc() const
Definition RemoteServiceModel.cpp:421
RemoteDeviceFilterModel * getAvailableDevicesInPairingMode()
Definition RemoteServiceModel.cpp:236
governikus::RemoteDeviceFilterModel * unavailablePairedDevices
Definition RemoteServiceModel.h:52
QList< ReaderManagerPluginType > getSupportedReaderPluginTypes() const override
Definition RemoteServiceModel.cpp:273
Q_INVOKABLE void connectToRememberedServer(const QByteArray &pServerPsk)
Definition RemoteServiceModel.cpp:260
Q_INVOKABLE void setRunning(bool pState, bool pEnablePairing=false)
Definition RemoteServiceModel.cpp:180
Q_INVOKABLE bool isPinAuthentication() const
Definition RemoteServiceModel.cpp:552
int percentage
Definition RemoteServiceModel.h:45
QString getDisplayText() const
Definition RemoteServiceModel.cpp:439
bool enableTransportPinLink
Definition RemoteServiceModel.h:53
QString getConnectedClientName() const
Definition RemoteServiceModel.cpp:477
Q_INVOKABLE void passwordsDiffer()
Definition RemoteServiceModel.cpp:534
void onReaderPluginTypesChanged(bool pExplicitStart)
Definition RemoteServiceModel.cpp:139
bool isRunning() const
Definition RemoteServiceModel.cpp:174
QString displayText
Definition RemoteServiceModel.h:44
Definition SingletonCreator.h:22
Defines the AccessRight and AccessRole enum.
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:112