Data Fields
_PurpleConversationUiOps Struct Reference

Conversation operations and events. More...

`#include <conversation.h>`

## Data Fields
void(* | create_conversation )(PurpleConversation *conv)
| Called when conv is created (but before the conversation-created signal is emitted).
void(* | destroy_conversation )(PurpleConversation *conv)
| Called just before conv is freed. More...
void(* | write_chat )(PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime)
| Write a message to a chat. More...
void(* | write_im )(PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime)
| Write a message to an IM conversation. More...
void(* | write_conv )(PurpleConversation *conv, const char *name, const char *alias, const char *message, PurpleMessageFlags flags, time_t mtime)
| Write a message to a conversation. More...
void(* | chat_add_users )(PurpleConversation *conv, GList *cbuddies, gboolean new_arrivals)
| Add cbuddies to a chat. More...
void(* | chat_rename_user )(PurpleConversation *conv, const char *old_name, const char *new_name, const char *new_alias)
| Rename the user in this chat named old_name to new_name. More...
void(* | chat_remove_users )(PurpleConversation *conv, GList *users)
| Remove users from a chat. More...
void(* | chat_update_user )(PurpleConversation *conv, const char *user)
| Called when a user's flags are changed. More...
void(* | present )(PurpleConversation *conv)
| Present this conversation to the user; for example, by displaying the IM dialog.
gboolean(* | has_focus )(PurpleConversation *conv)
| If this UI has a concept of focus (as in a windowing system) and this conversation has the focus, return `TRUE`; otherwise, return `FALSE`.
gboolean(* | custom_smiley_add )(PurpleConversation *conv, const char *smile, gboolean remote)
void(* | custom_smiley_write )(PurpleConversation *conv, const char *smile, const guchar *data, gsize size)
void(* | custom_smiley_close )(PurpleConversation *conv, const char *smile)
void(* | send_confirm )(PurpleConversation *conv, const char *message)
| Prompt the user for confirmation to send message. More...
void(* | _purple_reserved1 )(void)
void(* | _purple_reserved2 )(void)
void(* | _purple_reserved3 )(void)
void(* | _purple_reserved4 )(void)

## Detailed Description

Conversation operations and events.

Any UI representing a conversation must assign a filled-out PurpleConversationUiOps structure to the PurpleConversation.

Definition at line 161 of file conversation.h.

## Field Documentation

## ◆ chat_add_users

void(* _PurpleConversationUiOps::chat_add_users) (PurpleConversation *conv, GList *cbuddies, gboolean new_arrivals)

Add cbuddies to a chat.

Parameters

  cbuddies | A `GList` of PurpleConvChatBuddy structs.
  new_arrivals | Whether join notices should be shown. (Join notices are actually written to the conversation by purple_conv_chat_add_users().)

Definition at line 205 of file conversation.h.

## ◆ chat_remove_users

void(* _PurpleConversationUiOps::chat_remove_users) (PurpleConversation *conv, GList *users)

Remove users from a chat.

Parameters

  users | A `GList` of `const char *`s.

See also
  purple_conv_chat_rename_user()

Definition at line 219 of file conversation.h.

## ◆ chat_rename_user

void(* _PurpleConversationUiOps::chat_rename_user) (PurpleConversation *conv, const char *old_name, const char *new_name, const char *new_alias)

Rename the user in this chat named old_name to new_name.

(The rename message is written to the conversation by libpurple.)

Parameters

  new_alias | new_name's new alias, if they have one.

See also
  purple_conv_chat_add_users()

Definition at line 213 of file conversation.h.

## ◆ chat_update_user

void(* _PurpleConversationUiOps::chat_update_user) (PurpleConversation *conv, const char *user)

Called when a user's flags are changed.

See also
  purple_conv_chat_user_set_flags()

Definition at line 223 of file conversation.h.

## ◆ destroy_conversation

void(* _PurpleConversationUiOps::destroy_conversation) (PurpleConversation *conv)

Called just before conv is freed.

Definition at line 169 of file conversation.h.

## ◆ send_confirm

void(* _PurpleConversationUiOps::send_confirm) (PurpleConversation *conv, const char *message)

Prompt the user for confirmation to send message.

This function should arrange for the message to be sent if the user accepts. If this field is `NULL`, libpurple will fall back to using purple_request_action().

Definition at line 247 of file conversation.h.

## ◆ write_chat

void(* _PurpleConversationUiOps::write_chat) (PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime)

Write a message to a chat.

If this field is `NULL`, libpurple will fall back to using write_conv.

See also
  purple_conv_chat_write()

Definition at line 174 of file conversation.h.

## ◆ write_conv

void(* _PurpleConversationUiOps::write_conv) (PurpleConversation *conv, const char *name, const char *alias, const char *message, PurpleMessageFlags flags, time_t mtime)

Write a message to a conversation.

This is used rather than the chat- or im-specific ops for errors, system messages (such as "x is now know as y"), and as the fallback if write_im and write_chat are not implemented. It should be implemented, or the UI will miss conversation error messages and your users will hate you.

See also
  purple_conversation_write()

Definition at line 192 of file conversation.h.

## ◆ write_im

void(* _PurpleConversationUiOps::write_im) (PurpleConversation *conv, const char *who, const char *message, PurpleMessageFlags flags, time_t mtime)

Write a message to an IM conversation.

If this field is `NULL`, libpurple will fall back to using write_conv.

See also
  purple_conv_im_write()

Definition at line 181 of file conversation.h.

The documentation for this struct was generated from the following file:

- conversation.h