#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"
Include dependency graph for prpl.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _PurpleBuddyIconSpec |
A description of a Buddy Icon specification.
This tells Purple what kind of image file it should give this prpl, and what kind of image file it should expect back. Dimensions less than 1 should be ignored and the image not scaled. More... | |
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... | |
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 _PurpleBuddyIconSpec | PurpleBuddyIconSpec |
A description of a Buddy Icon specification. | |
Typedefs | |
typedef _PurplePluginProtocolInfo | PurplePluginProtocolInfo |
typedef _PurpleAttentionType | PurpleAttentionType |
Represents "nudges" and "buzzes" that you may send to a buddy to attract their attention (or vice-versa). | |
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. |
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 _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. |
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). |