|
NAMENet::XMPP::Roster - XMPP Roster Object SYNOPSISNet::XMPP::Roster is a module that provides a developer an easy interface to an XMPP roster. It provides high level functions to query, update, and manage a user's roster. DESCRIPTIONThe Roster object seeks to provide an easy to use API for interfacing with a user's roster. When you instantiate it, it automatically registers with the connection to receivce the correct packets so that it can track all roster updates, and presence packets. Basic Functions my $Client = Net::XMPP::Client->new(...);
my $Roster = Net::XMPP::Roster->new(connection=>$Client);
or
my $Roster = $Client->Roster();
$Roster->clear();
if ($Roster->exists('bob@jabber.org')) { ... }
if ($Roster->exists(Net::XMPP::JID)) { ... }
if ($Roster->groupExists("Friends")) { ... }
my @groups = $Roster->groups();
my @jids = $Roster->jids();
my @friends = $Roster->jids("group","Friends");
my @unfiled = $Roster->jids("nogroup");
if ($Roster->online('bob@jabber.org')) { ... }
if ($Roster->online(Net::XMPP::JID)) { ... }
my %hash = $Roster->query('bob@jabber.org');
my %hash = $Roster->query(Net::XMPP::JID);
my $name = $Roster->query('bob@jabber.org',"name");
my $ask = $Roster->query(Net::XMPP::JID,"ask");
my $resource = $Roster->resource('bob@jabber.org');
my $resource = $Roster->resource(Net::XMPP::JID);
my %hash = $Roster->resourceQuery('bob@jabber.org',"Home");
my %hash = $Roster->resourceQuery(Net::XMPP::JID,"Club");
my $show = $Roster->resourceQuery('bob@jabber.org',"Home","show");
my $status = $Roster->resourceQuery(Net::XMPP::JID,"Work","status");
my @resource = $Roster->resources('bob@jabber.org');
my @resource = $Roster->resources(Net::XMPP::JID);
$Roster->resourceStore('bob@jabber.org',"Home","gpgkey",key);
$Roster->resourceStore(Net::XMPP::JID,"logged on","2004/04/07 ...");
$Roster->store('bob@jabber.org',"avatar",avatar);
$Roster->store(Net::XMPP::JID,"display_name","Bob");
Advanced FunctionsThese functions are only needed if you want to manually control the Roster. $Roster->add('bob@jabber.org',
name=>"Bob",
groups=>["Friends"]
);
$Roster->add(Net::XMPP::JID);
$Roster->addResource('bob@jabber.org',
"Home",
show=>"dnd",
status=>"Working"
);
$Roster->addResource(Net::XMPP::JID,"Work");
$Roster->remove('bob@jabber.org');
$Roster->remove(Net::XMPP::JID);
$Roster->removeResource('bob@jabber.org',"Home");
$Roster->removeResource(Net::XMPP::JID,"Work");
$Roster->handler(Net::XMPP::IQ);
$Roster->handler(Net::XMPP::Presence);
METHODSBasic Functions
Advanced Functionsadd(jid, - Manually adds the JID to the Roster with the
addResource(jid, - Manually add the resource to the JID in the
remove(jid) - Removes all reference to the JID from the Roster
object.
removeResource(jid, - Removes the resource from the jid in the
handler(packet) - Take either a Net::XMPP::IQ or
Net::XMPP::Presence
AUTHOROriginally authored by Ryan Eatmon. Previously maintained by Eric Hacker. Currently maintained by Darian Anthony Patrick. COPYRIGHTThis module is free software, you can redistribute it and/or modify it under the LGPL 2.1.
|