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.