view plugins/test.pl @ 11249:b4b1be482b4e

[gaim-migrate @ 13418] sf patch #1235519, from Sadrul Habib Chowdhury This is a pretty big patch that makes Gaim correctly save and restore the current status (away/available, away message, available message, invisible, etc). The GaimGtkStatusBoxWidget thing I think defaults to "Available" every time its created, which overrides the setting that was saved to the XML file. So that still needs to be fixed before this will really work. Anyway, mad props to Sadrul for putting up with my requests on this patch committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 13 Aug 2005 05:22:09 +0000
parents b1ea29d1293e
children
line wrap: on
line source

#!/usr/bin/perl -w

use Gaim;

%PLUGIN_INFO = (
	perl_api_version => 2,
	name             => 'Test Perl Plugin',
	version          => '1.0',
	summary          => 'Provides as a test base for the perl plugin.',
	description      => 'Provides as a test base for the perl plugin.',
	author           => 'Christian Hammond <chipx86@gnupdate.org>',
	url              => 'http://gaim.sf.net/',

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

sub account_away_cb {
	Gaim::debug_info("perl test plugin", "In account_away_cb\n");

	my ($account, $state, $message, $data) = @_;

	Gaim::debug_info("perl test plugin", "Account " .
	                 $account->get_username() . " went away.\n");
	Gaim::debug_info("perl test plugin", $data . "\n");
}

sub plugin_init {
	return %PLUGIN_INFO;
}

sub plugin_load {
	Gaim::debug_info("perl test plugin", "plugin_load\n");
	my $plugin = shift;

	Gaim::debug_info("perl test plugin", "Listing accounts.\n");
	foreach $account (Gaim::accounts()) {
		Gaim::debug_info("perl test plugin", $account->get_username() . "\n");
	}

	Gaim::debug_info("perl test plugin", "Listing buddy list.\n");
	foreach $group (Gaim::BuddyList::groups()) {
		Gaim::debug_info("perl test plugin",
		                 $group->get_name() . ":\n");

		foreach $buddy ($group->buddies()) {
			Gaim::debug_info("perl test plugin",
			                 "  " . $buddy->get_name() . "\n");
		}
	}

	Gaim::signal_connect(Gaim::Accounts::handle, "account-away",
	                     $plugin, \&account_away_cb, "test");
}

sub plugin_unload {
	my $plugin = shift;
}