#include "blist.h"
#include "conversation.h"
#include "ft.h"
#include "imgstore.h"
#include "notify.h"
#include "proxy.h"
#include "plugin.h"
#include "roomlist.h"
#include "status.h"
#include "whiteboard.h"
Go to the source code of this file.
Data Structures | |
struct | _PurpleBuddyIconSpec |
struct | proto_chat_entry |
struct | _PurpleAttentionType |
Represents "nudges" and "buzzes" that you may send to a buddy to attract their attention (or vice-versa). More... | |
struct | _PurplePluginProtocolInfo |
A protocol plugin information structure. More... | |
Typedefs | |
typedef struct _PurplePluginProtocolInfo | PurplePluginProtocolInfo |
typedef struct _PurpleAttentionType | PurpleAttentionType |
Functions | |
Attention Type API | |
PurpleAttentionType * | purple_attention_type_new (const char *ulname, const char *name, const char *inc_desc, const char *out_desc) |
Creates a new PurpleAttentionType object and sets its mandatory parameters. | |
void | purple_attention_type_set_name (PurpleAttentionType *type, const char *name) |
Sets the displayed name of the attention-demanding event. | |
void | purple_attention_type_set_incoming_desc (PurpleAttentionType *type, const char *desc) |
Sets the description of the attention-demanding event shown in conversations when the event is received. | |
void | purple_attention_type_set_outgoing_desc (PurpleAttentionType *type, const char *desc) |
Sets the description of the attention-demanding event shown in conversations when the event is sent. | |
void | purple_attention_type_set_icon_name (PurpleAttentionType *type, const char *name) |
Sets the name of the icon to display for the attention event; this is optional. | |
void | purple_attention_type_set_unlocalized_name (PurpleAttentionType *type, const char *ulname) |
Sets the unlocalized name of the attention event; some UIs may need this, thus it is required. | |
const char * | purple_attention_type_get_name (const PurpleAttentionType *type) |
Get the attention type's name as displayed by the UI. | |
const char * | purple_attention_type_get_incoming_desc (const PurpleAttentionType *type) |
Get the attention type's description shown when the event is received. | |
const char * | purple_attention_type_get_outgoing_desc (const PurpleAttentionType *type) |
Get the attention type's description shown when the event is sent. | |
const char * | purple_attention_type_get_icon_name (const PurpleAttentionType *type) |
Get the attention type's icon name. | |
const char * | purple_attention_type_get_unlocalized_name (const PurpleAttentionType *type) |
Get the attention type's unlocalized name; this is useful for some UIs. | |
Protocol Plugin API | |
void | purple_prpl_got_account_idle (PurpleAccount *account, gboolean idle, time_t idle_time) |
Notifies Purple that an account's idle state and time have changed. | |
void | purple_prpl_got_account_login_time (PurpleAccount *account, time_t login_time) |
Notifies Purple of an account's log-in time. | |
void | purple_prpl_got_account_status (PurpleAccount *account, const char *status_id,...) G_GNUC_NULL_TERMINATED |
Notifies Purple that an account's status has changed. | |
void | purple_prpl_got_user_idle (PurpleAccount *account, const char *name, gboolean idle, time_t idle_time) |
Notifies Purple that a user's idle state and time have changed. | |
void | purple_prpl_got_user_login_time (PurpleAccount *account, const char *name, time_t login_time) |
Notifies Purple of a user's log-in time. | |
void | purple_prpl_got_user_status (PurpleAccount *account, const char *name, const char *status_id,...) G_GNUC_NULL_TERMINATED |
Notifies Purple that a user's status has been activated. | |
void | purple_prpl_got_user_status_deactive (PurpleAccount *account, const char *name, const char *status_id) |
Notifies libpurple that a user's status has been deactivated. | |
void | purple_prpl_change_account_status (PurpleAccount *account, PurpleStatus *old_status, PurpleStatus *new_status) |
Informs the server that an account's status changed. | |
GList * | purple_prpl_get_statuses (PurpleAccount *account, PurplePresence *presence) |
Retrieves the list of stock status types from a prpl. | |
void | purple_prpl_send_attention (PurpleConnection *gc, const char *who, guint type_code) |
Send an attention request message. | |
void | purple_prpl_got_attention (PurpleConnection *gc, const char *who, guint type_code) |
Process an incoming attention message. | |
void | purple_prpl_got_attention_in_chat (PurpleConnection *gc, int id, const char *who, guint type_code) |
Process an incoming attention message in a chat. | |
Protocol Plugin Subsystem API | |
PurplePlugin * | purple_find_prpl (const char *id) |
Finds a protocol plugin structure of the specified type. | |
Basic Protocol Information | |
#define | NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0} |
This #define exists just to make it easier to fill out the buddy icon field in the prpl info struct for protocols that couldn't care less. | |
#define | PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) |
#define | PURPLE_IS_PROTOCOL_PLUGIN(plugin) ((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL) |
#define | PURPLE_PLUGIN_PROTOCOL_INFO(plugin) ((PurplePluginProtocolInfo *)(plugin)->info->extra_info) |
enum | PurpleIconScaleRules { PURPLE_ICON_SCALE_DISPLAY = 0x01, PURPLE_ICON_SCALE_SEND = 0x02 } |
enum | PurpleProtocolOptions { OPT_PROTO_UNIQUE_CHATNAME = 0x00000004, OPT_PROTO_CHAT_TOPIC = 0x00000008, OPT_PROTO_NO_PASSWORD = 0x00000010, OPT_PROTO_MAIL_CHECK = 0x00000020, OPT_PROTO_IM_IMAGE = 0x00000040, OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080, OPT_PROTO_USE_POINTSIZE = 0x00000100, OPT_PROTO_REGISTER_NOSCREENNAME = 0x00000200, OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400 } |
Protocol options. More... | |
typedef struct _PurpleBuddyIconSpec | PurpleBuddyIconSpec |
A description of a Buddy Icon specification. |
Definition in file prpl.h.
#define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC | ( | prpl, | |||
member | ) |
Value:
(((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFSET(PurplePluginProtocolInfo, struct_size)) \ || (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size)) && \ prpl->member != NULL)
typedef struct _PurpleAttentionType PurpleAttentionType |
typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec |
enum PurpleIconScaleRules |
Protocol options.
These should all be stuff that some plugins can do and others can't.
const char* purple_attention_type_get_icon_name | ( | const PurpleAttentionType * | type | ) |
Get the attention type's icon name.
type | The attention type. |
NULL
if unset/empty. const char* purple_attention_type_get_incoming_desc | ( | const PurpleAttentionType * | type | ) |
Get the attention type's description shown when the event is received.
type | The attention type. |
const char* purple_attention_type_get_name | ( | const PurpleAttentionType * | type | ) |
Get the attention type's name as displayed by the UI.
type | The attention type. |
const char* purple_attention_type_get_outgoing_desc | ( | const PurpleAttentionType * | type | ) |
Get the attention type's description shown when the event is sent.
type | The attention type. |
const char* purple_attention_type_get_unlocalized_name | ( | const PurpleAttentionType * | type | ) |
Get the attention type's unlocalized name; this is useful for some UIs.
type | The attention type |
PurpleAttentionType* purple_attention_type_new | ( | const char * | ulname, | |
const char * | name, | |||
const char * | inc_desc, | |||
const char * | out_desc | |||
) |
Creates a new PurpleAttentionType object and sets its mandatory parameters.
ulname | A non-localized string that can be used by UIs in need of such non-localized strings. This should be the same as name, without localization. | |
name | A localized string that the UI may display for the event. This should be the same string as ulname, with localization. | |
inc_desc | A localized description shown when the event is received. | |
out_desc | A localized description shown when the event is sent. |
void purple_attention_type_set_icon_name | ( | PurpleAttentionType * | type, | |
const char * | name | |||
) |
Sets the name of the icon to display for the attention event; this is optional.
type | The attention type. | |
name | The icon's name. |
void purple_attention_type_set_incoming_desc | ( | PurpleAttentionType * | type, | |
const char * | desc | |||
) |
Sets the description of the attention-demanding event shown in conversations when the event is received.
type | The attention type. | |
desc | The localized description for incoming events. |
void purple_attention_type_set_name | ( | PurpleAttentionType * | type, | |
const char * | name | |||
) |
Sets the displayed name of the attention-demanding event.
type | The attention type. | |
name | The localized name that will be displayed by UIs. This should be the same string given as the unlocalized name, but with localization. |
void purple_attention_type_set_outgoing_desc | ( | PurpleAttentionType * | type, | |
const char * | desc | |||
) |
Sets the description of the attention-demanding event shown in conversations when the event is sent.
type | The attention type. | |
desc | The localized description for outgoing events. |
void purple_attention_type_set_unlocalized_name | ( | PurpleAttentionType * | type, | |
const char * | ulname | |||
) |
Sets the unlocalized name of the attention event; some UIs may need this, thus it is required.
type | The attention type. | |
ulname | The unlocalized name. This should be the same string given as the localized name, but without localization. |
PurplePlugin* purple_find_prpl | ( | const char * | id | ) |
Finds a protocol plugin structure of the specified type.
id | The protocol plugin; |
void purple_prpl_change_account_status | ( | PurpleAccount * | account, | |
PurpleStatus * | old_status, | |||
PurpleStatus * | new_status | |||
) |
Informs the server that an account's status changed.
account | The account the user is on. | |
old_status | The previous status. | |
new_status | The status that was activated, or deactivated (in the case of independent statuses). |
GList* purple_prpl_get_statuses | ( | PurpleAccount * | account, | |
PurplePresence * | presence | |||
) |
Retrieves the list of stock status types from a prpl.
account | The account the user is on. | |
presence | The presence for which we're going to get statuses |
void purple_prpl_got_account_idle | ( | PurpleAccount * | account, | |
gboolean | idle, | |||
time_t | idle_time | |||
) |
Notifies Purple that an account's idle state and time have changed.
This is meant to be called from protocol plugins.
account | The account. | |
idle | The user's idle state. | |
idle_time | The user's idle time. |
void purple_prpl_got_account_login_time | ( | PurpleAccount * | account, | |
time_t | login_time | |||
) |
Notifies Purple of an account's log-in time.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
login_time | The user's log-in time. |
void purple_prpl_got_account_status | ( | PurpleAccount * | account, | |
const char * | status_id, | |||
... | ||||
) |
Notifies Purple that an account's status has changed.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
status_id | The status ID. | |
... | A NULL-terminated list of attribute IDs and values, beginning with the value for attr_id. |
void purple_prpl_got_attention | ( | PurpleConnection * | gc, | |
const char * | who, | |||
guint | type_code | |||
) |
Process an incoming attention message.
gc | The connection that received the attention message. | |
who | Who requested your attention. | |
type_code | An index into the prpl's attention_types list determining the type of the attention request command to send. |
void purple_prpl_got_attention_in_chat | ( | PurpleConnection * | gc, | |
int | id, | |||
const char * | who, | |||
guint | type_code | |||
) |
Process an incoming attention message in a chat.
gc | The connection that received the attention message. | |
id | The chat id. | |
who | Who requested your attention. | |
type_code | An index into the prpl's attention_types list determining the type of the attention request command to send. |
void purple_prpl_got_user_idle | ( | PurpleAccount * | account, | |
const char * | name, | |||
gboolean | idle, | |||
time_t | idle_time | |||
) |
Notifies Purple that a user's idle state and time have changed.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
name | The screen name of the user. | |
idle | The user's idle state. | |
idle_time | The user's idle time. This is the time at which the user became idle, in seconds since the epoch. If the PRPL does not know this value then it should pass 0. |
void purple_prpl_got_user_login_time | ( | PurpleAccount * | account, | |
const char * | name, | |||
time_t | login_time | |||
) |
Notifies Purple of a user's log-in time.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
name | The screen name of the user. | |
login_time | The user's log-in time. |
void purple_prpl_got_user_status | ( | PurpleAccount * | account, | |
const char * | name, | |||
const char * | status_id, | |||
... | ||||
) |
Notifies Purple that a user's status has been activated.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
name | The screen name of the user. | |
status_id | The status ID. | |
... | A NULL-terminated list of attribute IDs and values, beginning with the value for attr_id. |
void purple_prpl_got_user_status_deactive | ( | PurpleAccount * | account, | |
const char * | name, | |||
const char * | status_id | |||
) |
Notifies libpurple that a user's status has been deactivated.
This is meant to be called from protocol plugins.
account | The account the user is on. | |
name | The screen name of the user. | |
status_id | The status ID. |
void purple_prpl_send_attention | ( | PurpleConnection * | gc, | |
const char * | who, | |||
guint | type_code | |||
) |
Send an attention request message.
gc | The connection to send the message on. | |
who | Whose attention to request. | |
type_code | An index into the prpl's attention_types list determining the type of the attention request command to send. 0 if prpl only defines one (for example, Yahoo and MSN), but some protocols define more (MySpaceIM). |