#include <Player.h>
Diagramma delle classi per Player
Questa Classe rappresenta l'utente che si connette a MGS.
Per poter gestire l'I-O da e verso l'Utente, la Classe eredita, ma con visibilita' private
da TCPStream
, che fornisce alcuni metodi utili all'interazione con l'utente (ed il relativo stream/socket).
Questa Classe e' stata pensata per essere "wrappata" da un'altra classe, a seconda del tipo di Game
a cui l'utente deve partecipare.
E' comunque sufficiente per applicazioni semplici dove e' necessario SOLO lo scambio di stringhe/caratteri/messaggi
Definizione alla linea 34 del file Player.h.
Membri pubblici | |
Player (const string &, const TCPStream &, Thread *) | |
Costruttore della Classe Player. | |
virtual | ~Player (void) |
Distruttore Classe Player. | |
virtual string | getName (void) const |
Ritorna il nome/nick del Player. | |
virtual void | say (const string &) |
Invia un messaggio all'Utente (overloaded). | |
virtual void | say (const double) |
virtual void | say (const int) |
virtual string | hear (const timeout_t=TIMEOUT_INF) |
virtual void | suspendConnHandler (void) |
Sospendi il Thread "ConnectionHandler" che gestisce la connessione dell'Utente con MGS. | |
virtual void | resumeConnHandler (void) |
Riattiva il Thread "ConnectionHandler" che gestisce la connessione dell'Utente con MGS. | |
Attributi privati | |
string | name |
Thread * | ConnectionHandlerThread |
|
Costruttore della Classe Player.
Definizione alla linea 16 del file Player.cc.
00018 : 00019 TCPStream(newStream), name(newName), ConnectionHandlerThread(newThread) {} |
|
Distruttore Classe Player.
Definizione alla linea 22 del file Player.cc.
00022 {} |
|
Ritorna il nome/nick del Player.
Definizione alla linea 25 del file Player.cc. Riferimenti name. Referenziato da ChatRoom::addPlayer(), ChatRoom::delPlayer(), e ConnectionHandler::run().
00025 {return name;} |
|
|
|
Riattiva il Thread "ConnectionHandler" che gestisce la connessione dell'Utente con MGS.
Definizione alla linea 109 del file Player.cc. Riferimenti ConnectionHandlerThread. Referenziato da ChatRoom::delPlayer().
00109 { 00110 try { 00111 ConnectionHandlerThread->resume(); 00112 } 00113 catch(Thread *t) { 00114 cout << "<Player msg> Exception Raised during ConnHeandler Resuming." 00115 << endl; 00116 } 00117 } |
|
|
|
|
|
Invia un messaggio all'Utente (overloaded).
Definizione alla linea 31 del file Player.cc. Referenziato da ChatRoom::addPlayer(), e ChatRoom::delPlayer().
00031 { 00032 try { 00033 *tcp() << message; 00034 TCPStream::sync(); 00035 } 00036 catch (iostream::failure *stream) { 00037 cout << "<Player msg> Exception Raised during IOSTREAM write." << endl; 00038 } 00039 } |
|
Sospendi il Thread "ConnectionHandler" che gestisce la connessione dell'Utente con MGS.
Definizione alla linea 96 del file Player.cc. Riferimenti ConnectionHandlerThread. Referenziato da ConnectionHandler::run().
00096 { 00097 try { 00098 ConnectionHandlerThread->suspend(); 00099 } 00100 catch(Thread *t) { 00101 cout << "<Player msg> Exception Raised during ConnHeandler Suspending." 00102 << endl; 00103 } 00104 } |
|
Definizione alla linea 48 del file Player.h. Referenziato da resumeConnHandler(), e suspendConnHandler(). |
|
Definizione alla linea 47 del file Player.h. Referenziato da getName(). |