AusweisApp2/src/card/base/command/BaseCardCommand.h

56 lines
1022 B
C
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
* \brief Holds some basic card control commands
*
* \copyright Copyright (c) 2015 Governikus GmbH & Co. KG
*/
#pragma once
#include "CardConnectionWorker.h"
2017-07-03 09:33:28 +02:00
#include "CardReturnCode.h"
2017-07-03 09:30:10 +02:00
#include <QSharedPointer>
class test_BaseCardCommand;
namespace governikus
{
class CardConnection;
class BaseCardCommand
: public QObject
{
Q_OBJECT
2017-09-15 10:23:30 +02:00
friend class ::test_BaseCardCommand;
2017-07-03 09:30:10 +02:00
private:
Q_INVOKABLE void execute(); // will be invoked by CardConnection
protected:
QSharedPointer<CardConnectionWorker> mCardConnectionWorker;
2017-07-03 09:33:28 +02:00
CardReturnCode mReturnCode;
2017-07-03 09:30:10 +02:00
BaseCardCommand(QSharedPointer<CardConnectionWorker> pCardConnectionWorker);
2017-07-03 09:33:28 +02:00
CardReturnCode checkRetryCounterAndPrepareForPace(const QString& pCan);
2017-07-03 09:30:10 +02:00
virtual void internalExecute() = 0;
virtual ~BaseCardCommand();
public:
2017-07-03 09:33:28 +02:00
CardReturnCode getReturnCode() const
2017-07-03 09:30:10 +02:00
{
return mReturnCode;
}
2017-07-03 09:33:28 +02:00
static void registerMetaTypes();
2017-07-03 09:30:10 +02:00
Q_SIGNALS:
void commandDone(QSharedPointer<BaseCardCommand> pCommand);
};
} /* namespace governikus */