#ifndef LANDEVICEMONITOR_H #define LANDEVICEMONITOR_H #include #include "defines.h" #include "LANDevicePresenceConfig.h" #include #include #define LAN_DEVICE_MONITOR_PING_TIMEOUT 3000 #define LAN_DEVICE_MONITOR_PRESENCE_CHECK_TIMEOUT 5000 class CLANDeviceMonitor : public QObject { Q_OBJECT public: CLANDeviceMonitor(QString IPAddress, unsigned int CANBit, bool Active, QString Description = ""); ~CLANDeviceMonitor(); int PingDevice(); quint64 GetDeviceCANStatusMask(); private: QTimer *mDevMonitorTimer; QString mDeviceIPAddress; unsigned int mCANStatusBit; bool mIsDetectionActive; QString mDeviceDescription; bool mIsDeviceOnline; QProcess *mPingProcess; bool mIsPingInProgress; public slots: void MonitorTimeExpired(); void PingProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); }; #endif // LANDEVICEMONITOR_H