GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Net::XMPP2::Ext::Registration(3) User Contributed Perl Documentation Net::XMPP2::Ext::Registration(3)

Net::XMPP2::Ext::Registration - Handles all tasks of in band registration

   my $con = Net::XMPP2::Connection->new (...);

   $con->reg_cb (stream_pre_authentication => sub {
      my ($con) = @_;
      my $reg = Net::XMPP2::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
   });

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.

new (%args)
This is the constructor for a registration object.
connection
This must be a Net::XMPP2::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 Net::XMPP2::Ext::RegisterForm object. If an error occured the second argument will be undef and the third argument will be a Net::XMPP2::Error::Register object.

For hints how Net::XMPP2::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 Net::XMPP2::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 Net::XMPP2::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 Net::XMPP2::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 Net::XMPP2::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 Net::XMPP2::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.

Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>"

Copyright 2007 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.

2007-10-16 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.