#include <ParserIn.h>
Inheritance diagram for ParserIn:
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 | |
Connessione * | connessione |
Riferimento all'oggetto Connessione creatore dell'istanza. | |
wxString | mynick |
E' il nick usato dall'utente. | |
StatusGui * | status |
Riferimento alla finestra status. | |
Friends | |
class | Connessione |
E' una classe figlia di Parser; implementa il metodo getMessage() per ricevere ed interpretare i comandi provenienti dal server IRC
Definition at line 21 of file ParserIn.h.
|
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.
Definition at line 6 of file ParserIn.cpp. |
|
Definition at line 11 of file ParserIn.cpp. |
|
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).
Implements Parser. Definition at line 13 of file ParserIn.cpp. |
|
Non implementato in ParserIn.
Implements Parser. Definition at line 59 of file ParserIn.h. |
|
Reimplemented from Parser. Definition at line 88 of file ParserIn.h. |
|
Riferimento all'oggetto Connessione creatore dell'istanza.
Definition at line 78 of file ParserIn.h. |
|
E' il nick usato dall'utente.
Definition at line 82 of file ParserIn.h. |
|
Riferimento alla finestra status.
Definition at line 86 of file ParserIn.h. |