KDSOAP 1.2
KDSoapSocketList_p.h
00001 /****************************************************************************
00002 ** Copyright (C) 2010-2012 Klaralvdalens Datakonsult AB.  All rights reserved.
00003 **
00004 ** This file is part of the KD Soap library.
00005 **
00006 ** Licensees holding valid commercial KD Soap licenses may use this file in
00007 ** accordance with the KD Soap Commercial License Agreement provided with
00008 ** the Software.
00009 **
00010 **
00011 ** This file may be distributed and/or modified under the terms of the
00012 ** GNU General Public License version 2 and version 3 as published by the
00013 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
00014 **
00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017 **
00018 ** Contact info@kdab.com if any conditions of this licensing are not
00019 ** clear to you.
00020 **
00021 **********************************************************************/
00022 #ifndef KDSOAPSOCKETLIST_P_H
00023 #define KDSOAPSOCKETLIST_P_H
00024 
00025 #include <QSet>
00026 #include <QObject>
00027 class QTcpSocket;
00028 class KDSoapServer;
00029 class QObject;
00030 class KDSoapServerSocket;
00031 
00032 class KDSoapSocketList : public QObject
00033 {
00034     Q_OBJECT
00035 public:
00036     explicit KDSoapSocketList(KDSoapServer* server);
00037     ~KDSoapSocketList();
00038 
00039     KDSoapServerSocket* handleIncomingConnection(int socketDescriptor);
00040 
00041     int socketCount() const;
00042     void disconnectAll();
00043 
00044     int totalConnectionCount() const;
00045     void resetTotalConnectionCount();
00046 
00047     KDSoapServer* server() const { return m_server; }
00048 
00049 public Q_SLOTS:
00050     void socketDeleted(KDSoapServerSocket* socket);
00051 
00052 private:
00053     KDSoapServer* m_server;
00054     QObject* m_serverObject;
00055     QSet<KDSoapServerSocket *> m_sockets;
00056     QAtomicInt m_totalConnectionCount;
00057 };
00058 
00059 #endif // KDSOAPSOCKETLIST_P_H
 All Classes Functions Enumerations Enumerator

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