NAME

Net::RVP - implementation of the Rendez-Vous Protocol for instant messaging

SYNOPSIS

my $rvp = RVP->new(
 host  => '1.2.3.4:80',
 name  => 'First_Last',
 user  => 'domain\\username',
 pass  => 'password',
 site  => 'machine.domain.com');

$rvp->login();

# ...

METHODS

new ( named parameters )

Requires host (this machine, dotted-IP acceptable, for callbacks), name ('Joe_Smith'), user ('hq\jsmith'), password, and site for server (optional ':port' at end allowed).

Optional: agent - user-agent string; renew - renewal time for subscriptions; sink - event sink object (see Net::RVP::Sink).

login

Try to log in, returns false on error, renewal time otherwise.

renew

Renew login subscription. Returns new renewal time, false on error.

logout

Log out.

base

Return the base address of the server e.g. http://foo.bar:port

url

Return local node (must be logged in) as http URL.

name

Return user name (short form, e.g. jsmith or bob_jones).

server

Return name of the remote server we're hitting, with no 'http' etc. in front.

host

Return local callback: (address, port) in list context, proto://address:port in scalar context.

self

Return our own user object.

user ( name | URL )

Create and return a user object. Doesn't necessarily imply that the user exists. Name should be the short name on the server ('jsmith'), or a URL.

session

Create and return a session (conversation) object (see Net::RVP::Session).

status ( value )

Set online status ('online', 'offline', others...).

notify ( HTTP::Request object )

Pass in an HTTP request parsed from the notify server (how you obtain and parse incoming requests is beyond the scope of this module). It will make callbacks to methods in this object which may be overloaded as desired.

Returns an HTTP::Response object.

AUTHOR

David Robins <dbrobins@davidrobins.net>.

SEE ALSO

Net::RVP::User, LWP::UserAgent, HTTP::Parser for parsing HTTP requests.