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