Files
Sourcetrail/src/app/qt/network/QtTcpWrapper.h
T
Manuel Dobusch 0664f9a81b logic: IDE Communication
Network code and controller added to communicate with IDE plugins. Does not include GUI integration though.
2015-10-14 15:40:10 +02:00

40 lines
751 B
C++

#ifndef QT_SOCKET_WRAPPER_H
#define QT_SOCKET_WRAPPER_H
#include <functional>
#include <qobject.h>
#include <qudpsocket.h>
#include <qtcpserver.h>
#include <qtcpsocket.h>
class QtTcpWrapper : public QObject
{
Q_OBJECT
public:
QtTcpWrapper(QObject* parent);
QtTcpWrapper(QObject* parent, const std::string& ip, const quint16 port);
~QtTcpWrapper();
void sendMessage(const std::string& message) const;
void setReadCallback(const std::function<void(const std::string&)>& callback);
signals:
public slots:
void acceptConnection();
void startRead();
private:
quint16 m_port;
std::string m_ip;
std::function<void(const std::string&)> m_readCallback;
QTcpServer* m_tcpServer;
QTcpSocket* m_tcpClient;
};
#endif // QT_SOCKET_WRAPPER_H