view plugins/perl/common/Gaim.pm @ 8560:832fd9b754d0

[gaim-migrate @ 9304] " Here's a patch for the problem larsl_school reported on #gaim on the 13th, mostly taken from the irc plugin. Whenever an incoming im (or chat message) doesn't parse as utf-8, it will be automatically interpreted as a byte stream in a fallback character set, (defaulting to iso-8859-1), and converted to utf-8. It adds an option to the zephyr plugin, "Encoding", which is a translateable string. It still sends outgoing messages as utf-8 though. (06:57:06) larsl_school: Hello, I'm using Gaim 0.71 in school and when I get a Zephyr message containing swedish characters from the zwrite client, Gaim just displays the whole message as an empty string? (07:04:00) larsl_school: In the logs it looks like GAIM is using UTF-8, but the messages from zwrite are coded as extended ASCII. Can I make GAIM understand extended ASCII (or at least display the parts of the message that is normal ASCII)?" --Arun A Tharuvai apparently there are TWO gaim zepher users! committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 02 Apr 2004 06:06:45 +0000
parents 61d516a3d4a8
children
line wrap: on
line source

package Gaim;

use 5.008;
use strict;
use warnings;
use Carp;

require Exporter;
use AutoLoader;

our @ISA = qw(Exporter);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use Gaim ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
	
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
	
);

our $VERSION = '0.01';

sub AUTOLOAD {
	# This AUTOLOAD is used to 'autoload' constants from the constant()
	# XS function.

	my $constname;
	our $AUTOLOAD;
	($constname = $AUTOLOAD) =~ s/.*:://;
	croak "&Gaim::constant not defined" if $constname eq 'constant';
	my ($error, $val) = constant($constname);
	if ($error) { croak $error; }
	{
		no strict 'refs';

		*$AUTOLOAD = sub { $val };
	}

	goto &$AUTOLOAD;
}

require XSLoader;
XSLoader::load('Gaim', $VERSION);

# Preloaded methods go here.

1;
__END__

=head1 NAME

Gaim - Perl extension the Gaim instant messenger.

=head1 SYNOPSIS

  use Gaim;

=head1 ABSTRACT

  This module provides the interface for using perl scripts as plugins
  in Gaim.

=head1 DESCRIPTION

This module provides the interface for using perl scripts as plugins
in Gaim. With this, developers can write perl scripts that can be
loaded in Gaim as plugins. The scripts can interact with IMs, chats,
accounts, the buddy list, gaim signals, and more.

The API for the perl interface is very similar to that of the Gaim C
API, which can be viewed at http://gaim.sourceforge.net/api/ or in
the header files in the Gaim source tree.

=head1 FUNCTIONS

=over

=item @accounts = Gaim::accounts

Returns a list of all accounts, online or offline.

=item @chats = Gaim::chats

Returns a list of all chats currently open.

=item @connections = Gaim::connections

Returns a list of all active connections.

=item @conversations = Gaim::conversations

Returns a list of all conversations, both IM and chat, currently open.

=item @conv_windows = Gaim::conv_windows

Returns a list of all conversation windows currently open.

=item @ims = Gaim::ims

Returns a list of all instant messages currently open.

=back

=head1 SEE ALSO

Gaim C API documentation - http//gaim.sourceforge.net/api/

Gaim website - http://gaim.sourceforge.net/

=head1 AUTHOR

Christian Hammond, E<lt>chipx86@gnupdate.orgE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright 2003 by Christian Hammond

This library is free software; you can redistribute it and/or modify
it under the terms of the General Public License (GPL).  For
more information, see http://www.fsf.org/licenses/gpl.txt

=cut