#include "src/ATBAPP/ATBVMCPlugin.h" #include #include #include #include #include #include #include #include #include #include ATBVMCPlugin::ATBVMCPlugin(QObject *parent) : VMCInterface(parent) , m_errorCode("") , m_errorDescription("") , m_serialPortName("") , m_useDebug(false) , m_pluginState(PLUGIN_STATE::NOT_INITIALIZED) , m_vmc(nullptr) { m_pluginInfo.clear(); m_pluginInfo << QString(" Interface: ") + INTERFACE; m_pluginInfo << QString("Interface Version: ") + INTERFACE_VERSION; m_pluginInfo << QString(" PluginName: ") + PLUGIN_NAME; m_pluginInfo << QString(" Version: ") + PLUGIN_VERSION; m_pluginInfo << QString(" git-describe: ") + PLUGIN_GIT_DESCRIBE; m_pluginInfo << QString(" Extended version: ") + PLUGIN_EXTENDED_VERSION; } ATBVMCPlugin::~ATBVMCPlugin() { if (m_vmc) { delete m_vmc; m_vmc = nullptr; } } QStringList ATBVMCPlugin::getPluginInfo() { return m_pluginInfo; } // ---------------------------------------------------------------------------- // interface: PLUGIN_STATE ATBVMCPlugin::initVMCPlugin(QObject *appControl, QObject *atbSystem, QObject *hmiConfig, QSettings const &settings) { if (appControl && atbSystem && hmiConfig) { m_vmc = new VMC(appControl, &settings); // -------------------- connect vmc -------------------------------------------- connect(m_vmc, SIGNAL(VMCFormatedString(FormatedStringList)), appControl, SLOT(onVMCFormatedString(FormatedStringList)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(displayData(quint8,QString)), appControl, SLOT(onVMCSellData(quint8,QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(retriggerModeSell()), appControl, SLOT(restartSellModeTimeoutTimer()), Qt::QueuedConnection); connect(m_vmc, SIGNAL(setVendingData(QString,QByteArray)), appControl, SLOT(onSetVendingData(QString,QByteArray)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(sysCommand(quint16, QByteArray)), atbSystem, SLOT(executeSystemCommand(quint16, QByteArray)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(newDateTime(QString)), atbSystem, SLOT(setDateTime(QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(wakeVMC()), atbSystem, SLOT(onWakeVMC())); connect(m_vmc, SIGNAL(setCustNr(QString)), hmiConfig, SLOT(setCustNr(QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(setGroupNr(QString)), hmiConfig, SLOT(setGroupNr(QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(setZoneNr(QString)), hmiConfig, SLOT(setZoneNr(QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(setMachineNr(QString)), hmiConfig, SLOT(setMachineNr(QString)), Qt::QueuedConnection); connect(m_vmc, SIGNAL(setDefaultLanguage(quint8)), hmiConfig, SLOT(setDefaultLanguage(quint8)), Qt::QueuedConnection); return PLUGIN_STATE::INITIALIZED; } return PLUGIN_STATE::NOT_INITIALIZED; } // mandantory ATBAPP plugin methods: ------------------------------------------ PLUGIN_STATE ATBVMCPlugin::getState() { return m_pluginState; } QString ATBVMCPlugin::getLastError() { return m_errorCode; } QString ATBVMCPlugin::getLastErrorDescription() { return m_errorDescription; } #if 0 // helpers e.g. for debug / log QString ATBVMCPlugin::getString(RESULT_STATE /*resultState*/) { return ""; } void ATBVMCPlugin::onChangedProgramModeToSELL() { } void ATBVMCPlugin::onChangedProgramModeToSERVICE() { } void ATBVMCPlugin::onChangedProgramModeToIDLE() { } void ATBVMCPlugin::onChangedProgramModeToOOO() { } void ATBVMCPlugin::startPhysicalLayer() { } void ATBVMCPlugin::stopPhysicalLayer() { } void ATBVMCPlugin::reboot() { } void ATBVMCPlugin::reset() { } #endif #if QT_VERSION < 0x050000 Q_EXPORT_PLUGIN2(ATBVMCPlugin, ATBVMCPlugin) #endif