comparison doc/jabber-signals.dox @ 28146:76a689608a83

Document the jabber signals, since I promised a while ago I would.
author Paul Aurich <paul@darkrain42.org>
date Mon, 03 Aug 2009 06:33:17 +0000
parents
children 3a52cc5eb30a
comparison
equal deleted inserted replaced
28143:8f455bd3e143 28146:76a689608a83
1 /** @page jabber-signals Jabber Signals
2
3 @signals
4 @signal jabber-receiving-iq
5 @signal jabber-receiving-message
6 @signal jabber-receiving-presence
7 @signal jabber-watched-iq
8 @signal jabber-register-namespace-watcher
9 @signal jabber-unregister-namespace-watcher
10 @signal jabber-sending-xmlnode
11 @endsignals
12
13 <hr>
14
15 @signaldef jabber-receiving-iq
16 @signalproto
17 gboolean (*iq_received)(PurpleConnection *gc, const char *type, const char *id,
18 const char *from, xmlnode *iq);
19 @endsignalproto
20 @signaldesc
21 Emitted when an XMPP IQ stanza is received. Allows a plugin to process IQ
22 stanzas.
23 @param gc The connection on which the stanza is received
24 @param type The IQ type ('get', 'set', 'result', or 'error')
25 @param id The ID attribute from the stanza. MUST NOT be NULL.
26 @param from The originator of the stanza. MAY BE NULL if the stanza
27 originated from the user's server.
28 @param iq The full stanza received.
29 @return TRUE if the plugin processed this stanza and *nobody else* should
30 process it. FALSE otherwise.
31 @endsignaldef
32
33 @signaldef jabber-receiving-message
34 @signalproto
35 gboolean (*message_received)(PurpleConnection *gc, const char *type,
36 const char *id, const char *from, const char *to,
37 xmlnode *message);
38 @endsignalproto
39 @signaldesc
40 Emitted when an XMPP message stanza is received. Allows a plugin to
41 process message stanzas.
42 @param gc The connection on which the stanza is received
43 @param type The message type (see rfc3921 or rfc3921bis)
44 @param id The ID attribute from the stanza. MAY BE NULL.
45 @param from The originator of the stanza. MAY BE NULL if the stanza
46 originated from the user's server.
47 @param to The destination of the stanza. This is probably either the
48 full JID of the receiver or the receiver's bare JID.
49 @param message The full stanza received.
50 @return TRUE if the plugin processed this stanza and *nobody else* should
51 process it. FALSE otherwise.
52 @endsignaldef
53
54 @signaldef jabber-receiving-presence
55 @signalproto
56 gboolean (*presence_received)(PurpleConnection *gc, const char *type,
57 const char *from, xmlnode *presence);
58 @endsignalproto
59 @signaldesc
60 Emitted when an XMPP presence stanza is received. Allows a plugin to process
61 presence stanzas.
62 @param gc The connection on which the stanza is received
63 @param type The presence type (see rfc3921 or rfc3921bis). NULL indicates
64 this is an "available" (i.e. online) presence.
65 @param from The originator of the stanza. MAY BE NULL if the stanza
66 originated from the user's server.
67 @param presence The full stanza received.
68 @return TRUE if the plugin processed this stanza and *nobody else* should
69 process it. FALSE otherwise.
70 @endsignaldef
71
72 @signaldef jabber-watched-iq
73 @signalproto
74 gboolean (*watched_iq)(PurpleConnection *pc, const char *type, const char *id,
75 const char *from, xmlnode *child);
76 @endsignalproto
77 @signaldesc
78 Emitted when an IQ with a watched (child, namespace) pair is received. See
79 jabber-register-namespace-watcher and jabber-unregister-namespace-watcher.
80 @param gc The connection on which the stanza is received
81 @param type The IQ type ('get', 'set', 'result', or 'error')
82 @param id The ID attribute from the stanza. MUST NOT be NULL.
83 @param from The originator of the stanza. MAY BE NULL if the stanza
84 originated from the user's server.
85 @param child The child node with namespace.
86 @return TRUE if the plugin processed this stanza and *nobody else* should
87 process it. FALSE otherwise.
88 @endsignaldef
89
90 @signaldef jabber-sending-xmlnode
91 @signalproto
92 void (sending_xmlnode)(PurpleConnection *gc, xmlnode **stanza);
93 @endsignalproto
94 @signaldesc
95 Emit this signal (@c purple_signal_emit) to send a stanza. It is preferred
96 to use this instead of prpl_info->send_raw.
97 @param gc The connectoin on which to send the stanza.
98 @param stanza The stanza to send. If stanza is not NULL after being sent,
99 the emitter should free it.
100 @endsignaldef
101
102 @signaldef jabber-register-namespace-watcher
103 @signalproto
104 void (register_namespace_watcher)(const char *node, const char *namespace);
105 @endsignalproto
106 @signaldesc
107 Emit this signal to register your desire to have specific IQ stanzas to be
108 emitted via the jabber-watched-iq signal when received.
109 @param node The IQ child name to longer watch.
110 @param namespace The IQ child namespace to longer watch.
111 @endsignaldef
112
113 @signaldef jabber-unregister-namespace-watcher
114 @signalproto
115 void (unregister_namespace_watcher)(const char *node, const char *namespace);
116 @endsignalproto
117 @signaldesc
118 Emit this signal to unregister your desire to have specific IQ stanzas to be
119 emitted via the jabber-watched-iq signal when received.
120 @param node The IQ child name to no longer watch.
121 @param namespace The IQ child namespace to no longer watch.
122 @endsignaldef
123
124 */
125 // vim: syntax=c.doxygen tw=75 et