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

FreeBSD Manual Pages

  
 
  

home | help
AnyEvent::XMPP::Ext::RUsertContributed PerAnyEvent::XMPP::Ext::Registration(3)

NAME
       AnyEvent::XMPP::Ext::Registration - Handles all tasks of	in band
       registration

SYNOPSIS
	  my $con = AnyEvent::XMPP::Connection->new (...);

	  $con->reg_cb (stream_pre_authentication => sub {
	     my	($con) = @_;
	     my	$reg = AnyEvent::XMPP::Ext::Registration->new (connection => $con);

	     $reg->send_registration_request (sub {
		my ($reg, $form, $error) = @_;

		if ($error) {
		   # error handling

		} else {
		   my $af = $form->try_fillout_registration ("tester", "secret");

		   $reg->submit_form ($af, sub {
		      my ($reg,	$ok, $error, $form) = @_;

		      if ($ok) { # registered successfully!
			 $con->authenticate

		      }	else {	 # error
			 if ($form) { #	we got an alternative form!
			    # fill it out and submit it	with C<submit_form> again
			 }
		      }
		   });
		}
	     });

	     0
	  });

DESCRIPTION
       This module handles all tasks of	in band	registration that are possible
       and specified by	XEP-0077. It's mainly a	helper class that eases	some
       tasks such as submitting	and retrieving a form.

METHODS
       new (%args)
	   This	is the constructor for a registration object.

	   connection
	       This must be a AnyEvent::XMPP::Connection (or some other
	       subclass	of that) object.

	       This argument is	required.

       send_registration_request ($cb)
	   This	method sends a register	form request.  $cb will	be called when
	   either the form arrived or an error occured.

	   The first argument of $cb is	always $self.  If the form arrived the
	   second argument of $cb will be a AnyEvent::XMPP::Ext::RegisterForm
	   object.  If an error	occured	the second argument will be undef and
	   the third argument will be a	AnyEvent::XMPP::Error::Register
	   object.

	   For hints how AnyEvent::XMPP::Ext::RegisterForm should be filled
	   out look in XEP-0077. Either	you have legacy	form fields, out of
	   band	data or	a data form.

	   See also try_fillout_registration in
	   AnyEvent::XMPP::Ext::RegisterForm.

       send_unregistration_request ($cb)
	   This	method sends an	unregistration request.

	   For description of the semantics of the callback in $cb plase look
	   in the description of the "submit_form" method below.

       send_password_change_request ($username,	$password, $cb)
	   This	method sends a password	change request for the user $username
	   with	the new	password $password.

	   For description of the semantics of the callback in $cb plase look
	   in the description of the "submit_form" method below.

       submit_form ($form, $cb)
	   This	method submits the $form which should be of type
	   AnyEvent::XMPP::Ext::RegisterForm and should	be an answer form.

	   $con	is the connection on which to send this	form.

	   $cb is the callback that will be called once	the form has been
	   submitted and either	an error or success was	received.  The first
	   argument to the callback will be the
	   AnyEvent::XMPP::Ext::Registration object, the second	will be	a
	   boolean value that is true when the form was	successfully
	   transmitted and everything is fine.	If the second argument is
	   false then the third	argument is a AnyEvent::XMPP::Error::Register
	   object.  If the error contained a data form which is	required to
	   successfully	make the request then the fourth argument will be a
	   AnyEvent::XMPP::Ext::RegisterForm which you should fill out and
	   send	again with "submit_form".

	   For the semantics of	such an	error form see also XEP-0077.

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.24.1			  2012-12-AnyEvent::XMPP::Ext::Registration(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::Registration&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help