File: netgroup.h

package info (click to toggle)
clanlib 0.5.4-1-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,320 kB
  • ctags: 10,893
  • sloc: cpp: 76,056; xml: 3,281; sh: 2,961; perl: 1,204; asm: 837; makefile: 775
file content (62 lines) | stat: -rw-r--r-- 1,337 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
	$Id: netgroup.h,v 1.12 2001/10/10 11:40:52 sphair Exp $

	------------------------------------------------------------------------
	ClanLib, the platform independent game SDK.

	This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
	version 2. See COPYING for details.

	For a total list of contributers see CREDITS.

	See http://www.clanlib.org
	------------------------------------------------------------------------
*/

//! clanNetwork="NetSessions"
//! header=network.h

#ifndef header_netgroup
#define header_netgroup

#include <list>
#include "netcomputer.h"

class CL_NetGroup_Generic;

//: Class used to group computers in a network game.
class CL_NetGroup
{
//! Construction:
public:
	//: Construct an empty group list.
	CL_NetGroup();

	//: Construct a group with one computer in it.
	CL_NetGroup(const CL_NetComputer &computer);

	//: Net Group Destructor
	virtual ~CL_NetGroup();

//! Attributes:
public:
	//: List of computers in this group.
	std::list<CL_NetComputer> &get_computers() const;

//! Operations:
public:
	//: Add computer to group.
	void add(const CL_NetComputer &computer);

	//: Remove computer from group.
	void remove(const CL_NetComputer &computer);

	//: Disconnects all computers in group.
	void disconnect();

//! Implementation:
private:
	CL_NetGroup_Generic *impl;
};

#endif