// -*- c++ -*- #pragma once #include #include class QTcpSocket; class QTimer; class Client : public QObject { Q_OBJECT public: Client(QObject *parent = 0); public slots: bool connectToHost(const QString& host); bool writeData(const QString& title, const QByteArray& data); void errorOccurred(QAbstractSocket::SocketError socketError); void connected(); void disconnected(); void timeout(); signals: void isConnected(); void isDisconnected(); private: void retryConnect(); QTcpSocket *socket; QString host; QTimer *timer; int retries{10}; int interval{5}; int interval_long{120}; };