MythTV master
blockingtcpsocket.h
Go to the documentation of this file.
1#ifndef LIBMYTHUPNP_BLOCKING_TCP_SOCKET
2#define LIBMYTHUPNP_BLOCKING_TCP_SOCKET
3
4#include <chrono>
5
6#include <QHostAddress>
7#include <QString>
8#include <QTcpSocket>
9
14{
15 public:
16 BlockingTcpSocket() = default;
17
21 bool connect(const QHostAddress &address, quint16 port, std::chrono::milliseconds timeout);
28 QString readLine(std::chrono::milliseconds timeout);
29 qint64 write(const char* data, qint64 size, std::chrono::milliseconds timeout);
30
31 private:
32 QTcpSocket m_socket;
33};
34
35#endif // LIBMYTHUPNP_BLOCKING_TCP_SOCKET
Wraps a QTcpSocket to provide a blocking connect(), readLine(), and write() with a timeout.
bool connect(const QHostAddress &address, quint16 port, std::chrono::milliseconds timeout)
Connect the socket to a host.
qint64 write(const char *data, qint64 size, std::chrono::milliseconds timeout)
BlockingTcpSocket()=default
QString readLine(std::chrono::milliseconds timeout)
Read a whole line from the socket.