NAME
Net::Jabber - Jabber Perl Library
SYNOPSIS
Net::Jabber provides a Perl user with access to the Jabber
Instant Messaging protocol.
For more information about Jabber visit:
http://www.jabber.org
DESCRIPTION
Net::Jabber is a convenient tool to use for any perl scripts
that would like to utilize the Jabber Instant Messaging
protocol. While not a client in and of itself, it provides
all of the necessary back-end functions to make a CGI client
or command-line perl client feasible and easy to use.
Net::Jabber is a wrapper around the rest of the official
Net::Jabber::xxxxxx packages.
There is an example script, client.pl, that provides you with
an example a very simple Jabber client that logs a user in and
displays any messages they receive.
There is also an example transport script, transport.pl,
that shows how to write a transport that gets a message,
converts the entire message to uppercase, and send it back
to the sender.
PACKAGES
Net::Jabber::Client - this package contains the code needed to
communicate with a Jabber server: login, wait for messages,
send messages, and logout. It uses XML::Stream to read the
stream from the server and based on what kind of tag it
encounters it calls a function to handle the tag.
Net::Jabber::Transport - this package contains the code needed
to write a transport. A transport is a program tha handles
the communication between a jabber server and some outside
program or communications pacakge (IRC, talk, email, etc...)
With this module you can write a full transport in just
a few lines of Perl. It uses XML::Stream to communicate with
its host server and based on what kind of tag it encounters it
calls a function to handle the tag.
Net::Jabber::Protocol - a collection of high-level functions
that Client and transport use to make their lives easier.
These functions are included through AUTOLOAD and delegates.
Net::Jabber::JID - the Jabber IDs consist of three parts:
user id, server, and resource. This module gives you access
to those components without having to parse the string
yourself.
Net::Jabber::Message - everything needed to create and read
a <message/> received from the server.
Net::Jabber::Presence - everything needed to create and read
a <presence/> received from the server.
Net::Jabber::IQ - IQ is a wrapper around a number of modules
that provide support for the various Info/Query namespaces that
Jabber recognizes.
Net::Jabber::Query - this module uses delegates and autoloading
to provide access to all of the Query modules listed below.
Net::Jabber::Query::Agent - provides access to the information
about an agent that the server supports.
Net::Jabber::Query::Agents - the list of agents, see agent above,
that the server supports.
Net::Jabber::Query::Auth - everything needed to authenticate a
session to the server.
Net::Jabber::Query::Fneg - feature negoation between the client
and server.
Net::Jabber::Query::Oob - support for out of bandwidth file
transfers.
Net::Jabber::Query::Register - everything needed to create a new
Jabber account on the server.
Net::Jabber::Query::Roster - everything needed to manage and query
the server side Rosters.
Net::Jabber::Query::Roster::Item - access to an item from the
roster.
Net::Jabber::Query::Time - exchange time information with the
target recipient (either server or client).
Net::Jabber::Query::Version - exchange version information with
the target recipient (either server or client).
Net::Jabber::X::Delay - specifies the delays that the message
went through before begin delivered.
Net::Jabber::X::Oob - out of bandwidth file transers.
Net::Jabber::X::Roster - support for embedded roster items.
Net::Jabber::X::Roster::Item - access to the item in a roster.
AUTHOR
By Ryan Eatmon in May of 2000 for http://perl.jabber.org/
COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.