Mercurial > pidgin
view libpurple/plugins/perl/perl-handlers.h @ 17576:d495103dcf88
Two questions:
1. XMPP <status> messages inside <presence> broadcasts should be
plaintext and not HTML, right?
2. 'stripped = purple_markup_strip_html(str)' is basically the same as
'purple_markup_html_to_xhtml(str, NULL, &stripped)', right?
This fixes a bug Emily found where setting an XMPP status message with
an embedded link would drop the link completely. For example, in
Pidgin you set your away message and insert a link so that the message
body is <a href="http://www.example.com/">Example</a>. When we set
this message for an XMPP account it just strips the HTML and sets the
message to "Example". This change causes the message to be
"Example (http://www.example.com/)". It's the same thing we do when
displaying links in tooltips in the blist.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 10 Jun 2007 15:58:23 +0000 |
parents | 32c366eeeb99 |
children | 870a580e8fde |
line wrap: on
line source
#ifndef _PURPLE_PERL_HANDLERS_H_ #define _PURPLE_PERL_HANDLERS_H_ #include "cmds.h" #include "plugin.h" #include "prefs.h" #include "pluginpref.h" #ifdef PURPLE_GTKPERL #include "gtkplugin.h" #include "gtkutils.h" #endif typedef struct { PurpleCmdId id; SV *callback; SV *data; char *prpl_id; char *cmd; PurplePlugin *plugin; } PurplePerlCmdHandler; typedef struct { SV *callback; SV *data; PurplePlugin *plugin; int iotag; } PurplePerlTimeoutHandler; typedef struct { char *signal; SV *callback; SV *data; void *instance; PurplePlugin *plugin; } PurplePerlSignalHandler; void purple_perl_plugin_action_cb(PurplePluginAction * gpa); GList *purple_perl_plugin_actions(PurplePlugin *plugin, gpointer context); PurplePluginPrefFrame *purple_perl_get_plugin_frame(PurplePlugin *plugin); #ifdef PURPLE_GTKPERL GtkWidget *purple_perl_gtk_get_plugin_frame(PurplePlugin *plugin); #endif void purple_perl_timeout_add(PurplePlugin *plugin, int seconds, SV *callback, SV *data); void purple_perl_timeout_clear_for_plugin(PurplePlugin *plugin); void purple_perl_timeout_clear(void); void purple_perl_signal_connect(PurplePlugin *plugin, void *instance, const char *signal, SV *callback, SV *data, int priority); void purple_perl_signal_disconnect(PurplePlugin *plugin, void *instance, const char *signal); void purple_perl_signal_clear_for_plugin(PurplePlugin *plugin); void purple_perl_signal_clear(void); PurpleCmdId purple_perl_cmd_register(PurplePlugin *plugin, const gchar *cmd, const gchar *args, PurpleCmdPriority priority, PurpleCmdFlag flag, const gchar *prpl_id, SV *callback, const gchar *helpstr, SV *data); void purple_perl_cmd_unregister(PurpleCmdId id); void purple_perl_cmd_clear_for_plugin(PurplePlugin *plugin); #endif /* _PURPLE_PERL_HANDLERS_H_ */