/*! * \brief Reader mock for tests * * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once #include "asn1/SecurityInfos.h" #include "MockCard.h" #include "Reader.h" namespace governikus { class MockReader : public Reader { Q_OBJECT QScopedPointer mCard; public: static MockReader* createMockReader(const QVector& pTransmitConfig = QVector(), const QByteArray& pEfCardAccess = QByteArray()); static MockReader* createMockReader(const QVector& pTransmitConfig, const QSharedPointer& pEfCardAccess); MockReader(const QString& pReaderName = QStringLiteral("MockReader")); virtual ~MockReader() override; Card* getCard() const override { return mCard.data(); } void removeCard() { mCard.reset(nullptr); mReaderInfo.setCardInfo(CardInfo(CardType::NONE)); } MockCard* setCard(const MockCardConfig& pCardConfig, const QByteArray& pEfCardAccess); MockCard* setCard(const MockCardConfig& pCardConfig, const QSharedPointer& pEfCardAccess = QSharedPointer()); ReaderInfo& getReaderInfo() { return mReaderInfo; } void setReaderInfo(const ReaderInfo& pReaderInfo) { mReaderInfo = pReaderInfo; } private: virtual Reader::CardEvent updateCard() override { return Reader::CardEvent::NONE; } }; } // namespace governikus