Mercurial > pidgin
view libpurple/plugins/perl/scripts/signals-test.pl @ 18916:0f46f13c0805
Proposed "attention" API, a generalization of zaps (MySpaceIM), buzzes
(Yahoo), and nudges (MSN).
Adds a PurpleAttentionType struct to prpl.h, which is used to describe the
the attention command (some protocols, notably MySpaceIM, support more than
one).
Uses two reserved fields in PurplePluginProtocolInfo, one function for sending
an attention command, another for getting the possible attention commands
(similar to status_types).
Adds serv_got_attention() to server.c, similar to serv_got_im(), used to notify
of incoming or outgoing attention notices.
author | Jeffrey Connelly <jaconnel@calpoly.edu> |
---|---|
date | Mon, 13 Aug 2007 05:59:24 +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. }