view plugins/error.c @ 1046:4593605da0e2

[gaim-migrate @ 1056] 1. made it compile again (gc->groups instead of just groups, account_online(user, gc) instead of just (gc), and most things are GSLists now, oh yeah, serv_got_update(gc, ...) and add_buddy(gc, ...)). 2. took out the stuff to set up the buddy list window, because account_online handles that now 3. change the init function to use load_protocol(), which is the new interface for loading a new protocol. it's basically the same but without actually touching the protocols list. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 01 Nov 2000 11:34:56 +0000
parents 59d97cd251ff
children ece2d1543b20
line wrap: on
line source

#define GAIM_PLUGINS
#include "gaim.h"

#include <stdlib.h>
#include <time.h>

int gaim_plugin_init(void *handle) {
	int error;

	/* so here, we load any callbacks, do the normal stuff */

	srand(time(NULL));
	error = rand() % 3;
	error -= 2;
	/* there's a 1 in 3 chance there *won't* be an error :) */
	return error;
}

void gaim_plugin_remove() {
	/* this only gets called if we get loaded successfully, and then
	 * unloaded. */
}

char *gaim_plugin_error(int error) {
	/* by the time we've gotten here, all our callbacks are removed.
	 * we just have to deal with what the error was (as defined by us)
	 * and do any other clean-up stuff we need to do. */
	switch (error) {
	case -1:
		do_error_dialog("I'm calling the error myself", "MY BAD");
		return NULL;
	case -2:
		return "Internal plugin error: exiting.";
	}
	/* we should never get here */
	return NULL;
}

char *name() {
	return "Error Tester " VERSION ;
}

char *description() {
	return "A nice little program that causes error messages";
}