plugins/error.c

Thu, 26 Oct 2000 07:22:32 +0000

author
bryner
date
Thu, 26 Oct 2000 07:22:32 +0000
changeset 1026
fa6230b217bc
parent 398
c426f81e75ce
child 1047
783f8520d9a0
permissions
-rw-r--r--

[gaim-migrate @ 1036]
X-Idle support. Thanks bryner and bmiller!

Both of you guys sent me similar patches :)

committer: Rob Flynn <gaim@robflynn.com>

391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 #define GAIM_PLUGINS
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 #include "gaim.h"
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 #include <stdlib.h>
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 #include <time.h>
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 int gaim_plugin_init(void *handle) {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 int error;
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 /* so here, we load any callbacks, do the normal stuff */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 srand(time(NULL));
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 error = rand() % 3;
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
14 error -= 2;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 /* there's a 1 in 3 chance there *won't* be an error :) */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 return error;
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 void gaim_plugin_remove() {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 /* this only gets called if we get loaded successfully, and then
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 * unloaded. */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 char *gaim_plugin_error(int error) {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 /* by the time we've gotten here, all our callbacks are removed.
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 * we just have to deal with what the error was (as defined by us)
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 * and do any other clean-up stuff we need to do. */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 switch (error) {
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
29 case -1:
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 do_error_dialog("I'm calling the error myself", "MY BAD");
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 return NULL;
398
c426f81e75ce [gaim-migrate @ 408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 396
diff changeset
32 case -2:
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 return "Internal plugin error: exiting.";
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 /* we should never get here */
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 return NULL;
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 char *name() {
396
fbdaa6b9fb14 [gaim-migrate @ 406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 393
diff changeset
40 return "Error Tester " VERSION ;
391
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 }
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 char *description() {
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 return "A nice little program that causes error messages";
677e4414a83f [gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 }

mercurial