anyevent::xmpp::ext::disco::info(3pm) [debian man page]
AnyEvent::XMPP::Ext::Disco::Info(3pm) User Contributed Perl Documentation AnyEvent::XMPP::Ext::Disco::Info(3pm)NAME
AnyEvent::XMPP::Ext::Disco::Info - Service discovery info
SYNOPSIS DESCRIPTION
This class represents the result of a disco info request sent by a "AnyEvent::XMPP::Ext::Disco" handler.
METHODS
xml_node ()
Returns the AnyEvent::XMPP::Node object of the IQ query.
jid ()
Returns the JID these items belong to.
node ()
Returns the node these items belong to (may be undef).
identities ()
Returns a list of hashrefs which contain following keys:
category, type, name, xml_node
"category" is the category of the identity. "type" is the type of the identity. "name" is the human readable name of the identity and
might be undef. "xml_node" is the AnyEvent::XMPP::Node object of the <identity/> node.
"category" and "type" may be one of those defined on:
http://www.xmpp.org/registrar/disco-categories.html
features ()
Returns a hashref of key/value pairs where the key is the feature name as listed on:
http://www.xmpp.org/registrar/disco-features.html
and the value is a AnyEvent::XMPP::Node object for the <feature/> node.
debug_dump ()
Prints the information of this Info object to stdout.
AUTHOR
Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>"
COPYRIGHT & LICENSE
Copyright 2007, 2008 Robin Redeker, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-01-23 AnyEvent::XMPP::Ext::Disco::Info(3pm)
Check Out this Related Man Page
AnyEvent::XMPP::Ext::Disco(3pm) User Contributed Perl Documentation AnyEvent::XMPP::Ext::Disco(3pm)NAME
AnyEvent::XMPP::Ext::Disco - Service discovery manager class for XEP-0030
SYNOPSIS
use AnyEvent::XMPP::Ext::Disco;
my $con = AnyEvent::XMPP::IM::Connection->new (...);
$con->add_extension (my $disco = AnyEvent::XMPP::Ext::Disco->new);
$disco->request_items ($con, 'romeo@montague.net', undef,
sub {
my ($disco, $items, $error) = @_;
if ($error) { print "ERROR:" . $error->string . "
" }
else {
... do something with the $items ...
}
}
);
DESCRIPTION
This module represents a service discovery manager class. You make instances of this class and get a handle to send discovery requests
like described in XEP-0030.
It also allows you to setup a disco-info/items tree that others can walk and also lets you publish disco information.
This class is derived from AnyEvent::XMPP::Ext and can be added as extension to objects that implement the AnyEvent::XMPP::Extendable
interface or derive from it.
METHODS
new (%args)
Creates a new disco handle.
set_identity ($category, $type, $name)
This sets the identity of the top info node.
$name is optional and can be undef. Please note that $name will overwrite all previous set names! If $name is undefined then no
previous set name is overwritten.
For a list of valid identites look at:
http://www.xmpp.org/registrar/disco-categories.html
Valid identity $types for "$category = "client"" may be:
bot
console
handheld
pc
phone
web
unset_identity ($category, $type)
This function removes the identity $category and $type.
enable_feature ($uri)
This method enables the feature $uri, where $uri should be one of the values from the Name column on:
http://www.xmpp.org/registrar/disco-features.html
These features are enabled by default:
http://jabber.org/protocol/disco#info
http://jabber.org/protocol/disco#items
You can pass also a list of features you want to enable to "enable_feature"!
disable_feature ($uri)
This method enables the feature $uri, where $uri should be one of the values from the Name column on:
http://www.xmpp.org/registrar/disco-features.html
You can pass also a list of features you want to disable to "disable_feature"!
request_items ($con, $dest, $node, $cb)
This method does send a items request to the JID entity $from. $node is the optional node to send the request to, which can be undef.
$con must be an instance of AnyEvent::XMPP::Connection or a subclass of it. The callback $cb will be called when the request returns
with 3 arguments: the disco handle, an AnyEvent::XMPP::Ext::Disco::Items object (or undef) and an AnyEvent::XMPP::Error::IQ object when
an error occured and no items were received.
The timeout of the request is the IQ timeout of the connection $con.
$disco->request_items ($con, 'a@b.com', undef, sub {
my ($disco, $items, $error) = @_;
die $error->string if $error;
# do something with the items here ;_)
});
request_info ($con, $dest, $node, $cb)
This method does send a info request to the JID entity $from. $node is the optional node to send the request to, which can be undef.
$con must be an instance of AnyEvent::XMPP::Connection or a subclass of it. The callback $cb will be called when the request returns
with 3 arguments: the disco handle, an AnyEvent::XMPP::Ext::Disco::Info object (or undef) and an AnyEvent::XMPP::Error::IQ object when
an error occured and no items were received.
The timeout of the request is the IQ timeout of the connection $con.
$disco->request_info ($con, 'a@b.com', undef, sub {
my ($disco, $info, $error) = @_;
die $error->string if $error;
# do something with info here ;_)
});
AUTHOR
Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>"
COPYRIGHT & LICENSE
Copyright 2007, 2008 Robin Redeker, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-01-23 AnyEvent::XMPP::Ext::Disco(3pm)