File Coverage

blib/lib/Net/Jabber/Stanza.pm
Criterion Covered Total %
statement 55 90 61.1
branch 9 16 56.2
condition 2 3 66.6
subroutine 15 26 57.6
pod 0 11 0.0
total 81 146 55.4


line stmt bran cond sub pod time code
1             ##############################################################################
2             #
3             # This library is free software; you can redistribute it and/or
4             # modify it under the terms of the GNU Library General Public
5             # License as published by the Free Software Foundation; either
6             # version 2 of the License, or (at your option) any later version.
7             #
8             # This library is distributed in the hope that it will be useful,
9             # but WITHOUT ANY WARRANTY; without even the implied warranty of
10             # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11             # Library General Public License for more details.
12             #
13             # You should have received a copy of the GNU Library General Public
14             # License along with this library; if not, write to the
15             # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16             # Boston, MA 02111-1307, USA.
17             #
18             # Copyright (C) 1998-2004 Jabber Software Foundation http://jabber.org/
19             #
20             ##############################################################################
21              
22             package Net::Jabber::Stanza;
23              
24             =head1 NAME
25              
26             Net::Jabber::Stanza - Jabber Stanza Module
27              
28             =head1 SYNOPSIS
29              
30             Net::Jabber::Stanza is a private package that serves as a basis
31             for all Jabber stanzas generated by Net::Jabber.
32              
33             =head1 DESCRIPTION
34              
35             This module is not meant to be used directly. You should be using
36             either Net::Jabber::IQ, Net::Jabber::Message, Net::Jabber::Presence, or
37             another package that inherits from Net::Jabber::Stanza.
38              
39             That said, this is where all of the namespaced methods are defined.
40              
41             The current supported namespaces are:
42              
43             =cut
44              
45             # NS_BEGIN
46              
47             =pod
48              
49             http://jabber.org/protocol/bytestreams
50             http://jabber.org/protocol/commands
51             http://jabber.org/protocol/disco#info
52             http://jabber.org/protocol/disco#items
53             http://jabber.org/protocol/feature-neg
54             http://jabber.org/protocol/muc
55             http://jabber.org/protocol/muc#admin
56             http://jabber.org/protocol/muc#user
57             http://jabber.org/protocol/pubsub
58             http://jabber.org/protocol/pubsub#event
59             http://jabber.org/protocol/pubsub#owner
60             http://jabber.org/protocol/si
61             http://jabber.org/protocol/si/profile/file-transfer
62             jabber:iq:agent - DEPRECATED
63             jabber:iq:agents - DEPRECATED
64             jabber:iq:autoupdate
65             jabber:iq:browse - DEPRECATED
66             jabber:iq:conference
67             jabber:iq:filter - DEPRECATED
68             jabber:iq:gateway
69             jabber:iq:last
70             jabber:iq:oob
71             jabber:iq:pass
72             jabber:iq:rpc
73             jabber:iq:search
74             jabber:iq:time
75             jabber:iq:version
76             jabber:x:autoupdate
77             jabber:x:conference
78             jabber:x:data
79             jabber:x:delay
80             jabber:x:encrypted
81             jabber:x:event
82             jabber:x:expire
83             jabber:x:oob
84             jabber:x:roster
85             jabber:x:signed
86              
87             =cut
88              
89             # NS_END
90              
91             =pod
92            
93             For more information on what these namespaces are for, visit
94             http://www.jabber.org and browse the Jabber Programmers Guide.
95              
96             The following tables can be read as follows:
97              
98             ny:private:ns
99            
100             Name Type Get Set Remove Defined Add
101             ========================== ======= === === ====== ======= ===
102             Foo scalar X X X X
103             Bar child X
104             Bars child X
105             Test master X X
106              
107             Withing the my:private:ns namespace, there exists the functions:
108              
109             GetFoo(), SetFoo(), RemoveFoo(), DefinedFoo()
110            
111             AddBar()
112            
113             GetBars(), DefinedBars()
114            
115             GetTest(), SetMaster()
116              
117             Hopefully it should be obvious how this all works. If not feel free to
118             contact me and I'll work on adding more documentation.
119              
120             =cut
121              
122             # DOC_BEGIN
123             =head1 http://jabber.org/protocol/bytestreams
124              
125             Name Type Get Set Remove Defined Add
126             ========================== ========= === === ====== ======= ===
127             Activate scalar X X X X
128             SID scalar X X X X
129             StreamHostUsedJID jid X X X X
130             StreamHost child X
131             StreamHosts child X X X
132             ByteStreams master X X
133              
134             =head1 http://jabber.org/protocol/bytestreams - streamhost objects
135              
136             Name Type Get Set Remove Defined Add
137             ========================== ========= === === ====== ======= ===
138             Host scalar X X X X
139             JID jid X X X X
140             Port scalar X X X X
141             ZeroConf scalar X X X X
142             StreamHost master X X
143              
144             =head1 http://jabber.org/protocol/commands
145              
146             Name Type Get Set Remove Defined Add
147             ========================== ========= === === ====== ======= ===
148             Action scalar X X X X
149             Node scalar X X X X
150             SessionID scalar X X X X
151             Status scalar X X X X
152             Note child X
153             Notes child X X X
154             Command master X X
155              
156             =head1 http://jabber.org/protocol/commands - note objects
157              
158             Name Type Get Set Remove Defined Add
159             ========================== ========= === === ====== ======= ===
160             Message scalar X X X X
161             Type scalar X X X X
162             Note master X X
163              
164             =head1 http://jabber.org/protocol/disco#info
165              
166             Name Type Get Set Remove Defined Add
167             ========================== ========= === === ====== ======= ===
168             Node scalar X X X X
169             Feature child X
170             Features child X X X
171             Identities child X X X
172             Identity child X
173             DiscoInfo master X X
174              
175             =head1 http://jabber.org/protocol/disco#info - feature objects
176              
177             Name Type Get Set Remove Defined Add
178             ========================== ========= === === ====== ======= ===
179             Var scalar X X X X
180             Feature master X X
181              
182             =head1 http://jabber.org/protocol/disco#info - identity objects
183              
184             Name Type Get Set Remove Defined Add
185             ========================== ========= === === ====== ======= ===
186             Category scalar X X X X
187             Name scalar X X X X
188             Type scalar X X X X
189             Identity master X X
190              
191             =head1 http://jabber.org/protocol/disco#items
192              
193             Name Type Get Set Remove Defined Add
194             ========================== ========= === === ====== ======= ===
195             Node scalar X X X X
196             Item child X
197             Items child X X X
198             DiscoItems master X X
199              
200             =head1 http://jabber.org/protocol/disco#items - item objects
201              
202             Name Type Get Set Remove Defined Add
203             ========================== ========= === === ====== ======= ===
204             Action scalar X X X X
205             JID jid X X X X
206             Name scalar X X X X
207             Node scalar X X X X
208             Item master X X
209              
210             =head1 http://jabber.org/protocol/feature-neg
211              
212             Name Type Get Set Remove Defined Add
213             ========================== ========= === === ====== ======= ===
214             FeatureNeg master X X
215              
216             =head1 http://jabber.org/protocol/muc
217              
218             Name Type Get Set Remove Defined Add
219             ========================== ========= === === ====== ======= ===
220             Password scalar X X X X
221             MUC master X X
222              
223             =head1 http://jabber.org/protocol/muc#admin
224              
225             Name Type Get Set Remove Defined Add
226             ========================== ========= === === ====== ======= ===
227             Item child X
228             Items child X X X
229             Admin master X X
230              
231             =head1 http://jabber.org/protocol/muc#admin - item objects
232              
233             Name Type Get Set Remove Defined Add
234             ========================== ========= === === ====== ======= ===
235             ActorJID jid X X X X
236             Affiliation scalar X X X X
237             JID jid X X X X
238             Nick scalar X X X X
239             Reason scalar X X X X
240             Role scalar X X X X
241             Item master X X
242              
243             =head1 http://jabber.org/protocol/muc#user
244              
245             Name Type Get Set Remove Defined Add
246             ========================== ========= === === ====== ======= ===
247             Alt scalar X X X X
248             Password scalar X X X X
249             StatusCode scalar X X X X
250             Invite child X X X X
251             Item child X X X X
252             User master X X
253              
254             =head1 http://jabber.org/protocol/muc#user - invite objects
255              
256             Name Type Get Set Remove Defined Add
257             ========================== ========= === === ====== ======= ===
258             From jid X X X X
259             Reason scalar X X X X
260             To jid X X X X
261             Invite master X X
262              
263             =head1 http://jabber.org/protocol/muc#user - item objects
264              
265             Name Type Get Set Remove Defined Add
266             ========================== ========= === === ====== ======= ===
267             ActorJID jid X X X X
268             Affiliation scalar X X X X
269             JID jid X X X X
270             Nick scalar X X X X
271             Reason scalar X X X X
272             Role scalar X X X X
273             Item master X X
274              
275             =head1 http://jabber.org/protocol/pubsub
276              
277             Name Type Get Set Remove Defined Add
278             ========================== ========= === === ====== ======= ===
279             Affiliations child X X X X
280             Configure child X X X X
281             Create child X X X X
282             Delete child X X X X
283             Entities child X X X X
284             Entity child X X X X
285             Item child X X X X
286             Items child X X X X
287             Options child X X X X
288             Publish child X X X X
289             Purge child X X X X
290             Retract child X X X X
291             Subscribe child X X X X
292             Unsubscribe child X X X X
293             PubSub master X X
294              
295             =head1 http://jabber.org/protocol/pubsub - affiliations objects
296              
297             Name Type Get Set Remove Defined Add
298             ========================== ========= === === ====== ======= ===
299             Entity child X X X X
300             Affiliations master X X
301              
302             =head1 http://jabber.org/protocol/pubsub - configure objects
303              
304             Name Type Get Set Remove Defined Add
305             ========================== ========= === === ====== ======= ===
306             Node scalar X X X X
307             Configure master X X
308              
309             =head1 http://jabber.org/protocol/pubsub - create objects
310              
311             Name Type Get Set Remove Defined Add
312             ========================== ========= === === ====== ======= ===
313             Node scalar X X X X
314             Create master X X
315              
316             =head1 http://jabber.org/protocol/pubsub - delete objects
317              
318             Name Type Get Set Remove Defined Add
319             ========================== ========= === === ====== ======= ===
320             Node scalar X X X X
321             Delete master X X
322              
323             =head1 http://jabber.org/protocol/pubsub - entities objects
324              
325             Name Type Get Set Remove Defined Add
326             ========================== ========= === === ====== ======= ===
327             Entity child X X X X
328             Entities master X X
329              
330             =head1 http://jabber.org/protocol/pubsub - entity objects
331              
332             Name Type Get Set Remove Defined Add
333             ========================== ========= === === ====== ======= ===
334             Affiliation scalar X X X X
335             JID jid X X X X
336             Node scalar X X X X
337             Subscription scalar X X X X
338             SubscribeOptions child X X X X
339             Entity master X X
340              
341             =head1 http://jabber.org/protocol/pubsub - item objects
342              
343             Name Type Get Set Remove Defined Add
344             ========================== ========= === === ====== ======= ===
345             ID scalar X X X X
346             Payload raw X X X X
347             Item master X X
348              
349             =head1 http://jabber.org/protocol/pubsub - items objects
350              
351             Name Type Get Set Remove Defined Add
352             ========================== ========= === === ====== ======= ===
353             MaxItems scalar X X X X
354             Node scalar X X X X
355             Item child X X X X
356             Items master X X
357              
358             =head1 http://jabber.org/protocol/pubsub - options objects
359              
360             Name Type Get Set Remove Defined Add
361             ========================== ========= === === ====== ======= ===
362             JID jid X X X X
363             Node scalar X X X X
364             Options master X X
365              
366             =head1 http://jabber.org/protocol/pubsub - publish objects
367              
368             Name Type Get Set Remove Defined Add
369             ========================== ========= === === ====== ======= ===
370             Node scalar X X X X
371             Item child X X X X
372             Publish master X X
373              
374             =head1 http://jabber.org/protocol/pubsub - purge objects
375              
376             Name Type Get Set Remove Defined Add
377             ========================== ========= === === ====== ======= ===
378             Node scalar X X X X
379             Purge master X X
380              
381             =head1 http://jabber.org/protocol/pubsub - retract objects
382              
383             Name Type Get Set Remove Defined Add
384             ========================== ========= === === ====== ======= ===
385             Node scalar X X X X
386             Item child X X X X
387             Retract master X X
388              
389             =head1 http://jabber.org/protocol/pubsub - subscribe objects
390              
391             Name Type Get Set Remove Defined Add
392             ========================== ========= === === ====== ======= ===
393             JID jid X X X X
394             Node scalar X X X X
395             Subscribe master X X
396              
397             =head1 http://jabber.org/protocol/pubsub - subscribe-options objects
398              
399             Name Type Get Set Remove Defined Add
400             ========================== ========= === === ====== ======= ===
401             Required flag X X X X
402             SubscribeOptions master X X
403              
404             =head1 http://jabber.org/protocol/pubsub - unsubscribe objects
405              
406             Name Type Get Set Remove Defined Add
407             ========================== ========= === === ====== ======= ===
408             JID jid X X X X
409             Node scalar X X X X
410             Unsubscribe master X X
411              
412             =head1 http://jabber.org/protocol/pubsub#event
413              
414             Name Type Get Set Remove Defined Add
415             ========================== ========= === === ====== ======= ===
416             Delete child X X X X
417             Items child X X X X
418             Event master X X
419              
420             =head1 http://jabber.org/protocol/pubsub#event - delete objects
421              
422             Name Type Get Set Remove Defined Add
423             ========================== ========= === === ====== ======= ===
424             Node scalar X X X X
425             Delete master X X
426              
427             =head1 http://jabber.org/protocol/pubsub#event - item objects
428              
429             Name Type Get Set Remove Defined Add
430             ========================== ========= === === ====== ======= ===
431             ID scalar X X X X
432             Payload raw X X X X
433             Item master X X
434              
435             =head1 http://jabber.org/protocol/pubsub#event - items objects
436              
437             Name Type Get Set Remove Defined Add
438             ========================== ========= === === ====== ======= ===
439             Node scalar X X X X
440             Item child X X X X
441             Items master X X
442              
443             =head1 http://jabber.org/protocol/pubsub#owner
444              
445             Name Type Get Set Remove Defined Add
446             ========================== ========= === === ====== ======= ===
447             Action scalar X X X X
448             Configure child X X X X
449             Owner master X X
450              
451             =head1 http://jabber.org/protocol/pubsub#owner - configure objects
452              
453             Name Type Get Set Remove Defined Add
454             ========================== ========= === === ====== ======= ===
455             Node scalar X X X X
456             Configure master X X
457              
458             =head1 http://jabber.org/protocol/si
459              
460             Name Type Get Set Remove Defined Add
461             ========================== ========= === === ====== ======= ===
462             ID scalar X X X X
463             MimeType scalar X X X X
464             Profile scalar X X X X
465             Stream master X X
466              
467             =head1 http://jabber.org/protocol/si/profile/file-transfer
468              
469             Name Type Get Set Remove Defined Add
470             ========================== ========= === === ====== ======= ===
471             Date scalar X X X X
472             Desc scalar X X X X
473             Hash scalar X X X X
474             Name scalar X X X X
475             Range flag X X X X
476             RangeLength scalar X X X X
477             RangeOffset scalar X X X X
478             Size scalar X X X X
479             File master X X
480              
481             =head1 jabber:iq:agent - DEPRECATED
482              
483             Name Type Get Set Remove Defined Add
484             ========================== ========= === === ====== ======= ===
485             Agents flag X X X X
486             Description scalar X X X X
487             GroupChat flag X X X X
488             JID jid X X X X
489             Name scalar X X X X
490             Register flag X X X X
491             Search flag X X X X
492             Service scalar X X X X
493             Transport scalar X X X X
494             URL scalar X X X X
495             Agent master X X
496              
497             =head1 jabber:iq:agents - DEPRECATED
498              
499             Name Type Get Set Remove Defined Add
500             ========================== ========= === === ====== ======= ===
501             Agent child X
502             Agents child X X X
503              
504             =head1 jabber:iq:autoupdate
505              
506             Name Type Get Set Remove Defined Add
507             ========================== ========= === === ====== ======= ===
508             Beta child X
509             Dev child X
510             Release child X
511             Releases child X X X
512              
513             =head1 jabber:iq:autoupdate - release objects
514              
515             Name Type Get Set Remove Defined Add
516             ========================== ========= === === ====== ======= ===
517             Desc scalar X X X X
518             Priority scalar X X X X
519             URL scalar X X X X
520             Version scalar X X X X
521             Release master X X
522              
523             =head1 jabber:iq:browse - DEPRECATED
524              
525             Name Type Get Set Remove Defined Add
526             ========================== ========= === === ====== ======= ===
527             Category scalar X X X X
528             JID jid X X X X
529             NS array X X X X
530             Name scalar X X X X
531             Type scalar X X X X
532             Item child X
533             Items child X X X
534             Browse master X X
535              
536             =head1 jabber:iq:browse - item objects - DEPRECATED
537              
538             Name Type Get Set Remove Defined Add
539             ========================== ========= === === ====== ======= ===
540             Category scalar X X X X
541             JID jid X X X X
542             NS array X X X X
543             Name scalar X X X X
544             Type scalar X X X X
545             Item child X
546             Items child X X X
547             Browse master X X
548              
549             =head1 jabber:iq:conference
550              
551             Name Type Get Set Remove Defined Add
552             ========================== ========= === === ====== ======= ===
553             ID scalar X X X X
554             Name scalar X X X X
555             Nick scalar X X X X
556             Privacy flag X X X X
557             Secret scalar X X X X
558             Conference master X X
559              
560             =head1 jabber:iq:filter - DEPRECATED
561              
562             Name Type Get Set Remove Defined Add
563             ========================== ========= === === ====== ======= ===
564             Rule child X
565             Rules child X X X
566              
567             =head1 jabber:iq:filter - rule objects - DEPRECATED
568              
569             Name Type Get Set Remove Defined Add
570             ========================== ========= === === ====== ======= ===
571             Body scalar X X X X
572             Continued scalar X X X X
573             Drop scalar X X X X
574             Edit scalar X X X X
575             Error scalar X X X X
576             From scalar X X X X
577             Offline scalar X X X X
578             Reply scalar X X X X
579             Resource scalar X X X X
580             Show scalar X X X X
581             Size scalar X X X X
582             Subject scalar X X X X
583             Time scalar X X X X
584             Type scalar X X X X
585             Unavailable scalar X X X X
586             Rule master X X
587              
588             =head1 jabber:iq:gateway
589              
590             Name Type Get Set Remove Defined Add
591             ========================== ========= === === ====== ======= ===
592             Desc scalar X X X X
593             JID jid X X X X
594             Prompt scalar X X X X
595             Gateway master X X
596              
597             =head1 jabber:iq:last
598              
599             Name Type Get Set Remove Defined Add
600             ========================== ========= === === ====== ======= ===
601             Message scalar X X X X
602             Seconds scalar X X X X
603             Last master X X
604              
605             =head1 jabber:iq:oob
606              
607             Name Type Get Set Remove Defined Add
608             ========================== ========= === === ====== ======= ===
609             Desc scalar X X X X
610             URL scalar X X X X
611             Oob master X X
612              
613             =head1 jabber:iq:pass
614              
615             Name Type Get Set Remove Defined Add
616             ========================== ========= === === ====== ======= ===
617             Client scalar X X X X
618             ClientPort scalar X X X X
619             Close flag X X X X
620             Expire scalar X X X X
621             OneShot flag X X X X
622             Proxy scalar X X X X
623             ProxyPort scalar X X X X
624             Server scalar X X X X
625             ServerPort scalar X X X X
626             Pass master X X
627              
628             =head1 jabber:iq:rpc
629              
630             Name Type Get Set Remove Defined Add
631             ========================== ========= === === ====== ======= ===
632             MethodCall child X X X X
633             MethodResponse child X X X X
634              
635             =head1 jabber:iq:rpc - array objects
636              
637             Name Type Get Set Remove Defined Add
638             ========================== ========= === === ====== ======= ===
639             Data child X
640             Datas child X X X
641              
642             =head1 jabber:iq:rpc - data objects
643              
644             Name Type Get Set Remove Defined Add
645             ========================== ========= === === ====== ======= ===
646             Value child X X X X
647              
648             =head1 jabber:iq:rpc - fault objects
649              
650             Name Type Get Set Remove Defined Add
651             ========================== ========= === === ====== ======= ===
652             Value child X X X X
653              
654             =head1 jabber:iq:rpc - member objects
655              
656             Name Type Get Set Remove Defined Add
657             ========================== ========= === === ====== ======= ===
658             Name scalar X X X X
659             Value child X X X X
660             Member master X X
661              
662             =head1 jabber:iq:rpc - methodCall objects
663              
664             Name Type Get Set Remove Defined Add
665             ========================== ========= === === ====== ======= ===
666             MethodName scalar X X X X
667             Params child X X X X
668             MethodCall master X X
669              
670             =head1 jabber:iq:rpc - methodResponse objects
671              
672             Name Type Get Set Remove Defined Add
673             ========================== ========= === === ====== ======= ===
674             Fault child X X X X
675             Params child X X X X
676              
677             =head1 jabber:iq:rpc - param objects
678              
679             Name Type Get Set Remove Defined Add
680             ========================== ========= === === ====== ======= ===
681             Value child X X X X
682              
683             =head1 jabber:iq:rpc - params objects
684              
685             Name Type Get Set Remove Defined Add
686             ========================== ========= === === ====== ======= ===
687             Param child X
688             Params child X X X
689              
690             =head1 jabber:iq:rpc - struct objects
691              
692             Name Type Get Set Remove Defined Add
693             ========================== ========= === === ====== ======= ===
694             Member child X
695             Members child X X X
696              
697             =head1 jabber:iq:rpc - value objects
698              
699             Name Type Get Set Remove Defined Add
700             ========================== ========= === === ====== ======= ===
701             Base64 scalar X X X X
702             Boolean scalar X X X X
703             DateTime scalar X X X X
704             Double scalar X X X X
705             I4 scalar X X X X
706             Int scalar X X X X
707             String scalar X X X X
708             Value scalar X X X X
709             Array child X X X X
710             Struct child X X X X
711             RPCValue master X X
712              
713             =head1 jabber:iq:search
714              
715             Name Type Get Set Remove Defined Add
716             ========================== ========= === === ====== ======= ===
717             Email scalar X X X X
718             Family scalar X X X X
719             First scalar X X X X
720             Given scalar X X X X
721             Instructions scalar X X X X
722             Key scalar X X X X
723             Last scalar X X X X
724             Name scalar X X X X
725             Nick scalar X X X X
726             Truncated flag X X X X
727             Item child X
728             Items child X X X
729             Search master X X
730              
731             =head1 jabber:iq:search - item objects
732              
733             Name Type Get Set Remove Defined Add
734             ========================== ========= === === ====== ======= ===
735             Email scalar X X X X
736             Family scalar X X X X
737             First scalar X X X X
738             Given scalar X X X X
739             JID jid X X X X
740             Key scalar X X X X
741             Last scalar X X X X
742             Name scalar X X X X
743             Nick scalar X X X X
744             Item master X X
745              
746             =head1 jabber:iq:time
747              
748             Name Type Get Set Remove Defined Add
749             ========================== ========= === === ====== ======= ===
750             Display special X X X X
751             TZ special X X X X
752             UTC special X X X X
753             Time master X X
754              
755             =head1 jabber:iq:version
756              
757             Name Type Get Set Remove Defined Add
758             ========================== ========= === === ====== ======= ===
759             Name scalar X X X X
760             OS special X X X X
761             Ver special X X X X
762             Version master X X
763              
764             =head1 jabber:x:autoupdate
765              
766             Name Type Get Set Remove Defined Add
767             ========================== ========= === === ====== ======= ===
768             JID jid X X X X
769             Autoupdate master X X
770              
771             =head1 jabber:x:conference
772              
773             Name Type Get Set Remove Defined Add
774             ========================== ========= === === ====== ======= ===
775             JID jid X X X X
776             Conference master X X
777              
778             =head1 jabber:x:data
779              
780             Name Type Get Set Remove Defined Add
781             ========================== ========= === === ====== ======= ===
782             Form scalar X X X X
783             Instructions scalar X X X X
784             Title scalar X X X X
785             Type scalar X X X X
786             Field child X
787             Fields child X X X
788             Item child X
789             Items child X X X
790             Reported child X X X X
791             Data master X X
792              
793             =head1 jabber:x:data - field objects
794              
795             Name Type Get Set Remove Defined Add
796             ========================== ========= === === ====== ======= ===
797             Desc scalar X X X X
798             Label scalar X X X X
799             Required flag X X X X
800             Type scalar X X X X
801             Value array X X X X
802             Var scalar X X X X
803             Option child X
804             Options child X X X
805             Field master X X
806              
807             =head1 jabber:x:data - item objects
808              
809             Name Type Get Set Remove Defined Add
810             ========================== ========= === === ====== ======= ===
811             Field child X
812             Fields child X X X
813             Item master X X
814              
815             =head1 jabber:x:data - option objects
816              
817             Name Type Get Set Remove Defined Add
818             ========================== ========= === === ====== ======= ===
819             Label scalar X X X X
820             Value scalar X X X X
821             Option master X X
822              
823             =head1 jabber:x:data - reported objects
824              
825             Name Type Get Set Remove Defined Add
826             ========================== ========= === === ====== ======= ===
827             Field child X
828             Fields child X X X
829             Reported master X X
830              
831             =head1 jabber:x:delay
832              
833             Name Type Get Set Remove Defined Add
834             ========================== ========= === === ====== ======= ===
835             From jid X X X X
836             Message scalar X X X X
837             Stamp timestamp X X X X
838             Delay master X X
839              
840             =head1 jabber:x:encrypted
841              
842             Name Type Get Set Remove Defined Add
843             ========================== ========= === === ====== ======= ===
844             Message scalar X X X X
845             Encrypted master X X
846              
847             =head1 jabber:x:event
848              
849             Name Type Get Set Remove Defined Add
850             ========================== ========= === === ====== ======= ===
851             Composing flag X X X X
852             Delivered flag X X X X
853             Displayed flag X X X X
854             ID scalar X X X X
855             Offline flag X X X X
856             Event master X X
857              
858             =head1 jabber:x:expire
859              
860             Name Type Get Set Remove Defined Add
861             ========================== ========= === === ====== ======= ===
862             Seconds scalar X X X X
863             Expire master X X
864              
865             =head1 jabber:x:oob
866              
867             Name Type Get Set Remove Defined Add
868             ========================== ========= === === ====== ======= ===
869             Desc scalar X X X X
870             URL scalar X X X X
871             Oob master X X
872              
873             =head1 jabber:x:roster
874              
875             Name Type Get Set Remove Defined Add
876             ========================== ========= === === ====== ======= ===
877             Item child X
878             Items child X X X
879             Roster master X X
880              
881             =head1 jabber:x:roster - item objects
882              
883             Name Type Get Set Remove Defined Add
884             ========================== ========= === === ====== ======= ===
885             Ask scalar X X X X
886             Group array X X X X
887             JID jid X X X X
888             Name scalar X X X X
889             Subscription scalar X X X X
890             Item master X X
891              
892             =head1 jabber:x:signed
893              
894             Name Type Get Set Remove Defined Add
895             ========================== ========= === === ====== ======= ===
896             Signature scalar X X X X
897             Signed master X X
898              
899             # DOC_BEGIN
900             =head1 http://jabber.org/protocol/bytestreams
901              
902             Name Type Get Set Remove Defined Add
903             ========================== ========= === === ====== ======= ===
904             Activate scalar X X X X
905             SID scalar X X X X
906             StreamHostUsedJID jid X X X X
907             StreamHost child X
908             StreamHosts child X X X
909             ByteStreams master X X
910              
911             =head1 http://jabber.org/protocol/bytestreams - streamhost objects
912              
913             Name Type Get Set Remove Defined Add
914             ========================== ========= === === ====== ======= ===
915             Host scalar X X X X
916             JID jid X X X X
917             Port scalar X X X X
918             ZeroConf scalar X X X X
919             StreamHost master X X
920              
921             =head1 http://jabber.org/protocol/commands
922              
923             Name Type Get Set Remove Defined Add
924             ========================== ========= === === ====== ======= ===
925             Action scalar X X X X
926             Node scalar X X X X
927             SessionID scalar X X X X
928             Status scalar X X X X
929             Note child X
930             Notes child X X X
931             Command master X X
932              
933             =head1 http://jabber.org/protocol/commands - note objects
934              
935             Name Type Get Set Remove Defined Add
936             ========================== ========= === === ====== ======= ===
937             Message scalar X X X X
938             Type scalar X X X X
939             Note master X X
940              
941             =head1 http://jabber.org/protocol/disco#info
942              
943             Name Type Get Set Remove Defined Add
944             ========================== ========= === === ====== ======= ===
945             Node scalar X X X X
946             Feature child X
947             Features child X X X
948             Identities child X X X
949             Identity child X
950             DiscoInfo master X X
951              
952             =head1 http://jabber.org/protocol/disco#info - feature objects
953              
954             Name Type Get Set Remove Defined Add
955             ========================== ========= === === ====== ======= ===
956             Var scalar X X X X
957             Feature master X X
958              
959             =head1 http://jabber.org/protocol/disco#info - identity objects
960              
961             Name Type Get Set Remove Defined Add
962             ========================== ========= === === ====== ======= ===
963             Category scalar X X X X
964             Name scalar X X X X
965             Type scalar X X X X
966             Identity master X X
967              
968             =head1 http://jabber.org/protocol/disco#items
969              
970             Name Type Get Set Remove Defined Add
971             ========================== ========= === === ====== ======= ===
972             Node scalar X X X X
973             Item child X
974             Items child X X X
975             DiscoItems master X X
976              
977             =head1 http://jabber.org/protocol/disco#items - item objects
978              
979             Name Type Get Set Remove Defined Add
980             ========================== ========= === === ====== ======= ===
981             Action scalar X X X X
982             JID jid X X X X
983             Name scalar X X X X
984             Node scalar X X X X
985             Item master X X
986              
987             =head1 http://jabber.org/protocol/feature-neg
988              
989             Name Type Get Set Remove Defined Add
990             ========================== ========= === === ====== ======= ===
991             FeatureNeg master X X
992              
993             =head1 http://jabber.org/protocol/muc
994              
995             Name Type Get Set Remove Defined Add
996             ========================== ========= === === ====== ======= ===
997             Password scalar X X X X
998             MUC master X X
999              
1000             =head1 http://jabber.org/protocol/muc#admin
1001              
1002             Name Type Get Set Remove Defined Add
1003             ========================== ========= === === ====== ======= ===
1004             Item child X
1005             Items child X X X
1006             Admin master X X
1007              
1008             =head1 http://jabber.org/protocol/muc#admin - item objects
1009              
1010             Name Type Get Set Remove Defined Add
1011             ========================== ========= === === ====== ======= ===
1012             ActorJID jid X X X X
1013             Affiliation scalar X X X X
1014             JID jid X X X X
1015             Nick scalar X X X X
1016             Reason scalar X X X X
1017             Role scalar X X X X
1018             Item master X X
1019              
1020             =head1 http://jabber.org/protocol/muc#user
1021              
1022             Name Type Get Set Remove Defined Add
1023             ========================== ========= === === ====== ======= ===
1024             Alt scalar X X X X
1025             Password scalar X X X X
1026             StatusCode scalar X X X X
1027             Invite child X X X X
1028             Item child X X X X
1029             User master X X
1030              
1031             =head1 http://jabber.org/protocol/muc#user - invite objects
1032              
1033             Name Type Get Set Remove Defined Add
1034             ========================== ========= === === ====== ======= ===
1035             From jid X X X X
1036             Reason scalar X X X X
1037             To jid X X X X
1038             Invite master X X
1039              
1040             =head1 http://jabber.org/protocol/muc#user - item objects
1041              
1042             Name Type Get Set Remove Defined Add
1043             ========================== ========= === === ====== ======= ===
1044             ActorJID jid X X X X
1045             Affiliation scalar X X X X
1046             JID jid X X X X
1047             Nick scalar X X X X
1048             Reason scalar X X X X
1049             Role scalar X X X X
1050             Item master X X
1051              
1052             =head1 http://jabber.org/protocol/pubsub
1053              
1054             Name Type Get Set Remove Defined Add
1055             ========================== ========= === === ====== ======= ===
1056             Affiliations child X X X X
1057             Configure child X X X X
1058             Create child X X X X
1059             Delete child X X X X
1060             Entities child X X X X
1061             Entity child X X X X
1062             Item child X X X X
1063             Items child X X X X
1064             Options child X X X X
1065             Publish child X X X X
1066             Purge child X X X X
1067             Retract child X X X X
1068             Subscribe child X X X X
1069             Unsubscribe child X X X X
1070             PubSub master X X
1071              
1072             =head1 http://jabber.org/protocol/pubsub - affiliations objects
1073              
1074             Name Type Get Set Remove Defined Add
1075             ========================== ========= === === ====== ======= ===
1076             Entity child X X X X
1077             Affiliations master X X
1078              
1079             =head1 http://jabber.org/protocol/pubsub - configure objects
1080              
1081             Name Type Get Set Remove Defined Add
1082             ========================== ========= === === ====== ======= ===
1083             Node scalar X X X X
1084             Configure master X X
1085              
1086             =head1 http://jabber.org/protocol/pubsub - create objects
1087              
1088             Name Type Get Set Remove Defined Add
1089             ========================== ========= === === ====== ======= ===
1090             Node scalar X X X X
1091             Create master X X
1092              
1093             =head1 http://jabber.org/protocol/pubsub - delete objects
1094              
1095             Name Type Get Set Remove Defined Add
1096             ========================== ========= === === ====== ======= ===
1097             Node scalar X X X X
1098             Delete master X X
1099              
1100             =head1 http://jabber.org/protocol/pubsub - entities objects
1101              
1102             Name Type Get Set Remove Defined Add
1103             ========================== ========= === === ====== ======= ===
1104             Entity child X X X X
1105             Entities master X X
1106              
1107             =head1 http://jabber.org/protocol/pubsub - entity objects
1108              
1109             Name Type Get Set Remove Defined Add
1110             ========================== ========= === === ====== ======= ===
1111             Affiliation scalar X X X X
1112             JID jid X X X X
1113             Node scalar X X X X
1114             Subscription scalar X X X X
1115             SubscribeOptions child X X X X
1116             Entity master X X
1117              
1118             =head1 http://jabber.org/protocol/pubsub - item objects
1119              
1120             Name Type Get Set Remove Defined Add
1121             ========================== ========= === === ====== ======= ===
1122             ID scalar X X X X
1123             Payload raw X X X X
1124             Item master X X
1125              
1126             =head1 http://jabber.org/protocol/pubsub - items objects
1127              
1128             Name Type Get Set Remove Defined Add
1129             ========================== ========= === === ====== ======= ===
1130             MaxItems scalar X X X X
1131             Node scalar X X X X
1132             Item child X X X X
1133             Items master X X
1134              
1135             =head1 http://jabber.org/protocol/pubsub - options objects
1136              
1137             Name Type Get Set Remove Defined Add
1138             ========================== ========= === === ====== ======= ===
1139             JID jid X X X X
1140             Node scalar X X X X
1141             Options master X X
1142              
1143             =head1 http://jabber.org/protocol/pubsub - publish objects
1144              
1145             Name Type Get Set Remove Defined Add
1146             ========================== ========= === === ====== ======= ===
1147             Node scalar X X X X
1148             Item child X X X X
1149             Publish master X X
1150              
1151             =head1 http://jabber.org/protocol/pubsub - purge objects
1152              
1153             Name Type Get Set Remove Defined Add
1154             ========================== ========= === === ====== ======= ===
1155             Node scalar X X X X
1156             Purge master X X
1157              
1158             =head1 http://jabber.org/protocol/pubsub - retract objects
1159              
1160             Name Type Get Set Remove Defined Add
1161             ========================== ========= === === ====== ======= ===
1162             Node scalar X X X X
1163             Item child X X X X
1164             Retract master X X
1165              
1166             =head1 http://jabber.org/protocol/pubsub - subscribe objects
1167              
1168             Name Type Get Set Remove Defined Add
1169             ========================== ========= === === ====== ======= ===
1170             JID jid X X X X
1171             Node scalar X X X X
1172             Subscribe master X X
1173              
1174             =head1 http://jabber.org/protocol/pubsub - subscribe-options objects
1175              
1176             Name Type Get Set Remove Defined Add
1177             ========================== ========= === === ====== ======= ===
1178             Required flag X X X X
1179             SubscribeOptions master X X
1180              
1181             =head1 http://jabber.org/protocol/pubsub - unsubscribe objects
1182              
1183             Name Type Get Set Remove Defined Add
1184             ========================== ========= === === ====== ======= ===
1185             JID jid X X X X
1186             Node scalar X X X X
1187             Unsubscribe master X X
1188              
1189             =head1 http://jabber.org/protocol/pubsub#event
1190              
1191             Name Type Get Set Remove Defined Add
1192             ========================== ========= === === ====== ======= ===
1193             Delete child X X X X
1194             Items child X X X X
1195             Event master X X
1196              
1197             =head1 http://jabber.org/protocol/pubsub#event - delete objects
1198              
1199             Name Type Get Set Remove Defined Add
1200             ========================== ========= === === ====== ======= ===
1201             Node scalar X X X X
1202             Delete master X X
1203              
1204             =head1 http://jabber.org/protocol/pubsub#event - item objects
1205              
1206             Name Type Get Set Remove Defined Add
1207             ========================== ========= === === ====== ======= ===
1208             ID scalar X X X X
1209             Payload raw X X X X
1210             Item master X X
1211              
1212             =head1 http://jabber.org/protocol/pubsub#event - items objects
1213              
1214             Name Type Get Set Remove Defined Add
1215             ========================== ========= === === ====== ======= ===
1216             Node scalar X X X X
1217             Item child X X X X
1218             Items master X X
1219              
1220             =head1 http://jabber.org/protocol/pubsub#owner
1221              
1222             Name Type Get Set Remove Defined Add
1223             ========================== ========= === === ====== ======= ===
1224             Action scalar X X X X
1225             Configure child X X X X
1226             Owner master X X
1227              
1228             =head1 http://jabber.org/protocol/pubsub#owner - configure objects
1229              
1230             Name Type Get Set Remove Defined Add
1231             ========================== ========= === === ====== ======= ===
1232             Node scalar X X X X
1233             Configure master X X
1234              
1235             =head1 http://jabber.org/protocol/si
1236              
1237             Name Type Get Set Remove Defined Add
1238             ========================== ========= === === ====== ======= ===
1239             ID scalar X X X X
1240             MimeType scalar X X X X
1241             Profile scalar X X X X
1242             Stream master X X
1243              
1244             =head1 http://jabber.org/protocol/si/profile/file-transfer
1245              
1246             Name Type Get Set Remove Defined Add
1247             ========================== ========= === === ====== ======= ===
1248             Date scalar X X X X
1249             Desc scalar X X X X
1250             Hash scalar X X X X
1251             Name scalar X X X X
1252             Range flag X X X X
1253             RangeLength scalar X X X X
1254             RangeOffset scalar X X X X
1255             Size scalar X X X X
1256             File master X X
1257              
1258             =head1 jabber:iq:agent - DEPRECATED
1259              
1260             Name Type Get Set Remove Defined Add
1261             ========================== ========= === === ====== ======= ===
1262             Agents flag X X X X
1263             Description scalar X X X X
1264             GroupChat flag X X X X
1265             JID jid X X X X
1266             Name scalar X X X X
1267             Register flag X X X X
1268             Search flag X X X X
1269             Service scalar X X X X
1270             Transport scalar X X X X
1271             URL scalar X X X X
1272             Agent master X X
1273              
1274             =head1 jabber:iq:agents - DEPRECATED
1275              
1276             Name Type Get Set Remove Defined Add
1277             ========================== ========= === === ====== ======= ===
1278             Agent child X
1279             Agents child X X X
1280              
1281             =head1 jabber:iq:autoupdate
1282              
1283             Name Type Get Set Remove Defined Add
1284             ========================== ========= === === ====== ======= ===
1285             Beta child X
1286             Dev child X
1287             Release child X
1288             Releases child X X X
1289              
1290             =head1 jabber:iq:autoupdate - release objects
1291              
1292             Name Type Get Set Remove Defined Add
1293             ========================== ========= === === ====== ======= ===
1294             Desc scalar X X X X
1295             Priority scalar X X X X
1296             URL scalar X X X X
1297             Version scalar X X X X
1298             Release master X X
1299              
1300             =head1 jabber:iq:browse - DEPRECATED
1301              
1302             Name Type Get Set Remove Defined Add
1303             ========================== ========= === === ====== ======= ===
1304             Category scalar X X X X
1305             JID jid X X X X
1306             NS array X X X X
1307             Name scalar X X X X
1308             Type scalar X X X X
1309             Item child X
1310             Items child X X X
1311             Browse master X X
1312              
1313             =head1 jabber:iq:browse - item objects - DEPRECATED
1314              
1315             Name Type Get Set Remove Defined Add
1316             ========================== ========= === === ====== ======= ===
1317             Category scalar X X X X
1318             JID jid X X X X
1319             NS array X X X X
1320             Name scalar X X X X
1321             Type scalar X X X X
1322             Item child X
1323             Items child X X X
1324             Browse master X X
1325              
1326             =head1 jabber:iq:conference
1327              
1328             Name Type Get Set Remove Defined Add
1329             ========================== ========= === === ====== ======= ===
1330             ID scalar X X X X
1331             Name scalar X X X X
1332             Nick scalar X X X X
1333             Privacy flag X X X X
1334             Secret scalar X X X X
1335             Conference master X X
1336              
1337             =head1 jabber:iq:filter - DEPRECATED
1338              
1339             Name Type Get Set Remove Defined Add
1340             ========================== ========= === === ====== ======= ===
1341             Rule child X
1342             Rules child X X X
1343              
1344             =head1 jabber:iq:filter - rule objects - DEPRECATED
1345              
1346             Name Type Get Set Remove Defined Add
1347             ========================== ========= === === ====== ======= ===
1348             Body scalar X X X X
1349             Continued scalar X X X X
1350             Drop scalar X X X X
1351             Edit scalar X X X X
1352             Error scalar X X X X
1353             From scalar X X X X
1354             Offline scalar X X X X
1355             Reply scalar X X X X
1356             Resource scalar X X X X
1357             Show scalar X X X X
1358             Size scalar X X X X
1359             Subject scalar X X X X
1360             Time scalar X X X X
1361             Type scalar X X X X
1362             Unavailable scalar X X X X
1363             Rule master X X
1364              
1365             =head1 jabber:iq:gateway
1366              
1367             Name Type Get Set Remove Defined Add
1368             ========================== ========= === === ====== ======= ===
1369             Desc scalar X X X X
1370             JID jid X X X X
1371             Prompt scalar X X X X
1372             Gateway master X X
1373              
1374             =head1 jabber:iq:last
1375              
1376             Name Type Get Set Remove Defined Add
1377             ========================== ========= === === ====== ======= ===
1378             Message scalar X X X X
1379             Seconds scalar X X X X
1380             Last master X X
1381              
1382             =head1 jabber:iq:oob
1383              
1384             Name Type Get Set Remove Defined Add
1385             ========================== ========= === === ====== ======= ===
1386             Desc scalar X X X X
1387             URL scalar X X X X
1388             Oob master X X
1389              
1390             =head1 jabber:iq:pass
1391              
1392             Name Type Get Set Remove Defined Add
1393             ========================== ========= === === ====== ======= ===
1394             Client scalar X X X X
1395             ClientPort scalar X X X X
1396             Close flag X X X X
1397             Expire scalar X X X X
1398             OneShot flag X X X X
1399             Proxy scalar X X X X
1400             ProxyPort scalar X X X X
1401             Server scalar X X X X
1402             ServerPort scalar X X X X
1403             Pass master X X
1404              
1405             =head1 jabber:iq:rpc
1406              
1407             Name Type Get Set Remove Defined Add
1408             ========================== ========= === === ====== ======= ===
1409             MethodCall child X X X X
1410             MethodResponse child X X X X
1411              
1412             =head1 jabber:iq:rpc - array objects
1413              
1414             Name Type Get Set Remove Defined Add
1415             ========================== ========= === === ====== ======= ===
1416             Data child X
1417             Datas child X X X
1418              
1419             =head1 jabber:iq:rpc - data objects
1420              
1421             Name Type Get Set Remove Defined Add
1422             ========================== ========= === === ====== ======= ===
1423             Value child X X X X
1424              
1425             =head1 jabber:iq:rpc - fault objects
1426              
1427             Name Type Get Set Remove Defined Add
1428             ========================== ========= === === ====== ======= ===
1429             Value child X X X X
1430              
1431             =head1 jabber:iq:rpc - member objects
1432              
1433             Name Type Get Set Remove Defined Add
1434             ========================== ========= === === ====== ======= ===
1435             Name scalar X X X X
1436             Value child X X X X
1437             Member master X X
1438              
1439             =head1 jabber:iq:rpc - methodCall objects
1440              
1441             Name Type Get Set Remove Defined Add
1442             ========================== ========= === === ====== ======= ===
1443             MethodName scalar X X X X
1444             Params child X X X X
1445             MethodCall master X X
1446              
1447             =head1 jabber:iq:rpc - methodResponse objects
1448              
1449             Name Type Get Set Remove Defined Add
1450             ========================== ========= === === ====== ======= ===
1451             Fault child X X X X
1452             Params child X X X X
1453              
1454             =head1 jabber:iq:rpc - param objects
1455              
1456             Name Type Get Set Remove Defined Add
1457             ========================== ========= === === ====== ======= ===
1458             Value child X X X X
1459              
1460             =head1 jabber:iq:rpc - params objects
1461              
1462             Name Type Get Set Remove Defined Add
1463             ========================== ========= === === ====== ======= ===
1464             Param child X
1465             Params child X X X
1466              
1467             =head1 jabber:iq:rpc - struct objects
1468              
1469             Name Type Get Set Remove Defined Add
1470             ========================== ========= === === ====== ======= ===
1471             Member child X
1472             Members child X X X
1473              
1474             =head1 jabber:iq:rpc - value objects
1475              
1476             Name Type Get Set Remove Defined Add
1477             ========================== ========= === === ====== ======= ===
1478             Base64 scalar X X X X
1479             Boolean scalar X X X X
1480             DateTime scalar X X X X
1481             Double scalar X X X X
1482             I4 scalar X X X X
1483             Int scalar X X X X
1484             String scalar X X X X
1485             Value scalar X X X X
1486             Array child X X X X
1487             Struct child X X X X
1488             RPCValue master X X
1489              
1490             =head1 jabber:iq:search
1491              
1492             Name Type Get Set Remove Defined Add
1493             ========================== ========= === === ====== ======= ===
1494             Email scalar X X X X
1495             Family scalar X X X X
1496             First scalar X X X X
1497             Given scalar X X X X
1498             Instructions scalar X X X X
1499             Key scalar X X X X
1500             Last scalar X X X X
1501             Name scalar X X X X
1502             Nick scalar X X X X
1503             Truncated flag X X X X
1504             Item child X
1505             Items child X X X
1506             Search master X X
1507              
1508             =head1 jabber:iq:search - item objects
1509              
1510             Name Type Get Set Remove Defined Add
1511             ========================== ========= === === ====== ======= ===
1512             Email scalar X X X X
1513             Family scalar X X X X
1514             First scalar X X X X
1515             Given scalar X X X X
1516             JID jid X X X X
1517             Key scalar X X X X
1518             Last scalar X X X X
1519             Name scalar X X X X
1520             Nick scalar X X X X
1521             Item master X X
1522              
1523             =head1 jabber:iq:time
1524              
1525             Name Type Get Set Remove Defined Add
1526             ========================== ========= === === ====== ======= ===
1527             Display special X X X X
1528             TZ special X X X X
1529             UTC special X X X X
1530             Time master X X
1531              
1532             =head1 jabber:iq:version
1533              
1534             Name Type Get Set Remove Defined Add
1535             ========================== ========= === === ====== ======= ===
1536             Name scalar X X X X
1537             OS special X X X X
1538             Ver special X X X X
1539             Version master X X
1540              
1541             =head1 jabber:x:autoupdate
1542              
1543             Name Type Get Set Remove Defined Add
1544             ========================== ========= === === ====== ======= ===
1545             JID jid X X X X
1546             Autoupdate master X X
1547              
1548             =head1 jabber:x:conference
1549              
1550             Name Type Get Set Remove Defined Add
1551             ========================== ========= === === ====== ======= ===
1552             JID jid X X X X
1553             Conference master X X
1554              
1555             =head1 jabber:x:data
1556              
1557             Name Type Get Set Remove Defined Add
1558             ========================== ========= === === ====== ======= ===
1559             Form scalar X X X X
1560             Instructions scalar X X X X
1561             Title scalar X X X X
1562             Type scalar X X X X
1563             Field child X
1564             Fields child X X X
1565             Item child X
1566             Items child X X X
1567             Reported child X X X X
1568             Data master X X
1569              
1570             =head1 jabber:x:data - field objects
1571              
1572             Name Type Get Set Remove Defined Add
1573             ========================== ========= === === ====== ======= ===
1574             Desc scalar X X X X
1575             Label scalar X X X X
1576             Required flag X X X X
1577             Type scalar X X X X
1578             Value array X X X X
1579             Var scalar X X X X
1580             Option child X
1581             Options child X X X
1582             Field master X X
1583              
1584             =head1 jabber:x:data - item objects
1585              
1586             Name Type Get Set Remove Defined Add
1587             ========================== ========= === === ====== ======= ===
1588             Field child X
1589             Fields child X X X
1590             Item master X X
1591              
1592             =head1 jabber:x:data - option objects
1593              
1594             Name Type Get Set Remove Defined Add
1595             ========================== ========= === === ====== ======= ===
1596             Label scalar X X X X
1597             Value scalar X X X X
1598             Option master X X
1599              
1600             =head1 jabber:x:data - reported objects
1601              
1602             Name Type Get Set Remove Defined Add
1603             ========================== ========= === === ====== ======= ===
1604             Field child X
1605             Fields child X X X
1606             Reported master X X
1607              
1608             =head1 jabber:x:delay
1609              
1610             Name Type Get Set Remove Defined Add
1611             ========================== ========= === === ====== ======= ===
1612             From jid X X X X
1613             Message scalar X X X X
1614             Stamp timestamp X X X X
1615             Delay master X X
1616              
1617             =head1 jabber:x:encrypted
1618              
1619             Name Type Get Set Remove Defined Add
1620             ========================== ========= === === ====== ======= ===
1621             Message scalar X X X X
1622             Encrypted master X X
1623              
1624             =head1 jabber:x:event
1625              
1626             Name Type Get Set Remove Defined Add
1627             ========================== ========= === === ====== ======= ===
1628             Composing flag X X X X
1629             Delivered flag X X X X
1630             Displayed flag X X X X
1631             ID scalar X X X X
1632             Offline flag X X X X
1633             Event master X X
1634              
1635             =head1 jabber:x:expire
1636              
1637             Name Type Get Set Remove Defined Add
1638             ========================== ========= === === ====== ======= ===
1639             Seconds scalar X X X X
1640             Expire master X X
1641              
1642             =head1 jabber:x:oob
1643              
1644             Name Type Get Set Remove Defined Add
1645             ========================== ========= === === ====== ======= ===
1646             Desc scalar X X X X
1647             URL scalar X X X X
1648             Oob master X X
1649              
1650             =head1 jabber:x:roster
1651              
1652             Name Type Get Set Remove Defined Add
1653             ========================== ========= === === ====== ======= ===
1654             Item child X
1655             Items child X X X
1656             Roster master X X
1657              
1658             =head1 jabber:x:roster - item objects
1659              
1660             Name Type Get Set Remove Defined Add
1661             ========================== ========= === === ====== ======= ===
1662             Ask scalar X X X X
1663             Group array X X X X
1664             JID jid X X X X
1665             Name scalar X X X X
1666             Subscription scalar X X X X
1667             Item master X X
1668              
1669             =head1 jabber:x:signed
1670              
1671             Name Type Get Set Remove Defined Add
1672             ========================== ========= === === ====== ======= ===
1673             Signature scalar X X X X
1674             Signed master X X
1675              
1676              
1677             =cut
1678              
1679             # DOC_END
1680              
1681             =head1 AUTHOR
1682              
1683             Ryan Eatmon
1684              
1685             =head1 COPYRIGHT
1686              
1687             This module is free software; you can redistribute it and/or modify
1688             it under the same terms as Perl itself.
1689              
1690             =cut
1691              
1692 49     49   302 use strict;
  49         96  
  49         2252  
1693 49     49   281 use Carp;
  49         197  
  49         4224  
1694 49     49   286 use Net::XMPP::Stanza;
  49         95  
  49         1157  
1695 49     49   270 use Net::Jabber::Namespaces;
  49         84  
  49         1560  
1696              
1697 49     49   475 use base qw( Net::XMPP::Stanza );
  49         84  
  49         5773  
1698              
1699 49     49   280 use vars qw( $TIMEZONE );
  49         87  
  49         58398  
1700              
1701             if (eval "require Time::Timezone")
1702             {
1703             $TIMEZONE = 1;
1704             Time::Timezone->import(qw(tz_local_offset tz_name));
1705             }
1706             else
1707             {
1708             $TIMEZONE = 0;
1709             }
1710              
1711              
1712             sub _init
1713             {
1714 312     312   1406679 my $self = shift;
1715              
1716 312         1900 my $result = $self->SUPER::_init(@_);
1717              
1718 312 50       305507 if (defined($result))
1719             {
1720 0         0 $result->_CustomSet_init();
1721 0         0 return $result;
1722             }
1723              
1724 312         1257 $self->_CustomSet_init();
1725 312         898 return;
1726             }
1727              
1728 0     0 0 0 sub GetX { my $self = shift; $self->GetChild(@_); }
  0         0  
1729 0     0 0 0 sub DefinedX { my $self = shift; $self->DefinedChild(@_); }
  0         0  
1730 0     0 0 0 sub NewX { my $self = shift; $self->NewChild(@_); }
  0         0  
1731 0     0 0 0 sub AddX { my $self = shift; $self->AddChild(@_); }
  0         0  
1732 0     0 0 0 sub RemoveX { my $self = shift; $self->RemoveChild(@_); }
  0         0  
1733              
1734 0     0 0 0 sub GetQuery { my $self = shift; $self->GetChild(@_); }
  0         0  
1735 0     0 0 0 sub DefinedQuery { my $self = shift; $self->DefinedChild(@_); }
  0         0  
1736 0     0 0 0 sub NewQuery { my $self = shift; $self->NewChild(@_); }
  0         0  
1737 0     0 0 0 sub AddQuery { my $self = shift; $self->AddChild(@_); }
  0         0  
1738 0     0 0 0 sub RemoveQuery { my $self = shift; $self->RemoveChild(@_); }
  0         0  
1739              
1740 53     53   797545 sub _new_jid { my $self = shift; return new Net::Jabber::JID(@_); }
  53         668  
1741 194     194   1902087 sub _new_packet { my $self = shift; return new Net::Jabber::Stanza(@_); }
  194         1182  
1742              
1743              
1744             sub _CustomSet_init
1745             {
1746 312     312   614 my $self = shift;
1747              
1748 312         1486 $self->{CUSTOMSET}->{"time-display"} = \&_CustomSet_timedisplay;
1749 312         1187 $self->{CUSTOMSET}->{"time-tz"} = \&_CustomSet_timetz;
1750 312         1173 $self->{CUSTOMSET}->{"time-utc"} = \&_CustomSet_timeutc;
1751 312         958 $self->{CUSTOMSET}->{"version-os"} = \&_CustomSet_versionos;
1752 312         990 $self->{CUSTOMSET}->{"version-version"} = \&_CustomSet_versionversion;
1753             }
1754              
1755              
1756             sub _CustomSet_timedisplay
1757             {
1758 3     3   20656 my $self = shift;
1759 3         10 my $value = shift;
1760              
1761 3 100       17 return $value if defined($value);
1762 1 50       19 $self->{DATA}->{__netjabbertime__} = time
1763             unless exists($self->{DATA}->{__netjabbertime__});
1764 1         9 return &Net::XMPP::GetTimeStamp("local",$self->{DATA}->{__netjabbertime__});
1765             }
1766              
1767              
1768             sub _CustomSet_timetz
1769             {
1770 3     3   9650 my $self = shift;
1771 3         7 my $value = shift;
1772            
1773 3 50 66     26 if (!defined($value) && ($TIMEZONE == 1))
1774             {
1775 0         0 return uc(&tz_name(&tz_local_offset()))
1776             }
1777 3         12 return $value;
1778             }
1779              
1780              
1781             sub _CustomSet_timeutc
1782             {
1783 3     3   8607 my $self = shift;
1784 3         10 my $value = shift;
1785              
1786 3 100       16 return $value if defined($value);
1787 1 50       8 $self->{DATA}->{__netjabbertime__} = time
1788             unless exists($self->{DATA}->{__netjabbertime__});
1789 1         8 return &Net::XMPP::GetTimeStamp("utc",$self->{DATA}->{__netjabbertime__},"stamp");
1790             }
1791              
1792              
1793             sub _CustomSet_versionos
1794             {
1795 3     3   31140 my $self = shift;
1796 3         8 my $value = shift;
1797              
1798 3         40 return (&POSIX::uname())[0];
1799             }
1800              
1801              
1802             sub _CustomSet_versionversion
1803             {
1804 3     3   10963 my $self = shift;
1805 3         6 my $value = shift;
1806            
1807 3 50       11 if (defined($value))
1808             {
1809 3         12 $value .= " - [ Net::Jabber v$Net::Jabber::VERSION ]";
1810             }
1811             else
1812             {
1813 0         0 $value = "Net::Jabber v$Net::Jabber::VERSION";
1814             }
1815              
1816 3         10 return $value;
1817             }
1818              
1819              
1820             sub GetResults
1821             {
1822 0     0 0   my $self = shift;
1823 0           my %results;
1824 0           foreach my $item ($self->GetItems())
1825             {
1826 0           my %result;
1827 0           my @xData = $item->GetX("jabber:x:data");
1828 0 0         if ($#xData == -1)
1829             {
1830 0           %result = $item->GetItem();
1831             }
1832             else
1833             {
1834 0           foreach my $field ($xData[0]->GetFields())
1835             {
1836 0           $result{$field->GetVar()} = $field->GetValue();
1837             }
1838             }
1839 0           $results{$item->GetJID()} = \%result;
1840             }
1841 0           return %results;
1842             }
1843              
1844             1;