KD SOAP  1.10.0
KDSoapSocketList_p.h
1 /****************************************************************************
2 **
3 ** This file is part of the KD Soap library.
4 **
5 ** SPDX-FileCopyrightText: 2010-2020 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6 **
7 ** SPDX-License-Identifier: LicenseRef-KDAB-KDSoap-AGPL3-Modified OR LicenseRef-KDAB-KDSoap OR LicenseRef-KDAB-KDSoap-US
8 **
9 ** Licensees holding valid commercial KD Soap licenses may use this file in
10 ** accordance with the KD Soap Commercial License Agreement provided with
11 ** the Software.
12 **
13 ** Contact info@kdab.com if any conditions of this licensing are not clear to you.
14 **
15 ****************************************************************************/
16 #ifndef KDSOAPSOCKETLIST_P_H
17 #define KDSOAPSOCKETLIST_P_H
18 
19 #include <QSet>
20 #include <QObject>
21 QT_BEGIN_NAMESPACE
22 class QTcpSocket;
23 class QObject;
24 QT_END_NAMESPACE
25 class KDSoapServer;
26 class KDSoapServerSocket;
27 
28 class KDSoapSocketList : public QObject
29 {
30  Q_OBJECT
31 public:
32  explicit KDSoapSocketList(KDSoapServer *server);
33  ~KDSoapSocketList();
34 
35  KDSoapServerSocket *handleIncomingConnection(int socketDescriptor);
36 
37  int socketCount() const;
38  void disconnectAll();
39 
40  int totalConnectionCount() const;
41  void increaseConnectionCount();
42  void resetTotalConnectionCount();
43 
44  KDSoapServer *server() const
45  {
46  return m_server;
47  }
48 
49 public Q_SLOTS:
50  void socketDeleted(KDSoapServerSocket *socket);
51 
52 private:
53  KDSoapServer *m_server;
54  QObject *m_serverObject;
55  QSet<KDSoapServerSocket *> m_sockets;
56  QAtomicInt m_totalConnectionCount;
57 };
58 
59 #endif // KDSOAPSOCKETLIST_P_H
Definition: KDSoapServer.h:35

Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-soap/