AusweisApp2
PcscReader.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "PcscReaderFeature.h"
11 #include "PcscUtils.h"
12 #include "Reader.h"
13 
14 #include <QTimerEvent>
15 
16 
17 namespace governikus
18 {
19 
20 class PcscCard;
21 
22 
24  : public Reader
25 {
26  Q_OBJECT
27 
28  private:
29  SCARD_READERSTATE mReaderState;
30  PcscReaderFeature mReaderFeatures;
31  PcscReaderPaceCapability mPaceCapabilities;
32  QScopedPointer<PcscCard> mPcscCard;
33 
34  SCARDCONTEXT mContextHandle;
35 
36  PCSC_RETURNCODE readReaderFeaturesAndPACECapabilities();
37 
38  virtual Reader::CardEvent updateCard() override;
39 
40  public:
41  PcscReader(const QString& pReaderName);
42  virtual ~PcscReader() override;
43 
44  Card* getCard() const override;
45 
46  SCARD_READERSTATE getState();
47 
48  bool hasFeature(FeatureID pFeatureID) const;
49 
54  PCSC_INT getFeatureValue(FeatureID pFeatureID);
55 
56  bool hasPaceCapability(PaceCapabilityId pPaceCapability);
57 
58 };
59 
60 } // namespace governikus
governikus::Card
Definition: Card.h:24
governikus::Reader::CardEvent
CardEvent
Definition: Reader.h:24
governikus::PcscCard
Definition: PcscCard.h:24
PcscCard.h
governikus::ReaderInfo::getCardInfo
const CardInfo & getCardInfo() const
Definition: ReaderInfo.h:41
governikus::PcscReader::getState
SCARD_READERSTATE getState()
Definition: PcscReader.cpp:74
governikus::Reader::CardEvent::CARD_INSERTED
@ CARD_INSERTED
name
const char * name
Definition: http_parser.cpp:470
governikus::PcscReader::hasFeature
bool hasFeature(FeatureID pFeatureID) const
Definition: PcscReader.cpp:80
governikus::PcscUtils::Scard_E_Timeout
@ Scard_E_Timeout
Definition: PcscUtils.h:76
governikus::PcscReader::PcscReader
PcscReader(const QString &pReaderName)
Definition: PcscReader.cpp:15
governikus::PcscReader::getFeatureValue
PCSC_INT getFeatureValue(FeatureID pFeatureID)
Check with hasFeature first for existence of the feature, otherwise this will cause an exception.
Definition: PcscReader.cpp:86
governikus::CardInfo
Holds smart card informations.
Definition: CardInfo.h:28
governikus::PcscReader
Definition: PcscReader.h:25
governikus::ReaderInfo::hasPassport
bool hasPassport() const
Definition: ReaderInfo.h:65
governikus::PcscUtils::Scard_F_Unknown_Error
@ Scard_F_Unknown_Error
Definition: PcscUtils.h:86
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::PcscReader::hasPaceCapability
bool hasPaceCapability(PaceCapabilityId pPaceCapability)
Currently not used, but needed when implementing signature PIN handling.
Definition: PcscReader.cpp:155
governikus::ReaderInfo::hasEidCard
bool hasEidCard() const
Definition: ReaderInfo.h:59
governikus::PcscUtils::Scard_S_Success
@ Scard_S_Success
Definition: PcscUtils.h:66
governikus::ReaderInfo::setCardInfo
void setCardInfo(const CardInfo &pCardInfo)
Definition: ReaderInfo.h:95
PcscUtils.h
PcscReaderFeature.h
governikus::PcscReader::getCard
Card * getCard() const override
Definition: PcscReader.cpp:340
governikus::Reader::CardEvent::CARD_REMOVED
@ CARD_REMOVED
governikus::ReaderInfo::getName
const QString & getName() const
Definition: ReaderInfo.h:101
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
PcscReaderPaceCapability.h
governikus::PcscReader::~PcscReader
virtual ~PcscReader() override
Definition: PcscReader.cpp:63
Reader.h
governikus::PcscUtils::Scard_E_Unknown_Reader
@ Scard_E_Unknown_Reader
Definition: PcscUtils.h:75
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:112
governikus::Reader::mReaderInfo
ReaderInfo mReaderInfo
Definition: Reader.h:29
governikus::Reader::CardEvent::NONE
@ NONE