Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

ParserIn Class Reference

Interpreta i comandi ricevuti dal server. More...

#include <ParserIn.h>

Inheritance diagram for ParserIn:

Parser List of all members.

Public Member Functions

void getMessage (wxString strIn)
 E' il metodo usato da altre classi (tipicamente Connection) per spedire messaggi al ParserIn.
void sendMessage (wxString, const wxString &)
 Non implementato in ParserIn.

Private Member Functions

 ParserIn (Connessione *connessione)
 Costruttore. E' privato perchè ParserIn è istanziabile solo da Connessione.
 ~ParserIn ()

Private Attributes

Connessioneconnessione
 Riferimento all'oggetto Connessione creatore dell'istanza.
wxString mynick
 E' il nick usato dall'utente.
StatusGuistatus
 Riferimento alla finestra status.

Friends

class Connessione

Detailed Description

Interpreta i comandi ricevuti dal server.

E' una classe figlia di Parser; implementa il metodo getMessage() per ricevere ed interpretare i comandi provenienti dal server IRC

Author:
Daniele Quarta, Francesco Piermaria, Andrea Turbati
Warning:
I sorgenti dell'intero progetto sono rilasciati sotto licenza GPL. Leggere il file gpl.txt allegato ai sorgenti per maggiori informazioni.

Definition at line 21 of file ParserIn.h.


Constructor & Destructor Documentation

ParserIn::ParserIn Connessione connessione  )  [private]
 

Costruttore. E' privato perchè ParserIn è istanziabile solo da Connessione.

C'è un ParserIn per ogni istanza di Connessione. Il ParserIn riceve col costruttore un riferimento al suo creatore e si occupa di procurarsi anche un riferimento alla finestra di status.

Parameters:
connessione riferimento al creatore di ParserIn.

Definition at line 6 of file ParserIn.cpp.

ParserIn::~ParserIn  )  [private]
 

Definition at line 11 of file ParserIn.cpp.


Member Function Documentation

void ParserIn::getMessage wxString  strIn  )  [virtual]
 

E' il metodo usato da altre classi (tipicamente Connection) per spedire messaggi al ParserIn.

Per prima cosa, effettua il tokenizing della stringa ricevuta utilizzando come separatore il carattere spazio; i parametri nei comandi ricevuti dal server IRC sono infatti divisi da spazi. Dal primo parametro si distingue il tipo di comando: il comando inviato da un utente inizia con la hostmask di quell'utente preceduta dai due punti, ossia :nick!ident@host. I comandi utente implementati sono: join, privmsg, kick, part, quit, topic, nick e mode. Il messaggio inviato dal server comincia con :nome_server ed è seguito da un codice numerico di tre cifre che indica il tipo di messaggio. I messaggi da server implementati sono: 375,372 e 376 che si riferiscono al Message Of The Day del server (rispettivamente inizio motd, stringhe del motd, fine motd), 353 e 366 che corrispondono alla name list (lista di utenti in un canale) e alla sua conclusione, 332 e 333 che indicano il topic di un canale e il suo autore e 001 che indica il messaggio di welcome del server IRC. Infine ci sono i messaggi di controllo, che iniziano direttamente con il nome del messaggio; l'rfc ne indica due, ERROR: e PING, ed è stato implementato solo PING, che serve per indicare al server IRC che la nostra connessione è ancora viva. ERROR: comunica al client il termine della connessione, ma questo evento viene automaticamente rilevato dal gestore dei socket. Tutti i messaggi non implementati o che non dovrebbero arrivare (capita, per motivi di desincronizzazione, di ricevere messaggi da un canale anche se si è usciti) vengono scritti nella finestra status. Le informazioni sono state prese principalmente dall'RFC 2812 ma in parte anche dall'RFC 2811 (per i modi dei canali).

Parameters:
strIn stringa da interpretare

Implements Parser.

Definition at line 13 of file ParserIn.cpp.

void ParserIn::sendMessage wxString  ,
const wxString & 
[inline, virtual]
 

Non implementato in ParserIn.

Implements Parser.

Definition at line 59 of file ParserIn.h.


Friends And Related Function Documentation

friend class Connessione [friend]
 

Reimplemented from Parser.

Definition at line 88 of file ParserIn.h.


Member Data Documentation

Connessione* ParserIn::connessione [private]
 

Riferimento all'oggetto Connessione creatore dell'istanza.

Definition at line 78 of file ParserIn.h.

wxString ParserIn::mynick [private]
 

E' il nick usato dall'utente.

Definition at line 82 of file ParserIn.h.

StatusGui* ParserIn::status [private]
 

Riferimento alla finestra status.

Definition at line 86 of file ParserIn.h.


The documentation for this class was generated from the following files:
Generated on Thu Dec 2 16:51:42 2004 for Quirck by  doxygen 1.3.9.1