Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AnyEvent::XMPP::Ext::DUser(Contributed Perl DocumAnyEvent::XMPP::Ext::Disco(3)

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 .	"\n" }
		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.32.0			  2012-12-25	 AnyEvent::XMPP::Ext::Disco(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | AUTHOR | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=AnyEvent::XMPP::Ext::Disco&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help