NetLink Sockets C++
1.0.0
Networking C++ Library
Main Page
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Files
Functions
Enumerations
Enumerator
Pages
include
netlink
socket_group.h
1
/*
2
NetLink Sockets: Networking C++ library
3
Copyright 2012 Pedro Francisco Pareja Ruiz (PedroPareja@Gmail.com)
4
5
This file is part of NetLink Sockets.
6
7
NetLink Sockets is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
NetLink Sockets is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with NetLink Sockets. If not, see <http://www.gnu.org/licenses/>.
19
20
*/
21
22
#ifndef __NL_SOCKET_GROUP
23
#define __NL_SOCKET_GROUP
24
25
#include <
netlink/core.h
>
26
#include <netlink/socket.h>
27
28
NL_NAMESPACE
29
30
using
std::vector;
31
32
33
class
SocketGroup;
34
41
class
SocketGroupCmd
{
42
43
public
:
44
54
virtual
void
exec(
Socket
* socket,
SocketGroup
* group,
void
* reference)=0;
55
};
56
57
64
class
SocketGroup
{
65
66
private
:
67
68
vector<Socket*> _vSocket;
69
70
SocketGroupCmd
* _cmdOnAccept;
71
SocketGroupCmd
* _cmdOnRead;
72
SocketGroupCmd
* _cmdOnDisconnect;
73
74
public
:
75
76
SocketGroup
();
77
78
void
add(
Socket
* socket);
79
Socket
*
get
(
unsigned
index)
const
;
80
void
remove
(
unsigned
index);
81
void
remove
(
Socket
* socket);
82
83
size_t
size()
const
;
84
85
void
setCmdOnAccept(
SocketGroupCmd
* cmd);
86
void
setCmdOnRead(
SocketGroupCmd
* cmd);
87
void
setCmdOnDisconnect(
SocketGroupCmd
* cmd);
88
89
bool
listen(
unsigned
milisec=0,
void
* reference = NULL);
90
};
91
92
#include <netlink/socket_group.inline.h>
93
94
NL_NAMESPACE_END
95
96
#endif
Generated on Fri Mar 7 2014 16:23:05 for NetLink Sockets C++ by
1.8.3.1