Mercurial > pidgin.yaz
view doc/gtkconv-signals.dox @ 32315:c2fa3a76a0be
Get rid fo purple_strlcpy and purple_strlcat. These are convenience
functions that call g_strlcpy and g_strlcat.
They're only mildly convenient, though. And only used in one place. The
reason I don't like them is that I think it's easy to use them incorrectly.
It's easy to use the functions and not realize that they use sizeof() to
determine the size of the destination buffer. I think it's too easy to
accidentally use these functions with a string on the heap (which wouldn't
work correctly).
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 21 Aug 2011 01:04:31 +0000 |
parents | 0d8061bbfc1d |
children | 02a2e8183b1d |
line wrap: on
line source
/** @page gtkconv-signals GtkConv Signals @signals @signal conversation-dragging @signal conversation-timestamp @signal displaying-im-msg @signal displayed-im-msg @signal displaying-chat-msg @signal displayed-chat-msg @signal conversation-switched @signal conversation-hiding @signal conversation-displayed @endsignals @see gtkconv.h <hr> @signaldef conversation-dragging @signalproto void (*conversation_dragging)(PidginWindow *source, PidginWindow *destination); @endsignalproto @signaldesc Emitted when a conversation is being drag and dropped between windows. @param source The window where the conversation is. @param destination The window where the conversation will be moved to. @endsignaldef @signaldef conversation-timestamp @signalproto char *(*conversation_timestamp)(PurpleConversation *conv, time_t when, gboolean show_date); @endsignalproto @signaldesc Emitted to allow plugins to customize the timestamp on a message. @param conv The conversation the message belongs to. @param when The time to be converted to a string. @param show_date Whether the date should be displayed. @return A textual representation of the time, or @c NULL to use a default format. @endsignaldef @signaldef displaying-im-msg @signalproto gboolean (*displaying_im_msg)(PurpleAccount *account, const char *who, char **message, PurpleConversation *conv, PurpleMessageFlags flags); @endsignalproto @signaldesc Emitted just before a message is displayed in an IM conversation. @a message is a pointer to a string, so the plugin can replace the message that will be displayed. This can also be used to cancel displaying a message by returning @c TRUE. @note Make sure to free @a *message before you replace it! @param account The account. @param who The name of the user. @param message A pointer to the message. @param conv The conversation. @param flags Flags for this message. @return @c TRUE if the message should be canceled, or @c FALSE otherwise. @endsignaldef @signaldef displayed-im-msg @signalproto void (*displayed_im_msg)(PurpleAccount *account, const char *who, char *message, PurpleConversation *conv, PurpleMessageFlags flags); @endsignalproto @signaldesc Emitted after a message is displayed in an IM conversation. @param account The account. @param who The name of the user. @param message The message. @param conv The conversation. @param flags Flags for this message. @endsignaldef @signaldef displaying-chat-msg @signalproto gboolean (*displaying_chat_msg)(PurpleAccount *account, const char *who, char **message, PurpleConversation *conv, PurpleMessageFlags flags); @endsignalproto @signaldesc Emitted just before a message is displayed in a chat. @a message is a pointer to a string, so the plugin can replace the message that will be displayed. This can also be used to cancel displaying a message by returning @c TRUE. @note Make sure to free @a *message before you replace it! @param account The account the message is being displayed and sent on. @param who The name of the user. @param message A pointer to the message that will be displayed and sent. @param conv The conversation the message is being displayed and sent on. @param flags Flags for this message. @return @c TRUE if the message should be canceled, or @c FALSE otherwise. @endsignaldef @signaldef displayed-chat-msg @signalproto void (*displayed_chat_msg)(PurpleAccount *account, const char *who, char *message, PurpleConversation *conv, PurpleMessageFlags flags); @endsignalproto @signaldesc Emitted after a message is displayed in a chat conversation. @param account The account the message is being displayed and sent on. @param who The name of the user. @param message A pointer to the message that will be displayed and sent. @param conv The conversation the message is being displayed and sent on. @param flags Flags for this message. @endsignaldef @signaldef conversation-switched @signalproto void (*conversation_switched)(PurpleConversation *conv); @endsignalproto @signaldesc Emitted when a window switched from one conversation to another. @param new_conv The now active conversation. @endsignaldef @signaldef conversation-hiding @signalproto void (*conversation_hiding)(PidginConversation *gtkconv); @endsignalproto @signaldesc Emitted immediately before an existing conversation is hidden. @param gtkconv The PidginConversation @since 2.2.0 @endsignaldef @signaldef conversation-displayed @signalproto void (*conversation_displayed)(PidginConversation *gtkconv); @endsignalproto @signaldesc Emitted right after the Pidgin UI is attached to a new or a hidden conversation. @param gtkconv The PidginConversation @since 2.2.0 @endsignaldef */ // vim: syntax=c.doxygen tw=75 et