// qappctrl.h : // #if !defined(AGD_QAPPCTRL_H__ADD46467_F628_4A07_8844_613598E359DE__INCLUDED_) #define AGD_QAPPCTRL_H__ADD46467_F628_4A07_8844_613598E359DE__INCLUDED_ #include #include #include #include #ifdef __cplusplus ///////////////////////////////////////////////////////////////////////////// // qappctrl.h - Declarations: class QGfaAppInfo : public QObject { Q_OBJECT Q_PROPERTY(int state READ state NOTIFY stateChanged) Q_PROPERTY(QString stateText READ stateText NOTIFY stateTextChanged) Q_PROPERTY(QString name READ name NOTIFY nameChanged) Q_PROPERTY(quint64 cycMin READ cycMin NOTIFY cycMinChanged) Q_PROPERTY(quint64 cycMax READ cycMax NOTIFY cycMaxChanged) public: Q_INVOKABLE bool pause(void); Q_INVOKABLE bool resume(void); Q_INVOKABLE bool stop(void); signals: void stateChanged(int val); void stateTextChanged(const QString &val); void nameChanged(const QString &val); void sendControlMessage(appid_t nAppID, ctrlmsg_t msg); void cycMinChanged(quint64 val); void cycMaxChanged(quint64 val); public: explicit QGfaAppInfo(int nIndex, QObject *pParent = NULL); virtual ~QGfaAppInfo(void); int state(void) const; void setState(int val); QString stateText(void) const; void setStateText(int val); QString name(void) const; void setName(const QString &val); quint64 cycMin(void) const; quint64 cycMax(void) const; void setAppTimes(LPCGFA_APPCTRL_APPTIMES pat); private: private: int m_state; QString m_stateText; QString m_name; int m_nIndex; appid_t m_nAppID; quint64 m_cycMin; quint64 m_cycMax; }; ///////////////////////////////////////////////////////////////////////////// class QGfaAppCtrl : public QObject { Q_OBJECT Q_PROPERTY(QQmlListProperty appInfo READ appInfo CONSTANT) Q_PROPERTY(int idxRemanent READ idxRemanent CONSTANT) Q_PROPERTY(int idxDatalogger READ idxDatalogger CONSTANT) Q_PROPERTY(int idxSummarist READ idxSummarist CONSTANT) Q_PROPERTY(int idxRest READ idxRest CONSTANT) Q_PROPERTY(int idxMqttCl READ idxMqttCl CONSTANT) public: explicit QGfaAppCtrl(QObject *pParent = NULL); virtual ~QGfaAppCtrl(void); bool Create(appid_t nAppID, const char *pszDisplayName, int nTimerIntMs); void Release(void); void RegisterQmlTypes(QQmlEngine &rEng, int nVerMajor = 1, int nVerMinor = 0); bool PresetDisplayName(appid_t nAppID, const char *pszName); bool SubscribeStateEvents(appid_t nAppMask); int SetState(int nState); public: Q_INVOKABLE int appIndexFromAppID(quint64 nAppID); QQmlListProperty appInfo(void); int idxRemanent(void) const; int idxDatalogger(void) const; int idxSummarist(void) const; int idxRest(void) const; int idxMqttCl(void) const; private slots: void onSendControlMessage(appid_t nAppID, ctrlmsg_t msg); private: void timerEvent(QTimerEvent *event) override; private: HAPPCTRL m_hAC; appid_t m_nAppID; int m_nTimerID; QList m_appInfo; clock64_t m_curPass; clock64_t m_minPass; clock64_t m_maxPass; appid_t m_nEvtSrcs; }; ///////////////////////////////////////////////////////////////////////////// #endif // __cplusplus #endif // !defined(AGD_QAPPCTRL_H__ADD46467_F628_4A07_8844_613598E359DE__INCLUDED_)