-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathops.h
79 lines (61 loc) · 3 KB
/
ops.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/*
* chatterbox Progetto del corso di LSO 2017/2018
*
* Dipartimento di Informatica Università di Pisa
* Docenti: Prencipe, Torquati
*
*/
#if !defined(OPS_H_)
#define OPS_H_
/**
* @file ops.h
* @brief Contiene i codici delle operazioni di richiesta e risposta
*/
typedef enum {
/* ------------------------------------------ */
/* operazioni che il server deve gestire */
/* ------------------------------------------ */
REGISTER_OP = 0, /// richiesta di registrazione di un nickname
CONNECT_OP = 1, /// richiesta di connessione di un client
POSTTXT_OP = 2, /// richiesta di invio di un messaggio testuale ad un nickname o groupname
POSTTXTALL_OP = 3, /// richiesta di invio di un messaggio testuale a tutti gli utenti
POSTFILE_OP = 4, /// richiesta di invio di un file ad un nickname o groupname
GETFILE_OP = 5, /// richiesta di recupero di un file
GETPREVMSGS_OP = 6, /// richiesta di recupero della history dei messaggi
USRLIST_OP = 7, /// richiesta di avere la lista di tutti gli utenti attualmente connessi
UNREGISTER_OP = 8, /// richiesta di deregistrazione di un nickname o groupname
DISCONNECT_OP = 9, /// richiesta di disconnessione
/* la gestione dei gruppi e' opzionale */
CREATEGROUP_OP = 10, /// richiesta di creazione di un gruppo
ADDGROUP_OP = 11, /// richiesta di aggiunta ad un gruppo
DELGROUP_OP = 12, /// richiesta di rimozione da un gruppo
DELALLGROUP_OP = 13,
/* NOTA: la richiesta di cancellazione di un gruppo e' lasciata come task opzionale */
/*
* aggiungere qui eltre operazioni che si vogliono implementare
*/
/* ------------------------------------------ */
/* messaggi inviati dal server */
/* ------------------------------------------ */
OP_OK = 20, // operazione eseguita con successo
TXT_MESSAGE = 21, // notifica di messaggio testuale
FILE_MESSAGE = 22, // notifica di messaggio "file disponibile"
OP_FAIL = 25, // generico messaggio di fallimento
OP_NICK_ALREADY = 26, // nickname o groupname gia' registrato
OP_NICK_UNKNOWN = 27, // nickname o groupname non riconosciuto
OP_MSG_TOOLONG = 28, // messaggio con size troppo lunga
OP_NO_SUCH_FILE = 29, // il file richiesto non esiste
OP_NICK_TOOLONG = 30, //nickname troppo lungo
OP_CLNT_ALREADY_CONNECTED = 31, //client già connesso
OP_USR_ALREADY_CONNECTED = 32, //utente già connesso
OP_USR_NOT_CONNECTED = 33, //utente non connesso
OP_TOO_MANY_CLIENT = 34, //troppi client connessi
OP_USR_ALREADY_IN_GROUP = 35, //utente già nel gruppo
OP_NO_PERMISSION = 36, //utente non ha il permesso di eseguire l'operazione
OP_NOT_EXISTS=37, //l'operazione richiesta non esiste
/*
* aggiungere qui altri messaggi di ritorno che possono servire
*/
OP_END = 100 // limite superiore agli id usati per le operazioni
} op_t;
#endif /* OPS_H_ */