plugins/perl/common/Gaim.pm

Mon, 16 Apr 2007 00:43:53 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Mon, 16 Apr 2007 00:43:53 +0000
changeset 13071
b98e72d4089a
parent 6619
99d7562b5177
permissions
-rw-r--r--

Commit a proper copy of this binary file. The old one was corrupted,
probably due to missing SVN attributes.

This was retrieved from the following URL, though we may have it in CVS:
http://dev.openwengo.com/trac/openwengo/trac.cgi/browser/vendors/gaim/trunk/doc/oscar/On_Sending_Files_via_OSCAR.odt?rev=4273

6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 package Gaim;
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
3 use 5.008;
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 use strict;
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5 use warnings;
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
6 use Carp;
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 require Exporter;
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
9 use AutoLoader;
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 our @ISA = qw(Exporter);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 # Items to export into callers namespace by default. Note: do not export
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 # names by default without a very good reason. Use EXPORT_OK instead.
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 # Do not simply export all your public functions/methods/constants.
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 # This allows declaration use Gaim ':all';
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 # will save memory.
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 our %EXPORT_TAGS = ( 'all' => [ qw(
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 ) ] );
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 our @EXPORT = qw(
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 );
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
29
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30 our $VERSION = '0.01';
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
32 sub AUTOLOAD {
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
33 # This AUTOLOAD is used to 'autoload' constants from the constant()
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
34 # XS function.
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
35
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
36 my $constname;
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
37 our $AUTOLOAD;
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
38 ($constname = $AUTOLOAD) =~ s/.*:://;
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
39 croak "&Gaim::constant not defined" if $constname eq 'constant';
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
40 my ($error, $val) = constant($constname);
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
41 if ($error) { croak $error; }
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 no strict 'refs';
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 *$AUTOLOAD = sub { $val };
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
46 }
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 goto &$AUTOLOAD;
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
49 }
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
50
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 require XSLoader;
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52 XSLoader::load('Gaim', $VERSION);
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 # Preloaded methods go here.
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56 1;
6619
99d7562b5177 [gaim-migrate @ 7143]
Christian Hammond <chipx86@chipx86.com>
parents: 6601
diff changeset
57 __END__
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
58
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 =head1 NAME
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60
6594
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
61 Gaim - Perl extension the Gaim instant messenger.
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
63 =head1 SYNOPSIS
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65 use Gaim;
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 =head1 ABSTRACT
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68
6598
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
69 This module provides the interface for using perl scripts as plugins
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
70 in Gaim.
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
72 =head1 DESCRIPTION
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73
6594
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
74 This module provides the interface for using perl scripts as plugins
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
75 in Gaim. With this, developers can write perl scripts that can be
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
76 loaded in Gaim as plugins. The scripts can interact with IMs, chats,
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
77 accounts, the buddy list, gaim signals, and more.
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78
6594
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
79 The API for the perl interface is very similar to that of the Gaim C
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
80 API, which can be viewed at http://gaim.sourceforge.net/api/ or in
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
81 the header files in the Gaim source tree.
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82
6598
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
83 =head1 FUNCTIONS
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
84
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
85 =over
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 =item @accounts = Gaim::accounts
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
88
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
89 Returns a list of all accounts, online or offline.
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 =item @chats = Gaim::chats
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
92
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
93 Returns a list of all chats currently open.
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
94
6601
e2993cf5c8a6 [gaim-migrate @ 7125]
Christian Hammond <chipx86@chipx86.com>
parents: 6598
diff changeset
95 =item @connections = Gaim::connections
6598
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
96
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
97 Returns a list of all active connections.
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 =item @conversations = Gaim::conversations
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
100
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
101 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
102
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
103 =item @conv_windows = Gaim::conv_windows
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
104
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
105 Returns a list of all conversation windows currently open.
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 =item @ims = Gaim::ims
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 Returns a list of all instant messages currently open.
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
110
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
111 =back
13f98c3c9362 [gaim-migrate @ 7122]
Christian Hammond <chipx86@chipx86.com>
parents: 6594
diff changeset
112
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
113 =head1 SEE ALSO
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
114
6594
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
115 Gaim C API documentation - http//gaim.sourceforge.net/api/
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
116
6594
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
117 Gaim website - http://gaim.sourceforge.net/
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
118
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
119 =head1 AUTHOR
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
120
6588
187c6026c574 [gaim-migrate @ 7110]
Christian Hammond <chipx86@chipx86.com>
parents: 6508
diff changeset
121 Christian Hammond, E<lt>chipx86@gnupdate.orgE<gt>
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
122
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
123 =head1 COPYRIGHT AND LICENSE
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
124
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125 Copyright 2003 by Christian Hammond
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
126
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
127 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
128 it under the terms of the General Public License (GPL). For
7217bb99c3f5 [gaim-migrate @ 7118]
Christian Hammond <chipx86@chipx86.com>
parents: 6588
diff changeset
129 more information, see http://www.fsf.org/licenses/gpl.txt
6508
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
130
57d1df1ca3a0 [gaim-migrate @ 7025]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
131 =cut

mercurial