prpl.h
Go to the documentation of this file.
/* purple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
* source distribution.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
*/
/* this file should be all that prpls need to include. therefore, by including
* this file, they should get glib, proxy, purple_connection, prpl, etc. */
#ifndef _PURPLE_PRPL_H_
#define _PURPLE_PRPL_H_
typedef struct _PurplePluginProtocolInfo PurplePluginProtocolInfo;
typedef struct _PurpleAttentionType PurpleAttentionType;
/**************************************************************************/
/**************************************************************************/
typedef enum {
PURPLE_ICON_SCALE_DISPLAY = 0x01,
PURPLE_ICON_SCALE_SEND = 0x02
} PurpleIconScaleRules;
typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec;
typedef struct _PurpleThumbnailSpec PurpleThumbnailSpec;
#define NO_BUDDY_ICONS {NULL, 0, 0, 0, 0, 0, 0}
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "blist.h"
#include "conversation.h"
#include "ft.h"
#include "imgstore.h"
#include "media.h"
#include "notify.h"
#include "proxy.h"
#include "plugin.h"
#include "roomlist.h"
#include "status.h"
#include "whiteboard.h"
struct _PurpleBuddyIconSpec {
char *format;
int min_width;
int min_height;
int max_width;
int max_height;
size_t max_filesize;
PurpleIconScaleRules scale_rules;
};
struct proto_chat_entry {
const char *label;
const char *identifier;
gboolean required;
gboolean is_int;
int min;
int max;
gboolean secret;
};
struct _PurpleAttentionType
{
const char *name;
const char *incoming_description;
const char *outgoing_description;
const char *icon_name;
const char *unlocalized_name;
/* Reserved fields for future purposes */
gpointer _reserved2;
gpointer _reserved3;
gpointer _reserved4;
};
typedef enum
{
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,
OPT_PROTO_INVITE_MESSAGE = 0x00000800
} PurpleProtocolOptions;
struct _PurplePluginProtocolInfo
{
PurpleProtocolOptions options;
GList *user_splits;
GList *protocol_options;
PurpleBuddyIconSpec icon_spec;
const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy);
const char *(*list_emblem)(PurpleBuddy *buddy);
char *(*status_text)(PurpleBuddy *buddy);
void (*tooltip_text)(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full);
GList *(*status_types)(PurpleAccount *account);
GList *(*blist_node_menu)(PurpleBlistNode *node);
GList *(*chat_info)(PurpleConnection *);
GHashTable *(*chat_info_defaults)(PurpleConnection *, const char *chat_name);
/* All the server-related functions */
void (*login)(PurpleAccount *);
void (*close)(PurpleConnection *);
int (*send_im)(PurpleConnection *, const char *who,
const char *message,
PurpleMessageFlags flags);
void (*set_info)(PurpleConnection *, const char *info);
unsigned int (*send_typing)(PurpleConnection *, const char *name, PurpleTypingState state);
void (*get_info)(PurpleConnection *, const char *who);
void (*set_status)(PurpleAccount *account, PurpleStatus *status);
void (*set_idle)(PurpleConnection *, int idletime);
void (*change_passwd)(PurpleConnection *, const char *old_pass,
const char *new_pass);
void (*add_buddy)(PurpleConnection *, PurpleBuddy *buddy, PurpleGroup *group);
void (*add_buddies)(PurpleConnection *, GList *buddies, GList *groups);
void (*remove_buddy)(PurpleConnection *, PurpleBuddy *buddy, PurpleGroup *group);
void (*remove_buddies)(PurpleConnection *, GList *buddies, GList *groups);
void (*add_permit)(PurpleConnection *, const char *name);
void (*add_deny)(PurpleConnection *, const char *name);
void (*rem_permit)(PurpleConnection *, const char *name);
void (*rem_deny)(PurpleConnection *, const char *name);
void (*set_permit_deny)(PurpleConnection *);
void (*join_chat)(PurpleConnection *, GHashTable *components);
void (*reject_chat)(PurpleConnection *, GHashTable *components);
char *(*get_chat_name)(GHashTable *components);
void (*chat_invite)(PurpleConnection *, int id,
const char *message, const char *who);
void (*chat_leave)(PurpleConnection *, int id);
void (*chat_whisper)(PurpleConnection *, int id,
const char *who, const char *message);
int (*chat_send)(PurpleConnection *, int id, const char *message, PurpleMessageFlags flags);
void (*keepalive)(PurpleConnection *);
void (*register_user)(PurpleAccount *);
void (*get_cb_info)(PurpleConnection *, int, const char *who);
void (*get_cb_away)(PurpleConnection *, int, const char *who);
void (*alias_buddy)(PurpleConnection *, const char *who,
const char *alias);
void (*group_buddy)(PurpleConnection *, const char *who,
const char *old_group, const char *new_group);
void (*rename_group)(PurpleConnection *, const char *old_name,
PurpleGroup *group, GList *moved_buddies);
void (*buddy_free)(PurpleBuddy *);
void (*convo_closed)(PurpleConnection *, const char *who);
const char *(*normalize)(const PurpleAccount *, const char *who);
void (*set_buddy_icon)(PurpleConnection *, PurpleStoredImage *img);
void (*remove_group)(PurpleConnection *gc, PurpleGroup *group);
char *(*get_cb_real_name)(PurpleConnection *gc, int id, const char *who);
void (*set_chat_topic)(PurpleConnection *gc, int id, const char *topic);
PurpleChat *(*find_blist_chat)(PurpleAccount *account, const char *name);
/* room listing prpl callbacks */
PurpleRoomlist *(*roomlist_get_list)(PurpleConnection *gc);
void (*roomlist_cancel)(PurpleRoomlist *list);
void (*roomlist_expand_category)(PurpleRoomlist *list, PurpleRoomlistRoom *category);
/* file transfer callbacks */
gboolean (*can_receive_file)(PurpleConnection *, const char *who);
void (*send_file)(PurpleConnection *, const char *who, const char *filename);
PurpleXfer *(*new_xfer)(PurpleConnection *, const char *who);
gboolean (*offline_message)(const PurpleBuddy *buddy);
PurpleWhiteboardPrplOps *whiteboard_prpl_ops;
int (*send_raw)(PurpleConnection *gc, const char *buf, int len);
/* room list serialize */
char *(*roomlist_room_serialize)(PurpleRoomlistRoom *room);
/* This is here rather than next to register_user for API compatibility
* reasons.
*/
void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data);
/* Attention API for sending & receiving zaps/nudges/buzzes etc. */
gboolean (*send_attention)(PurpleConnection *gc, const char *username, guint type);
GList *(*get_attention_types)(PurpleAccount *acct);
unsigned long struct_size;
/* NOTE:
* If more functions are added, they should accessed using the following syntax:
*
* if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, new_function))
* prpl->new_function(...);
*
* instead of
*
* if (prpl->new_function != NULL)
* prpl->new_function(...);
*
* The PURPLE_PROTOCOL_PLUGIN_HAS_FUNC macro can be used for the older member
* functions (e.g. login, send_im etc.) too.
*/
GHashTable *(*get_account_text_table)(PurpleAccount *account);
gboolean (*initiate_media)(PurpleAccount *account, const char *who,
PurpleMediaSessionType type);
PurpleMediaCaps (*get_media_caps)(PurpleAccount *account,
const char *who);
PurpleMood *(*get_moods)(PurpleAccount *account);
void (*set_public_alias)(PurpleConnection *gc, const char *alias,
PurpleSetPublicAliasSuccessCallback success_cb,
PurpleSetPublicAliasFailureCallback failure_cb);
void (*get_public_alias)(PurpleConnection *gc,
PurpleGetPublicAliasSuccessCallback success_cb,
PurpleGetPublicAliasFailureCallback failure_cb);
void (*add_buddy_with_invite)(PurpleConnection *pc, PurpleBuddy *buddy, PurpleGroup *group, const char *message);
void (*add_buddies_with_invite)(PurpleConnection *pc, GList *buddies, GList *groups, const char *message);
};
#define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) \
(((G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < G_STRUCT_OFFSET(PurplePluginProtocolInfo, struct_size)) \
|| (G_STRUCT_OFFSET(PurplePluginProtocolInfo, member) < prpl->struct_size)) && \
prpl->member != NULL)
#define PURPLE_IS_PROTOCOL_PLUGIN(plugin) \
((plugin)->info->type == PURPLE_PLUGIN_PROTOCOL)
#define PURPLE_PLUGIN_PROTOCOL_INFO(plugin) \
((PurplePluginProtocolInfo *)(plugin)->info->extra_info)
#ifdef __cplusplus
extern "C" {
#endif
/**************************************************************************/
/**************************************************************************/
PurpleAttentionType *purple_attention_type_new(const char *ulname, const char *name,
const char *inc_desc, const char *out_desc);
void purple_attention_type_set_name(PurpleAttentionType *type, const char *name);
void purple_attention_type_set_incoming_desc(PurpleAttentionType *type, const char *desc);
void purple_attention_type_set_outgoing_desc(PurpleAttentionType *type, const char *desc);
void purple_attention_type_set_icon_name(PurpleAttentionType *type, const char *name);
void purple_attention_type_set_unlocalized_name(PurpleAttentionType *type, const char *ulname);
const char *purple_attention_type_get_name(const PurpleAttentionType *type);
const char *purple_attention_type_get_incoming_desc(const PurpleAttentionType *type);
const char *purple_attention_type_get_outgoing_desc(const PurpleAttentionType *type);
const char *purple_attention_type_get_icon_name(const PurpleAttentionType *type);
const char *purple_attention_type_get_unlocalized_name(const PurpleAttentionType *type);
/**************************************************************************/
/**************************************************************************/
void purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle,
time_t idle_time);
void purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time);
void purple_prpl_got_account_status(PurpleAccount *account,
const char *status_id, ...) G_GNUC_NULL_TERMINATED;
void purple_prpl_got_account_actions(PurpleAccount *account);
void purple_prpl_got_user_idle(PurpleAccount *account, const char *name,
gboolean idle, time_t idle_time);
void purple_prpl_got_user_login_time(PurpleAccount *account, const char *name,
time_t login_time);
void purple_prpl_got_user_status(PurpleAccount *account, const char *name,
const char *status_id, ...) G_GNUC_NULL_TERMINATED;
void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name,
const char *status_id);
void purple_prpl_change_account_status(PurpleAccount *account,
PurpleStatus *old_status,
PurpleStatus *new_status);
GList *purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence);
void purple_prpl_send_attention(PurpleConnection *gc, const char *who, guint type_code);
void purple_prpl_got_attention(PurpleConnection *gc, const char *who, guint type_code);
void purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code);
PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount *account,
const char *who);
gboolean purple_prpl_initiate_media(PurpleAccount *account,
const char *who,
PurpleMediaSessionType type);
void purple_prpl_got_media_caps(PurpleAccount *account, const char *who);
/**************************************************************************/
/**************************************************************************/
PurplePlugin *purple_find_prpl(const char *id);
#ifdef __cplusplus
}
#endif
#ifdef __COVERITY__
#undef PURPLE_PROTOCOL_PLUGIN_HAS_FUNC
#define PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl, member) (prpl->member != NULL)
#endif
#endif /* _PRPL_H_ */
notify.h
Notification API.
proto_chat_entry::label
const char * label
User-friendly name of the entry.
Definition: prpl.h:105
_PurpleGroup
A group.
Definition: blist.h:167
PurpleMessageFlags
PurpleMessageFlags
Flags applicable to a message.
Definition: conversation.h:105
purple_attention_type_new
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.
purple_attention_type_get_outgoing_desc
const char * purple_attention_type_get_outgoing_desc(const PurpleAttentionType *type)
Get the attention type&#39;s description shown when the event is sent.
PurpleProtocolOptions
PurpleProtocolOptions
Protocol options.
Definition: prpl.h:136
_PurpleBuddyIconSpec::max_filesize
size_t max_filesize
Maximum size in bytes.
Definition: prpl.h:97
_PurpleBlistNode
A Buddy list node.
Definition: blist.h:124
roomlist.h
Room List API.
ft.h
File Transfer API.
purple_prpl_got_user_status_deactive
void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name, const char *status_id)
Notifies libpurple that a buddy&#39;s status has been deactivated.
conversation.h
Conversation API.
purple_prpl_get_media_caps
PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount *account, const char *who)
Determines if the contact supports the given media session type.
PurpleStoredImage
struct _PurpleStoredImage PurpleStoredImage
A set of utility functions that provide a reference-counted immutable wrapper around an image&#39;s data ...
Definition: imgstore.h:37
purple_prpl_got_media_caps
void purple_prpl_got_media_caps(PurpleAccount *account, const char *who)
Signals that the prpl received capabilities for the given contact.
_PurplePluginProtocolInfo::user_splits
GList * user_splits
A GList of PurpleAccountUserSplit.
Definition: prpl.h:227
purple_prpl_got_account_status
void purple_prpl_got_account_status(PurpleAccount *account, const char *status_id,...) G_GNUC_NULL_TERMINATED
Notifies Purple that our account&#39;s status has changed.
plugin.h
Plugin API.
media.h
Media API.
_PurpleMood
Definition: status.h:90
purple_attention_type_get_name
const char * purple_attention_type_get_name(const PurpleAttentionType *type)
Get the attention type&#39;s name as displayed by the UI.
_PurplePluginProtocolInfo::struct_size
unsigned long struct_size
The size of the PurplePluginProtocolInfo.
Definition: prpl.h:540
_PurpleAttentionType::name
const char * name
Shown in GUI elements.
Definition: prpl.h:119
purple_prpl_got_user_login_time
void purple_prpl_got_user_login_time(PurpleAccount *account, const char *name, time_t login_time)
Notifies Purple of a buddy&#39;s log-in time.
purple_attention_type_get_icon_name
const char * purple_attention_type_get_icon_name(const PurpleAttentionType *type)
Get the attention type&#39;s icon name.
_PurpleAccount
Structure representing an account.
Definition: account.h:169
OPT_PROTO_MAIL_CHECK
Notify on new mail.
Definition: prpl.h:167
purple_prpl_send_attention
void purple_prpl_send_attention(PurpleConnection *gc, const char *who, guint type_code)
Send an attention request message.
_PurplePlugin
A plugin handle.
Definition: plugin.h:151
purple_attention_type_set_outgoing_desc
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...
purple_prpl_got_attention
void purple_prpl_got_attention(PurpleConnection *gc, const char *who, guint type_code)
Process an incoming attention message.
PURPLE_ICON_SCALE_DISPLAY
We scale the icon when we display it.
Definition: prpl.h:42
OPT_PROTO_REGISTER_NOSCREENNAME
Set the Register button active even when the username has not been specified.
Definition: prpl.h:198
PurpleTypingState
PurpleTypingState
The typing state of a user.
Definition: conversation.h:94
purple_prpl_got_account_login_time
void purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time)
Notifies Purple of our account&#39;s log-in time.
_PurplePluginProtocolInfo::options
PurpleProtocolOptions options
Protocol options.
Definition: prpl.h:225
purple_prpl_got_attention_in_chat
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.
proto_chat_entry::required
gboolean required
True if it&#39;s required.
Definition: prpl.h:107
blist.h
Buddy List API.
purple_prpl_initiate_media
gboolean purple_prpl_initiate_media(PurpleAccount *account, const char *who, PurpleMediaSessionType type)
Initiates a media session with the given contact.
OPT_PROTO_PASSWORD_OPTIONAL
Allow passwords to be optional.
Definition: prpl.h:182
purple_prpl_got_account_idle
void purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle, time_t idle_time)
Notifies Purple that our account&#39;s idle state and time have changed.
_PurplePluginProtocolInfo
A protocol plugin information structure.
Definition: prpl.h:223
PURPLE_ICON_SCALE_SEND
We scale the icon before we send it to the server.
Definition: prpl.h:43
proto_chat_entry
Represents an entry containing information that must be supplied by the user when joining a chat...
Definition: prpl.h:104
OPT_PROTO_NO_PASSWORD
Don&#39;t require passwords for sign-in.
Definition: prpl.h:160
_PurpleBuddyIconSpec::max_height
int max_height
Maximum height of this icon.
Definition: prpl.h:96
OPT_PROTO_SLASH_COMMANDS_NATIVE
Indicates that slash commands are native to this protocol.
Definition: prpl.h:205
_PurpleAttentionType
Represents "nudges" and "buzzes" that you may send to a buddy to attract their attention (or vice-ver...
Definition: prpl.h:117
OPT_PROTO_IM_IMAGE
Images in IMs.
Definition: prpl.h:174
_PurplePluginProtocolInfo::icon_spec
PurpleBuddyIconSpec icon_spec
The icon spec.
Definition: prpl.h:230
purple_attention_type_get_unlocalized_name
const char * purple_attention_type_get_unlocalized_name(const PurpleAttentionType *type)
Get the attention type&#39;s unlocalized name; this is useful for some UIs.
_PurpleAttentionType::incoming_description
const char * incoming_description
Shown when sent.
Definition: prpl.h:120
PurpleIconScaleRules
PurpleIconScaleRules
Definition: prpl.h:41
_PurpleChat
A chat.
Definition: blist.h:179
_PurpleWhiteboardPrplOps
PurpleWhiteboard PRPL Operations.
Definition: whiteboard.h:78
purple_find_prpl
PurplePlugin * purple_find_prpl(const char *id)
Finds a protocol plugin structure of the specified type.
purple_attention_type_set_incoming_desc
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 receiv...
_PurplePluginProtocolInfo::protocol_options
GList * protocol_options
A GList of PurpleAccountOption.
Definition: prpl.h:228
_PurpleAttentionType::icon_name
const char * icon_name
Icon to display (optional)
Definition: prpl.h:122
_PurpleBuddyIconSpec::format
char * format
This is a comma-delimited list of image formats or NULL if icons are not supported.
Definition: prpl.h:91
proxy.h
Proxy API.
OPT_PROTO_INVITE_MESSAGE
Indicates that this protocol supports sending a user-supplied message along with an invitation...
Definition: prpl.h:212
_PurpleBuddyIconSpec::max_width
int max_width
Maximum width of this icon.
Definition: prpl.h:95
proto_chat_entry::max
int max
Maximum value in case of integer.
Definition: prpl.h:110
proto_chat_entry::min
int min
Minimum value in case of integer.
Definition: prpl.h:109
status.h
Status APIA brief explanation of the status API:
purple_prpl_get_statuses
GList * purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence)
Retrieves the list of stock status types from a prpl.
_PurpleBuddyIconSpec::scale_rules
PurpleIconScaleRules scale_rules
How to stretch this icon.
Definition: prpl.h:98
purple_prpl_change_account_status
void purple_prpl_change_account_status(PurpleAccount *account, PurpleStatus *old_status, PurpleStatus *new_status)
Informs the server that our account&#39;s status changed.
_PurpleBuddyIconSpec
A description of a Buddy Icon specification.
Definition: prpl.h:85
purple_prpl_got_user_status
void purple_prpl_got_user_status(PurpleAccount *account, const char *name, const char *status_id,...) G_GNUC_NULL_TERMINATED
Notifies Purple that a buddy&#39;s status has been activated.
_PurpleBuddyIconSpec::min_width
int min_width
Minimum width of this icon.
Definition: prpl.h:93
OPT_PROTO_UNIQUE_CHATNAME
User names are unique to a chat and are not shared between rooms.
Definition: prpl.h:145
whiteboard.h
The PurpleWhiteboard core object.
_PurpleRoomlist
Data Structures.
Definition: roomlist.h:69
_PurpleConnection
Definition: connection.h:245
purple_attention_type_set_name
void purple_attention_type_set_name(PurpleAttentionType *type, const char *name)
Sets the displayed name of the attention-demanding event.
imgstore.h
IM Image Store API.
purple_attention_type_get_incoming_desc
const char * purple_attention_type_get_incoming_desc(const PurpleAttentionType *type)
Get the attention type&#39;s description shown when the event is received.
_PurpleBuddy
A buddy.
Definition: blist.h:138
proto_chat_entry::secret
gboolean secret
True if the entry is secret (password)
Definition: prpl.h:111
_PurpleAttentionType::outgoing_description
const char * outgoing_description
Shown when receied.
Definition: prpl.h:121
_PurpleBuddyIconSpec::min_height
int min_height
Minimum height of this icon.
Definition: prpl.h:94
_PurpleAttentionType::unlocalized_name
const char * unlocalized_name
Unlocalized name for UIs needing it.
Definition: prpl.h:123
_PurpleRoomlistRoom
Represents a room.
Definition: roomlist.h:82
purple_attention_type_set_unlocalized_name
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...
OPT_PROTO_USE_POINTSIZE
Allows font size to be specified in sane point size.
Definition: prpl.h:189
purple_attention_type_set_icon_name
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.
OPT_PROTO_CHAT_TOPIC
Chat rooms have topics.
Definition: prpl.h:152
purple_prpl_got_user_idle
void purple_prpl_got_user_idle(PurpleAccount *account, const char *name, gboolean idle, time_t idle_time)
Notifies Purple that a buddy&#39;s idle state and time have changed.
PurpleThumbnailSpec
struct _PurpleThumbnailSpec PurpleThumbnailSpec
A description of a file transfer thumbnail specification.
Definition: prpl.h:59
proto_chat_entry::is_int
gboolean is_int
True if the entry expects an integer.
Definition: prpl.h:108
_PurpleXfer
A core representation of a file transfer.
Definition: ft.h:134
purple_prpl_got_account_actions
void purple_prpl_got_account_actions(PurpleAccount *account)
Notifies Purple that our account&#39;s actions have changed.
proto_chat_entry::identifier
const char * identifier
Used by the PRPL to identify the option.
Definition: prpl.h:106