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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*
$Id: netgroup.cpp,v 1.3 2001/02/28 15:06:03 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.
------------------------------------------------------------------------
*/
#include "API/Network/netgroup.h"
/////////////////////////////////////////////////////////////////////////////
// CL_NetGroup_Generic:
class CL_NetGroup_Generic
{
public:
std::list<CL_NetComputer> computers;
};
/////////////////////////////////////////////////////////////////////////////
// CL_NetGroup construction:
CL_NetGroup::CL_NetGroup()
: impl(NULL)
{
impl = new CL_NetGroup_Generic;
}
CL_NetGroup::CL_NetGroup(const CL_NetComputer &computer)
: impl(NULL)
{
impl = new CL_NetGroup_Generic;
add(computer);
}
CL_NetGroup::~CL_NetGroup()
{
delete impl;
}
/////////////////////////////////////////////////////////////////////////////
// CL_NetGroup attributes:
std::list<CL_NetComputer> &CL_NetGroup::get_computers() const
{
return impl->computers;
}
/////////////////////////////////////////////////////////////////////////////
// CL_NetGroup operations:
void CL_NetGroup::add(const CL_NetComputer &computer)
{
impl->computers.push_back(computer);
}
void CL_NetGroup::remove(const CL_NetComputer &computer)
{
impl->computers.remove(computer);
}
void CL_NetGroup::disconnect()
{
std::list<CL_NetComputer>::iterator it;
for (
it = impl->computers.begin();
it != impl->computers.end();
it++)
{
CL_NetComputer &cur = *it;
cur.disconnect();
}
}
/////////////////////////////////////////////////////////////////////////////
// CL_NetGroup implementation:
|