src/protocols/sametime/meanwhile/error.c

Fri, 20 Jan 2006 00:19:53 +0000

author
Ethan Blanton <elb@pidgin.im>
date
Fri, 20 Jan 2006 00:19:53 +0000
changeset 12956
39a4efae983c
permissions
-rw-r--r--

[gaim-migrate @ 15309]
Add .cvsignore actions to meanwhile so cvs shuts up about it.

12956
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
2 /*
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
3 Meanwhile - Unofficial Lotus Sametime Community Client Library
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
4 Copyright (C) 2004 Christopher (siege) O'Brien
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
5
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
6 This library is free software; you can redistribute it and/or
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
7 modify it under the terms of the GNU Library General Public
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
8 License as published by the Free Software Foundation; either
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
9 version 2 of the License, or (at your option) any later version.
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
10
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
11 This library is distributed in the hope that it will be useful,
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
14 Library General Public License for more details.
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
15
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
16 You should have received a copy of the GNU Library General Public
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
17 License along with this library; if not, write to the Free
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
19 */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
20
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
21 #include <stdio.h>
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
22 #include <string.h>
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
23
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
24 #include "mw_error.h"
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
25
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
26
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
27 static char *err_to_str(guint32 code) {
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
28 static char b[11]; /* 0x12345678 + NULL terminator */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
29 sprintf((char *) b, "0x%08x", code);
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
30 b[10] = '\0';
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
31 return b;
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
32 }
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
33
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
34
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
35 #define CASE(val, str) \
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
36 case val: \
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
37 m = str; \
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
38 break;
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
39
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
40
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
41 char* mwError(guint32 code) {
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
42 const char *m;
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
43
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
44 switch(code) {
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
45
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
46 /* 8.3.1.1 General error/success codes */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
47 CASE(ERR_SUCCESS, "Success");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
48 CASE(ERR_FAILURE, "General failure");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
49 CASE(ERR_REQUEST_DELAY, "Request delayed");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
50 CASE(ERR_REQUEST_INVALID, "Request is invalid");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
51 CASE(ERR_NOT_AUTHORIZED, "Not authorized");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
52 CASE(ERR_NO_USER, "User is not online");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
53 CASE(ERR_CHANNEL_NO_SUPPORT, "Requested channel is not supported");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
54 CASE(ERR_CHANNEL_EXISTS, "Requested channel already exists");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
55 CASE(ERR_SERVICE_NO_SUPPORT, "Requested service is not supported");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
56 CASE(ERR_PROTOCOL_NO_SUPPORT, "Requested protocol is not supported");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
57 CASE(ERR_VERSION_NO_SUPPORT, "Version is not supported");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
58 CASE(ERR_USER_SKETCHY, "User is invalid or not trusted");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
59 CASE(ERR_ALREADY_INITIALIZED, "Already initialized");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
60 CASE(ERR_ENCRYPT_NO_SUPPORT, "Encryption method not supported");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
61 CASE(ERR_NO_COMMON_ENCRYPT, "No common encryption method");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
62
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
63 /* 8.3.1.2 Connection/disconnection errors */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
64 CASE(VERSION_MISMATCH, "Version mismatch");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
65 CASE(FAT_MESSAGE, "Message is too large");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
66 CASE(CONNECTION_BROKEN, "Connection broken");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
67 CASE(CONNECTION_ABORTED, "Connection aborted");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
68 CASE(CONNECTION_REFUSED, "Connection refused");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
69 CASE(CONNECTION_RESET, "Connection reset");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
70 CASE(CONNECTION_TIMED, "Connection timed out");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
71 CASE(CONNECTION_CLOSED, "Connection closed");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
72 CASE(INCORRECT_LOGIN, "Incorrect Username/Password");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
73 CASE(VERIFICATION_DOWN, "Login verification down or unavailable");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
74 CASE(GUEST_IN_USE, "The guest name is currently being used");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
75 CASE(MULTI_SERVER_LOGIN, "Login to two different servers concurrently");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
76 CASE(MULTI_SERVER_LOGIN2, "Login to two different servers concurrently");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
77 CASE(SERVER_BROKEN, "Server misconfiguration");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
78
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
79 /* 8.3.1.3 Client error codes */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
80 CASE(ERR_CLIENT_USER_GONE, "User is not online");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
81 CASE(ERR_CLIENT_USER_DND, "User is in Do Not Disturb mode");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
82 CASE(ERR_CLIENT_USER_ELSEWHERE, "Already logged in elsewhere");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
83
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
84 /* 8.3.1.4 IM error codes */
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
85 CASE(ERR_IM_COULDNT_REGISTER, "Cannot register a reserved type");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
86 CASE(ERR_IM_ALREADY_REGISTERED, "Requested type is already registered");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
87 CASE(ERR_IM_NOT_REGISTERED, "Requested type is not registered");
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
88
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
89 default:
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
90 m = err_to_str(code);
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
91 }
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
92
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
93 return g_strdup(m);
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
94 }
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
95
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
96
39a4efae983c [gaim-migrate @ 15309]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
97 #undef CASE

mercurial