view plugins/perl/common/Plugin.xs @ 13158:eed97963252a

[gaim-migrate @ 15521] I think this'll fix a crash that hit me last night. What happened was, Gaim couldn't fetch the buddy list on the first attempt. It set up a timer to do it 30 seconds later. The timer callback set the reference to the timer to 0, so Gaim was not able to remove the timer. Then at some point I got disconnected and the timer callback got called and exploded. Unfortunately, I have a feeling this hit everyone using either of the betas. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 07 Feb 2006 14:51:28 +0000
parents e0629444c455
children
line wrap: on
line source

#include "module.h"

MODULE = Gaim::Plugin  PACKAGE = Gaim::Plugin  PREFIX = gaim_plugin_
PROTOTYPES: ENABLE

Gaim::Plugin
gaim_plugin_new(native, path)
	gboolean native
	const char *path

Gaim::Plugin
gaim_plugin_probe(filename)
	const char *filename

gboolean
gaim_plugin_register(plugin)
	Gaim::Plugin plugin

gboolean
gaim_plugin_load(plugin)
	Gaim::Plugin plugin

gboolean
gaim_plugin_unload(plugin)
	Gaim::Plugin plugin

gboolean
gaim_plugin_reload(plugin)
	Gaim::Plugin plugin

void
gaim_plugin_destroy(plugin)
	Gaim::Plugin plugin

gboolean
gaim_plugin_is_loaded(plugin)
	Gaim::Plugin plugin

gboolean
gaim_plugin_is_unloadable(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_id(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_name(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_version(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_summary(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_description(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_author(plugin)
	Gaim::Plugin plugin

const gchar *
gaim_plugin_get_homepage(plugin)
	Gaim::Plugin plugin

MODULE = Gaim::Plugin  PACKAGE = Gaim::Plugin::IPC  PREFIX = gaim_plugin_ipc_

void
gaim_plugin_ipc_unregister(plugin, command)
	Gaim::Plugin plugin
	const char *command

void
gaim_plugin_ipc_unregister_all(plugin)
	Gaim::Plugin plugin

MODULE = Gaim::Plugin  PACKAGE = Gaim::Plugins  PREFIX = gaim_plugins_
PROTOTYPES: ENABLE

void
gaim_plugins_add_search_path(path)
	const char *path

void
gaim_plugins_unload_all()

void
gaim_plugins_destroy_all()

void
gaim_plugins_load_saved(key)
	const char *key

void
gaim_plugins_probe(ext)
	const char *ext

gboolean
gaim_plugins_enabled()

Gaim::Plugin
gaim_plugins_find_with_name(name)
	const char *name

Gaim::Plugin
gaim_plugins_find_with_filename(filename)
	const char *filename

Gaim::Plugin
gaim_plugins_find_with_basename(basename)
	const char *basename

Gaim::Plugin
gaim_plugins_find_with_id(id)
	const char *id

void
gaim_plugins_get_loaded()
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) {
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Plugin")));
	}

void
gaim_plugins_get_protocols()
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_plugins_get_protocols(); l != NULL; l = l->next) {
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Plugin")));
	}

void
gaim_plugins_get_all()
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_plugins_get_all(); l != NULL; l = l->next) {
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Plugin")));
	}

void *
gaim_plugins_get_handle()

void
gaim_plugins_init()

void
gaim_plugins_uninit()