#ifndef ATBVMCPLUGIN_H #define ATBVMCPLUGIN_H #include #include #include #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" FILE "plugins/metadata.json") #endif public: explicit ATBVMCPlugin(QObject *parent = nullptr); virtual ~ATBVMCPlugin(); virtual const QString & getPluginInfo() override; virtual void setPluginInfo(QString const &info) override; // ---------------------------------------------------------------------------- // interface: virtual PLUGIN_STATE initVMCPlugin(QObject *eventReceiver, QObject *atbSystem, QObject *hmiConfig, QSettings const &settings) override; // mandantory ATBAPP plugin methods: ------------------------------------------ PLUGIN_STATE getState() override; QString getLastError() override; QString getLastErrorDescription() override; #if 0 // helpers e.g. for debug / log virtual QString 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; #endif private: QString m_errorCode; QString m_errorDescription; QString m_pluginInfo; QString m_serialPortName; bool m_useDebug; PLUGIN_STATE m_pluginState; QObject* m_appControl; VMC *m_vmc; }; #endif // ATBDEVICECONTROLLERPLUGIN_H