/Desktop/MGS-MultithreadedGameServer/Player.h

Vai alla documentazione di questo file.
00001 //
00002 // File: Player.h
00003 // Created by: <Detro /> aka Ivan De Marino 
00004 // <detro@mandolinux.org, demarino@studenti.unina.it, demarino@na.astro.it>
00005 // Created on: Wed Oct 27 21:36:55 2004
00006 //
00007 
00008 #ifndef _PLAYER_H_
00009 #define _PLAYER_H_
00010 
00011 #include <cc++/socket.h>
00012 #include <iostream>
00013 
00014 #ifdef  CCXX_NAMESPACES
00015 using namespace std;
00016 using namespace ost;
00017 #endif
00018 
00019 #define MESSAGE_MAX_LENGTH 1024
00020 
00021 /**
00022  * @class Player Player.h
00023  * Player per MGS.
00024  * Questa Classe rappresenta l'utente che si connette a MGS. <br>
00025  * Per poter gestire l'I-O da e verso l'Utente,
00026  * la Classe eredita, ma con visibilita' <code>private</code>
00027  * da <code>TCPStream</code>, che fornisce alcuni metodi
00028  * utili all'interazione con l'utente (ed il relativo stream/socket). <br>
00029  * Questa Classe e' stata pensata per essere <i>"wrappata"</i>
00030  * da un'altra classe, a seconda del tipo di <code>Game</code> 
00031  * a cui l'utente deve partecipare. <br>
00032  * E' comunque sufficiente per applicazioni semplici dove
00033  * e' necessario SOLO lo scambio di stringhe/caratteri/messaggi */
00034 class Player : private TCPStream {
00035    public:
00036       Player(const string &, const TCPStream &, Thread *);
00037       virtual ~Player(void);
00038       virtual string getName(void) const; 
00039       virtual void say(const string &);
00040       virtual void say(const double);
00041       virtual void say(const int);
00042       virtual string hear(const timeout_t = TIMEOUT_INF);
00043       virtual void suspendConnHandler(void);
00044       virtual void resumeConnHandler(void);
00045       
00046    private:
00047       string name;
00048       Thread *ConnectionHandlerThread;
00049 };
00050 
00051 #endif   //_PLAYER_H_

Generato il Sun Nov 28 13:27:03 2004 per MGS - Multithreaded Game Server da doxygen 1.3.4