#ifndef LIBTCPSERVER_H #define LIBTCPSERVER_H #include //#if defined(LIBTCPSERVER_LIBRARY) //# define LIBTCPSERVERSHARED_EXPORT Q_DECL_EXPORT //#else # define LIBTCPSERVERSHARED_EXPORT Q_DECL_IMPORT //#endif #include "libTcp.h" #include class TPTcpServer; class lpTcpServer : public QObject { Q_OBJECT public: lpTcpServer(const TP_TCP_SERVER_PARAM& init_param, QObject *parent = 0); ~lpTcpServer(); ClientsStatusMap IGetClientsStatus(); const TpServerStatus IGetServerStatus() { return server_status_; } void IGetVersion(QString& version); bool IStartServer(); void IStopServer(); void ISendMessage(const QString& strClient, TP_PROTOCOL_MESSAGE& msg); void ISendBinaryData(const QString& strClient, TP_PROTOCOL_MESSAGE& msg, QByteArray& binaryData); signals: void signal_client_connected(const QString&); void signal_client_disconnected(const QString&); void signal_message_received(const QString&, QSharedPointer); void signal_data_send_completed(QSharedPointer); void signal_data_recv_completed(const QString& , QSharedPointer, QSharedPointer ); void signal_data_recv_completed_client(QSharedPointer, QSharedPointer); private: QSharedPointer tcp_server_{nullptr}; QHostAddress listen_addr_; quint16 listen_port_; TpServerStatus server_status_; }; #endif // LIBTCPSERVER_H