libgaim/plugins/perl/common/Gaim.pm

branch
gaim
changeset 20470
77693555855f
parent 6619
99d7562b5177
parent 14254
77edc7a6191a
child 20471
1966704b3e42
equal deleted inserted replaced
13071:b98e72d4089a 20470:77693555855f
1 package Gaim;
2
3 use 5.008;
4 use strict;
5 use warnings;
6 use Carp;
7
8 require Exporter;
9 use AutoLoader;
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
17 # This allows declaration use Gaim ':all';
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
30 our $VERSION = '0.01';
31
32 sub AUTOLOAD {
33 # This AUTOLOAD is used to 'autoload' constants from the constant()
34 # XS function.
35
36 my $constname;
37 our $AUTOLOAD;
38 ($constname = $AUTOLOAD) =~ s/.*:://;
39 croak "&Gaim::constant not defined" if $constname eq 'constant';
40 my ($error, $val) = constant($constname);
41 if ($error) { croak $error; }
42 {
43 no strict 'refs';
44
45 *$AUTOLOAD = sub { $val };
46 }
47
48 goto &$AUTOLOAD;
49 }
50
51 require XSLoader;
52 XSLoader::load('Gaim', $VERSION);
53
54 # Preloaded methods go here.
55
56 1;
57 __END__
58
59 =head1 NAME
60
61 Gaim - Perl extension the Gaim instant messenger.
62
63 =head1 SYNOPSIS
64
65 use Gaim;
66
67 =head1 ABSTRACT
68
69 This module provides the interface for using perl scripts as plugins
70 in Gaim.
71
72 =head1 DESCRIPTION
73
74 This module provides the interface for using perl scripts as plugins
75 in Gaim. With this, developers can write perl scripts that can be
76 loaded in Gaim as plugins. The scripts can interact with IMs, chats,
77 accounts, the buddy list, gaim signals, and more.
78
79 The API for the perl interface is very similar to that of the Gaim C
80 API, which can be viewed at http://gaim.sourceforge.net/api/ or in
81 the header files in the Gaim source tree.
82
83 =head1 FUNCTIONS
84
85 =over
86
87 =item @accounts = Gaim::accounts
88
89 Returns a list of all accounts, online or offline.
90
91 =item @chats = Gaim::chats
92
93 Returns a list of all chats currently open.
94
95 =item @connections = Gaim::connections
96
97 Returns a list of all active connections.
98
99 =item @conversations = Gaim::conversations
100
101 Returns a list of all conversations, both IM and chat, currently open.
102
103 =item @conv_windows = Gaim::conv_windows
104
105 Returns a list of all conversation windows currently open.
106
107 =item @ims = Gaim::ims
108
109 Returns a list of all instant messages currently open.
110
111 =back
112
113 =head1 SEE ALSO
114
115 Gaim C API documentation - http//gaim.sourceforge.net/api/
116
117 Gaim website - http://gaim.sourceforge.net/
118
119 =head1 AUTHOR
120
121 Christian Hammond, E<lt>chipx86@gnupdate.orgE<gt>
122
123 =head1 COPYRIGHT AND LICENSE
124
125 Copyright 2003 by Christian Hammond
126
127 This library is free software; you can redistribute it and/or modify
128 it under the terms of the General Public License (GPL). For
129 more information, see http://www.fsf.org/licenses/gpl.txt
130
131 =cut

mercurial