1Net::Jabber::XDB(3)   User Contributed Perl Documentation  Net::Jabber::XDB(3)
2
3
4

NAME

6       Net::Jabber::XDB - Jabber XDB Library
7

SYNOPSIS

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

DESCRIPTION

14         Net::Jabber::XDB differs from the other Net::Jabber::* modules in that
15         the XMLNS of the data is split out into more submodules under
16         XDB.  For specifics on each module please view the documentation
17         for each Net::Jabber::Data::* module.  To see the list of avilable
18         namspaces and modules see Net::Jabber::Data.
19
20         To initialize the XDB with a Jabber <xdb/> you must pass it the
21         XML::Parser Tree array.  For example:
22
23           my $xdb = new Net::Jabber::XDB(@tree);
24
25         There has been a change from the old way of handling the callbacks.
26         You no longer have to do the above, a Net::Jabber::XDB object is passed
27         to the callback function for the xdb:
28
29           use Net::Jabber qw(Component);
30
31           sub xdb {
32             my ($XDB) = @_;
33             .
34             .
35             .
36           }
37
38         You now have access to all of the retrieval functions available.
39
40         To create a new xdb to send to the server:
41
42           use Net::Jabber;
43
44           $XDB = new Net::Jabber::XDB();
45           $XDBType = $XDB->NewData( type );
46           $XDBType->SetXXXXX("yyyyy");
47
48         Now you can call the creation functions for the XDB, and for the <data/>
49         on the new Data object itself.  See below for the <xdb/> functions, and
50         in each data module for those functions.
51
52         For more information about the array format being passed to the CallBack
53         please read the Net::Jabber::Client documentation.
54

METHODS

56   Retrieval functions
57         GetTo()      - returns either a string with the Jabber Identifier,
58         GetTo("jid")   or a Net::Jabber::JID object for the person who is
59                        going to receive the <xdb/>.  To get the JID
60                        object set the string to "jid", otherwise leave
61                        blank for the text string.
62
63                        $to    = $XDB->GetTo();
64                        $toJID = $XDB->GetTo("jid");
65
66         GetFrom()      -  returns either a string with the Jabber Identifier,
67         GetFrom("jid")    or a Net::Jabber::JID object for the person who
68                           sent the <xdb/>.  To get the JID object set
69                           the string to "jid", otherwise leave blank for the
70                           text string.
71
72                           $from    = $XDB->GetFrom();
73                           $fromJID = $XDB->GetFrom("jid");
74
75         GetType() - returns a string with the type <xdb/> this is.
76
77                     $type = $XDB->GetType();
78
79         GetID() - returns an integer with the id of the <xdb/>.
80
81                   $id = $XDB->GetID();
82
83         GetAction() - returns a string with the action <xdb/> this is.
84
85                     $action = $XDB->GetAction();
86
87         GetMatch() - returns a string with the match <xdb/> this is.
88
89                     $match = $XDB->GetMatch();
90
91         GetError() - returns a string with the text description of the error.
92
93                      $error = $XDB->GetError();
94
95         GetErrorCode() - returns a string with the code of error.
96
97                          $errorCode = $XDB->GetErrorCode();
98
99         GetData() - returns a Net::Jabber::Data object that contains the data
100                     in the <data/> of the <xdb/>.
101
102                     $dataTag = $XDB->GetData();
103
104         GetDataXMLNS() - returns a string with the namespace of the data
105                          for this <xdb/>, if one exists.
106
107                          $xmlns = $XDB->GetDataXMLNS();
108
109   Creation functions
110         SetXDB(to=>string|JID,    - set multiple fields in the <xdb/> at one
111               from=>string|JID,     time.  This is a cumulative and over
112               id=>string,           writing action.  If you set the "to"
113               type=>string,         attribute twice, the second setting is
114               action=>string,       what is used.  If you set the status, and
115               match=>string)        then set the priority then both will be in
116               errorcode=>string,    the <xdb/> tag.  For valid settings read the
117               error=>string)        specific Set functions below.
118
119                                     $XDB->SetXDB(type=>"get",
120                                                  to=>"bob\@jabber.org",
121                                                  data=>"info");
122
123                                     $XDB->SetXDB(to=>"bob\@jabber.org",
124                                                  errorcode=>403,
125                                                  error=>"Permission Denied");
126
127         SetTo(string) - sets the to attribute.  You can either pass a string
128         SetTo(JID)      or a JID object.  They must be a valid Jabber
129                         Identifiers or the server will return an error message.
130                         (ie.  jabber:bob@jabber.org, etc...)
131
132                        $XDB->SetTo("bob\@jabber.org");
133
134         SetFrom(string) - sets the from attribute.  You can either pass a string
135         SetFrom(JID)      or a JID object.  They must be a valid Jabber
136                           Identifiers or the server will return an error message.
137                           (ie.  jabber:bob@jabber.org, etc...)
138
139                           $XDB->SetFrom("me\@jabber.org");
140
141         SetType(string) - sets the type attribute.  Valid settings are:
142
143                           get      request information
144                           set      set information
145                           result   results of a get
146                           error    there was an error
147
148                           $XDB->SetType("set");
149
150         SetAction(string) - sets the error code of the <xdb/>.
151
152                             $XDB->SetAction("foo");
153
154         SetMatch(string) - sets the error code of the <xdb/>.
155
156                            $XDB->SetMatch("foo");
157
158         SetErrorCode(string) - sets the error code of the <xdb/>.
159
160                                $XDB->SetErrorCode(403);
161
162         SetError(string) - sets the error string of the <xdb/>.
163
164                            $XDB->SetError("Permission Denied");
165
166         NewData(string) - creates a new Net::Jabber::Data object with the
167                            namespace in the string.  In order for this function
168                            to work with a custom namespace, you must define and
169                            register that namespace with the XDB module.  For more
170                            information please read the documentation for
171                            Net::Jabber::Data.
172
173                            $dataObj = $XDB->NewData("jabber:xdb:auth");
174                            $dataObj = $XDB->NewData("jabber:xdb:roster");
175
176         Reply(hash) - creates a new XDB object and populates the to/from
177                       fields.  If you specify a hash the same as with SetXDB
178                       then those values will override the Reply values.
179
180                       $xdbReply = $XDB->Reply();
181                       $xdbReply = $XDB->Reply(type=>"result");
182
183   Test functions
184         DefinedTo() - returns 1 if the to attribute is defined in the <xdb/>,
185                       0 otherwise.
186
187                       $test = $XDB->DefinedTo();
188
189         DefinedFrom() - returns 1 if the from attribute is defined in the <xdb/>,
190                         0 otherwise.
191
192                         $test = $XDB->DefinedFrom();
193
194         DefinedID() - returns 1 if the id attribute is defined in the <xdb/>,
195                       0 otherwise.
196
197                       $test = $XDB->DefinedID();
198
199         DefinedType() - returns 1 if the type attribute is defined in the <xdb/>,
200                         0 otherwise.
201
202                         $test = $XDB->DefinedType();
203
204         DefinedAction() - returns 1 if the action attribute is defined in the <xdb/>,
205                          0 otherwise.
206
207                          $test = $XDB->DefinedAction();
208
209         DefinedMatch() - returns 1 if the match attribute is defined in the <xdb/>,
210                          0 otherwise.
211
212                          $test = $XDB->DefinedMatch();
213
214         DefinedError() - returns 1 if <error/> is defined in the <xdb/>,
215                          0 otherwise.
216
217                          $test = $XDB->DefinedError();
218
219         DefinedErrorCode() - returns 1 if the code attribute is defined in
220                              <error/>, 0 otherwise.
221
222                              $test = $XDB->DefinedErrorCode();
223

AUTHOR

225       By Ryan Eatmon in May of 2001 for http://jabber.org..
226
228       This module is free software; you can redistribute it and/or modify it
229       under the same terms as Perl itself.
230
231
232
233perl v5.10.1                      2004-08-17               Net::Jabber::XDB(3)
Impressum