VMCPlugin/src/ATBAPP/ATBVMCPlugin.h

69 lines
2.2 KiB
C++

#ifndef ATBVMCPLUGIN_H
#define ATBVMCPLUGIN_H
#include <QObject>
#include <QSettings>
#include <QtPlugin>
#include "src/ATBAPP/ATBAPPplugin.h"
#include "src/ATBAPP/VMCInterface.h"
#include "src/ATBAPP/UnifiedDCVMCInterface.h"
#include "vmc.h"
class ATBVMCPlugin : public VMCInterface {
Q_OBJECT
Q_INTERFACES(VMCInterface)
#if QT_VERSION >= 0x050000
Q_PLUGIN_METADATA(IID "eu.atb.ptu.plugin.ATBVMCPlugin")
#endif
public:
explicit ATBVMCPlugin(QObject *parent = nullptr);
virtual ~ATBVMCPlugin();
virtual QStringList getPluginInfoList() override;
virtual const QString &getPluginInfo() override;
// ----------------------------------------------------------------------------
// interface:
virtual PLUGIN_STATE initPlugin(QObject *eventReceiver, QObject *atbSystem, QObject *hmiConfig, QSettings const &settings) override;
virtual PLUGIN_STATE initPlugin(QObject *eventReceiver, QSettings const &settings) override;
virtual PLUGIN_STATE initDCPlugin(QObject *eventReceiver, const QSettings & settings) override;
virtual PLUGIN_STATE initVMCPlugin(QObject *eventReceiver, QObject *atbSystem, QObject *hmiConfig, QSettings const &settings) override;
// mandantory ATBAPP plugin methods: ------------------------------------------
PLUGIN_STATE getState() override;
QString const &getLastError() override;
QString const &getLastErrorDescription() override;
// helpers e.g. for debug / log
virtual QString const &getString(RESULT_STATE resultState) override;
public slots:
virtual void onChangedProgramModeToSELL() override;
virtual void onChangedProgramModeToSERVICE() override;
virtual void onChangedProgramModeToIDLE() override;
virtual void onChangedProgramModeToOOO() override;
virtual void startPhysicalLayer() override;
virtual void stopPhysicalLayer() override;
virtual void reboot() override;
virtual void reset() override;
private:
QString m_errorCode;
QString m_errorDescription;
QStringList m_pluginInfoList;
QString m_pluginInfo;
QString m_serialPortName;
bool m_useDebug;
PLUGIN_STATE m_pluginState;
QObject* m_appControl;
VMC *m_vmc;
};
#endif // ATBDEVICECONTROLLERPLUGIN_H