Doomseeker
Wadseeker
Download
Tracker
Git
Docs
Main Page
Plugin API
Related Pages
Modules
Classes
Files
File List
File Members
src
core
refresher
udpsocketpool.h
1
//------------------------------------------------------------------------------
2
// udpsocketpool.h
3
//------------------------------------------------------------------------------
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
10
// This library is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public
16
// License along with this library; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
// 02110-1301 USA
19
//
20
//------------------------------------------------------------------------------
21
// Copyright (C) 2017 "Zalewa" <zalewapl@gmail.com>
22
//------------------------------------------------------------------------------
23
#ifndef id42cca172_73df_4d48_99c6_32b537985549
24
#define id42cca172_73df_4d48_99c6_32b537985549
25
26
#include "dptr.h"
27
#include <QHostAddress>
28
#include <QUdpSocket>
29
30
// Qt4 compatilbity, not really be the best place for this but the days of Qt4
31
// support should be numbered.
32
#if QT_VERSION < 0x050000
33
#define Q_NULLPTR NULL
34
#endif
35
36
class
UdpSocketPool
:
public
QObject
37
{
38
Q_OBJECT
39
Q_DISABLE_COPY(
UdpSocketPool
);
40
41
public
:
42
UdpSocketPool
(
int
sliceSize = 25);
43
~
UdpSocketPool
();
44
45
QUdpSocket *acquire(
const
QHostAddress &address, quint16 port);
46
QUdpSocket *acquireMasterSocket();
47
void
releaseAll();
48
49
bool
hasPendingDatagrams()
const
;
50
QByteArray readNextDatagram(QHostAddress *address = Q_NULLPTR, quint16 *port = Q_NULLPTR);
51
52
signals:
53
void
readyRead();
54
55
private
:
56
DPtr<UdpSocketPool>
d;
57
};
58
59
#endif
UdpSocketPool
Definition:
udpsocketpool.h:36
DPtr< UdpSocketPool >
Doomseeker © 2009-2024 The Doomseeker Team