libpurple/plugins/perl/common/Signal.xs

Sun, 12 Aug 2007 01:52:10 +0000

author
Daniel Atallah <datallah@pidgin.im>
date
Sun, 12 Aug 2007 01:52:10 +0000
changeset 19336
065a79d2d0e5
parent 15894
765ec644ac47
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

Make perl loader more robust - use G_EVAL flag on all calls so that if the perl function dies, it doesn't cause libpurple to quit.

#include "module.h"
#include "../perl-handlers.h"

MODULE = Purple::Signal  PACKAGE = Purple::Signal  PREFIX = purple_signal_
PROTOTYPES: ENABLE

void
purple_signal_connect_priority(instance, signal, plugin, callback, priority, data = 0)
	Purple::Handle instance
	const char *signal
	Purple::Plugin plugin
	SV *callback
	int priority
	SV *data
CODE:
	purple_perl_signal_connect(plugin, instance, signal, callback, data, priority);

void
purple_signal_connect(instance, signal, plugin, callback, data = 0)
	Purple::Handle instance
	const char *signal
	Purple::Plugin plugin
	SV *callback
	SV *data
CODE:
	purple_perl_signal_connect(plugin, instance, signal, callback, data, PURPLE_SIGNAL_PRIORITY_DEFAULT);

void
purple_signal_disconnect(instance, signal, plugin)
	Purple::Handle instance
	const char *signal
	Purple::Plugin plugin
CODE:
	purple_perl_signal_disconnect(plugin, instance, signal);

mercurial