Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtcpserver_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2016 Alex Trotsenko <alex1973tr@gmail.com>
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4// Qt-Security score:significant reason:default
5
6#ifndef QTCPSERVER_P_H
7#define QTCPSERVER_P_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <QtNetwork/private/qtnetworkglobal_p.h>
21#include "QtNetwork/qtcpserver.h"
22#include "private/qobject_p.h"
23#include "private/qabstractsocketengine_p.h"
24#include "QtNetwork/qabstractsocket.h"
25#include "qnetworkproxy.h"
26#include "QtCore/qlist.h"
27#include "qhostaddress.h"
28
30
31class Q_NETWORK_EXPORT QTcpServerPrivate : public QObjectPrivate,
32 public QAbstractSocketEngineReceiver
33{
34 Q_DECLARE_PUBLIC(QTcpServer)
35public:
36 QTcpServerPrivate();
37 ~QTcpServerPrivate();
38
39 QList<QTcpSocket *> pendingConnections;
40
41 quint16 port;
42 QHostAddress address;
43
44 QAbstractSocket::SocketType socketType;
45 QAbstractSocket::SocketState state;
46 QAbstractSocketEngine *socketEngine;
47
48 QAbstractSocket::SocketError serverSocketError;
49 QString serverSocketErrorString;
50
51 int listenBacklog = 50;
52 int maxConnections;
53
54#ifndef QT_NO_NETWORKPROXY
55 QNetworkProxy proxy;
56 QNetworkProxy resolveProxy(const QHostAddress &address, quint16 port);
57#endif
58
59 virtual void configureCreatedSocket();
60 virtual int totalPendingConnections() const;
61
62 // from QAbstractSocketEngineReceiver
63 void readNotification() override;
64 void closeNotification() override { readNotification(); }
65 void writeNotification() override {}
66 void exceptionNotification() override {}
67 void connectionNotification() override {}
68#ifndef QT_NO_NETWORKPROXY
69 void proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *) override {}
70#endif
71
72};
73
74QT_END_NAMESPACE
75
76#endif // QTCPSERVER_P_H
#define Q_CHECK_SOCKETENGINE(returnValue)