#include "src/ATBAPP/ATBDeviceControllerPlugin.h" #include "src/ATBAPP/ATBHealthEvent.h" ATBDeviceControllerPlugin::ATBDeviceControllerPlugin(QObject *parent) : QObject(parent), pluginState(PLUGIN_STATE::NOT_INITIALIZED) { this->pluginInfo = QString::fromUtf8(pluginInfoString.c_str()); this->hw = new hwapi(); } ATBDeviceControllerPlugin::~ATBDeviceControllerPlugin() {} PLUGIN_STATE ATBDeviceControllerPlugin::initDCPlugin(QObject *healthEventReceiver, const QSettings & settings) { this->healthEventReceiver = healthEventReceiver; // Read a sample variable from setting QString sampleSetting = settings.value("DEVICE_CONTROLLER/sampleVariable", "defaultValue").toString(); this->pluginState = PLUGIN_STATE::INITIALIZED; return pluginState; } // TASKS: Cash handling ------------------------------------------------------- void ATBDeviceControllerPlugin::requestStartCashInput(const QString & amount) { } void ATBDeviceControllerPlugin::requestStopCashInput() { } void ATBDeviceControllerPlugin::cashCollect() { } void ATBDeviceControllerPlugin::cashAbort() { } // TASKS: printing ------------------------------------------------------------ void ATBDeviceControllerPlugin::requestPrintTicket(const QHash & printingData) { struct T_dynDat *dynTicketData = new T_dynDat; strncpy((char*)dynTicketData->licensePlate, printingData["licenseplate"].toByteArray().data(), 7); strncpy((char*)dynTicketData->vendingPrice, printingData["amount"].toByteArray().data(), 7); strncpy((char*)dynTicketData->parkingEnd, printingData["parkingend"].toByteArray().data(), 7); strncpy((char*)dynTicketData->currentTime, printingData["currentTime"].toByteArray().data(), 7); strncpy((char*)dynTicketData->currentDate, printingData["currentDate"].toByteArray().data(), 7); this->hw->prn_printDocument(1, dynTicketData); } /************************************************************************************************ * Mandatory plugin methods * */ PLUGIN_STATE ATBDeviceControllerPlugin::getState() { return this->pluginState; } QString & ATBDeviceControllerPlugin::getLastError() { return this->errorCode; } const QString & ATBDeviceControllerPlugin::getLastErrorDescription() { return this->errorDescription; } const QString & ATBDeviceControllerPlugin::getPluginInfo() { return this->pluginInfo; } const QString ATBDeviceControllerPlugin::getString(nsDeviceControllerInterface::RESULT_STATE resultState) { QString str; switch (resultState) { case nsDeviceControllerInterface::RESULT_STATE::SUCCESS: str = QString("RESULT_STATE::SUCCESS"); break; case nsDeviceControllerInterface::RESULT_STATE::ERROR_BACKEND: str = QString("RESULT_STATE::ERROR_BACKEND"); break; case nsDeviceControllerInterface::RESULT_STATE::ERROR_TIMEOUT: str = QString("RESULT_STATE::ERROR_TIMEOUT"); break; case nsDeviceControllerInterface::RESULT_STATE::ERROR_PROCESS: str = QString("RESULT_STATE::ERROR_PROCESS"); break; case nsDeviceControllerInterface::RESULT_STATE::ERROR_RETRY: str = QString("RESULT_STATE::ERROR_RETRY"); break; case nsDeviceControllerInterface::RESULT_STATE::INFO: str = QString("RESULT_STATE::INFO"); break; } return str; } /************************************************************************************************ * ... end */ #if QT_VERSION < 0x050000 Q_EXPORT_PLUGIN2( ATBDeviceControllerPlugin, ATBDeviceControllerPlugin ) #endif