#ifndef OTARCIKCAN_H #define OTARCIKCAN_H #include #include "MainWindow.h" #include "PCANInterface.h" #include "GeneralMessagesLogDispatcher.h" #include "CANDevice.h" #include #include "SystemConfig.h" #include "MQTTClientWrapper.h" #ifdef ENABLE_CHIPSET_DRIVER #include "ComputerBoardInterface.h" #endif #include "SysLogger.h" #include "InternetMonitor.h" #include "LANDevicesPresenceMonitor.h" class COtarcikCan : public QObject { Q_OBJECT public: explicit COtarcikCan(QObject *parent = 0); ~COtarcikCan(); CMainWindow mMainWindow; CSystemConfig mSystemConfig; /// CMQTTClientWrapper mCANBusMQTTClient; QList mCANBusMQTTClientList; QTimer *mGPTimer; QTimer *mMQTTDataTransmitTimer; #ifdef ENABLE_CHIPSET_DRIVER CComputerBoardInterface mCPUInterface; #endif QTimer *mWatchdogTimer; CSysLogger mSysLogger; CInternetMonitor mInternetMonitor; CLANDevicesPresenceMonitor mLANDevicesPresenceMonitor; int Start(); int UpdateCANViewerDataRequest(QList *MsgList); int SaveCANDevicesConfigRequest(QList *DevicesConfigList); int SaveCloudLoggingConfigRequest(QList *CloudParams); int SaveGeneralParametersSettingsRequest(CGeneralSystemParams *GeneralParams); int SaveCPUWatchdogSettingsRequest(CCPUWatchdogConfig *CPUWatchdogParams); int SaveDeviceDetectionSettingsRequest(CDeviceDetectionConfig *DeviceDetectconfig); int SetCANConnectionStatusRequest(bool Connected); int SetMQTTConnectionSatusRequest(bool Connected); int UpdateCANModuleStatusRequest(QString ModuleName, QString ModuleStatus, QString Buffer); int UpdateMQTTBufferingStatusRequest(QString BufferingMode, QString FIFOSize,QString RemainingTime); int SaveCANWatchdogSettingsRequest(CCANWatchdogConfig *CANWatchdogConfig); int UpdateLANDevicesPresenceStatusRequest(QList LanDevicesStatus); #ifdef ENABLE_DEVELOPMENT_DEBUG_TOOLS int ForceMQTTDisconnect(bool Disconnect); #endif void QuitApplicationRequest(); private: QList mCANDevicesList; QList *mCloudLoggingParamsList; CGeneralSystemParams mGeneralSystemParams; CCPUWatchdogConfig mCPUWatchdogParams; CDeviceDetectionConfig mDeviceDetectionConfigParams; int PopulateCANDevicesList(QList *DevicesConfigsList); signals: public slots: void GPTimerExpired(); void WatchdogUpdateTimerExpired(); void MQTTDataTransmitTimerExpired(); }; #endif // OTARCIKCAN_H