<?xml version='1.0' encoding="ISO-8859-1"?> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ <chapter id="chapter-signals-jabber"> <title>Jabber
signals
</title> <refsect1 id="jabber.signals" role="signal_proto"> <title role="signal_proto.title">List
of
signals
</title> "<link linkend="jabber-jabber-receiving-iq">jabber-receiving-iq
</link>" "<link linkend="jabber-jabber-receiving-message">jabber-receiving-message
</link>" "<link linkend="jabber-jabber-receiving-presence">jabber-receiving-presence
</link>" "<link linkend="jabber-jabber-watched-iq">jabber-watched-iq
</link>" "<link linkend="jabber-jabber-register-namespace-watcher">jabber-register-namespace-watcher
</link>" "<link linkend="jabber-jabber-unregister-namespace-watcher">jabber-unregister-namespace-watcher
</link>" "<link linkend="jabber-jabber-sending-xmlnode">jabber-sending-xmlnode
</link>" "<link linkend="jabber-jabber-receiving-xmlnode">jabber-receiving-xmlnode
</link>" <refsect1 id="jabber.signal-details" role="signals"> <title role="signals.title">Signal
details
</title> <refsect2 id="jabber-jabber-receiving-iq" role="signal"> <title>The
<literal>"jabber-receiving-iq
"</literal> signal
</title> gboolean
user_function
(PurpleConnection
*gc,
Emitted
when
an
XMPP
IQ
stanza
is
received.
Allows
a
plugin
to
process
IQ
stanzas.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
the
stanza
is
received.
</simpara></listitem> <term><parameter>type
</parameter> :
</term> <listitem><simpara>The
IQ
type
('get',
'set',
'result',
or
'error').
</simpara></listitem> <term><parameter>id
</parameter> :
</term> <listitem><simpara>The
ID
attribute
from
the
stanza.
MUST
NOT
be
NULL.
</simpara></listitem> <term><parameter>from
</parameter> :
</term> <listitem><simpara>The
originator
of
the
stanza.
MAY
BE
NULL
if
the
stanza
originated
from
the
user's
server.
</simpara></listitem> <term><parameter>iq
</parameter> :
</term> <listitem><simpara>The
full
stanza
received.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <term><emphasis>Returns
</emphasis> :
</term> <listitem><simpara>TRUE
if
the
plugin
processed
this
stanza
and
*nobody
else*
should
process
it.
FALSE
otherwise.
</simpara></listitem> <refsect2 id="jabber-jabber-receiving-message" role="signal"> <title>The
<literal>"jabber-receiving-message
"</literal> signal
</title> gboolean
user_function
(PurpleConnection
*gc,
Emitted
when
an
XMPP
message
stanza
is
received.
Allows
a
plugin
to
process
message
stanzas.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
the
stanza
is
received.
</simpara></listitem> <term><parameter>type
</parameter> :
</term> <listitem><simpara>The
message
type
(see
rfc3921
or
rfc3921bis).
</simpara></listitem> <term><parameter>id
</parameter> :
</term> <listitem><simpara>The
ID
attribute
from
the
stanza.
MAY
BE
NULL.
</simpara></listitem> <term><parameter>from
</parameter> :
</term> <listitem><simpara>The
originator
of
the
stanza.
MAY
BE
NULL
if
the
stanza
originated
from
the
user's
server.
</simpara></listitem> <term><parameter>to
</parameter> :
</term> <listitem><simpara>The
destination
of
the
stanza.
This
is
probably
either
the
full
JID
of
the
receiver
or
the
receiver's
bare
JID.
</simpara></listitem> <term><parameter>message
</parameter> :
</term> <listitem><simpara>The
full
stanza
received.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <term><emphasis>Returns
</emphasis> :
</term> <listitem><simpara>TRUE
if
the
plugin
processed
this
stanza
and
*nobody
else*
should
process
it.
FALSE
otherwise.
</simpara></listitem> <refsect2 id="jabber-jabber-receiving-presence" role="signal"> <title>The
<literal>"jabber-receiving-presence
"</literal> signal
</title> gboolean
user_function
(PurpleConnection
*gc,
Emitted
when
an
XMPP
presence
stanza
is
received.
Allows
a
plugin
to
process
presence
stanzas.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
the
stanza
is
received.
</simpara></listitem> <term><parameter>type
</parameter> :
</term> <listitem><simpara>The
presence
type
(see
rfc3921
or
rfc3921bis).
NULL
indicates
this
is
an
"available"
(i.e.
online)
presence.
</simpara></listitem> <term><parameter>from
</parameter> :
</term> <listitem><simpara>The
originator
of
the
stanza.
MAY
BE
NULL
if
the
stanza
originated
from
the
user's
server.
</simpara></listitem> <term><parameter>presence
</parameter> :
</term> <listitem><simpara>The
full
stanza
received.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <term><emphasis>Returns
</emphasis> :
</term> <listitem><simpara>TRUE
if
the
plugin
processed
this
stanza
and
*nobody
else*
should
process
it.
FALSE
otherwise.
</simpara></listitem> <refsect2 id="jabber-jabber-watched-iq" role="signal"> <title>The
<literal>"jabber-watched-iq
"</literal> signal
</title> gboolean
user_function
(PurpleConnection
*gc,
Emitted
when
an
IQ
with
a
watched
(child,
namespace)
pair
is
received.
See
jabber-register-namespace-watcher
and
jabber-unregister-namespace-watcher.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
the
stanza
is
received.
</simpara></listitem> <term><parameter>type
</parameter> :
</term> <listitem><simpara>The
IQ
type
('get',
'set',
'result',
or
'error').
</simpara></listitem> <term><parameter>id
</parameter> :
</term> <listitem><simpara>The
ID
attribute
from
the
stanza.
MUST
NOT
be
NULL.
</simpara></listitem> <term><parameter>from
</parameter> :
</term> <listitem><simpara>The
originator
of
the
stanza.
MAY
BE
NULL
if
the
stanza
originated
from
the
user's
server.
</simpara></listitem> <term><parameter>child
</parameter> :
</term> <listitem><simpara>The
child
node
with
namespace.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <term><emphasis>Returns
</emphasis> :
</term> <listitem><simpara>TRUE
if
the
plugin
processed
this
stanza
and
*nobody
else*
should
process
it.
FALSE
otherwise.
</simpara></listitem> <refsect2 id="jabber-jabber-register-namespace-watcher" role="signal"> <title>The
<literal>"jabber-register-namespace-watcher
"</literal> signal
</title> void
user_function
(const
char
*node,
Emit
this
signal
to
register
your
desire
to
have
specific
IQ
stanzas
to
be
emitted
via
the
jabber-watched-iq
signal
when
received.
<variablelist role="params"> <term><parameter>node
</parameter> :
</term> <listitem><simpara>The
IQ
child
name
to
longer
watch.
</simpara></listitem> <term><parameter>namespace
</parameter> :
</term> <listitem><simpara>The
IQ
child
namespace
to
longer
watch.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <refsect2 id="jabber-jabber-unregister-namespace-watcher" role="signal"> <title>The
<literal>"jabber-unregister-namespace-watcher
"</literal> signal
</title> void
user_function
(const
char
*node,
Emit
this
signal
to
unregister
your
desire
to
have
specific
IQ
stanzas
to
be
emitted
via
the
jabber-watched-iq
signal
when
received.
<variablelist role="params"> <term><parameter>node
</parameter> :
</term> <listitem><simpara>The
IQ
child
name
to
no
longer
watch.
</simpara></listitem> <term><parameter>namespace
</parameter> :
</term> <listitem><simpara>The
IQ
child
namespace
to
no
longer
watch.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <refsect2 id="jabber-jabber-sending-xmlnode" role="signal"> <title>The
<literal>"jabber-sending-xmlnode
"</literal> signal
</title> void
user_function
(PurpleConnection
*gc,
Emit
this
signal
(
<literal>purple_signal_emit
</literal>)
to
send
a
stanza.
It
is
preferred
to
use
this
instead
of
purple_protocol_server_iface_send_raw.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
to
send
the
stanza.
</simpara></listitem> <term><parameter>stanza
</parameter> :
</term> <listitem><simpara>The
stanza
to
send.
If
stanza
is
not
NULL
after
being
sent,
the
emitter
should
free
it.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem> <refsect2 id="jabber-jabber-receiving-xmlnode" role="signal"> <title>The
<literal>"jabber-receiving-xmlnode
"</literal> signal
</title> void
user_function
(PurpleConnection
*gc,
Emitted
when
an
XMPP
stanza
is
received.
Allows
a
plugin
to
process
any
stanza.
<variablelist role="params"> <term><parameter>gc
</parameter> :
</term> <listitem><simpara>The
connection
on
which
the
stanza
was
received.
</simpara></listitem> <term><parameter>stanza
</parameter> :
</term> <listitem><simpara>The
received
stanza.
Set
stanza
to
NULL
(and
free
it)
to
stop
processing
the
stanza.
</simpara></listitem> <term><parameter>user_data
</parameter> :
</term> <listitem><simpara>user
data
set
when
the
signal
handler
was
connected.
</simpara></listitem>