#include "account.h"
#include "buddyicon.h"
#include "log.h"
#include "server.h"
Include dependency graph for conversation.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _PurpleConversationUiOps |
Conversation operations and events. More... | |
struct | _PurpleConvIm |
Data specific to Instant Messages. More... | |
struct | _PurpleConvChat |
Data specific to Chats. More... | |
struct | _PurpleConvChatBuddy |
Data for "Chat Buddies". More... | |
struct | _PurpleConvMessage |
Description of a conversation message. More... | |
struct | _PurpleConversation |
A core representation of a conversation between two or more people. More... | |
Conversation API | |
#define | PURPLE_CONV_IM(c) (purple_conversation_get_im_data(c)) |
#define | PURPLE_CONV_CHAT(c) (purple_conversation_get_chat_data(c)) |
PurpleConversation * | purple_conversation_new (PurpleConversationType type, PurpleAccount *account, const char *name) |
Creates a new conversation of the specified type. | |
void | purple_conversation_destroy (PurpleConversation *conv) |
Destroys the specified conversation and removes it from the parent window. | |
void | purple_conversation_present (PurpleConversation *conv) |
Present a conversation to the user. | |
PurpleConversationType | purple_conversation_get_type (const PurpleConversation *conv) |
Returns the specified conversation's type. | |
void | purple_conversation_set_ui_ops (PurpleConversation *conv, PurpleConversationUiOps *ops) |
Sets the specified conversation's UI operations structure. | |
void | purple_conversations_set_ui_ops (PurpleConversationUiOps *ops) |
Sets the default conversation UI operations structure. | |
PurpleConversationUiOps * | purple_conversation_get_ui_ops (const PurpleConversation *conv) |
Returns the specified conversation's UI operations structure. | |
void | purple_conversation_set_account (PurpleConversation *conv, PurpleAccount *account) |
Sets the specified conversation's purple_account. | |
PurpleAccount * | purple_conversation_get_account (const PurpleConversation *conv) |
Returns the specified conversation's purple_account. | |
PurpleConnection * | purple_conversation_get_gc (const PurpleConversation *conv) |
Returns the specified conversation's purple_connection. | |
void | purple_conversation_set_title (PurpleConversation *conv, const char *title) |
Sets the specified conversation's title. | |
const char * | purple_conversation_get_title (const PurpleConversation *conv) |
Returns the specified conversation's title. | |
void | purple_conversation_autoset_title (PurpleConversation *conv) |
Automatically sets the specified conversation's title. | |
void | purple_conversation_set_name (PurpleConversation *conv, const char *name) |
Sets the specified conversation's name. | |
const char * | purple_conversation_get_name (const PurpleConversation *conv) |
Returns the specified conversation's name. | |
void | purple_conversation_set_logging (PurpleConversation *conv, gboolean log) |
Enables or disables logging for this conversation. | |
gboolean | purple_conversation_is_logging (const PurpleConversation *conv) |
Returns whether or not logging is enabled for this conversation. | |
void | purple_conversation_close_logs (PurpleConversation *conv) |
Closes any open logs for this conversation. | |
PurpleConvIm * | purple_conversation_get_im_data (const PurpleConversation *conv) |
Returns the specified conversation's IM-specific data. | |
PurpleConvChat * | purple_conversation_get_chat_data (const PurpleConversation *conv) |
Returns the specified conversation's chat-specific data. | |
void | purple_conversation_set_data (PurpleConversation *conv, const char *key, gpointer data) |
Sets extra data for a conversation. | |
gpointer | purple_conversation_get_data (PurpleConversation *conv, const char *key) |
Returns extra data in a conversation. | |
GList * | purple_get_conversations (void) |
Returns a list of all conversations. | |
GList * | purple_get_ims (void) |
Returns a list of all IMs. | |
GList * | purple_get_chats (void) |
Returns a list of all chats. | |
PurpleConversation * | purple_find_conversation_with_account (PurpleConversationType type, const char *name, const PurpleAccount *account) |
Finds a conversation with the specified type, name, and Purple account. | |
void | purple_conversation_write (PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime) |
Writes to a conversation window. | |
void | purple_conversation_set_features (PurpleConversation *conv, PurpleConnectionFlags features) |
Set the features as supported for the given conversation. | |
PurpleConnectionFlags | purple_conversation_get_features (PurpleConversation *conv) |
Get the features supported by the given conversation. | |
gboolean | purple_conversation_has_focus (PurpleConversation *conv) |
Determines if a conversation has focus. | |
void | purple_conversation_update (PurpleConversation *conv, PurpleConvUpdateType type) |
Updates the visual status and UI of a conversation. | |
void | purple_conversation_foreach (void(*func)(PurpleConversation *conv)) |
Calls a function on each conversation. | |
GList * | purple_conversation_get_message_history (PurpleConversation *conv) |
Retrieve the message history of a conversation. | |
void | purple_conversation_clear_message_history (PurpleConversation *conv) |
Clear the message history of a conversation. | |
const char * | purple_conversation_message_get_sender (PurpleConvMessage *msg) |
Get the sender from a PurpleConvMessage. | |
const char * | purple_conversation_message_get_message (PurpleConvMessage *msg) |
Get the message from a PurpleConvMessage. | |
PurpleMessageFlags | purple_conversation_message_get_flags (PurpleConvMessage *msg) |
Get the message-flags of a PurpleConvMessage. | |
time_t | purple_conversation_message_get_timestamp (PurpleConvMessage *msg) |
Get the timestamp of a PurpleConvMessage. | |
IM Conversation API | |
PurpleConversation * | purple_conv_im_get_conversation (const PurpleConvIm *im) |
Gets an IM's parent conversation. | |
void | purple_conv_im_set_icon (PurpleConvIm *im, PurpleBuddyIcon *icon) |
Sets the IM's buddy icon. | |
PurpleBuddyIcon * | purple_conv_im_get_icon (const PurpleConvIm *im) |
Returns the IM's buddy icon. | |
void | purple_conv_im_set_typing_state (PurpleConvIm *im, PurpleTypingState state) |
Sets the IM's typing state. | |
PurpleTypingState | purple_conv_im_get_typing_state (const PurpleConvIm *im) |
Returns the IM's typing state. | |
void | purple_conv_im_start_typing_timeout (PurpleConvIm *im, int timeout) |
Starts the IM's typing timeout. | |
void | purple_conv_im_stop_typing_timeout (PurpleConvIm *im) |
Stops the IM's typing timeout. | |
guint | purple_conv_im_get_typing_timeout (const PurpleConvIm *im) |
Returns the IM's typing timeout. | |
void | purple_conv_im_set_type_again (PurpleConvIm *im, unsigned int val) |
Sets the quiet-time when no PURPLE_TYPING messages will be sent. | |
time_t | purple_conv_im_get_type_again (const PurpleConvIm *im) |
Returns the time after which another PURPLE_TYPING message should be sent. | |
void | purple_conv_im_start_send_typed_timeout (PurpleConvIm *im) |
Starts the IM's type again timeout. | |
void | purple_conv_im_stop_send_typed_timeout (PurpleConvIm *im) |
Stops the IM's type again timeout. | |
guint | purple_conv_im_get_send_typed_timeout (const PurpleConvIm *im) |
Returns the IM's type again timeout interval. | |
void | purple_conv_im_update_typing (PurpleConvIm *im) |
Updates the visual typing notification for an IM conversation. | |
void | purple_conv_im_write (PurpleConvIm *im, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime) |
Writes to an IM. | |
gboolean | purple_conv_present_error (const char *who, PurpleAccount *account, const char *what) |
Presents an IM-error to the user. | |
void | purple_conv_im_send (PurpleConvIm *im, const char *message) |
Sends a message to this IM conversation. | |
void | purple_conv_send_confirm (PurpleConversation *conv, const char *message) |
Sends a message to a conversation after confirming with the user. | |
void | purple_conv_im_send_with_flags (PurpleConvIm *im, const char *message, PurpleMessageFlags flags) |
Sends a message to this IM conversation with specified flags. | |
gboolean | purple_conv_custom_smiley_add (PurpleConversation *conv, const char *smile, const char *cksum_type, const char *chksum, gboolean remote) |
Adds a smiley to the conversation's smiley tree. | |
void | purple_conv_custom_smiley_write (PurpleConversation *conv, const char *smile, const guchar *data, gsize size) |
Updates the image associated with the current smiley. | |
void | purple_conv_custom_smiley_close (PurpleConversation *conv, const char *smile) |
Close the custom smiley, all data has been written with purple_conv_custom_smiley_write, and it is no longer valid to call that function on that smiley. | |
Chat Conversation API | |
PurpleConversation * | purple_conv_chat_get_conversation (const PurpleConvChat *chat) |
Gets a chat's parent conversation. | |
GList * | purple_conv_chat_set_users (PurpleConvChat *chat, GList *users) |
Sets the list of users in the chat room. | |
GList * | purple_conv_chat_get_users (const PurpleConvChat *chat) |
Returns a list of users in the chat room. | |
void | purple_conv_chat_ignore (PurpleConvChat *chat, const char *name) |
Ignores a user in a chat room. | |
void | purple_conv_chat_unignore (PurpleConvChat *chat, const char *name) |
Unignores a user in a chat room. | |
GList * | purple_conv_chat_set_ignored (PurpleConvChat *chat, GList *ignored) |
Sets the list of ignored users in the chat room. | |
GList * | purple_conv_chat_get_ignored (const PurpleConvChat *chat) |
Returns the list of ignored users in the chat room. | |
const char * | purple_conv_chat_get_ignored_user (const PurpleConvChat *chat, const char *user) |
Returns the actual name of the specified ignored user, if it exists in the ignore list. | |
gboolean | purple_conv_chat_is_user_ignored (const PurpleConvChat *chat, const char *user) |
Returns TRUE if the specified user is ignored. | |
void | purple_conv_chat_set_topic (PurpleConvChat *chat, const char *who, const char *topic) |
Sets the chat room's topic. | |
const char * | purple_conv_chat_get_topic (const PurpleConvChat *chat) |
Returns the chat room's topic. | |
void | purple_conv_chat_set_id (PurpleConvChat *chat, int id) |
Sets the chat room's ID. | |
int | purple_conv_chat_get_id (const PurpleConvChat *chat) |
Returns the chat room's ID. | |
void | purple_conv_chat_write (PurpleConvChat *chat, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime) |
Writes to a chat. | |
void | purple_conv_chat_send (PurpleConvChat *chat, const char *message) |
Sends a message to this chat conversation. | |
void | purple_conv_chat_send_with_flags (PurpleConvChat *chat, const char *message, PurpleMessageFlags flags) |
Sends a message to this chat conversation with specified flags. | |
void | purple_conv_chat_add_user (PurpleConvChat *chat, const char *user, const char *extra_msg, PurpleConvChatBuddyFlags flags, gboolean new_arrival) |
Adds a user to a chat. | |
void | purple_conv_chat_add_users (PurpleConvChat *chat, GList *users, GList *extra_msgs, GList *flags, gboolean new_arrivals) |
Adds a list of users to a chat. | |
void | purple_conv_chat_rename_user (PurpleConvChat *chat, const char *old_user, const char *new_user) |
Renames a user in a chat. | |
void | purple_conv_chat_remove_user (PurpleConvChat *chat, const char *user, const char *reason) |
Removes a user from a chat, optionally with a reason. | |
void | purple_conv_chat_remove_users (PurpleConvChat *chat, GList *users, const char *reason) |
Removes a list of users from a chat, optionally with a single reason. | |
gboolean | purple_conv_chat_find_user (PurpleConvChat *chat, const char *user) |
Finds a user in a chat. | |
void | purple_conv_chat_user_set_flags (PurpleConvChat *chat, const char *user, PurpleConvChatBuddyFlags flags) |
Set a users flags in a chat. | |
PurpleConvChatBuddyFlags | purple_conv_chat_user_get_flags (PurpleConvChat *chat, const char *user) |
Get the flags for a user in a chat. | |
void | purple_conv_chat_clear_users (PurpleConvChat *chat) |
Clears all users from a chat. | |
void | purple_conv_chat_set_nick (PurpleConvChat *chat, const char *nick) |
Sets your nickname (used for hilighting) for a chat. | |
const char * | purple_conv_chat_get_nick (PurpleConvChat *chat) |
Gets your nickname (used for hilighting) for a chat. | |
PurpleConversation * | purple_find_chat (const PurpleConnection *gc, int id) |
Finds a chat with the specified chat ID. | |
void | purple_conv_chat_left (PurpleConvChat *chat) |
Lets the core know we left a chat, without destroying it. | |
gboolean | purple_conv_chat_has_left (PurpleConvChat *chat) |
Returns true if we're no longer in this chat, and just left the window open. | |
PurpleConvChatBuddy * | purple_conv_chat_cb_new (const char *name, const char *alias, PurpleConvChatBuddyFlags flags) |
Creates a new chat buddy. | |
PurpleConvChatBuddy * | purple_conv_chat_cb_find (PurpleConvChat *chat, const char *name) |
Find a chat buddy in a chat. | |
const char * | purple_conv_chat_cb_get_name (PurpleConvChatBuddy *cb) |
Get the name of a chat buddy. | |
void | purple_conv_chat_cb_destroy (PurpleConvChatBuddy *cb) |
Destroys a chat buddy. | |
GList * | purple_conversation_get_extended_menu (PurpleConversation *conv) |
Retrieves the extended menu items for the conversation. | |
gboolean | purple_conversation_do_command (PurpleConversation *conv, const gchar *cmdline, const gchar *markup, gchar **error) |
Perform a command in a conversation. | |
Conversations Subsystem | |
void * | purple_conversations_get_handle (void) |
Returns the conversation subsystem handle. | |
void | purple_conversations_init (void) |
Initializes the conversation subsystem. | |
void | purple_conversations_uninit (void) |
Uninitializes the conversation subsystem. | |
Typedefs | |
typedef _PurpleConversationUiOps | PurpleConversationUiOps |
Data Structures. | |
typedef _PurpleConversation | PurpleConversation |
typedef _PurpleConvIm | PurpleConvIm |
typedef _PurpleConvChat | PurpleConvChat |
typedef _PurpleConvChatBuddy | PurpleConvChatBuddy |
typedef _PurpleConvMessage | PurpleConvMessage |
Enumerations | |
enum | PurpleConversationType { PURPLE_CONV_TYPE_UNKNOWN = 0, PURPLE_CONV_TYPE_IM, PURPLE_CONV_TYPE_CHAT, PURPLE_CONV_TYPE_MISC, PURPLE_CONV_TYPE_ANY } |
A type of conversation. More... | |
enum | PurpleConvUpdateType { PURPLE_CONV_UPDATE_ADD = 0, PURPLE_CONV_UPDATE_REMOVE, PURPLE_CONV_UPDATE_ACCOUNT, PURPLE_CONV_UPDATE_TYPING, PURPLE_CONV_UPDATE_UNSEEN, PURPLE_CONV_UPDATE_LOGGING, PURPLE_CONV_UPDATE_TOPIC, PURPLE_CONV_ACCOUNT_ONLINE, PURPLE_CONV_ACCOUNT_OFFLINE, PURPLE_CONV_UPDATE_AWAY, PURPLE_CONV_UPDATE_ICON, PURPLE_CONV_UPDATE_TITLE, PURPLE_CONV_UPDATE_CHATLEFT, PURPLE_CONV_UPDATE_FEATURES } |
Conversation update type. More... | |
enum | PurpleTypingState { PURPLE_NOT_TYPING = 0, PURPLE_TYPING, PURPLE_TYPED } |
The typing state of a user. More... | |
enum | PurpleMessageFlags { PURPLE_MESSAGE_SEND = 0x0001, PURPLE_MESSAGE_RECV = 0x0002, PURPLE_MESSAGE_SYSTEM = 0x0004, PURPLE_MESSAGE_AUTO_RESP = 0x0008, PURPLE_MESSAGE_ACTIVE_ONLY = 0x0010, PURPLE_MESSAGE_NICK = 0x0020, PURPLE_MESSAGE_NO_LOG = 0x0040, PURPLE_MESSAGE_WHISPER = 0x0080, PURPLE_MESSAGE_ERROR = 0x0200, PURPLE_MESSAGE_DELAYED = 0x0400, PURPLE_MESSAGE_RAW = 0x0800, PURPLE_MESSAGE_IMAGES = 0x1000, PURPLE_MESSAGE_NOTIFY = 0x2000, PURPLE_MESSAGE_NO_LINKIFY = 0x4000, PURPLE_MESSAGE_INVISIBLE = 0x8000 } |
Flags applicable to a message. More... | |
enum | PurpleConvChatBuddyFlags { PURPLE_CBFLAGS_NONE = 0x0000, PURPLE_CBFLAGS_VOICE = 0x0001, PURPLE_CBFLAGS_HALFOP = 0x0002, PURPLE_CBFLAGS_OP = 0x0004, PURPLE_CBFLAGS_FOUNDER = 0x0008, PURPLE_CBFLAGS_TYPING = 0x0010 } |
Flags applicable to users in Chats. More... |
Definition in file conversation.h.
|
Flags applicable to users in Chats.
Definition at line 129 of file conversation.h. |
|
A type of conversation.
Definition at line 45 of file conversation.h. |
|
Conversation update type.
Definition at line 58 of file conversation.h. |
|
Flags applicable to a message. Most will have send, recv or system.
Definition at line 99 of file conversation.h. |
|
The typing state of a user.
Definition at line 88 of file conversation.h. |
|
Adds a user to a chat.
|
|
Adds a list of users to a chat. The data is copied from users, extra_msgs, and flags, so it is up to the caller to free this list after calling this function.
|
|
Destroys a chat buddy.
|
|
Find a chat buddy in a chat.
|
|
Get the name of a chat buddy.
|
|
Creates a new chat buddy.
|
|
Clears all users from a chat.
|
|
Finds a user in a chat.
|
|
Gets a chat's parent conversation.
|
|
Returns the chat room's ID.
|
|
Returns the list of ignored users in the chat room.
|
|
Returns the actual name of the specified ignored user, if it exists in the ignore list. If the user found contains a prefix, such as '+' or '@', this is also returned. The username passed to the function does not have to have this formatting.
|
|
Gets your nickname (used for hilighting) for a chat.
|
|
Returns the chat room's topic.
|
|
Returns a list of users in the chat room.
|
|
Returns true if we're no longer in this chat, and just left the window open.
|
|
Ignores a user in a chat room.
|
|
Returns
|
|
Lets the core know we left a chat, without destroying it. Called from serv_got_chat_left().
|
|
Removes a user from a chat, optionally with a reason. It is up to the developer to free this list after calling this function.
|
|
Removes a list of users from a chat, optionally with a single reason.
|
|
Renames a user in a chat.
|
|
Sends a message to this chat conversation.
|
|
Sends a message to this chat conversation with specified flags.
|
|
Sets the chat room's ID.
|
|
Sets the list of ignored users in the chat room.
|
|
Sets your nickname (used for hilighting) for a chat.
|
|
Sets the chat room's topic.
|
|
Sets the list of users in the chat room.
|
|
Unignores a user in a chat room.
|
|
Get the flags for a user in a chat.
|
|
Set a users flags in a chat.
|
|
Writes to a chat.
|
|
Adds a smiley to the conversation's smiley tree.
If this returns
|
|
Close the custom smiley, all data has been written with purple_conv_custom_smiley_write, and it is no longer valid to call that function on that smiley.
|
|
Updates the image associated with the current smiley.
|
|
Gets an IM's parent conversation.
|
|
Returns the IM's buddy icon.
|
|
Returns the IM's type again timeout interval.
|
|
Returns the time after which another PURPLE_TYPING message should be sent.
|
|
Returns the IM's typing state.
|
|
Returns the IM's typing timeout.
|
|
Sends a message to this IM conversation.
|
|
Sends a message to this IM conversation with specified flags.
|
|
Sets the IM's buddy icon. This should only be called from within Purple. You probably want to call purple_buddy_icon_set_data().
|
|
Sets the quiet-time when no PURPLE_TYPING messages will be sent. Few protocols need this (maybe only MSN). If the user is still typing after this quiet-period, then another PURPLE_TYPING message will be sent.
|
|
Sets the IM's typing state.
|
|
Starts the IM's type again timeout.
|
|
Starts the IM's typing timeout.
|
|
Stops the IM's type again timeout.
|
|
Stops the IM's typing timeout.
|
|
Updates the visual typing notification for an IM conversation.
|
|
Writes to an IM.
|
|
Presents an IM-error to the user. This is a helper function to find a conversation, write an error to it, and raise the window. If a conversation with this user doesn't already exist, the function will return FALSE and the calling function can attempt to present the error another way (purple_notify_error, most likely)
|
|
Sends a message to a conversation after confirming with the user. This function is intended for use in cases where the user hasn't explicitly and knowingly caused a message to be sent. The confirmation ensures that the user isn't sending a message by mistake.
|
|
Automatically sets the specified conversation's title. This function takes OPT_IM_ALIAS_TAB into account, as well as the user's alias.
|
|
Clear the message history of a conversation.
|
|
Closes any open logs for this conversation. Note that new logs will be opened as necessary (e.g. upon receipt of a message, if the conversation has logging enabled. To disable logging for the remainder of the conversation, use purple_conversation_set_logging().
|
|
Destroys the specified conversation and removes it from the parent window. If this conversation is the only one contained in the parent window, that window is also destroyed.
|
|
Perform a command in a conversation. Similar to
|
|
Calls a function on each conversation.
|
|
Returns the specified conversation's purple_account. This purple_account represents the user using purple, not the person the user is having a conversation/chat/flame with.
|
|
Returns the specified conversation's chat-specific data.
If the conversation type is not PURPLE_CONV_TYPE_CHAT, this will return
|
|
Returns extra data in a conversation.
|
|
Retrieves the extended menu items for the conversation.
|
|
Get the features supported by the given conversation.
|
|
Returns the specified conversation's purple_connection. This is the same as purple_conversation_get_user(conv)->gc.
|
|
Returns the specified conversation's IM-specific data.
If the conversation type is not PURPLE_CONV_TYPE_IM, this will return
|
|
Retrieve the message history of a conversation.
|
|
Returns the specified conversation's name.
|
|
Returns the specified conversation's title.
|
|
Returns the specified conversation's type.
|
|
Returns the specified conversation's UI operations structure.
|
|
Determines if a conversation has focus.
|
|
Returns whether or not logging is enabled for this conversation.
|
|
Get the message-flags of a PurpleConvMessage.
|
|
Get the message from a PurpleConvMessage.
|
|
Get the sender from a PurpleConvMessage.
|
|
Get the timestamp of a PurpleConvMessage.
|
|
Creates a new conversation of the specified type.
|
|
Present a conversation to the user. This allows core code to initiate a conversation by displaying the IM dialog.
|
|
Sets the specified conversation's purple_account. This purple_account represents the user using purple, not the person the user is having a conversation/chat/flame with.
|
|
Sets extra data for a conversation.
|
|
Set the features as supported for the given conversation.
|
|
Enables or disables logging for this conversation.
|
|
Sets the specified conversation's name.
|
|
Sets the specified conversation's title.
|
|
Sets the specified conversation's UI operations structure.
|
|
Updates the visual status and UI of a conversation.
|
|
Writes to a conversation window. This function should not be used to write IM or chat messages. Use purple_conv_im_write() and purple_conv_chat_write() instead. Those functions will most likely call this anyway, but they may do their own formatting, sound playback, etc. This can be used to write generic messages, such as "so and so closed the conversation window."
|
|
Returns the conversation subsystem handle.
|
|
Sets the default conversation UI operations structure.
|
|
Finds a chat with the specified chat ID.
|
|
Finds a conversation with the specified type, name, and Purple account.
|
|
Returns a list of all chats.
|
|
Returns a list of all conversations. This list includes both IMs and chats.
|
|
Returns a list of all IMs.
|