141 lines
4.0 KiB
C++
141 lines
4.0 KiB
C++
#include "src/ATBAPP/ATBVMCPlugin.h"
|
|
|
|
#include <QTimer>
|
|
#include <QThread>
|
|
#include <QTextCodec>
|
|
#include <QDebug>
|
|
|
|
#include <QPluginLoader>
|
|
#include <QDateTime>
|
|
#include <QFileInfo>
|
|
#include <QCoreApplication>
|
|
#include <QUuid>
|
|
|
|
#include <cstdlib>
|
|
|
|
ATBVMCPlugin::ATBVMCPlugin(QObject *parent)
|
|
: VMCInterface(parent)
|
|
, m_errorCode("")
|
|
, m_errorDescription("")
|
|
, m_pluginInfo("")
|
|
, m_serialPortName("")
|
|
, m_useDebug(false)
|
|
, m_pluginState(PLUGIN_STATE::NOT_INITIALIZED)
|
|
, m_vmc(nullptr) {
|
|
}
|
|
|
|
ATBVMCPlugin::~ATBVMCPlugin() {
|
|
if (m_vmc) {
|
|
delete m_vmc;
|
|
m_vmc = nullptr;
|
|
}
|
|
}
|
|
|
|
QString const &ATBVMCPlugin::getPluginInfo() {
|
|
return m_pluginInfo;
|
|
}
|
|
|
|
void ATBVMCPlugin::setPluginInfo(QString const &info) {
|
|
|
|
Q_UNUSED(info);
|
|
|
|
QStringList lst;
|
|
lst << QString(" Interface: ") + INTERFACE;
|
|
lst << QString(" Interface Version: ") + INTERFACE_VERSION;
|
|
lst << QString(" Plugin name: ") + PLUGIN_NAME;
|
|
lst << QString(" Plugin version: ") + PLUGIN_VERSION;
|
|
lst << QString("Plugin extended version: ") + PLUGIN_EXTENDED_VERSION;
|
|
|
|
m_pluginInfo = lst.join('\n');
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// 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
|