diff options
Diffstat (limited to 'src/network/socket')
-rw-r--r-- | src/network/socket/qabstractsocket.h | 28 | ||||
-rw-r--r-- | src/network/socket/qhttpsocketengine_p.h | 70 | ||||
-rw-r--r-- | src/network/socket/qlocalsocket.h | 18 | ||||
-rw-r--r-- | src/network/socket/qnativesocketengine_p.h | 68 | ||||
-rw-r--r-- | src/network/socket/qsocks5socketengine.cpp | 2 | ||||
-rw-r--r-- | src/network/socket/qsocks5socketengine_p.h | 78 | ||||
-rw-r--r-- | src/network/socket/qtcpserver.cpp | 47 | ||||
-rw-r--r-- | src/network/socket/qtcpserver.h | 2 | ||||
-rw-r--r-- | src/network/socket/qtcpserver_p.h | 105 | ||||
-rw-r--r-- | src/network/socket/socket.pri | 3 |
10 files changed, 252 insertions, 169 deletions
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h index 35e9ea1aac..77a6f59624 100644 --- a/src/network/socket/qabstractsocket.h +++ b/src/network/socket/qabstractsocket.h @@ -53,19 +53,20 @@ class QAuthenticator; class Q_NETWORK_EXPORT QAbstractSocket : public QIODevice { Q_OBJECT - Q_ENUMS(SocketType NetworkLayerProtocol SocketError SocketState SocketOption) public: enum SocketType { TcpSocket, UdpSocket, UnknownSocketType = -1 }; + Q_ENUM(SocketType) enum NetworkLayerProtocol { IPv4Protocol, IPv6Protocol, AnyIPProtocol, UnknownNetworkLayerProtocol = -1 }; + Q_ENUM(NetworkLayerProtocol) enum SocketError { ConnectionRefusedError, RemoteHostClosedError, @@ -93,6 +94,7 @@ public: UnknownSocketError = -1 }; + Q_ENUM(SocketError) enum SocketState { UnconnectedState, HostLookupState, @@ -102,6 +104,7 @@ public: ListeningState, ClosingState }; + Q_ENUM(SocketState) enum SocketOption { LowDelayOption, // TCP_NODELAY KeepAliveOption, // SO_KEEPALIVE @@ -111,6 +114,7 @@ public: SendBufferSizeSocketOption, //SO_SNDBUF ReceiveBufferSizeSocketOption //SO_RCVBUF }; + Q_ENUM(SocketOption) enum BindFlag { DefaultForPlatform = 0x0, ShareAddress = 0x1, @@ -140,10 +144,10 @@ public: bool isValid() const; - qint64 bytesAvailable() const; - qint64 bytesToWrite() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; - bool canReadLine() const; + bool canReadLine() const Q_DECL_OVERRIDE; quint16 localPort() const; QHostAddress localAddress() const; @@ -168,15 +172,15 @@ public: SocketError error() const; // from QIODevice - void close(); - bool isSequential() const; - bool atEnd() const; + void close() Q_DECL_OVERRIDE; + bool isSequential() const Q_DECL_OVERRIDE; + bool atEnd() const Q_DECL_OVERRIDE; bool flush(); // for synchronous access virtual bool waitForConnected(int msecs = 30000); - bool waitForReadyRead(int msecs = 30000); - bool waitForBytesWritten(int msecs = 30000); + bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE; + bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE; virtual bool waitForDisconnected(int msecs = 30000); #ifndef QT_NO_NETWORKPROXY @@ -195,9 +199,9 @@ Q_SIGNALS: #endif protected: - qint64 readData(char *data, qint64 maxlen); - qint64 readLineData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 len); + qint64 readData(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 readLineData(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 writeData(const char *data, qint64 len) Q_DECL_OVERRIDE; void setSocketState(SocketState state); void setSocketError(SocketError socketError); diff --git a/src/network/socket/qhttpsocketengine_p.h b/src/network/socket/qhttpsocketengine_p.h index 0448293981..6b837c2c90 100644 --- a/src/network/socket/qhttpsocketengine_p.h +++ b/src/network/socket/qhttpsocketengine_p.h @@ -73,63 +73,63 @@ public: QHttpSocketEngine(QObject *parent = 0); ~QHttpSocketEngine(); - bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) Q_DECL_OVERRIDE; + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState) Q_DECL_OVERRIDE; void setProxy(const QNetworkProxy &networkProxy); - qintptr socketDescriptor() const; + qintptr socketDescriptor() const Q_DECL_OVERRIDE; - bool isValid() const; + bool isValid() const Q_DECL_OVERRIDE; bool connectInternal(); - bool connectToHost(const QHostAddress &address, quint16 port); - bool connectToHostByName(const QString &name, quint16 port); - bool bind(const QHostAddress &address, quint16 port); - bool listen(); - int accept(); - void close(); + bool connectToHost(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool connectToHostByName(const QString &name, quint16 port) Q_DECL_OVERRIDE; + bool bind(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool listen() Q_DECL_OVERRIDE; + int accept() Q_DECL_OVERRIDE; + void close() Q_DECL_OVERRIDE; - qint64 bytesAvailable() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; - qint64 read(char *data, qint64 maxlen); - qint64 write(const char *data, qint64 len); + qint64 read(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 write(const char *data, qint64 len) Q_DECL_OVERRIDE; #ifndef QT_NO_UDPSOCKET #ifndef QT_NO_NETWORKINTERFACE bool joinMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &interface); + const QNetworkInterface &interface) Q_DECL_OVERRIDE; bool leaveMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &interface); - QNetworkInterface multicastInterface() const; - bool setMulticastInterface(const QNetworkInterface &iface); + const QNetworkInterface &interface) Q_DECL_OVERRIDE; + QNetworkInterface multicastInterface() const Q_DECL_OVERRIDE; + bool setMulticastInterface(const QNetworkInterface &iface) Q_DECL_OVERRIDE; #endif // QT_NO_NETWORKINTERFACE qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0, - quint16 *port = 0); + quint16 *port = 0) Q_DECL_OVERRIDE; qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &addr, - quint16 port); - bool hasPendingDatagrams() const; - qint64 pendingDatagramSize() const; + quint16 port) Q_DECL_OVERRIDE; + bool hasPendingDatagrams() const Q_DECL_OVERRIDE; + qint64 pendingDatagramSize() const Q_DECL_OVERRIDE; #endif // QT_NO_UDPSOCKET - qint64 bytesToWrite() const; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; - int option(SocketOption option) const; - bool setOption(SocketOption option, int value); + int option(SocketOption option) const Q_DECL_OVERRIDE; + bool setOption(SocketOption option, int value) Q_DECL_OVERRIDE; - bool waitForRead(int msecs = 30000, bool *timedOut = 0); - bool waitForWrite(int msecs = 30000, bool *timedOut = 0); + bool waitForRead(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; + bool waitForWrite(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; bool waitForReadOrWrite(bool *readyToRead, bool *readyToWrite, bool checkRead, bool checkWrite, - int msecs = 30000, bool *timedOut = 0); + int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; - bool isReadNotificationEnabled() const; - void setReadNotificationEnabled(bool enable); - bool isWriteNotificationEnabled() const; - void setWriteNotificationEnabled(bool enable); - bool isExceptionNotificationEnabled() const; - void setExceptionNotificationEnabled(bool enable); + bool isReadNotificationEnabled() const Q_DECL_OVERRIDE; + void setReadNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isWriteNotificationEnabled() const Q_DECL_OVERRIDE; + void setWriteNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isExceptionNotificationEnabled() const Q_DECL_OVERRIDE; + void setExceptionNotificationEnabled(bool enable) Q_DECL_OVERRIDE; public slots: void slotSocketConnected(); @@ -186,8 +186,8 @@ class Q_AUTOTEST_EXPORT QHttpSocketEngineHandler : public QSocketEngineHandler { public: virtual QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, - const QNetworkProxy &, QObject *parent); - virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescripter, QObject *parent); + const QNetworkProxy &, QObject *parent) Q_DECL_OVERRIDE; + virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescripter, QObject *parent) Q_DECL_OVERRIDE; }; #endif diff --git a/src/network/socket/qlocalsocket.h b/src/network/socket/qlocalsocket.h index c0429d3a1f..c88f9d6ff8 100644 --- a/src/network/socket/qlocalsocket.h +++ b/src/network/socket/qlocalsocket.h @@ -85,12 +85,12 @@ public: QString fullServerName() const; void abort(); - virtual bool isSequential() const; - virtual qint64 bytesAvailable() const; - virtual qint64 bytesToWrite() const; - virtual bool canReadLine() const; + virtual bool isSequential() const Q_DECL_OVERRIDE; + virtual qint64 bytesAvailable() const Q_DECL_OVERRIDE; + virtual qint64 bytesToWrite() const Q_DECL_OVERRIDE; + virtual bool canReadLine() const Q_DECL_OVERRIDE; virtual bool open(OpenMode openMode = ReadWrite) Q_DECL_OVERRIDE; - virtual void close(); + virtual void close() Q_DECL_OVERRIDE; LocalSocketError error() const; bool flush(); bool isValid() const; @@ -103,10 +103,10 @@ public: qintptr socketDescriptor() const; LocalSocketState state() const; - bool waitForBytesWritten(int msecs = 30000); + bool waitForBytesWritten(int msecs = 30000) Q_DECL_OVERRIDE; bool waitForConnected(int msecs = 30000); bool waitForDisconnected(int msecs = 30000); - bool waitForReadyRead(int msecs = 30000); + bool waitForReadyRead(int msecs = 30000) Q_DECL_OVERRIDE; Q_SIGNALS: void connected(); @@ -115,8 +115,8 @@ Q_SIGNALS: void stateChanged(QLocalSocket::LocalSocketState socketState); protected: - virtual qint64 readData(char*, qint64); - virtual qint64 writeData(const char*, qint64); + virtual qint64 readData(char*, qint64) Q_DECL_OVERRIDE; + virtual qint64 writeData(const char*, qint64) Q_DECL_OVERRIDE; private: Q_DISABLE_COPY(QLocalSocket) diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h index 67412ca326..de638e4e76 100644 --- a/src/network/socket/qnativesocketengine_p.h +++ b/src/network/socket/qnativesocketengine_p.h @@ -105,42 +105,42 @@ public: QNativeSocketEngine(QObject *parent = 0); ~QNativeSocketEngine(); - bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) Q_DECL_OVERRIDE; + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState) Q_DECL_OVERRIDE; - qintptr socketDescriptor() const; + qintptr socketDescriptor() const Q_DECL_OVERRIDE; - bool isValid() const; + bool isValid() const Q_DECL_OVERRIDE; - bool connectToHost(const QHostAddress &address, quint16 port); - bool connectToHostByName(const QString &name, quint16 port); - bool bind(const QHostAddress &address, quint16 port); - bool listen(); - int accept(); - void close(); + bool connectToHost(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool connectToHostByName(const QString &name, quint16 port) Q_DECL_OVERRIDE; + bool bind(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool listen() Q_DECL_OVERRIDE; + int accept() Q_DECL_OVERRIDE; + void close() Q_DECL_OVERRIDE; #ifndef QT_NO_NETWORKINTERFACE bool joinMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &iface); + const QNetworkInterface &iface) Q_DECL_OVERRIDE; bool leaveMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &iface); - QNetworkInterface multicastInterface() const; - bool setMulticastInterface(const QNetworkInterface &iface); + const QNetworkInterface &iface) Q_DECL_OVERRIDE; + QNetworkInterface multicastInterface() const Q_DECL_OVERRIDE; + bool setMulticastInterface(const QNetworkInterface &iface) Q_DECL_OVERRIDE; #endif - qint64 bytesAvailable() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; - qint64 read(char *data, qint64 maxlen); - qint64 write(const char *data, qint64 len); + qint64 read(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 write(const char *data, qint64 len) Q_DECL_OVERRIDE; qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0, - quint16 *port = 0); + quint16 *port = 0) Q_DECL_OVERRIDE; qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &addr, - quint16 port); - bool hasPendingDatagrams() const; - qint64 pendingDatagramSize() const; + quint16 port) Q_DECL_OVERRIDE; + bool hasPendingDatagrams() const Q_DECL_OVERRIDE; + qint64 pendingDatagramSize() const Q_DECL_OVERRIDE; - qint64 bytesToWrite() const; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; qint64 receiveBufferSize() const; void setReceiveBufferSize(qint64 bufferSize); @@ -148,21 +148,21 @@ public: qint64 sendBufferSize() const; void setSendBufferSize(qint64 bufferSize); - int option(SocketOption option) const; - bool setOption(SocketOption option, int value); + int option(SocketOption option) const Q_DECL_OVERRIDE; + bool setOption(SocketOption option, int value) Q_DECL_OVERRIDE; - bool waitForRead(int msecs = 30000, bool *timedOut = 0); - bool waitForWrite(int msecs = 30000, bool *timedOut = 0); + bool waitForRead(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; + bool waitForWrite(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; bool waitForReadOrWrite(bool *readyToRead, bool *readyToWrite, bool checkRead, bool checkWrite, - int msecs = 30000, bool *timedOut = 0); - - bool isReadNotificationEnabled() const; - void setReadNotificationEnabled(bool enable); - bool isWriteNotificationEnabled() const; - void setWriteNotificationEnabled(bool enable); - bool isExceptionNotificationEnabled() const; - void setExceptionNotificationEnabled(bool enable); + int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; + + bool isReadNotificationEnabled() const Q_DECL_OVERRIDE; + void setReadNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isWriteNotificationEnabled() const Q_DECL_OVERRIDE; + void setWriteNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isExceptionNotificationEnabled() const Q_DECL_OVERRIDE; + void setExceptionNotificationEnabled(bool enable) Q_DECL_OVERRIDE; public Q_SLOTS: // non-virtual override; diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index 1634352333..56652744fd 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -331,7 +331,7 @@ public: QSocks5BindData *retrieve(qintptr socketDescriptor); protected: - void timerEvent(QTimerEvent * event); + void timerEvent(QTimerEvent * event) Q_DECL_OVERRIDE; QMutex mutex; int sweepTimerId; diff --git a/src/network/socket/qsocks5socketengine_p.h b/src/network/socket/qsocks5socketengine_p.h index fd6e187b98..bc02cbda23 100644 --- a/src/network/socket/qsocks5socketengine_p.h +++ b/src/network/socket/qsocks5socketengine_p.h @@ -61,63 +61,63 @@ public: QSocks5SocketEngine(QObject *parent = 0); ~QSocks5SocketEngine(); - bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) Q_DECL_OVERRIDE; + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState) Q_DECL_OVERRIDE; void setProxy(const QNetworkProxy &networkProxy); - qintptr socketDescriptor() const; + qintptr socketDescriptor() const Q_DECL_OVERRIDE; - bool isValid() const; + bool isValid() const Q_DECL_OVERRIDE; bool connectInternal(); - bool connectToHost(const QHostAddress &address, quint16 port); - bool connectToHostByName(const QString &name, quint16 port); - bool bind(const QHostAddress &address, quint16 port); - bool listen(); - int accept(); - void close(); + bool connectToHost(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool connectToHostByName(const QString &name, quint16 port) Q_DECL_OVERRIDE; + bool bind(const QHostAddress &address, quint16 port) Q_DECL_OVERRIDE; + bool listen() Q_DECL_OVERRIDE; + int accept() Q_DECL_OVERRIDE; + void close() Q_DECL_OVERRIDE; - qint64 bytesAvailable() const; + qint64 bytesAvailable() const Q_DECL_OVERRIDE; - qint64 read(char *data, qint64 maxlen); - qint64 write(const char *data, qint64 len); + qint64 read(char *data, qint64 maxlen) Q_DECL_OVERRIDE; + qint64 write(const char *data, qint64 len) Q_DECL_OVERRIDE; #ifndef QT_NO_UDPSOCKET #ifndef QT_NO_NETWORKINTERFACE bool joinMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &interface); + const QNetworkInterface &interface) Q_DECL_OVERRIDE; bool leaveMulticastGroup(const QHostAddress &groupAddress, - const QNetworkInterface &interface); - QNetworkInterface multicastInterface() const; - bool setMulticastInterface(const QNetworkInterface &iface); + const QNetworkInterface &interface) Q_DECL_OVERRIDE; + QNetworkInterface multicastInterface() const Q_DECL_OVERRIDE; + bool setMulticastInterface(const QNetworkInterface &iface) Q_DECL_OVERRIDE; #endif // QT_NO_NETWORKINTERFACE qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *addr = 0, - quint16 *port = 0); + quint16 *port = 0) Q_DECL_OVERRIDE; qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &addr, - quint16 port); - bool hasPendingDatagrams() const; - qint64 pendingDatagramSize() const; + quint16 port) Q_DECL_OVERRIDE; + bool hasPendingDatagrams() const Q_DECL_OVERRIDE; + qint64 pendingDatagramSize() const Q_DECL_OVERRIDE; #endif // QT_NO_UDPSOCKET - qint64 bytesToWrite() const; + qint64 bytesToWrite() const Q_DECL_OVERRIDE; - int option(SocketOption option) const; - bool setOption(SocketOption option, int value); + int option(SocketOption option) const Q_DECL_OVERRIDE; + bool setOption(SocketOption option, int value) Q_DECL_OVERRIDE; - bool waitForRead(int msecs = 30000, bool *timedOut = 0); - bool waitForWrite(int msecs = 30000, bool *timedOut = 0); + bool waitForRead(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; + bool waitForWrite(int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; bool waitForReadOrWrite(bool *readyToRead, bool *readyToWrite, bool checkRead, bool checkWrite, - int msecs = 30000, bool *timedOut = 0); + int msecs = 30000, bool *timedOut = 0) Q_DECL_OVERRIDE; - bool isReadNotificationEnabled() const; - void setReadNotificationEnabled(bool enable); - bool isWriteNotificationEnabled() const; - void setWriteNotificationEnabled(bool enable); - bool isExceptionNotificationEnabled() const; - void setExceptionNotificationEnabled(bool enable); + bool isReadNotificationEnabled() const Q_DECL_OVERRIDE; + void setReadNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isWriteNotificationEnabled() const Q_DECL_OVERRIDE; + void setWriteNotificationEnabled(bool enable) Q_DECL_OVERRIDE; + bool isExceptionNotificationEnabled() const Q_DECL_OVERRIDE; + void setExceptionNotificationEnabled(bool enable) Q_DECL_OVERRIDE; private: Q_DECLARE_PRIVATE(QSocks5SocketEngine) @@ -160,11 +160,11 @@ class QSocks5PasswordAuthenticator : public QSocks5Authenticator { public: QSocks5PasswordAuthenticator(const QString &userName, const QString &password); - char methodId(); - bool beginAuthenticate(QTcpSocket *socket, bool *completed); - bool continueAuthenticate(QTcpSocket *socket, bool *completed); + char methodId() Q_DECL_OVERRIDE; + bool beginAuthenticate(QTcpSocket *socket, bool *completed) Q_DECL_OVERRIDE; + bool continueAuthenticate(QTcpSocket *socket, bool *completed) Q_DECL_OVERRIDE; - QString errorString(); + QString errorString() Q_DECL_OVERRIDE; private: QString userName; @@ -282,8 +282,8 @@ class Q_AUTOTEST_EXPORT QSocks5SocketEngineHandler : public QSocketEngineHandler { public: virtual QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, - const QNetworkProxy &, QObject *parent); - virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescriptor, QObject *parent); + const QNetworkProxy &, QObject *parent) Q_DECL_OVERRIDE; + virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescriptor, QObject *parent) Q_DECL_OVERRIDE; }; diff --git a/src/network/socket/qtcpserver.cpp b/src/network/socket/qtcpserver.cpp index ad3d529a3e..dd916ad5c0 100644 --- a/src/network/socket/qtcpserver.cpp +++ b/src/network/socket/qtcpserver.cpp @@ -92,7 +92,8 @@ */ #include "qtcpserver.h" -#include "private/qobject_p.h" +#include "qtcpserver_p.h" + #include "qalgorithms.h" #include "qhostaddress.h" #include "qlist.h" @@ -108,43 +109,6 @@ QT_BEGIN_NAMESPACE return returnValue; \ } } while (0) -class QTcpServerPrivate : public QObjectPrivate, public QAbstractSocketEngineReceiver -{ - Q_DECLARE_PUBLIC(QTcpServer) -public: - QTcpServerPrivate(); - ~QTcpServerPrivate(); - - QList<QTcpSocket *> pendingConnections; - - quint16 port; - QHostAddress address; - - QAbstractSocket::SocketState state; - QAbstractSocketEngine *socketEngine; - - QAbstractSocket::SocketError serverSocketError; - QString serverSocketErrorString; - - int maxConnections; - -#ifndef QT_NO_NETWORKPROXY - QNetworkProxy proxy; - QNetworkProxy resolveProxy(const QHostAddress &address, quint16 port); -#endif - - // from QAbstractSocketEngineReceiver - void readNotification(); - void closeNotification() { readNotification(); } - inline void writeNotification() {} - inline void exceptionNotification() {} - inline void connectionNotification() {} -#ifndef QT_NO_NETWORKPROXY - inline void proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *) {} -#endif - -}; - /*! \internal */ QTcpServerPrivate::QTcpServerPrivate() @@ -257,6 +221,13 @@ QTcpServer::~QTcpServer() close(); } +/*! \internal +*/ +QTcpServer::QTcpServer(QTcpServerPrivate &dd, QObject *parent) + : QObject(dd, parent) +{ +} + /*! Tells the server to listen for incoming connections on address \a address and port \a port. If \a port is 0, a port is chosen diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h index 2098a3b97d..1c66326660 100644 --- a/src/network/socket/qtcpserver.h +++ b/src/network/socket/qtcpserver.h @@ -87,6 +87,8 @@ protected: virtual void incomingConnection(qintptr handle); void addPendingConnection(QTcpSocket* socket); + QTcpServer(QTcpServerPrivate &dd, QObject *parent = 0); + Q_SIGNALS: void newConnection(); void acceptError(QAbstractSocket::SocketError socketError); diff --git a/src/network/socket/qtcpserver_p.h b/src/network/socket/qtcpserver_p.h new file mode 100644 index 0000000000..86150dac38 --- /dev/null +++ b/src/network/socket/qtcpserver_p.h @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtNetwork module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTCPSERVER_P_H +#define QTCPSERVER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of the QLibrary class. This header file may change from +// version to version without notice, or even be removed. +// +// We mean it. +// + +#include "QtNetwork/qtcpserver.h" +#include "private/qobject_p.h" +#include "private/qabstractsocketengine_p.h" +#include "QtNetwork/qabstractsocket.h" +#include "qnetworkproxy.h" +#include "QtCore/qlist.h" +#include "qhostaddress.h" + +QT_BEGIN_NAMESPACE + +class QTcpServerPrivate : public QObjectPrivate, public QAbstractSocketEngineReceiver +{ + Q_DECLARE_PUBLIC(QTcpServer) +public: + QTcpServerPrivate(); + ~QTcpServerPrivate(); + + QList<QTcpSocket *> pendingConnections; + + quint16 port; + QHostAddress address; + + QAbstractSocket::SocketState state; + QAbstractSocketEngine *socketEngine; + + QAbstractSocket::SocketError serverSocketError; + QString serverSocketErrorString; + + int maxConnections; + +#ifndef QT_NO_NETWORKPROXY + QNetworkProxy proxy; + QNetworkProxy resolveProxy(const QHostAddress &address, quint16 port); +#endif + + // from QAbstractSocketEngineReceiver + void readNotification() Q_DECL_OVERRIDE; + void closeNotification() Q_DECL_OVERRIDE { readNotification(); } + void writeNotification() Q_DECL_OVERRIDE {} + void exceptionNotification() Q_DECL_OVERRIDE {} + void connectionNotification() Q_DECL_OVERRIDE {} +#ifndef QT_NO_NETWORKPROXY + void proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *) Q_DECL_OVERRIDE {} +#endif + +}; + +QT_END_NAMESPACE + +#endif // QTCPSERVER_P_H diff --git a/src/network/socket/socket.pri b/src/network/socket/socket.pri index 7e3a54e303..3fb85160ea 100644 --- a/src/network/socket/socket.pri +++ b/src/network/socket/socket.pri @@ -12,7 +12,8 @@ HEADERS += socket/qabstractsocketengine_p.h \ socket/qlocalserver.h \ socket/qlocalserver_p.h \ socket/qlocalsocket.h \ - socket/qlocalsocket_p.h + socket/qlocalsocket_p.h \ + socket/qtcpserver_p.h SOURCES += socket/qabstractsocketengine.cpp \ socket/qhttpsocketengine.cpp \ |