46 lines
899 B
C++
46 lines
899 B
C++
/*!
|
|
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
|
|
*/
|
|
|
|
#include "MockCard.h"
|
|
|
|
using namespace governikus;
|
|
|
|
MockCard::MockCard(const MockCardConfig& pCardConfig)
|
|
: mConnected(false)
|
|
, mCardConfig(pCardConfig)
|
|
{
|
|
}
|
|
|
|
|
|
MockCard::~MockCard()
|
|
{
|
|
}
|
|
|
|
|
|
CardReturnCode MockCard::connect()
|
|
{
|
|
mConnected = mCardConfig.mConnect == CardReturnCode::OK;
|
|
return mCardConfig.mConnect;
|
|
}
|
|
|
|
|
|
CardReturnCode MockCard::disconnect()
|
|
{
|
|
mConnected = mCardConfig.mDisconnect == CardReturnCode::OK;
|
|
return mCardConfig.mDisconnect;
|
|
}
|
|
|
|
|
|
CardReturnCode MockCard::transmit(const CommandApdu& pCmd, ResponseApdu& pRes)
|
|
{
|
|
Q_UNUSED(pCmd);
|
|
if (mCardConfig.mTransmits.isEmpty())
|
|
{
|
|
qFatal("No (more) response APDU configured, but a(nother) command transmitted");
|
|
}
|
|
QPair<CardReturnCode, QByteArray> config = mCardConfig.mTransmits.takeFirst();
|
|
pRes.setBuffer(config.second);
|
|
return config.first;
|
|
}
|