AusweisApp2/src/jsonapi/UIPlugInJsonApi.cpp

86 lines
2.0 KiB
C++
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
2017-07-03 09:30:10 +02:00
*/
#include "UIPlugInJsonApi.h"
#include "ReaderManager.h"
#include <QLoggingCategory>
Q_DECLARE_LOGGING_CATEGORY(jsonapi)
using namespace governikus;
UIPlugInJsonApi::UIPlugInJsonApi()
: UIPlugIn()
, mMessageDispatcher()
{
connect(&ReaderManager::getInstance(), &ReaderManager::fireReaderAdded, this, &UIPlugInJsonApi::onReaderEvent);
connect(&ReaderManager::getInstance(), &ReaderManager::fireReaderRemoved, this, &UIPlugInJsonApi::onReaderEvent);
connect(&ReaderManager::getInstance(), &ReaderManager::fireCardInserted, this, &UIPlugInJsonApi::onReaderEvent);
connect(&ReaderManager::getInstance(), &ReaderManager::fireCardRemoved, this, &UIPlugInJsonApi::onReaderEvent);
}
UIPlugInJsonApi::~UIPlugInJsonApi()
{
}
2017-12-20 14:54:05 +01:00
void UIPlugInJsonApi::callFireMessage(const QByteArray& pMsg)
2017-07-03 09:33:28 +02:00
{
if (!pMsg.isEmpty())
{
2017-09-15 10:23:30 +02:00
qCDebug(jsonapi).noquote() << "Fire message:" << pMsg;
2017-07-03 09:33:28 +02:00
Q_EMIT fireMessage(pMsg);
}
}
2017-07-03 09:30:10 +02:00
void UIPlugInJsonApi::onWorkflowStarted(QSharedPointer<WorkflowContext> pContext)
{
2017-07-03 09:33:28 +02:00
if (pContext.objectCast<AuthContext>())
2017-07-03 09:30:10 +02:00
{
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
2017-12-20 14:54:05 +01:00
pContext->setReaderPlugInTypes({ReaderManagerPlugInType::NFC});
2017-07-03 09:30:10 +02:00
#else
2017-12-20 14:54:05 +01:00
pContext->setReaderPlugInTypes({ReaderManagerPlugInType::PCSC});
2017-07-03 09:30:10 +02:00
#endif
2017-12-20 14:54:05 +01:00
connect(pContext.data(), &WorkflowContext::fireStateChanged, this, &UIPlugInJsonApi::onStateChanged);
2017-07-03 09:30:10 +02:00
}
2017-07-03 09:33:28 +02:00
callFireMessage(mMessageDispatcher.init(pContext));
2017-07-03 09:30:10 +02:00
}
void UIPlugInJsonApi::onWorkflowFinished(QSharedPointer<WorkflowContext> )
{
2017-07-03 09:33:28 +02:00
callFireMessage(mMessageDispatcher.finish());
2017-07-03 09:30:10 +02:00
}
void UIPlugInJsonApi::onReaderEvent(const QString& pName)
{
2017-07-03 09:33:28 +02:00
callFireMessage(mMessageDispatcher.createMsgReader(pName));
2017-07-03 09:30:10 +02:00
}
2017-12-20 14:54:05 +01:00
void UIPlugInJsonApi::onStateChanged(const QString& pNewState)
2017-07-03 09:30:10 +02:00
{
2017-07-03 09:33:28 +02:00
callFireMessage(mMessageDispatcher.processStateChange(pNewState));
2017-07-03 09:30:10 +02:00
}
void UIPlugInJsonApi::doMessageProcessing(const QByteArray& pMsg)
{
2017-07-03 09:33:28 +02:00
callFireMessage(mMessageDispatcher.processCommand(pMsg));
2017-07-03 09:30:10 +02:00
}
void UIPlugInJsonApi::doShutdown()
{
}