AusweisApp2
PcscReader.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "PcscReaderFeature.h"
10 #include "PcscUtils.h"
11 #include "Reader.h"
12 
13 #include <QTimerEvent>
14 
15 
16 namespace governikus
17 {
18 
19 class PcscCard;
20 
21 
23  : public Reader
24 {
25  Q_OBJECT
26 
27  private:
28  SCARD_READERSTATE mReaderState;
29  PcscReaderFeature mReaderFeatures;
30  QScopedPointer<PcscCard> mPcscCard;
31 
32  SCARDCONTEXT mContextHandle;
33 
34  PCSC_RETURNCODE readReaderFeatures();
35 
36  Reader::CardEvent updateCard() override;
37 
38  public:
39  explicit PcscReader(const QString& pReaderName);
40  ~PcscReader() override;
41 
42  [[nodiscard]] Card* getCard() const override;
43 
44  [[nodiscard]] SCARD_READERSTATE getState() const;
45 
46  [[nodiscard]] bool hasFeature(FeatureID pFeatureID) const;
47 
52  [[nodiscard]] PCSC_INT getFeatureValue(FeatureID pFeatureID) const;
53 
54 
55 };
56 
57 } // namespace governikus
governikus::Card
Definition: Card.h:24
governikus::Reader::CardEvent
CardEvent
Definition: Reader.h:24
governikus::PcscCard
Definition: PcscCard.h:24
governikus::PcscReader::getState
SCARD_READERSTATE getState() const
Definition: PcscReader.cpp:70
PcscCard.h
governikus::Reader::CardEvent::CARD_INSERTED
@ CARD_INSERTED
name
const char * name
Definition: http_parser.cpp:473
governikus::PcscReader::hasFeature
bool hasFeature(FeatureID pFeatureID) const
Definition: PcscReader.cpp:76
governikus::PcscUtils::Scard_E_Timeout
@ Scard_E_Timeout
Definition: PcscUtils.h:82
governikus::PcscReader::PcscReader
PcscReader(const QString &pReaderName)
Definition: PcscReader.cpp:16
returnCode
#define returnCode(x)
toString method for PCSC_RETURNCODE and platform dependent typedefs for PCSC types.
Definition: PcscUtils.h:51
governikus::CardInfo
Holds smart card informations.
Definition: CardInfo.h:29
governikus::PcscReader
Definition: PcscReader.h:24
governikus::ReaderInfo::hasPassport
bool hasPassport() const
Definition: ReaderInfo.h:71
governikus::PcscUtils::Scard_F_Unknown_Error
@ Scard_F_Unknown_Error
Definition: PcscUtils.h:92
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ReaderInfo::hasEidCard
bool hasEidCard() const
Definition: ReaderInfo.h:65
governikus::PcscUtils::Scard_S_Success
@ Scard_S_Success
Definition: PcscUtils.h:72
governikus::ReaderInfo::setCardInfo
void setCardInfo(const CardInfo &pCardInfo)
Definition: ReaderInfo.h:101
PcscUtils.h
governikus::ReaderInfo::getCardInfo
CardInfo & getCardInfo()
Definition: ReaderInfo.h:41
PcscReaderFeature.h
governikus::PcscReader::getCard
Card * getCard() const override
Definition: PcscReader.cpp:293
governikus::Reader::CardEvent::CARD_REMOVED
@ CARD_REMOVED
governikus::ReaderInfo::getName
const QString & getName() const
Definition: ReaderInfo.h:107
governikus::Reader::createCardConnectionWorker
QSharedPointer< CardConnectionWorker > createCardConnectionWorker()
Creates a new CardConnectionWorker if and only if there is a card in the reader which is not already ...
Definition: Reader.cpp:35
governikus::Reader
Definition: Reader.h:19
governikus::PcscReader::getFeatureValue
PCSC_INT getFeatureValue(FeatureID pFeatureID) const
Check with hasFeature first for existence of the feature, otherwise this will cause an exception.
Definition: PcscReader.cpp:82
governikus::PcscReader::~PcscReader
~PcscReader() override
Definition: PcscReader.cpp:59
Reader.h
governikus::PcscUtils::Scard_E_Unknown_Reader
@ Scard_E_Unknown_Reader
Definition: PcscUtils.h:81
governikus::PcscUtils::toString
static QString toString(PCSC_RETURNCODE pCode)
Definition: PcscUtils.cpp:10
governikus::Reader::mTimerId
int mTimerId
Definition: Reader.h:30
governikus::CardInfoFactory::create
static bool create(const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker, ReaderInfo &pReaderInfo)
In order to create a CardInfo instance a connection is established to the smart card and data is read...
Definition: CardInfo.cpp:118
governikus::Reader::mReaderInfo
ReaderInfo mReaderInfo
Definition: Reader.h:29
governikus::Reader::CardEvent::NONE
@ NONE