logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

AnyEvent::XMPP::Ext::Version - Software version

Author

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

Description

       This module defines an extension to provide the abilities to answer to software version requests and to
       request software version from other entities.

       See also XEP-0092

       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 software version handle.

       set_name($name)
           This method sets the software $name string, the default is "AnyEvent::XMPP".

       set_version($version)
           This method sets the software $version string that is replied.

           The default is $AnyEvent::XMPP::VERSION.

       set_os($os)
           This method sets the operating system string $os. If you pass undef the string will be removed.

           The default is no operating system string at all.

           You may want to pass something like this:

              $version->set_os (`uname -s -r -m -o`);

       request_version($con,$dest,$cb)
           This method sends a version request to $dest on the connection $con.

           $cb  is  the  callback that will be called if either an error occured or the result was received. The
           callback will also be called after the default IQ  timeout  for  the  connection  $con.   The  second
           argument  for  the  callback  will be either undef if no error occured or a AnyEvent::XMPP::Error::IQ
           error.  The first argument will be a hash reference with the following fields:

           jid The JID of the entity this version reply belongs to.

           version
               The software version string of the entity.

           name
               The software name of the entity.

           os  The operating system of the entity, which might be undefined if none was provided.

           Here an example of the structure of the hash reference:

             {
                jid     => 'juliet@capulet.com/balcony',
                name    => 'Exodus',
                version => '0.7.0.4',
                os      => 'Windows-XP 5.01.2600',
             }

Name

       AnyEvent::XMPP::Ext::Version - Software version

Synopsis

          use AnyEvent::XMPP::Ext::Version;

          my $version = AnyEvent::XMPP::Ext::Version->new;
          $version->set_name    ("My client");
          $version->set_version ("0.3");
          $version->set_os      (`uname -a`);

          $disco->enable_feature ($version->disco_feature);

See Also