KD SOAP
 All Classes Functions Enumerations Enumerator Pages
KDSoapSocketList_p.h
1 /****************************************************************************
2 ** Copyright (C) 2010-2013 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Soap library.
5 **
6 ** Licensees holding valid commercial KD Soap licenses may use this file in
7 ** accordance with the KD Soap Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU Lesser General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.LGPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 #ifndef KDSOAPSOCKETLIST_P_H
23 #define KDSOAPSOCKETLIST_P_H
24 
25 #include <QSet>
26 #include <QObject>
27 QT_BEGIN_NAMESPACE
28 class QTcpSocket;
29 class QObject;
30 QT_END_NAMESPACE
31 class KDSoapServer;
32 class KDSoapServerSocket;
33 
34 class KDSoapSocketList : public QObject
35 {
36  Q_OBJECT
37 public:
38  explicit KDSoapSocketList(KDSoapServer* server);
39  ~KDSoapSocketList();
40 
41  KDSoapServerSocket* handleIncomingConnection(int socketDescriptor);
42 
43  int socketCount() const;
44  void disconnectAll();
45 
46  int totalConnectionCount() const;
47  void resetTotalConnectionCount();
48 
49  KDSoapServer* server() const { return m_server; }
50 
51 public Q_SLOTS:
52  void socketDeleted(KDSoapServerSocket* socket);
53 
54 private:
55  KDSoapServer* m_server;
56  QObject* m_serverObject;
57  QSet<KDSoapServerSocket *> m_sockets;
58  QAtomicInt m_totalConnectionCount;
59 };
60 
61 #endif // KDSOAPSOCKETLIST_P_H

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-soap/