Sat, 19 May 2007 21:38:47 +0000
merge of '1442df274a24edc9a31194327bd00dfbcf478720'
and 'ce02548a6b6a545d97fb3f371506bcf1b5cc5131'
|
17174
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1 | $MODULE_NAME = "Signals Test Script in Perl"; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
3 | use Purple; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
4 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
5 | %PLUGIN_INFO = ( |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
6 | perl_api_version => 2, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
7 | name => "Perl: $MODULE_NAME", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
8 | version => "0.1", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
9 | summary => "Signals Test plugin for the Perl interpreter.", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
10 | description => "Demonstrate the user of purple signals from " . |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
11 | "a perl plugin.", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
12 | author => "Sadrul Habib Chowdhury <sadrul\@pidgin.im>", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
13 | url => "http://developer.pidgin.im/wiki/sadrul/", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
14 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
15 | load => "plugin_load", |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
16 | unload => "plugin_unload" |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
17 | ); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
18 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
19 | # Accounts |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
20 | sub account_connecting_cb |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
21 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
22 | my $account = shift; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
23 | Purple::Debug::misc("signals test in perl", "account-connecting (" . $account->get_username() . ")\n"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
24 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
26 | # Buddylist |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | sub buddy_signed_on |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
28 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | my $buddy = shift; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | Purple::Debug::misc("signals test in perl", "buddy-signed-on (" . $buddy->get_name() . ")\n"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
33 | # Connections |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | sub signed_on |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | my $conn = shift; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | Purple::Debug::misc("signals test in perl", "signed-on (" . $conn->get_account()->get_username() . ")\n"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | # Conversations |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | sub conv_received_msg |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
43 | my ($account, $sender, $message, $conv, $flags, $data) = @_; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
44 | Purple::Debug::misc("signals test in perl", "$data (" . $account->get_username() . ", $sender, $message, $flags)\n"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
45 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
46 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
47 | sub plugin_load |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
48 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
49 | my $plugin = shift; |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | # Hook to the signals |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
52 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
53 | # Accounts |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
54 | $act_handle = Purple::Accounts::get_handle(); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
55 | Purple::Signal::connect($act_handle, "account-connecting", $plugin, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
56 | \&account_connecting_cb, 0); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | # Buddy List |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | $blist = Purple::BuddyList::get_handle(); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
60 | Purple::Signal::connect($blist, "buddy-signed-on", $plugin, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
61 | \&buddy_signed_on, 0); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
62 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
63 | # Connections |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
64 | $conn = Purple::Connections::get_handle(); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
65 | Purple::Signal::connect($conn, "signed-on", $plugin, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
66 | \&signed_on, 0); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
67 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
68 | # Conversations |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
69 | $conv = Purple::Conversations::get_handle(); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
70 | Purple::Signal::connect($conv, "received-im-msg", $plugin, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
71 | \&conv_received_msg, "received im message"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
72 | Purple::Signal::connect($conv, "received-chat-msg", $plugin, |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
73 | \&conv_received_msg, "received chat message"); |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
74 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
75 | |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
76 | sub plugin_unload |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
77 | { |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
78 | # Nothing to do here for this plugin. |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
79 | } |
|
ec1fef8fc034
A signals-test plugin for perl. This should help plugin developers get
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
80 |