AusweisApp2/test/helper/MockCard.cpp

52 lines
976 B
C++
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
2019-05-22 10:08:38 +02:00
* \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany
2017-07-03 09:30:10 +02:00
*/
#include "MockCard.h"
using namespace governikus;
MockCard::MockCard(const MockCardConfig& pCardConfig)
: mConnected(false)
, mCardConfig(pCardConfig)
{
}
MockCard::~MockCard()
{
}
2017-07-03 09:33:28 +02:00
CardReturnCode MockCard::connect()
2017-07-03 09:30:10 +02:00
{
2017-07-03 09:33:28 +02:00
mConnected = mCardConfig.mConnect == CardReturnCode::OK;
2017-07-03 09:30:10 +02:00
return mCardConfig.mConnect;
}
2017-07-03 09:33:28 +02:00
CardReturnCode MockCard::disconnect()
2017-07-03 09:30:10 +02:00
{
2017-07-03 09:33:28 +02:00
mConnected = mCardConfig.mDisconnect == CardReturnCode::OK;
2017-07-03 09:30:10 +02:00
return mCardConfig.mDisconnect;
}
2017-07-03 09:33:28 +02:00
CardReturnCode MockCard::transmit(const CommandApdu& pCmd, ResponseApdu& pRes)
2017-07-03 09:30:10 +02:00
{
Q_UNUSED(pCmd);
if (mCardConfig.mTransmits.isEmpty())
{
qFatal("No (more) response APDU configured, but a(nother) command transmitted");
}
2017-07-03 09:33:28 +02:00
QPair<CardReturnCode, QByteArray> config = mCardConfig.mTransmits.takeFirst();
2017-07-03 09:30:10 +02:00
pRes.setBuffer(config.second);
return config.first;
}
2019-01-03 15:06:22 +01:00
void MockCard::setConnected(bool pConnected)
{
mConnected = pConnected;
}