view libpurple/plugins/perl/scripts/signals-test.pl @ 26955:727d960a75a4

Make the makensis option prefix configurable, so cross-compiling from Linux can override the prefix in local.mak, avoiding the need to patch NSIS to accept win32-style option prefixes. Add this to local.mak if cross-compiling: MAKENSISOPT := -
author Stu Tomlinson <stu@nosnilmot.com>
date Wed, 13 May 2009 18:13:03 +0000
parents 0fb8f1b1f0e9
children ae1c7756f1bd
line wrap: on
line source

$MODULE_NAME = "Signals Test Script in Perl";

use Purple;

%PLUGIN_INFO = (
	perl_api_version => 2,
	name => "Perl: $MODULE_NAME",
	version => "0.1",
	summary => "Signals Test plugin for the Perl interpreter.",
	description => "Demonstrate the use of purple signals from " .
		       "a perl plugin.",
	author => "Sadrul Habib Chowdhury <sadrul\@pidgin.im>",
	url => "http://developer.pidgin.im/wiki/sadrul/",

	load => "plugin_load",
	unload => "plugin_unload"
);

# Accounts
sub account_connecting_cb
{
	my $account = shift;
	Purple::Debug::misc("signals test in perl", "account-connecting (" . $account->get_username() . ")\n");
}

# Buddylist
sub buddy_signed_on
{
	my $buddy = shift;
	Purple::Debug::misc("signals test in perl", "buddy-signed-on (" . $buddy->get_name() . ")\n");
}

# Connections
sub signed_on
{
	my $conn = shift;
	Purple::Debug::misc("signals test in perl", "signed-on (" . $conn->get_account()->get_username() . ")\n");
}

# Conversations
sub conv_received_msg
{
	my ($account, $sender, $message, $conv, $flags, $data) = @_;
	Purple::Debug::misc("signals test in perl", "$data (" . $account->get_username() . ", $sender, $message, $flags)\n");
}

sub plugin_load
{
	my $plugin = shift;

	# Hook to the signals

	# Accounts
	$act_handle = Purple::Accounts::get_handle();
	Purple::Signal::connect($act_handle, "account-connecting", $plugin,
					\&account_connecting_cb, 0);

	# Buddy List
	$blist = Purple::BuddyList::get_handle();
	Purple::Signal::connect($blist, "buddy-signed-on", $plugin,
					\&buddy_signed_on, 0);

	# Connections
	$conn = Purple::Connections::get_handle();
	Purple::Signal::connect($conn, "signed-on", $plugin,
					\&signed_on, 0);

	# Conversations
	$conv = Purple::Conversations::get_handle();
	Purple::Signal::connect($conv, "received-im-msg", $plugin,
					\&conv_received_msg, "received im message");
	Purple::Signal::connect($conv, "received-chat-msg", $plugin,
					\&conv_received_msg, "received chat message");
}

sub plugin_unload
{
	# Nothing to do here for this plugin.
}