doc/jabber-signals.dox

Fri, 06 Dec 2013 01:06:45 -0800

author
Mark Doliner <mark@kingant.net>
date
Fri, 06 Dec 2013 01:06:45 -0800
changeset 35105
ed127ccd9b9f
parent 34959
50b5a20e3595
child 36788
7ee6ea4e0d1b
permissions
-rw-r--r--

Remove the "existing window" option for where to open URLs.

This was kind of a dumb option. I mean, who would want that?
We didn't support it in Chrome. We attempted to support it in
Firefox, Netscape and Opera.

It actually caused my Pidgin to hang when I tested it with Firefox.
I'm sure it's fixable, but who cares? Here's the stacktrace, for the
curious:
#0 0x00007f5c461a8fbd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f5c470be1dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f5c470be6ba in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f5c470ffe41 in g_spawn_sync () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f5c471002b8 in g_spawn_command_line_sync () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00000000004ae804 in uri_command (command=0x203e760 "firefox -a firefox -remote openURL('http://www.yahoo.com/')",
sync=1) at gtknotify.c:1270

/** @page jabber-signals Jabber Signals

 @signals
  @signal jabber-receiving-iq
  @signal jabber-receiving-message
  @signal jabber-receiving-presence
  @signal jabber-watched-iq
  @signal jabber-register-namespace-watcher
  @signal jabber-unregister-namespace-watcher
  @signal jabber-sending-xmlnode
  @signal jabber-receiving-xmlnode
 @endsignals

 <hr>

 @signaldef jabber-receiving-iq
  @signalproto
gboolean (*iq_received)(PurpleConnection *gc, const char *type, const char *id,
                     const char *from, PurpleXmlNode *iq);
  @endsignalproto
  @signaldesc
   Emitted when an XMPP IQ stanza is received. Allows a plugin to process IQ
   stanzas.
  @param gc        The connection on which the stanza is received
  @param type      The IQ type ('get', 'set', 'result', or 'error')
  @param id        The ID attribute from the stanza. MUST NOT be NULL.
  @param from      The originator of the stanza. MAY BE NULL if the stanza
                   originated from the user's server.
  @param iq        The full stanza received.
  @return TRUE if the plugin processed this stanza and *nobody else* should
          process it. FALSE otherwise.
 @endsignaldef

 @signaldef jabber-receiving-message
  @signalproto
gboolean (*message_received)(PurpleConnection *gc, const char *type,
                              const char *id, const char *from, const char *to,
                              PurpleXmlNode *message);
  @endsignalproto
  @signaldesc
   Emitted when an XMPP message stanza is received. Allows a plugin to
   process message stanzas.
  @param gc        The connection on which the stanza is received
  @param type      The message type (see rfc3921 or rfc3921bis)
  @param id        The ID attribute from the stanza. MAY BE NULL.
  @param from      The originator of the stanza. MAY BE NULL if the stanza
                   originated from the user's server.
  @param to        The destination of the stanza. This is probably either the
                   full JID of the receiver or the receiver's bare JID.
  @param message   The full stanza received.
  @return TRUE if the plugin processed this stanza and *nobody else* should
          process it. FALSE otherwise.
 @endsignaldef

 @signaldef jabber-receiving-presence
  @signalproto
gboolean (*presence_received)(PurpleConnection *gc, const char *type,
                               const char *from, PurpleXmlNode *presence);
  @endsignalproto
  @signaldesc
   Emitted when an XMPP presence stanza is received. Allows a plugin to process
   presence stanzas.
  @param gc        The connection on which the stanza is received
  @param type      The presence type (see rfc3921 or rfc3921bis). NULL indicates
                   this is an "available" (i.e. online) presence.
  @param from      The originator of the stanza. MAY BE NULL if the stanza
                   originated from the user's server.
  @param presence  The full stanza received.
  @return TRUE if the plugin processed this stanza and *nobody else* should
          process it. FALSE otherwise.
 @endsignaldef

 @signaldef jabber-watched-iq
  @signalproto
gboolean (*watched_iq)(PurpleConnection *gc, const char *type, const char *id,
                       const char *from, PurpleXmlNode *child);
  @endsignalproto
  @signaldesc
   Emitted when an IQ with a watched (child, namespace) pair is received.  See
   jabber-register-namespace-watcher and jabber-unregister-namespace-watcher.
  @param gc        The connection on which the stanza is received
  @param type      The IQ type ('get', 'set', 'result', or 'error')
  @param id        The ID attribute from the stanza. MUST NOT be NULL.
  @param from      The originator of the stanza. MAY BE NULL if the stanza
                   originated from the user's server.
  @param child     The child node with namespace.
  @return TRUE if the plugin processed this stanza and *nobody else* should
          process it. FALSE otherwise.
 @endsignaldef

 @signaldef jabber-register-namespace-watcher
  @signalproto
void (register_namespace_watcher)(const char *node, const char *namespace);
  @endsignalproto
  @signaldesc
   Emit this signal to register your desire to have specific IQ stanzas to be
   emitted via the jabber-watched-iq signal when received.
  @param node      The IQ child name to longer watch.
  @param namespace The IQ child namespace to longer watch.
 @endsignaldef

 @signaldef jabber-unregister-namespace-watcher
  @signalproto
void (unregister_namespace_watcher)(const char *node, const char *namespace);
  @endsignalproto
  @signaldesc
   Emit this signal to unregister your desire to have specific IQ stanzas to be
   emitted via the jabber-watched-iq signal when received.
  @param node      The IQ child name to no longer watch.
  @param namespace The IQ child namespace to no longer watch.
 @endsignaldef

 @signaldef jabber-sending-xmlnode
  @signalproto
void (sending_xmlnode)(PurpleConnection *gc, PurpleXmlNode **stanza);
  @endsignalproto
  @signaldesc
   Emit this signal (@c purple_signal_emit) to send a stanza. It is preferred
   to use this instead of prpl_info->send_raw.
   @param gc      The connection on which to send the stanza.
   @param stanza  The stanza to send. If stanza is not NULL after being sent,
                  the emitter should free it.
 @endsignaldef

 @signaldef jabber-receiving-xmlnode
  @signalproto
void (receiving_xmlnode)(PurpleConnection *gc, PurpleXmlNode **stanza);
  @endsignalproto
  @signaldesc
   Emitted when an XMPP stanza is received. Allows a plugin to process any
   stanza.
   @param gc     The connection on which the stanza was received.
   @param stanza The received stanza. Set stanza to NULL (and free it) to
                 stop processing the stanza.
 @endsignaldef

*/
// vim: syntax=c.doxygen tw=75 et

mercurial