Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

CL_NetSession_Server Class Reference

#include <netsession_server.h>

Inheritance diagram for CL_NetSession_Server:

Inheritance graph
[legend]
Collaboration diagram for CL_NetSession_Server:

Collaboration graph
[legend]
List of all members.

Public Methods

 CL_NetSession_Server (CL_ConnectionProvider *provider, const char *game_id, int port)
virtual ~CL_NetSession_Server ()
virtual CL_NetComputerget_server ()
virtual CL_NetGroupget_all ()
virtual bool peek (int channel) const
virtual int access_status (int channel) const
virtual bool is_writable (int channel) const
virtual bool is_readable (int channel) const
virtual void keep_alive ()
virtual CL_NetMessage receive (int channel, int timeout=-1)
void send (const int dest_channel, const CL_NetComputer &dest, const CL_NetMessage &message, bool reliable=true)
virtual void send (const int dest_channel, const CL_NetGroup &dest, const CL_NetMessage &message, bool reliable=true)
virtual CL_NetComputer receive_computer_leave ()
virtual CL_NetComputer receive_computer_join ()
virtual CL_NetComputer receive_computer_rejoin ()
virtual bool receive_session_closed ()
virtual int receive_access_changed ()
virtual void set_access (int channel, const CL_NetComputer &computer, int access_rights=ACCESS_CHANNEL_READ|ACCESS_CHANNEL_WRITE)
virtual void set_access (int channel, const CL_NetGroup &group, int access_rights=ACCESS_CHANNEL_READ|ACCESS_CHANNEL_WRITE)

Private Methods

CL_NetComputer_Hostget_computer_host (const CL_NetComputer &comp)
CL_NetChannelQueuefind_queue (int netchannel) const
CL_NetChannelQueuecreate_queue (int netchannel)
bool has_read_access (CL_NetChannelQueue *channel, CL_NetComputer_Host *host)
void check_trigger ()
virtual void run ()

Private Attributes

CL_NetGroup all
std::list<CL_NetComputer_Host*> prejoin
std::list<CL_NetComputer_Host*> computers
std::map<int ,CL_NetChannelQueuenetchannels
CL_UDPConnectionudp_connection
int id_counter
std::string game_id
int port
std::queue<CL_NetComputer_Host*> join_queue
std::queue<CL_NetComputer_Host*> rejoin_queue
std::queue<CL_NetComputer_Host*> leave_queue
CL_Mutexmutex
CL_Threadthread
volatile bool exit_thread
friend CL_NetComputer_Host

Constructor & Destructor Documentation

CL_NetSession_Server::CL_NetSession_Server ( CL_ConnectionProvider * provider,
const char * game_id,
int port )
 

virtual CL_NetSession_Server::~CL_NetSession_Server ( ) [virtual]
 


Member Function Documentation

virtual int CL_NetSession_Server::access_status ( int channel ) const [virtual]
 

Reimplemented from CL_NetSession_Generic.

void CL_NetSession_Server::check_trigger ( ) [private]
 

CL_NetChannelQueue* CL_NetSession_Server::create_queue ( int netchannel ) [private]
 

CL_NetChannelQueue* CL_NetSession_Server::find_queue ( int netchannel ) const [private]
 

virtual CL_NetGroup& CL_NetSession_Server::get_all ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

CL_NetComputer_Host * CL_NetSession_Server::get_computer_host ( const CL_NetComputer & comp ) [inline, private]
 

Definition at line 121 of file netsession_server.h.

virtual CL_NetComputer& CL_NetSession_Server::get_server ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

bool CL_NetSession_Server::has_read_access ( CL_NetChannelQueue * channel,
CL_NetComputer_Host * host ) [private]
 

virtual bool CL_NetSession_Server::is_readable ( int channel ) const [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual bool CL_NetSession_Server::is_writable ( int channel ) const [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual void CL_NetSession_Server::keep_alive ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual bool CL_NetSession_Server::peek ( int channel ) const [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual CL_NetMessage CL_NetSession_Server::receive ( int channel,
int timeout = -1 ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual int CL_NetSession_Server::receive_access_changed ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual CL_NetComputer CL_NetSession_Server::receive_computer_join ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual CL_NetComputer CL_NetSession_Server::receive_computer_leave ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual CL_NetComputer CL_NetSession_Server::receive_computer_rejoin ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual bool CL_NetSession_Server::receive_session_closed ( ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual void CL_NetSession_Server::run ( ) [private, virtual]
 

Reimplemented from CL_Runnable.

virtual void CL_NetSession_Server::send ( const int dest_channel,
const CL_NetGroup & dest,
const CL_NetMessage & message,
bool reliable = true ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

void CL_NetSession_Server::send ( const int dest_channel,
const CL_NetComputer & dest,
const CL_NetMessage & message,
bool reliable = true )
 

virtual void CL_NetSession_Server::set_access ( int channel,
const CL_NetGroup & group,
int access_rights = ACCESS_CHANNEL_READ|ACCESS_CHANNEL_WRITE ) [virtual]
 

Reimplemented from CL_NetSession_Generic.

virtual void CL_NetSession_Server::set_access ( int channel,
const CL_NetComputer & computer,
int access_rights = ACCESS_CHANNEL_READ|ACCESS_CHANNEL_WRITE ) [virtual]
 


Member Data Documentation

friend CL_NetSession_Server::CL_NetComputer_Host [private]
 

Definition at line 162 of file netsession_server.h.

CL_NetGroup CL_NetSession_Server::all [private]
 

Definition at line 139 of file netsession_server.h.

std::list<CL_NetComputer_Host*> CL_NetSession_Server::computers [private]
 

Definition at line 141 of file netsession_server.h.

volatile bool CL_NetSession_Server::exit_thread [private]
 

Definition at line 158 of file netsession_server.h.

std::string CL_NetSession_Server::game_id [private]
 

Definition at line 148 of file netsession_server.h.

int CL_NetSession_Server::id_counter [private]
 

Definition at line 147 of file netsession_server.h.

std::queue<CL_NetComputer_Host*> CL_NetSession_Server::join_queue [private]
 

Definition at line 151 of file netsession_server.h.

std::queue<CL_NetComputer_Host*> CL_NetSession_Server::leave_queue [private]
 

Definition at line 153 of file netsession_server.h.

CL_Mutex* CL_NetSession_Server::mutex [private]
 

Definition at line 156 of file netsession_server.h.

std::map<int ,CL_NetChannelQueue> CL_NetSession_Server::netchannels [private]
 

Definition at line 143 of file netsession_server.h.

int CL_NetSession_Server::port [private]
 

Definition at line 149 of file netsession_server.h.

std::list<CL_NetComputer_Host*> CL_NetSession_Server::prejoin [private]
 

Definition at line 140 of file netsession_server.h.

std::queue<CL_NetComputer_Host*> CL_NetSession_Server::rejoin_queue [private]
 

Definition at line 152 of file netsession_server.h.

CL_Thread* CL_NetSession_Server::thread [private]
 

Definition at line 157 of file netsession_server.h.

CL_UDPConnection* CL_NetSession_Server::udp_connection [private]
 

Definition at line 145 of file netsession_server.h.


The documentation for this class was generated from the following file:
Generated at Wed Apr 4 19:57:17 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001