Manpage logo

Net::Jabber::XDB - Jabber XDB Library

NAME  SYNOPSIS  DESCRIPTION  METHODS  Retrieval functions  Creation functions  Test functions  AUTHOR  COPYRIGHT 

NAME

Net::Jabber::XDB − Jabber XDB Library

SYNOPSIS

Net::Jabber::XDB is a companion to the Net::Jabber module. It
provides the user a simple interface to set and retrieve all
parts of a Jabber XDB.

DESCRIPTION

Net::Jabber::XDB differs from the other Net::Jabber::* modules in that
the XMLNS of the data is split out into more submodules under
XDB. For specifics on each module please view the documentation
for each Net::Jabber::Data::* module. To see the list of avilable
namspaces and modules see Net::Jabber::Data.
To initialize the XDB with a Jabber <xdb/> you must pass it the
XML::Parser Tree array. For example:
my $xdb = new Net::Jabber::XDB(@tree);
There has been a change from the old way of handling the callbacks.
You no longer have to do the above, a Net::Jabber::XDB object is passed
to the callback function for the xdb:
use Net::Jabber qw(Component);
sub xdb {
my ($XDB) = @_;
.
.
.
}
You now have access to all of the retrieval functions available.
To create a new xdb to send to the server:
use Net::Jabber;
$XDB = new Net::Jabber::XDB();
$XDBType = $XDB−>NewData( type );
$XDBType−>SetXXXXX("yyyyy");
Now you can call the creation functions for the XDB, and for the <data/>
on the new Data object itself. See below for the <xdb/> functions, and
in each data module for those functions.
For more information about the array format being passed to the CallBack
please read the Net::Jabber::Client documentation.

METHODS

Retrieval functions

GetTo() − returns either a string with the Jabber Identifier,
GetTo("jid") or a Net::Jabber::JID object for the person who is
going to receive the <xdb/>. To get the JID
object set the string to "jid", otherwise leave
blank for the text string.
$to = $XDB−>GetTo();
$toJID = $XDB−>GetTo("jid");
GetFrom() − returns either a string with the Jabber Identifier,
GetFrom("jid") or a Net::Jabber::JID object for the person who
sent the <xdb/>. To get the JID object set
the string to "jid", otherwise leave blank for the
text string.
$from = $XDB−>GetFrom();
$fromJID = $XDB−>GetFrom("jid");
GetType() − returns a string with the type <xdb/> this is.
$type = $XDB−>GetType();
GetID() − returns an integer with the id of the <xdb/>.
$id = $XDB−>GetID();
GetAction() − returns a string with the action <xdb/> this is.
$action = $XDB−>GetAction();
GetMatch() − returns a string with the match <xdb/> this is.
$match = $XDB−>GetMatch();
GetError() − returns a string with the text description of the error.
$error = $XDB−>GetError();
GetErrorCode() − returns a string with the code of error.
$errorCode = $XDB−>GetErrorCode();
GetData() − returns a Net::Jabber::Data object that contains the data
in the <data/> of the <xdb/>.
$dataTag = $XDB−>GetData();
GetDataXMLNS() − returns a string with the namespace of the data
for this <xdb/>, if one exists.
$xmlns = $XDB−>GetDataXMLNS();

Creation functions

SetXDB(to=>string|JID, − set multiple fields in the <xdb/> at one
from=>string|JID, time. This is a cumulative and over
id=>string, writing action. If you set the "to"
type=>string, attribute twice, the second setting is
action=>string, what is used. If you set the status, and
match=>string) then set the priority then both will be in
errorcode=>string, the <xdb/> tag. For valid settings read the
error=>string) specific Set functions below.
$XDB−>SetXDB(type=>"get",
to=>"bob\@jabber.org",
data=>"info");
$XDB−>SetXDB(to=>"bob\@jabber.org",
errorcode=>403,
error=>"Permission Denied");
SetTo(string) − sets the to attribute. You can either pass a string
SetTo(JID) or a JID object. They must be a valid Jabber
Identifiers or the server will return an error message.
(ie. jabber:[email protected], etc...)
$XDB−>SetTo("bob\@jabber.org");
SetFrom(string) − sets the from attribute. You can either pass a string
SetFrom(JID) or a JID object. They must be a valid Jabber
Identifiers or the server will return an error message.
(ie. jabber:[email protected], etc...)
$XDB−>SetFrom("me\@jabber.org");
SetType(string) − sets the type attribute. Valid settings are:
get request information
set set information
result results of a get
error there was an error
$XDB−>SetType("set");
SetAction(string) − sets the error code of the <xdb/>.
$XDB−>SetAction("foo");
SetMatch(string) − sets the error code of the <xdb/>.
$XDB−>SetMatch("foo");
SetErrorCode(string) − sets the error code of the <xdb/>.
$XDB−>SetErrorCode(403);
SetError(string) − sets the error string of the <xdb/>.
$XDB−>SetError("Permission Denied");
NewData(string) − creates a new Net::Jabber::Data object with the
namespace in the string. In order for this function
to work with a custom namespace, you must define and
register that namespace with the XDB module. For more
information please read the documentation for
Net::Jabber::Data.
$dataObj = $XDB−>NewData("jabber:xdb:auth");
$dataObj = $XDB−>NewData("jabber:xdb:roster");
Reply(hash) − creates a new XDB object and populates the to/from
fields. If you specify a hash the same as with SetXDB
then those values will override the Reply values.
$xdbReply = $XDB−>Reply();
$xdbReply = $XDB−>Reply(type=>"result");

Test functions

DefinedTo() − returns 1 if the to attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedTo();
DefinedFrom() − returns 1 if the from attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedFrom();
DefinedID() − returns 1 if the id attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedID();
DefinedType() − returns 1 if the type attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedType();
DefinedAction() − returns 1 if the action attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedAction();
DefinedMatch() − returns 1 if the match attribute is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedMatch();
DefinedError() − returns 1 if <error/> is defined in the <xdb/>,
0 otherwise.
$test = $XDB−>DefinedError();
DefinedErrorCode() − returns 1 if the code attribute is defined in
<error/>, 0 otherwise.
$test = $XDB−>DefinedErrorCode();

AUTHOR

By Ryan Eatmon in May of 2001 for http://jabber.org..

COPYRIGHT

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Updated 2026-06-01 - jenkler.se | uex.se