AusweisApp2
Lade ...
Suche ...
Keine Treffer
RemoteCard.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include "Card.h"
12
13#include <QMutex>
14#include <QSharedPointer>
15#include <QString>
16#include <QWaitCondition>
17
18
19namespace governikus
20{
21
23 : public Card
24{
25 Q_OBJECT
26
27 private:
28 bool mWaitingForAnswer;
29 QWaitCondition mWaitCondition;
30 QMutex mResponseAvailable, mProcessResponse;
31
32 RemoteCardMessageType mExpectedAnswerType;
33 QJsonObject mResponse;
34 const QSharedPointer<RemoteDispatcherClient> mRemoteDispatcher;
35 QString mReaderName;
36 QString mSlotHandle;
37 bool mConnected;
38 QString mProgressMessage;
39
40 bool sendMessage(const QSharedPointer<const RemoteMessage>& pMessage, RemoteCardMessageType pExpectedAnswer, unsigned long pTimeout);
41
42 private Q_SLOTS:
43 void onMessageReceived(RemoteCardMessageType pMessageTpe, const QJsonObject& pJsonObject);
44 void onDispatcherClosed(GlobalStatus::Code pCloseCode, const QString& pId);
45
46 Q_SIGNALS:
48
49 public:
50 RemoteCard(const QSharedPointer<RemoteDispatcherClient>& pRemoteDispatcher, const QString& pReaderName);
51 ~RemoteCard() override;
52
53 CardReturnCode connect() override;
54 CardReturnCode disconnect() override;
55 bool isConnected() override;
56 void setProgressMessage(const QString& pMessage, int pProgress = -1) override;
57
58 ResponseApduResult transmit(const CommandApdu& pCmd) override;
59
60 EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray& pChat, const QByteArray& pCertificateDescription, quint8 pTimeoutSeconds = 60) override;
61
62 ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override;
63};
64
65} // namespace governikus
Definition: Card.h:24
Definition: CommandApdu.h:16
Definition: EstablishPaceChannelOutput.h:48
Code
Definition: GlobalStatus.h:26
Definition: RemoteCard.h:24
ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override
Sets a new eID PIN, i.e.
Definition: RemoteCard.cpp:235
bool isConnected() override
Is the smart card connected, i.e.
Definition: RemoteCard.cpp:170
~RemoteCard() override
Definition: RemoteCard.cpp:117
CardReturnCode connect() override
Establish a connection to the smart card.
Definition: RemoteCard.cpp:123
void setProgressMessage(const QString &pMessage, int pProgress=-1) override
Sets the current workflow progress message.
Definition: RemoteCard.cpp:176
EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray &pChat, const QByteArray &pCertificateDescription, quint8 pTimeoutSeconds=60) override
Establishes a PACE channel, i.e.
Definition: RemoteCard.cpp:206
CardReturnCode disconnect() override
Destroys the previously established connection to the smart card.
Definition: RemoteCard.cpp:147
ResponseApduResult transmit(const CommandApdu &pCmd) override
Performs a transmit to the smart card.
Definition: RemoteCard.cpp:182
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
quint8
Definition: ResponseApdu.h:62
Definition: ResponseApdu.h:107