doc/reference/libpurple/conversation-signals.dox

branch
soc.2013.gobjectification.plugins
changeset 36900
423fbe5e5289
parent 35002
0b7f4cacdf8e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/reference/libpurple/conversation-signals.dox	Sun Oct 13 15:41:22 2013 +0530
@@ -0,0 +1,515 @@
+/** @page conversation-signals Conversation Signals
+
+ @signals
+  @signal writing-im-msg
+  @signal wrote-im-msg
+  @signal sending-im-msg
+  @signal sent-im-msg
+  @signal receiving-im-msg
+  @signal received-im-msg
+  @signal blocked-im-msg
+  @signal writing-chat-msg
+  @signal wrote-chat-msg
+  @signal sending-chat-msg
+  @signal sent-chat-msg
+  @signal receiving-chat-msg
+  @signal received-chat-msg
+  @signal conversation-created
+  @signal conversation-updated
+  @signal deleting-conversation
+  @signal buddy-typing
+  @signal buddy-typing-stopped
+  @signal chat-user-joining
+  @signal chat-user-joined
+  @signal chat-user-flags
+  @signal chat-user-leaving
+  @signal chat-user-left
+  @signal chat-inviting-user
+  @signal chat-invited-user
+  @signal chat-invited
+  @signal chat-invite-blocked
+  @signal chat-joined
+  @signal chat-join-failed
+  @signal chat-left
+  @signal chat-topic-changed
+  @signal cleared-message-history
+  @signal conversation-extended-menu
+  @signal sent-attention
+  @signal got-attention
+ @endsignals
+
+ @see conversation.h
+
+ @signaldef writing-im-msg
+  @signalproto
+gboolean (*writing_im_msg)(PurpleAccount *account, const char *who,
+                           char **message, PurpleIMConversation *im,
+                           PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted before a message is written in an IM conversation. If the
+   message is changed, then the changed message is displayed and logged
+   instead of the original message.
+  @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 im      The IM conversation.
+  @param flags   Flags for this message.
+  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
+ @endsignaldef
+
+ @signaldef wrote-im-msg
+  @signalproto
+void (*wrote_im_msg)(PurpleAccount *account, const char *who,
+                     char *message, PurpleIMConversation *im,
+                     PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted after a message is written and possibly displayed in a conversation.
+  @param account The account.
+  @param who     The name of the user.
+  @param message The message.
+  @param im      The IM conversation.
+  @param flags   Flags for this message.
+ @endsignaldef
+
+ @signaldef sending-im-msg
+  @signalproto
+void (*sending_im_msg)(PurpleAccount *account, const char *receiver,
+                       char **message);
+  @endsignalproto
+  @signaldesc
+   Emitted before sending an IM to a user. @a message is a pointer to the
+   message string, so the plugin can replace the message before being sent.
+  @note
+   Make sure to free @a *message before you replace it!
+  @param account  The account the message is being sent on.
+  @param receiver The username of the receiver.
+  @param message  A pointer to the outgoing message. This can be modified.
+ @endsignaldef
+
+ @signaldef sent-im-msg
+  @signalproto
+void (*sent_im_msg)(PurpleAccount *account, const char *receiver,
+                    const char *message);
+  @endsignalproto
+  @signaldesc
+   Emitted after sending an IM to a user.
+  @param account  The account the message was sent on.
+  @param receiver The username of the receiver.
+  @param message  The message that was sent.
+ @endsignaldef
+
+ @signaldef receiving-im-msg
+  @signalproto
+gboolean (*receiving_im_msg)(PurpleAccount *account, char **sender,
+                             char **message, PurpleIMConversation *im,
+                             PurpleMessageFlags *flags);
+  @endsignalproto
+  @signaldesc
+   Emitted when an IM is received. The callback can replace the name of the
+   sender, the message, or the flags by modifying the pointer to the
+   strings and integer. This can also be used to cancel a message by
+   returning @c TRUE.
+  @note
+   Make sure to free @a *sender and @a *message before you replace them!
+  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
+  @param account The account the message was received on.
+  @param sender  A pointer to the username of the sender.
+  @param message A pointer to the message that was sent.
+  @param im      The IM conversation.
+  @param flags   A pointer to the IM message flags.
+ @endsignaldef
+
+ @signaldef received-im-msg
+  @signalproto
+void (*received_im_msg)(PurpleAccount *account, char *sender, char *message,
+                        PurpleIMConversation *im, PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted after an IM is received.
+  @param account The account the message was received on.
+  @param sender  The username of the sender.
+  @param message The message that was sent.
+  @param im      The IM conversation.
+  @param flags   The IM message flags.
+ @endsignaldef
+
+ @signaldef blocked-im-msg
+  @signalproto
+void (*blocked_im_msg)(PurpleAccount *account, const char *sender,
+        const char *message, PurpleMessageFlags flags, time_t when);
+  @endsignalproto
+  @signaldesc
+   Emitted after an IM is blocked due to privacy settings.
+  @param account The account the message was received on.
+  @param sender  The username of the sender.
+  @param message The message that was blocked.
+  @param flags   The IM message flags.
+  @param when    The time the message was sent.
+ @endsignaldef
+
+ @signaldef writing-chat-msg
+  @signalproto
+gboolean (*writing_chat_msg)(PurpleAccount *account, const char *who,
+                             char **message, PurpleChatConversation *chat,
+                             PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted before a message is written in a chat conversation. If the
+   message is changed, then the changed message is displayed and logged
+   instead of the original message.
+  @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 chat    The chat conversation.
+  @param flags   Flags for this message.
+  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
+ @endsignaldef
+
+ @signaldef wrote-chat-msg
+  @signalproto
+void (*wrote_chat_msg)(PurpleAccount *account, const char *who,
+                       char *message, PurpleChatConversation *chat,
+                       PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted after a message is written and possibly displayed in a chat.
+  @param account The account.
+  @param who     The name of the user.
+  @param message The message.
+  @param chat    The chat conversation.
+  @param flags   Flags for this message.
+ @endsignaldef
+
+ @signaldef sending-chat-msg
+  @signalproto
+void (*sending_chat_msg)(PurpleAccount *account, char **message, int id);
+  @endsignalproto
+  @signaldesc
+   Emitted before sending a message to a chat. @a message is a pointer to the
+   message string, so the plugin can replace the message before being sent.
+  @note
+   Make sure to free @a *message before you replace it!
+  @param account The account the message is being sent on.
+  @param message A pointer to the message that will be sent.
+  @param id      The ID of the chat.
+ @endsignaldef
+
+ @signaldef sent-chat-msg
+  @signalproto
+void (*sent_chat_msg)(PurpleAccount *account, const char *message, int id);
+  @endsignalproto
+  @signaldesc
+   Emitted after sending a message to a chat.
+  @param account The account the message was sent on.
+  @param message The message that was sent.
+  @param id      The ID of the chat.
+ @endsignaldef
+
+ @signaldef receiving-chat-msg
+  @signalproto
+gboolean (*receiving_chat_msg)(PurpleAccount *account, char **sender,
+                      char **message, PurpleChatConversation *chat, int *flags);
+  @endsignalproto
+  @signaldesc
+   Emitted when a chat message is received. The callback can replace the
+   name of the sender, the message, or the flags by modifying the pointer to the
+   strings. This can also be used to cancel displaying a message by
+   returning @c TRUE.
+  @note
+   Make sure to free @a *sender and @a *message before you replace them!
+  @return @c TRUE if the message should be canceled, or @c FALSE otherwise.
+  @param account The account the message was received on.
+  @param sender  A pointer to the username of the sender.
+  @param message A pointer to the message that was sent.
+  @param chat    The chat conversation.
+  @param flags   A pointer to the chat message flags
+ @endsignaldef
+
+ @signaldef received-chat-msg
+  @signalproto
+void (*received_chat_msg)(PurpleAccount *account, char *sender, char *message,
+                        PurpleChatConversation *chat, PurpleMessageFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted after a chat message is received.
+  @param account The account the message was received on.
+  @param sender  The username of the sender.
+  @param message The message that was sent.
+  @param chat    The chat conversation.
+  @param flags   The chat message flags.
+ @endsignaldef
+
+ @signaldef conversation-created
+  @signalproto
+void (*conversation_created)(PurpleConversation *conv);
+  @endsignalproto
+  @signaldesc
+   Emitted when a new conversation is created.
+  @param conv The new conversation.
+ @endsignaldef
+
+ @signaldef conversation-updated
+  @signalproto
+void (*conversation_updated)(PurpleConversation *conv, 
+                             PurpleConvUpdateType type);
+  @endsignalproto
+  @signaldesc
+   Emitted when a conversation is updated.
+  @param conv The conversation that was updated.
+  @param type The type of update that was made.
+ @endsignaldef
+
+ @signaldef deleting-conversation
+  @signalproto
+void (*deleting_conversation)(PurpleConversation *conv);
+  @endsignalproto
+  @signaldesc
+   Emitted just before a conversation is to be destroyed.
+  @param conv The conversation that's about to be destroyed.
+ @endsignaldef
+
+ @signaldef buddy-typing
+  @signalproto
+void (*buddy_typing)(PurpleAccount *account, const char *name);
+  @endsignalproto
+  @signaldesc
+   Emitted when a buddy starts typing in a conversation window.
+  @param account The account of the user which is typing.
+  @param name    The name of the user which is typing.
+ @endsignaldef
+
+ @signaldef buddy-typing-stopped
+  @signalproto
+void (*buddy_typing_stopped)(PurpleAccount *account, const char *name);
+  @endsignalproto
+  @signaldesc
+   Emitted when a buddy stops typing in a conversation window.
+  @param account The account of the user which stopped typing.
+  @param name    The name of the user which stopped typing.
+ @endsignaldef
+
+ @signaldef chat-user-joining
+  @signalproto
+gboolean (*chat_user_joining)(PurpleChatConversation *chat, const char *name,
+                           PurpleChatUserFlags flags);
+  @endsignalproto
+  @signaldesc
+   Emitted when a buddy is joining a chat, before the list of
+   users in the chat updates to include the new user.
+  @return @c TRUE if the join should be hidden, or @c FALSE otherwise.
+  @param chat The chat conversation.
+  @param name The name of the user that is joining the conversation.
+  @param flags The flags of the user that is joining the conversation.
+ @endsignaldef
+
+ @signaldef chat-user-joined
+  @signalproto
+void (*chat_user_joined)(PurpleChatConversation *chat, const char *name,
+                          PurpleChatUserFlags flags,
+                          gboolean new_arrival);
+  @endsignalproto
+  @signaldesc
+   Emitted when a buddy joined a chat, after the users list is updated.
+  @param chat The chat conversation.
+  @param name The name of the user that has joined the conversation.
+  @param flags The flags of the user that has joined the conversation.
+  @param new_arrival If the buddy is a new arrival.
+ @endsignaldef
+
+ @signaldef chat-join-failed
+  @signalproto
+void (*chat_join_failed)(PurpleConnection *gc, GHashTable *components);
+  @endsignalproto
+  @signaldesc
+   Emitted when an account fails to join a chat room
+  @param gc The PurpleConnection of the account which failed to join the chat.
+  @param data    The components passed to serv_join_chat() originally.
+                 The hash function should be g_str_hash() and the equal
+                 function should be g_str_equal().
+ @endsignaldef
+
+ @signaldef chat-user-flags
+  @signalproto
+void (*chat_user_flags)(PurpleChatUser *chatuser,
+                         PurpleChatUserFlags oldflags,
+                         PurpleChatUserFlags newflags);
+  @endsignalproto
+  @signaldesc
+   Emitted when a user in a chat changes flags.
+  @param chatuser The chat user whose flags changed.
+  @param oldflags The old flags.
+  @param newflags The new flags.
+ @endsignaldef
+
+ @signaldef chat-user-leaving
+  @signalproto
+gboolean (*chat_user_leaving)(PurpleChatConversation *chat, const char *name,
+                           const char *reason);
+  @endsignalproto
+  @signaldesc
+   Emitted when a user is leaving a chat, before the user list is updated.
+   This may include an optional reason why the user is leaving.
+  @return @c TRUE if the leave should be hidden, or @c FALSE otherwise.
+  @param chat   The chat conversation.
+  @param name   The name of the user that is leaving the chat.
+  @param reason The optional reason why the user is leaving.
+ @endsignaldef
+
+ @signaldef chat-user-left
+  @signalproto
+void (*chat_user_left)(PurpleChatConversation *chat, const char *name,
+                        const char *reason);
+  @endsignalproto
+  @signaldesc
+   Emitted when a user leaves a chat, after the user list is updated.
+   This may include an optional reason why the user is leaving.
+  @param chat   The chat conversation.
+  @param name   The name of the user that left the chat.
+  @param reason The optional reason why the user left the chat.
+ @endsignaldef
+
+ @signaldef chat-inviting-user
+  @signalproto
+void (*chat_inviting_user)(PurpleChatConversation *chat, const char *name,
+                           char **invite_message);
+  @endsignalproto
+  @signaldesc
+   Emitted when a user is being invited to the chat. The callback can
+   replace the invite message to the invitee by modifying the pointer to
+   the invite message.
+  @note
+   Make sure to free @a *invite_message before you replace it!
+  @param chat           The chat conversation.
+  @param name           The name of the user being invited.
+  @param invite_message A pointer to the reason why a user is being
+                        invited.
+ @endsignaldef
+
+ @signaldef chat-invited-user
+  @signalproto
+void (*chat_invited_user)(PurpleChatConversation *conv, const char *name,
+                          const char *invite_message);
+  @endsignalproto
+  @signaldesc
+   Emitted when a user invited another user to a chat.
+  @param chat           The chat conversation.
+  @param name           The name of the user that was invited.
+  @param invite_message The message to be sent to the user when invited.
+ @endsignaldef
+
+ @signaldef chat-invited
+  @signalproto
+gint (*chat_invited)(PurpleAccount *account, const char *inviter,
+                     const char *chat, const char *invite_message
+                     const GHashTable *components);
+  @endsignalproto
+  @signaldesc
+   Emitted when an account was invited to a chat.
+  @param account        The account being invited.
+  @param inviter        The username of the person inviting the account.
+  @param chat           The name of the chat you're being invited to.
+  @param invite_message The optional invite message.
+  @param components     The components necessary if you want to call 
+                        serv_join_chat()
+  @return Less than zero if the invitation should be rejected, greater than
+          zero if the invitation should be accepted. If zero is returned, the
+          default behavior will be maintained: the user will be prompted.
+ @endsignaldef
+
+ @signaldef chat-invite-blocked
+  @signalproto
+void (*chat_invite_blocked)(PurpleAccount *account, const char *inviter,
+                   const char *name, const char *message, GHashTable *data);
+  @endsignalproto
+  @signaldesc
+   Emitted when an invitation to join a chat is blocked.
+  @param account  The account the invitation was sent to.
+  @param inviter  The name of the person sending the invitation.
+  @param name     The name of the chat invited to.
+  @param message  The invitation message sent.
+  @param data     Hashtable containing data about the invited chat.
+ @endsignaldef
+
+ @signaldef chat-joined
+  @signalproto
+void (*chat_joined)(PurpleChatConversation *chat);
+  @endsignalproto
+  @signaldesc
+   Emitted when an account joins a chat room.
+  @param chat The conversation that joined the chat room.
+ @endsignaldef
+
+ @signaldef chat-left
+  @signalproto
+void (*chat_left)(PurpleChatConversation *chat);
+  @endsignalproto
+  @signaldesc
+   Emitted when an account leaves a chat room.
+  @param chat The conversation that left the chat room.
+ @endsignaldef
+
+ @signaldef chat-topic-changed
+  @signalproto
+void (*chat_topic_changed)(PurpleChatConversation *chat, const char *who,
+                           const char *topic);
+  @endsignalproto
+  @signaldesc
+   Emitted when the topic is changed in a chat.
+  @param chat  The chat conversation whose topic changed.
+  @param who   The name of the person that changed the topic.
+  @param topic The new topic.
+ @endsignaldef
+
+ @signaldef conversation-extended-menu
+  @signalproto
+void (*conversation_extended_menu)(PurpleConversation *conv, GList **list);
+  @endsignalproto
+  @signaldesc
+   Emitted when the UI requests a list of plugin actions for a
+   conversation.
+  @param conv   The conversation.
+  @param list   A pointer to the list of actions.
+ @endsignaldef
+
+ @signaldef cleared-message-history
+  @signalproto
+void (*cleared_message_history)(PurpleConversation *conv);
+  @endsignalproto
+  @signaldesc
+    Emitted when the conversation history is cleared.
+  @param conv   The conversation.
+ @endsignaldef
+
+ @signaldef sent-attention
+  @signalproto
+void (*got_attention)(PurpleAccount *account, const char *who, 
+	PurpleConversation *conv, guint type)
+  @endsignalproto
+  @signaldesc
+    Emitted when receiving an attention message (buzz, nudge, etc.).
+  @param account  The account
+  @param who      The name of the person receiving the attention
+  @param conv     The conversation
+  @param type     The attention type (an index starting at 0)
+ @endsignaldef
+
+ @signaldef got-attention
+  @signalproto
+void (*got_attention)(PurpleAccount *account, const char *who, 
+	PurpleConversation *conv, guint type)
+  @endsignalproto
+  @signaldesc
+    Emitted when receiving an attention message (buzz, nudge, etc.).
+  @param account  The account
+  @param who      The name of the person sending the attention
+  @param conv     The conversation
+  @param type     The attention type (an index starting at 0)
+ @endsignaldef
+*/
+// vim: syntax=c.doxygen tw=75 et

mercurial