Sun, 02 Feb 2014 20:17:46 +0100
Fix including config.h file into perl files
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
1 | package Purple; |
| 6508 | 2 | |
| 3 | use 5.008; | |
| 4 | use strict; | |
| 5 | use warnings; | |
|
6588
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
6 | use Carp; |
| 6508 | 7 | |
| 8 | require Exporter; | |
|
6588
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
9 | use AutoLoader; |
| 6508 | 10 | |
| 11 | our @ISA = qw(Exporter); | |
| 12 | ||
| 13 | # Items to export into callers namespace by default. Note: do not export | |
| 14 | # names by default without a very good reason. Use EXPORT_OK instead. | |
| 15 | # Do not simply export all your public functions/methods/constants. | |
| 16 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
17 | # This allows declaration use Purple ':all'; |
| 6508 | 18 | # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK |
| 19 | # will save memory. | |
| 20 | our %EXPORT_TAGS = ( 'all' => [ qw( | |
| 21 | ||
| 22 | ) ] ); | |
| 23 | ||
| 24 | our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); | |
| 25 | ||
| 26 | our @EXPORT = qw( | |
| 27 | ||
| 28 | ); | |
| 29 | ||
|
6588
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
30 | sub AUTOLOAD { |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
31 | # This AUTOLOAD is used to 'autoload' constants from the constant() |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
32 | # XS function. |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
33 | |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
34 | my $constname; |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
35 | our $AUTOLOAD; |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
36 | ($constname = $AUTOLOAD) =~ s/.*:://; |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
37 | croak "&Purple::constant not defined" if $constname eq 'constant'; |
|
6588
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
38 | my ($error, $val) = constant($constname); |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
39 | if ($error) { croak $error; } |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
40 | { |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
41 | no strict 'refs'; |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
42 | |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
43 | *$AUTOLOAD = sub { $val }; |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
44 | } |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
45 | |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
46 | goto &$AUTOLOAD; |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
47 | } |
|
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
48 | |
| 6508 | 49 | require XSLoader; |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
50 | XSLoader::load('Purple', $VERSION); |
| 6508 | 51 | |
| 52 | # Preloaded methods go here. | |
| 53 | ||
| 54 | 1; | |
|
6619
99d7562b5177
[gaim-migrate @ 7143]
Christian Hammond <chipx86@chipx86.com>
parents:
6601
diff
changeset
|
55 | __END__ |
| 6508 | 56 | |
| 57 | =head1 NAME | |
| 58 | ||
|
16529
1d0da9270ff9
This is mostly moving Purple::GtkUI:: -> Pidgin:: which has the side effect of
Etan Reisner <deryni@pidgin.im>
parents:
15906
diff
changeset
|
59 | Purple - Perl extension to the libpurple instant messenger library. |
| 6508 | 60 | |
| 61 | =head1 SYNOPSIS | |
| 62 | ||
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
63 | use Purple; |
| 6508 | 64 | |
| 65 | =head1 ABSTRACT | |
| 66 | ||
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
67 | This module provides the interface for using perl scripts as plugins |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
68 | in libpurple. |
| 6508 | 69 | |
| 70 | =head1 DESCRIPTION | |
| 71 | ||
|
6594
7217bb99c3f5
[gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents:
6588
diff
changeset
|
72 | This module provides the interface for using perl scripts as plugins |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
73 | in Purple. With this, developers can write perl scripts that can be |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
74 | loaded in Purple as plugins. The scripts can interact with IMs, chats, |
|
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
75 | accounts, the buddy list, libpurple signals, and more. |
| 6508 | 76 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
77 | The API for the perl interface is very similar to that of the Purple C |
|
33955
55aa58076485
Use https URLs for pidgin.im and developer.pidgin.im.
Mark Doliner <mark@kingant.net>
parents:
16529
diff
changeset
|
78 | API, which can be viewed at https://developer.pidgin.im/doxygen/ or in |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
79 | the header files in the Purple source tree. |
| 6508 | 80 | |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
81 | =head1 FUNCTIONS |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
82 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
83 | =over |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
84 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
85 | =item @accounts = Purple::accounts |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
86 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
87 | Returns a list of all accounts, online or offline. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
88 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
89 | =item @chats = Purple::chats |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
90 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
91 | Returns a list of all chats currently open. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
92 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
93 | =item @connections = Purple::connections |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
94 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
95 | Returns a list of all active connections. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
96 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
97 | =item @conversations = Purple::conversations |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
98 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
99 | Returns a list of all conversations, both IM and chat, currently open. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
100 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
101 | =item @conv_windows = Purple::conv_windows |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
102 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
103 | Returns a list of all conversation windows currently open. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
104 | |
|
15894
765ec644ac47
Perl fixes for s/gaim/purple/. This hasn't really been tested yet.
Daniel Atallah <datallah@pidgin.im>
parents:
15435
diff
changeset
|
105 | =item @ims = Purple::ims |
|
6598
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
106 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
107 | Returns a list of all instant messages currently open. |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
108 | |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
109 | =back |
|
13f98c3c9362
[gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents:
6594
diff
changeset
|
110 | |
| 6508 | 111 | =head1 SEE ALSO |
| 112 | ||
|
33955
55aa58076485
Use https URLs for pidgin.im and developer.pidgin.im.
Mark Doliner <mark@kingant.net>
parents:
16529
diff
changeset
|
113 | Purple C API documentation - https://developer.pidgin.im/doxygen/ |
| 6508 | 114 | |
|
33955
55aa58076485
Use https URLs for pidgin.im and developer.pidgin.im.
Mark Doliner <mark@kingant.net>
parents:
16529
diff
changeset
|
115 | Purple website - https://pidgin.im/ |
| 6508 | 116 | |
| 117 | =head1 AUTHOR | |
| 118 | ||
|
6588
187c6026c574
[gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents:
6508
diff
changeset
|
119 | Christian Hammond, E<lt>chipx86@gnupdate.orgE<gt> |
| 6508 | 120 | |
| 121 | =head1 COPYRIGHT AND LICENSE | |
| 122 | ||
| 123 | Copyright 2003 by Christian Hammond | |
| 124 | ||
| 125 | This library is free software; you can redistribute it and/or modify | |
|
6594
7217bb99c3f5
[gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents:
6588
diff
changeset
|
126 | it under the terms of the General Public License (GPL). For |
|
7217bb99c3f5
[gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents:
6588
diff
changeset
|
127 | more information, see http://www.fsf.org/licenses/gpl.txt |
| 6508 | 128 | |
| 129 | =cut |