#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") #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