#ifndef IF_TCP_H #define IF_TCP_H #include #include #include "QTimer" #include #include #include #include #include #include "QByteArray" #include "base/mycfg.h" class if_tcp : public InterFace { Q_OBJECT public: if_tcp(); virtual ~if_tcp(); void init(); int write(myarray data); protected: QString get_local_ip(); protected slots: void reconnect_cb(); void connected_cb(); void disconnected_cb(); void state_changed_cb(QAbstractSocket::SocketState nSocketState); void on_error_cb(QAbstractSocket::SocketError nErrCode); void ready_read_cb(); signals: void tcp_connected_signal(); protected: mycfg *cfg_; QTimer *timer_reconnect_; int reconnect_timeout_ms; QTcpSocket *tcp_socket_; bool connect_state; QTimer *timer_recv_end_; int recv_end_timeout_ms; }; #endif // IF_TCP_H