Namespace

Purple – 3.0

Purple Universal Chat Library

Version3.0.0-devel
AuthorsPidgin Developers
LicenseGPL-2.0-or-later
Websitehttps://keep.imfreedom.org/pidgin/pidgin/
Sourcehttps://keep.imfreedom.org/pidgin/pidgin/

Build

C headerspurple.h
pkg-config filespurple-3

Dependencies

GLib General-purpose, portable utility library.
Browse documentation
GObject The base type system library
Browse documentation
GPlugin GPlugin Plugin Library
Browse documentation

Classes

Account
AccountPresence

A PurpleAccountPresence represent the PurplePresence for a specific PurpleAccount.

Attachment

PurpleAttachment represents a file attached to a PurpleMessage.

BlistNode

A Buddy list node. This can represent a group, a buddy, or anything else. This is a base class for PurpleBuddy, PurpleContact, PurpleGroup, and for anything else that wants to put itself in the buddy list.

Buddy

A buddy on the buddy list.

BuddyList

The Buddy List.

BuddyPresence

A PurpleBuddyPresence represent the PurplePresence for a specific PurpleBuddy.

Chat

A chat on the buddy list.

ChatConversation

Structure representing a chat conversation instance.

ChatUser

Structure representing a chat user instance.

CircularBuffer
Connection
Contact

A contact on the buddy list.

Conversation

This is the base class for the conversation abstraction on Libpurple.

ConversationManager

PurpleConversationManager keeps track of all PurpleConversations inside of libpurple and allows searching of them.

CountingNode

A node that keeps count of the number of children that it has. It tracks the total number of children, the number of children corresponding to online accounts, and the number of online children.

CredentialManager

Purple Credential Manager is the main API access to different credential providers. Providers register themselves with the manager and then the user can choose which provider to use.

CredentialProvider

PurpleCredentialProvider is an abstract base class for implementing support for a specific password or keyring manager. At the time of this writing, libpurple ships with plugins for libsecret, KWallet, and the Windows Credentials store by subclassing PurpleCredentialProvider.

Group
HistoryAdapter

PurpleHistoryAdapter is a base class that should be sub classed by history adapters. It defines the behavior of all history adapters and implements some shared properties.

HistoryManager

PurpleHistoryManager keeps track of all adapters and emits signals when adapters are registered and unregistered.

Image
IMConversation

Structure representing an IM conversation instance.

Media
MediaCandidate
MediaCodec

An opaque structure representing an audio or video codec.

MediaElementInfo

An opaque structure representing an audio/video source/sink.

MediaManager
MemoryPool

The memory pool object instance.

Message

PurpleMessage represents any message passed between users in libpurple.

NoopCredentialProvider

This is the “None” credential provider that always returns failures so that the user is forced to enter a password.

PluginInfo

PurplePluginInfo is a GPluginPluginInfo subclass that adds additional libpurple specific properties.

Presence

This file contains the base PurplePresence type which is used by PurpleAccountPresence and PurpleBuddyPresence.

Protocol

Represents an instance of a protocol registered with PurpleProtocolManager.

ProtocolManager

PurpleProtocolManager keeps track of all protocols and emits signals when protocols are registered and unregistered.

QueuedOutputStream
Roomlist

Represents a list of rooms for a given connection on a given protocol.

SqliteHistoryAdapter

PurpleSqliteHistoryAdapter is a class that allows interfacing with an SQLite database to store history. It is a subclass of PurpleHistoryAdapter.

Status

A PurpleStatus can be thought of as an “instance” of a PurpleStatusType. If you’re familiar with object-oriented programming languages then this should be immediately clear. Say, for example, that one of your AIM buddies has set himself as “away.” You have a PurpleBuddy node for this person in your buddy list. Purple wants to mark this buddy as “away,” so it creates a new PurpleStatus. The PurpleStatus has its PurpleStatusType set to the “away” state for the oscar protocol. The PurpleStatus also contains the buddy’s away message. PurpleStatuses are sometimes saved, depending on the context. The current PurpleStatuses associated with each of your accounts are saved so that the next time you start Purple, your accounts will be set to their last known statuses. There is also a list of saved statuses that are written to the status.xml file. Also, each PurpleStatus has a “saveable” boolean. If “saveable” is set to FALSE then the status is NEVER saved. All PurpleStatuses should be inside a PurplePresence.

Trie
UiInfo

PurpleUiInfo keeps track of basic information about the user interface.

Whiteboard

The PurpleWhiteboard API describes all interactions with whiteboards or shared drawing spaces with other users.

WhiteboardManager

PurpleWhiteboardManager keeps track of all whiteboards and emits signals when whiteboards are registered and unregistered.

Xfer

Interfaces

DebugUi

PurpleDebugUiInterface defines the behavior that libpurple uses to interface the debug API with the user interface.

IdleUi
MediaBackend

A placeholder to represent any media backend.

ProtocolChat

PurpleProtocolChat describes the API that protocols need to implement for handling multiple user conversations.

ProtocolClient

PurpleProtocolClient interface defines the behavior of a typical chat service’s client interface.

ProtocolFactory

A interface where protocols can expose subclasses of libpurple objects.

ProtocolIM

PurpleProtocolIM describes the API that protocols need to implement for handling one on one conversations.

ProtocolMedia

PurpleProtocolMedia describes the multimedia api that is available for protocols.

ProtocolPrivacy

PurpleProtocolPrivacy describes the privacy API available to protocols.

ProtocolRoomlist
ProtocolServer

PurpleProtocolServer describes the API for protocols that have a central server.

ProtocolXfer

Structs

_MediaManagerClass
AccountOption

An option for an account.

AccountUiOps

Account UI operations, used to notify the user of status changes and when buddies add this account to their buddy lists.

AccountUserSplit

A username split.

ActionMenu

A generic structure that contains information about an “action”. One place this is used is by protocols to tell the core the list of available right-click actions for a buddy list row.

BuddyIcon

An opaque structure representing a buddy icon for a particular user on a particular PurpleAccount. Instances are reference-counted; use purple_buddy_icon_ref() and purple_buddy_icon_unref() to take and release references.

BuddyIconSpec

A description of a Buddy Icon specification. This tells Purple what kind of image file it should give a protocol, and what kind of image file it should expect back. Dimensions less than 1 should be ignored and the image not scaled.

CommandsUiOps

Command UI operations; UIs should implement this if they want to handle commands themselves, rather than relying on the core.

ConnectionErrorInfo

Holds the type of an error along with its description.

ConnectionUiOps

Connection UI operations. Used to notify the user of changes to connections, such as being disconnected, and to respond to the underlying network connection appearing and disappearing. UIs should call #purple_connections_set_ui_ops() with an instance of this struct.

ConversationUiOps

Libpurple needs to tell the user interface when certain things happen in a conversation and it uses this structure to do so.

Core
CoreUiOps

Callbacks that fire at different points of the initialization and teardown of libpurple, along with a hook to return descriptive information about the UI.

KeyValuePair

A simple key value pair data structure.

MediaAppDataCallbacks

A set of callbacks that can be installed on an Application data session with purple_media_manager_set_application_data_callbacks()

Mood

A structure to represent a mood.

NotifySearchButton

Definition of a button.

NotifySearchColumn

Single column of a search result.

NotifySearchResults

Search results object.

NotifyUiOps

Notification UI operations.

NotifyUserInfo
NotifyUserInfoEntry
PluginAction

Represents an action that the plugin can perform. This shows up in the Tools menu, under a submenu with the name of the plugin.

PluginPref
PluginPrefFrame
PrefCallbackData

Opaque type to carry callback information.

PrefsUiOps

Prefs UI operations. This allows overriding the prefs.xml storage with anything else.

ProtocolAction

Represents an action that the protocol can perform. This shows up in the Accounts menu, under a submenu with the name of the account.

ProtocolChatEntry

Represents an entry containing information that must be supplied by the user when joining a chat.

ProxyInfo

Information on proxy settings.

RequestCommonParameters

Common parameters for UI operations.

RequestDatasheet
RequestDatasheetAction
RequestDatasheetRecord
RequestField

A request field.

RequestFieldGroup

A group of fields with a title.

RequestFields

Multiple fields request data.

RequestUiOps

Request UI operations.

RoomlistField
RoomlistRoom
RoomlistUiOps

The room list ops to be filled out by the UI.

SavedStatus

Saved statuses don’t really interact much with the rest of Purple. It could really be a plugin. It’s just a list of away states. When a user chooses one of the saved states, their Purple accounts are set to the settings of that state.

SavedStatusSub
StatusAttribute
StatusType

PurpleStatusType’s are created by each protocol. They outline the available statuses of the protocol. AIM, for example, supports an available state with an optional available message, an away state with a mandatory message, and an invisible state (which is technically “independent” of the other two, but we’ll get into that later). PurpleStatusTypes are very permanent. They are hardcoded in each protocol and will not change often. And because they are hardcoded, they do not need to be saved to any XML file.

StunNatDiscovery

A data type representing a STUN lookup.

TestStringData
UPnPMappingAddRemove
WhiteboardOps

PurpleWhiteboardOps contains the protocol operations for whiteboards.

WhiteboardUiOps

PurpleWhiteboardUiOps contains the user interface operations for whiteboards.

XferUiOps

File transfer UI operations.

XmlNode

An PurpleXmlNode.

Aliases

CmdId

A unique integer representing a command registered with purple_cmd_register(), which can subsequently be passed to purple_cmd_unregister() to unregister that command.

Plugin

Represents a plugin handle. This type is an alias for GPluginPlugin.

PluginInterface

Enumerations

AccountPrivacyType

Privacy data types.

AccountRequestResponse

Account request response types.

AccountRequestType

Account request types.

CmdFlag

Flags used to set various properties of commands. Every command should have at least one of #PURPLE_CMD_FLAG_IM and #PURPLE_CMD_FLAG_CHAT set in order to be even slightly useful.

CmdPriority

Commands are registered from multiple locations which leads to name collisions. PurpleCmdPriority is used to determine which command will be run.

CmdRet

Commands registered with the core return one of these values when run. Normally, a command will want to return one of the first two; in some unusual cases, you might want to have several functions called for a particular command; in this case, they should return

PURPLE_CMD_RET_CONTINUE to cause the core to fall through to other

commands with the same name.

CmdStatus

The possible results of running a command with purple_cmd_do_command().

ConnectionError

Possible errors that can cause a connection to be closed.

ConnectionState
ConversationUpdateType

Conversation update type.

DebugLevel

Available debug levels.

IMTypingState

The typing state of a user.

MediaCandidateType

Media candidate types.

MediaCaps

Media caps.

MediaComponentType

Media component types.

MediaInfoType

Media info types.

MediaNetworkProtocol

Media network protocols.

MediaState

Media state-changed types.

MessageContentType

The message formatting for the message.

NotifyMessageType

Notification message types.

NotifySearchButtonType

Constant values to define the type of buttons to use in a request dialog. These are used by user interfaces to label and possibly add an icon to the button.

NotifyType

Notification types.

NotifyUserInfoEntryType

Types of PurpleNotifyUserInfoEntry objects.

PluginPrefType
PmpType
PrefType

Preference data types.

ProxyType

A type of proxy connection.

RequestDatasheetColumnType

The type of data to be shown in a column.

RequestFeature

Feature flags for the request api.

RequestFieldType

A type of field.

RequestIconType

Constants to define which kind of icon should be displayed.

RequestType

Request types.

RoomlistFieldType

The types of fields.

RoomlistRoomType

The types of rooms.

SslErrorType

Possible SSL errors.

StatusPrimitive

A primitive defining the basic structure of a status type.

StunStatus

The status of a PurpleStunNatDiscovery.

XferStatus

The different states of the xfer.

XferType

Types of file transfers.

XmlNodeType

The valid types for an PurpleXmlNode.

Bitfields

BuddyIconScaleFlags
ChatUserFlags

Flags applicable to users in Chats.

ConnectionFlags

Flags to change behavior of the client for a given connection.

InputCondition

An input condition.

MediaElementType
MediaSessionType

Media session types.

MessageFlags

Flags applicable to a message. Most will have send, recv or system.

PluginInfoFlags

Flags that can be used to treat plugins differently.

ProtocolOptions

Protocol options.

StringFormatType

String format for preferences.

Callbacks

AccountRegistrationCb
AccountRequestAuthorizationCb
AccountUnregistrationCb
AttachmentForeachFunc

Called when iterating PurpleAttachments.

BlistWalkFunc

A callback function for purple_blist_walk.

Callback

A generic function pointer type to represent a callback function.

CmdFunc

A function implementing a command, as passed to purple_cmd_register().

ConversationManagerForeachFunc

A function to be used as a callback with purple_conversation_manager_foreach().

CredentialManagerForeachFunc

A function to be used as a callback with purple_credential_manager_foreach().

FilterAccountFunc
HistoryManagerForeachFunc

A function to be used as a callback with purple_history_manager_foreach().

InfoFieldFormatCallback
InputFunction

The type of callbacks to handle events on file descriptors, as passed to purple_input_add(). The callback will receive the user_data passed to purple_input_add(), the file descriptor on which the event occurred, and the condition that was satisfied to cause the callback to be invoked.

MediaElementCreateCallback
NotifyCloseCallback

Notification close callbacks.

NotifySearchResultsCallback

Callback for a button in a search result.

PluginActionCb

A function called when the related Action Menu is activated.

PluginActionsCb

Returns a list of actions the plugin can perform.

PluginExtraCb

Gives extra information about the plguin.

PluginPrefFrameCb

Returns the preferences frame for the plugin.

PluginPrefRequestCb
PrefCallback

The type of callbacks for preference changes.

ProtocolActionCallback
ProtocolManagerForeachFunc

A function to be used as a callback with purple_protocol_manager_foreach().

RequestActionCb

The type of callbacks passed to purple_request_action(). The first argument is the user_data parameter; the second is the index in the list of actions of the one chosen.

RequestCancelCb

A callback that’s used to handle cancel actions.

RequestChoiceCb

The type of callbacks passed to purple_request_choice(). The first argument is the user_data parameter; the second is the values of those choice.

RequestDatasheetActionCb
RequestDatasheetActionCheckCb
RequestFieldsCb
RequestFieldSensitivityCb
RequestFieldValidator
RequestFileCb
RequestHelpCb
RequestInputCb
SignalMarshalFunc

A generic function pointer type used to register signals.

StunCallback
TestStringFreeFunc
TestStringFunc
TrieFindCb

A function called on every matching substring.

TrieReplaceCb

A function called on every matching substring to be replaced.

UPnPCallback
WhiteboardManagerForeachFunc

A function to be used as a callback with purple_whiteboard_manager_foreach().

Functions

accounts_add

Adds an account to the list of accounts.

accounts_delete

Deletes an account.

accounts_find

Finds an account with the specified name and protocol id.

accounts_get_all

Returns a list of all accounts.

accounts_get_all_active

Returns a list of all enabled accounts.

accounts_get_handle

Returns the accounts subsystem handle.

accounts_get_ui_ops

Returns the UI operations structure used for accounts.

accounts_init

Initializes the accounts subsystem.

accounts_remove

Removes an account from the list of accounts.

accounts_reorder

Reorders an account.

accounts_restore_current_statuses

This is called by the core after all subsystems and what not have been initialized. It sets all enabled accounts to their startup status by signing them on, setting them away, etc.

accounts_schedule_save

Schedules saving of accounts.

accounts_set_ui_ops

Sets the UI operations structure to be used for accounts.

accounts_uninit

Uninitializes the accounts subsystem.

attrs_from_vargs

Returns a hash table of attributes constructed from args.

blist_add_account

Called when an account connects. Tells the UI to update all the buddies.

blist_add_buddy

Adds a new buddy to the buddy list.

blist_add_chat

Adds a new chat to the buddy list.

blist_add_contact

Adds a new contact to the buddy list.

blist_add_group

Adds a new group to the buddy list.

blist_boot

Loads the buddy list.

blist_find_buddies

Finds all PurpleBuddy structs given a name and an account.

blist_find_buddy

Finds the buddy struct given a name and an account.

blist_find_buddy_in_group

Finds the buddy struct given a name, an account, and a group.

blist_find_chat

Finds a chat by name.

blist_find_group

Finds a group by name.

blist_get_buddies

Returns a list of every buddy in the list. Use of this function is discouraged if you do not actually need every buddy in the list. Use purple_blist_find_buddies instead.

blist_get_default

Returns the default buddy list.

blist_get_default_group

Finds or creates default group.

blist_get_default_group_name

Gets the default group name for the buddy list.

blist_get_default_root

Returns the root node of the default buddy list.

blist_get_handle

Returns the handle for the buddy list subsystem.

blist_get_root

Returns the root node of the specified buddy list.

blist_init

Initializes the buddy list subsystem.

blist_new_node

Sets UI-specific data on a node.

blist_remove_account

Called when an account disconnects. Sets the presence of all the buddies to 0 and tells the UI to update them.

blist_remove_buddy

Removes a buddy from the buddy list and frees the memory allocated to it. This doesn’t actually try to remove the buddy from the server list.

blist_remove_chat

Removes a chat from the buddy list and frees the memory allocated to it.

blist_remove_contact

Removes a contact, and any buddies it contains, and frees the memory allocated to it. This calls purple_blist_remove_buddy and therefore doesn’t remove the buddies from the server list.

blist_remove_group

Removes a group from the buddy list and frees the memory allocated to it and to its children.

blist_request_add_buddy

Requests from the user information needed to add a buddy to the buddy list.

blist_request_add_chat

Requests from the user information needed to add a chat to the buddy list.

blist_request_add_group

Requests from the user information needed to add a group to the buddy list.

blist_save_account

Save all the data for an account.

blist_save_node

This is called when a node has been modified and should be saved by the UI.

blist_schedule_save

Schedule a save of the blist.xml file. This is used by the account API whenever the privacy settings are changed. If you make a change to blist.xml using one of the functions in the buddy list API, then the buddy list is saved automatically, so you should not need to call this.

blist_set_ui

Set the UI implementation of the buddy list.

blist_set_visible

Hides or unhides the buddy list.

blist_show

Shows the buddy list, creating a new one if necessary.

blist_uninit

Uninitializes the buddy list subsystem.

blist_update_buddies_cache

Updates the buddies hash table when a buddy has been renamed. This only updates the cache, the caller is responsible for the actual renaming of the buddy after updating the cache.

blist_update_groups_cache

Updates the groups hash table when a group has been renamed. This only updates the cache, the caller is responsible for the actual renaming of the group after updating the cache.

blist_update_node

Update a node in the buddy list in the UI.

blist_walk

Walks the buddy list and calls the appropriate function for each node. If a callback function is omitted iteration will continue without it.

cache_dir

Returns the purple cache directory according to XDG Base Directory Specification. This is usually $HOME/.cache/purple. If custom user dir was specified then this is cache sub-directory of DIR argument passed to -c option.

cmd_do_command

Do a command.

cmd_execute

Execute a specific command.

cmd_help

Get the help string for a command.

cmd_list

List registered commands.

cmd_register

Register a new command with the core.

cmd_unregister

Unregister a command with the core.

cmds_get_handle

Get the handle for the commands API.

cmds_get_ui_ops

Returns the UI operations structure to be used when registering and unregistering commands.

cmds_init

Initialize the commands subsystem.

cmds_set_ui_ops

Sets the UI operations structure to be used when registering and unregistering commands. The UI operations need only be set if the UI wants to handle the commands itself; otherwise, leave it as NULL.

cmds_uninit

Uninitialize the commands subsystem.

config_dir

Returns the purple configuration directory according to XDG Base Directory Specification. This is usually $HOME/.config/purple. If custom user dir was specified then this is config sub-directory of DIR argument passed to -c option.

connections_disconnect_all

Disconnects from all connections.

connections_get_all

Returns a list of all active connections. This does not include connections that are in the process of connecting.

connections_get_connecting

Returns a list of all connections in the process of connecting.

connections_get_handle

Returns the handle to the connections subsystem.

connections_get_ui_ops

Returns the UI operations structure used for connections.

connections_init

Initializes the connections subsystem.

connections_is_online

Checks if at least one account is online.

connections_set_ui_ops

Sets the UI operations structure to be used for connections.

connections_uninit

Uninitializes the connections subsystem.

conversations_get_handle

Returns the conversation subsystem handle.

conversations_get_ui_ops

Gets the default conversation UI operations structure.

conversations_init

Initializes the conversation subsystem.

conversations_set_ui_ops

Sets the default conversation UI operations structure.

conversations_uninit

Uninitializes the conversation subsystem.

data_dir

Returns the purple data directory according to XDG Base Directory Specification. This is usually $HOME/.local/share/purple. If custom user dir was specified then this is data sub-directory of DIR argument passed to -c option.

date_format_full

Formats a time into the user’s preferred full date and time format.

debug

Outputs debug information.

debug_error

Outputs error level debug information.

debug_fatal

Outputs fatal error level debug information.

debug_info

Outputs info level debug information.

debug_init

Initializes the debug subsystem.

debug_is_unsafe

Check if unsafe debugging is enabled. Defaults to FALSE.

debug_is_verbose

Check if verbose logging is enabled.

debug_misc

Outputs misc. level debug information.

debug_set_unsafe

Enable or disable unsafe debugging. This ordinarily should only be called by purple_debug_init(), but there are cases where this can be useful for plugins.

debug_set_verbose

Enable or disable verbose debugging. This ordinarily should only be called by purple_debug_init(), but there are cases where this can be useful for plugins.

debug_warning

Outputs warning level debug information.

email_is_valid

Checks if the given email address is syntactically valid.

escape_filename

Escapes filesystem-unfriendly characters from a filename.

gai_strerror

Return the UTF-8 version of #gai_strerror. It calls #gai_strerror then converts the result to UTF-8. This function is analogous to g_strerror().

get_core

This is used to connect to core signals.

get_option_group

Returns a GOptionGroup for the commandline arguments recognized by LibPurple. You should add this option group to your GOptionContext with g_option_context_add_group(), if you are using g_option_context_parse() to parse your commandline arguments.

gio_graceful_close

Closes input, output, stream. If there are pending operations, it asynchronously waits for the operations to finish before closing the arguments. Ensure the Gio callbacks can safely handle this being done asynchronously.

gio_socket_client_new

A helper function to simplify creating a GSocketClient. It’s intended to be used in protocol plugins.

global_proxy_get_info

Returns purple’s global proxy information.

global_proxy_set_info

Set purple’s global proxy information.

got_protocol_handler_uri
home_dir

Returns the user’s home directory.

idle_get_ui

Gets the current idle reporter.

idle_init

Initializes the idle system.

idle_set

Fake our idle time by setting the time at which our accounts purportedly became idle. This is used by the I’dle Mak’er plugin.

idle_set_ui

Sets the user interface idle reporter. This function assumes ownership of ui.

idle_touch

Touch our idle tracker. This signifies that the user is ‘active’. The conversation code calls this when the user sends an IM, for example.

idle_uninit

Uninitializes the idle system.

input_add

Adds an input handler.

input_pipe

Creates a pipe - an unidirectional data channel that can be used for interprocess communication.

input_remove

Removes an input handler.

markup_escape_text

Escapes special characters in a plain-text string so they display correctly as HTML. For example, & is replaced with &amp; and < is replaced with &lt;

markup_find_tag

Finds an HTML tag matching the given name.

markup_get_css_property

Returns a newly allocated string containing the value of the CSS property specified in opt. The style argument is expected to point to a HTML inline CSS. The function will seek for the CSS property and return its value.

markup_get_tag_name

Returns a newly allocated string containing the name of the tag located at “tag”. Tag is expected to point to a ‘<’, and contain a ‘>’ sometime after that. If there is no ‘>’ and the string is not NUL terminated, this function can be expected to segfault.

markup_html_to_xhtml

Converts HTML markup to XHTML.

markup_is_rtl

Check if the given HTML contains RTL text.

markup_linkify

Adds the necessary HTML code to turn URIs into HTML links in a string.

markup_slice

Returns a newly allocated substring of the HTML UTF-8 string “str”. The markup is preserved such that the substring will have the same formatting as original string, even though some tags may have been opened before “x”, or may close after “y”. All open tags are closed at the end of the returned string, in the proper order.

markup_strip_html

Strips HTML tags from a string.

markup_unescape_entity

Returns a constant string of the character representation of the HTML entity pointed to by text. For example, purple_markup_unescape_entity(“&amp;”) will return “&”. The text variable is expected to point to an ‘&’, the first character of the entity. If given an unrecognized entity, the function returns NULL.

marshal_BOOLEAN__INT_POINTER

A purple marshaller function for use with signals with an integer and a pointer argument and returns a boolean.

marshal_BOOLEAN__POINTER

A purple marshaller function for use with signals with a single pointer argument and returns a boolean.

marshal_BOOLEAN__POINTER_BOOLEAN

A purple marshaller function for use with signals with a pointer and boolean argument and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER

A purple marshaller function for use with signals with two pointer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER

A purple marshaller function for use with signals with three pointer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with four pointer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with five pointer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with six pointer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT

A purple marshaller function for use with signals with four pointer and one unsigned integer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT

A purple marshaller function for use with signals with three pointer and one unsigned integer arguments and returns a boolean.

marshal_BOOLEAN__POINTER_POINTER_UINT

A purple marshaller function for use with signals with two pointer and one unsigned integer arguments and returns a boolean.

marshal_INT__INT

A purple marshaller function for use with signals with an integer argument and returns an integer.

marshal_INT__INT_INT

A purple marshaller function for use with signals with two integer arguments and returns an integer.

marshal_INT__POINTER_POINTER

A purple marshaller function for use with signals with two pointer arguments and returns an integer.

marshal_INT__POINTER_POINTER_POINTER

A purple marshaller function for use with signals with three pointer arguments and returns an integer.

marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with five pointer arguments and returns an integer.

marshal_POINTER__POINTER

A purple marshaller function for use with signals with a pointer argument and returns a pointer.

marshal_POINTER__POINTER_INT

A purple marshaller function for use with signals with a pointer and an integer argument and returns a pointer.

marshal_POINTER__POINTER_INT64

A purple marshaller function for use with signals with a pointer and a 64-bit integer argument and returns a pointer.

marshal_POINTER__POINTER_INT64_BOOLEAN

A purple marshaller function for use with signals with a pointer, 64-bit integer, and boolean argument and returns a pointer.

marshal_POINTER__POINTER_INT_BOOLEAN

A purple marshaller function for use with signals with a pointer, integer, and boolean argument and returns a pointer.

marshal_POINTER__POINTER_POINTER

A purple marshaller function for use with signals with two pointer arguments and returns a pointer.

marshal_POINTER__POINTER_POINTER_BOOLEAN

A purple marshaller function for use with signals with two pointer and one boolean arguments and returns a pointer.

marshal_VOID

A purple marshaller function for use with signals with no arguments.

marshal_VOID__INT

A purple marshaller function for use with signals with a single integer argument.

marshal_VOID__INT_INT

A purple marshaller function for use with signals with two integer arguments.

marshal_VOID__POINTER

A purple marshaller function for use with signals with a single pointer argument.

marshal_VOID__POINTER_INT_INT

A purple marshaller function for use with signals with a pointer and two integer arguments.

marshal_VOID__POINTER_INT_POINTER

A purple marshaller function for use with signals with a pointer, an integer, and then another pointer argument.

marshal_VOID__POINTER_POINTER

A purple marshaller function for use with signals with two pointer arguments.

marshal_VOID__POINTER_POINTER_POINTER

A purple marshaller function for use with signals with three pointer arguments.

marshal_VOID__POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with four pointer arguments.

marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER

A purple marshaller function for use with signals with five pointer arguments.

marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT

A purple marshaller function for use with signals with four pointer and one unsigned integer arguments.

marshal_VOID__POINTER_POINTER_POINTER_UINT

A purple marshaller function for use with signals with three pointer and one unsigned integer arguments.

marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT

A purple marshaller function for use with signals with three pointer and two unsigned integer arguments.

marshal_VOID__POINTER_POINTER_UINT

A purple marshaller function for use with signals with two pointers and an unsigned integer argument.

marshal_VOID__POINTER_POINTER_UINT_UINT

A purple marshaller function for use with signals with two pointers and two unsigned integer arguments.

marshal_VOID__POINTER_UINT

A purple marshaller function for use with signals with a pointer and an unsigned integer argument.

marshal_VOID__POINTER_UINT_UINT

A purple marshaller function for use with signals with a pointer and two unsigned integer arguments.

mkstemp

Creates a temporary file and returns a file pointer to it.

move_to_xdg_base_dir

Moves file or directory from legacy user dir to XDG based dir.

network_discover_my_ip

Discovers the IP address that should be used anywhere a public IP addresses is needed (listening for an incoming file transfer, etc).

network_force_online

Makes purple_network_is_available() always return TRUE.

network_get_my_ip_from_gio

Returns the IP address that should be used anywhere a public IP address is needed (listening for an incoming file transfer, etc).

network_get_public_ip

Returns the IP address of the local system set in preferences.

network_get_stun_ip

Get the IP address of the STUN server as a string representation.

network_get_turn_ip

Get the IP address of the TURN server as a string representation.

network_init

Initializes the network subsystem.

network_is_available

Detects if there is an available network connection.

network_remove_port_mapping

Remove a port mapping (UPnP or NAT-PMP) associated with listening socket.

network_set_public_ip

Sets the IP address of the local system in preferences. This is the IP address that should be used for incoming connections (file transfer, direct IM, etc.) and should therefore be publicly accessible.

network_set_stun_server

Update the STUN server IP given the host name Will result in a DNS query being executed asynchronous.

network_set_turn_server

Update the TURN server IP given the host name Will result in a DNS query being executed asynchronous.

network_uninit

Shuts down the network subsystem.

normalize

Normalizes a string, so that it is suitable for comparison.

normalize_nocase

Normalizes a string, so that it is suitable for comparison.

notify_close

Closes a notification.

notify_close_with_handle

Closes all notifications registered with the specified handle.

notify_email

Displays a single email notification to the user.

notify_emails

Displays a notification for multiple emails to the user.

notify_formatted

Displays a notification with formatted text.

notify_get_handle

Returns the notify subsystem handle.

notify_get_ui_ops

Returns the UI operations structure to be used when displaying a notification.

notify_init

Initializes the notify subsystem.

notify_is_valid_ui_handle

Checks, if passed UI handle is valid.

notify_message

Displays a notification message to the user.

notify_searchresult_column_get_title

Returns the title of the column.

notify_searchresult_column_is_visible

Returns whether or not a search result column is visible.

notify_searchresult_column_set_visible

Sets whether or not a search result column is visible.

notify_searchresults

Displays results from a buddy search. This can be, for example, a window with a list of all found buddies, where you are given the option of adding buddies to your buddy list.

notify_searchresults_button_add

Adds a stock button that will be displayed in the search results dialog.

notify_searchresults_button_add_labeled

Adds a plain labelled button that will be displayed in the search results dialog.

notify_searchresults_column_add

Adds a new column to the search result object.

notify_searchresults_column_new

Returns a newly created search result column object. The column defaults to being visible.

notify_searchresults_free

Frees a PurpleNotifySearchResults object.

notify_searchresults_new

Returns a newly created search results object.

notify_searchresults_new_rows

Replace old rows with the new. Reuse an existing window.

notify_searchresults_row_add

Adds a new row of the results to the search results object.

notify_set_ui_ops

Sets the UI operations structure to be used when displaying a notification.

notify_uninit

Uninitializes the notify subsystem.

notify_uri

Opens a URI or somehow presents it to the user.

notify_userinfo

Displays user information with formatted text, passing information giving the connection and username from which the user information came.

plugin_disable

Disable a plugin.

plugin_get_dependent_plugins

Returns a list of plugins that depend on a particular plugin.

plugin_get_info

Returns a plugin’s PurplePluginInfo instance.

plugin_is_internal

Returns whether a plugin is an internal plugin. Internal plugins provide required additional functionality to the libpurple core. These plugins must not be shown in plugin lists. Examples of such plugins are in-tree protocol plugins, loaders etc.

plugin_is_loaded

Returns whether or not a plugin is currently loaded.

plugin_load

Attempts to load a plugin.

plugin_unload

Unloads the specified plugin.

plugins_add_search_path

Add a new directory to search for plugins.

plugins_find_all

Returns a list of all plugins, whether loaded or not.

plugins_find_by_filename

Finds a plugin with the specified filename (filename with a path).

plugins_find_plugin

Finds a plugin with the specified plugin ID.

plugins_get_loaded

Returns a list of all loaded plugins.

plugins_init

Initializes the plugin subsystem.

plugins_load_saved

Attempts to load all the plugins in the specified preference key that were loaded when purple last quit.

plugins_refresh

Forces a refresh of all plugins found in the search paths, and loads plugins that are to be auto-loaded.

plugins_save_loaded

Saves the list of loaded plugins to the specified preference key. Plugins that are set to auto-load are not saved.

plugins_uninit

Uninitializes the plugin subsystem.

pmp_create_map

Remove the NAT-PMP mapping for a specified type on a specified port.

pmp_destroy_map

Remove the NAT-PMP mapping for a specified type on a specified port.

pmp_get_public_ip
pmp_init

Initialize nat-pmp.

prefs_add_bool

Add a new boolean pref.

prefs_add_int

Add a new integer pref.

prefs_add_none

Add a new typeless pref.

prefs_add_path

Add a new path pref.

prefs_add_path_list

Add a new path list pref.

prefs_add_string

Add a new string pref.

prefs_add_string_list

Add a new string list pref.

prefs_connect_callback

Add a callback to a pref (and its children)

prefs_destroy

Remove all prefs.

prefs_disconnect_by_handle

Remove all pref callbacks by handle.

prefs_disconnect_callback

Remove a callback to a pref.

prefs_exists

Check if a pref exists.

prefs_get_bool

Get boolean pref value.

prefs_get_children_names

Returns a list of children for a pref.

prefs_get_handle

Returns the prefs subsystem handle.

prefs_get_int

Get integer pref value.

prefs_get_path

Get path pref value.

prefs_get_path_list

Get path list pref value.

prefs_get_pref_type

Get pref type.

prefs_get_string

Get string pref value.

prefs_get_string_list

Get string list pref value.

prefs_get_ui_ops

Returns the UI operations structure used for preferences.

prefs_init

Initialize core prefs.

prefs_load

Read preferences.

prefs_remove

Remove a pref.

prefs_rename

Rename a pref.

prefs_rename_boolean_toggle

Rename a boolean pref, toggling it’s value.

prefs_set_bool

Set boolean pref value.

prefs_set_int

Set integer pref value.

prefs_set_path

Set path pref value.

prefs_set_path_list

Set path list pref value.

prefs_set_string

Set string pref value.

prefs_set_string_list

Set string list pref value.

prefs_set_ui_ops

Sets the UI operations structure to be used for preferences.

prefs_trigger_callback

Trigger callbacks as if the pref changed.

prefs_trigger_callback_object

Trigger callbacks as if the pref changed, taking a PurplePrefCallbackData instead of a name.

prefs_uninit

Uninitializes the prefs subsystem.

primitive_get_id_from_type

Lookup the id of a primitive status type based on the type. This ID is a unique plain-text name of the status, without spaces.

primitive_get_name_from_type

Lookup the name of a primitive status type based on the type. This name is the plain-English name of the status type. It is usually one or two words.

primitive_get_type_from_id

Lookup the value of a primitive status type based on the id. The ID is a unique plain-text name of the status, without spaces.

program_is_valid

Checks if the given program name is valid and executable.

proxy_get_handle

Returns the proxy subsystem handle.

proxy_get_proxy_resolver

Returns a GProxyResolver capable of resolving which proxy to use for this account, if any. This object can be given to a GSocketClient for automatic proxy handling or can be used directly if desired.

proxy_get_setup

Returns configuration of a proxy.

proxy_init

Initializes the proxy subsystem.

proxy_uninit

Uninitializes the proxy subsystem.

request_action

Prompts the user for an action.

request_action_varg

va_list version of purple_request_action(); see its documentation.

request_add_close_notify

Adds a function called when notification dialog is closed.

request_choice

Prompts the user for multiple-choice input.

request_choice_varg

va_list version of purple_request_choice(); see its documentation.

request_close

Closes a request.

request_close_with_handle

Closes all requests registered with the specified handle.

request_cpar_from_account

Creates new parameters set initially bound with the PurpleAccount.

request_cpar_from_connection

Creates new parameters set initially bound with the PurpleConnection.

request_cpar_from_conversation

Creates new parameters set initially bound with the PurpleConversation.

request_cpar_get_account

Gets the PurpleAccount associated with the request.

request_cpar_get_conversation

Gets the PurpleConversation associated with the request.

request_cpar_get_custom_icon

Gets the custom icon associated with the request.

request_cpar_get_extra_actions

Gets extra actions for the PurpleRequestFields dialog.

request_cpar_get_help_cb

Gets the callback for the Help button.

request_cpar_get_icon

Gets the icon associated with the request.

request_cpar_get_parent_from

Gets the parent “donor” for this dialog.

request_cpar_is_compact

Gets dialog display mode.

request_cpar_is_html

Checks, if the text passed to the request is HTML.

request_cpar_new

Creates new parameters set for the request, which may or may not be used by the UI to display the request.

request_cpar_ref

Increases the reference count on the parameters set.

request_cpar_set_account

Sets the PurpleAccount associated with the request, or NULL, if none is.

request_cpar_set_compact

Sets dialog display mode to compact or default.

request_cpar_set_conversation

Sets the PurpleConversation associated with the request, or NULL, if none is.

request_cpar_set_custom_icon

Sets the custom icon associated with the request.

request_cpar_set_extra_actions

Sets extra actions for the PurpleRequestFields dialog.

request_cpar_set_help_cb

Sets the callback for the Help button.

request_cpar_set_html

Switches the request text to be HTML or not.

request_cpar_set_icon

Sets the icon associated with the request.

request_cpar_set_parent_from

Sets the same parent window for this dialog, as the parent of specified Notify API or Request API dialog UI handle.

request_cpar_unref

Decreases the reference count on the parameters set.

request_fields

Displays groups of fields for the user to fill in.

request_file

Displays a file selector request dialog. Returns the selected filename to the callback. Can be used for either opening a file or saving a file.

request_folder

Displays a folder select dialog. Returns the selected filename to the callback.

request_get_ui_ops

Returns the UI operations structure to be used when displaying a request.

request_input

Prompts the user for text input.

request_is_valid_ui_handle

Checks, if passed UI handle is valid.

request_set_ui_ops

Sets the UI operations structure to be used when displaying a request.

request_wait

Displays a “please wait” dialog.

request_wait_progress

Notifies the “please wait” dialog about progress has been made.

request_wait_pulse

Notifies the “please wait” dialog that some progress has been made, but you don’t know how much.

running_gnome

Check if running GNOME.

running_kde

Check if running KDE.

running_osx

Check if running OS X.

savedstatuses_get_all

Returns all saved statuses.

savedstatuses_get_handle

Get the handle for the status subsystem.

savedstatuses_get_popular

Returns the n most popular saved statuses. “Popularity” is determined by when the last time a saved_status was used and how many times it has been used. Transient statuses without messages are not included in the list.

savedstatuses_init

Initializes the status subsystem.

savedstatuses_uninit

Uninitializes the status subsystem.

serv_add_deny

Add the buddy on the required blocked list.

serv_add_permit

Add the buddy on the required authorized list.

serv_alias_buddy

Save/store buddy’s alias on server list/roster.

serv_chat_invite

Invite a user to join a chat.

serv_chat_leave

Called when the user requests leaving a chat.

serv_chat_send

Send a message to a chat.

serv_get_info

Request user information from the server.

serv_got_alias

Protocol should call this function when it retrieves an alias form the server.

serv_got_chat_in

Called by a protocol when a message has been received in a chat.

serv_got_chat_invite

Called by a protocol when an account is invited into a chat.

serv_got_chat_left

Called by a protocol when an account has left a chat.

serv_got_im

This function is called by the protocol when it receives an IM message.

serv_got_join_chat_failed

Called by a protocol when an attempt to join a chat via purple_serv_join_chat() fails.

serv_got_joined_chat

Called by a protocol when an account has joined a chat.

serv_got_private_alias

A protocol should call this when it retrieves a private alias from the server. Private aliases are the aliases the user sets, while public aliases are the aliases or display names that buddies set for themselves.

serv_got_typing

Receive a typing message from a remote user. Either PURPLE_IM_TYPING or PURPLE_IM_TYPED. If the user has stopped typing then use purple_serv_got_typing_stopped instead.

serv_got_typing_stopped

Called from a protocol when it has received a type stopped.

serv_join_chat
serv_move_buddy

Move a buddy from one group to another on server.

serv_reject_chat
serv_remove_deny

Remove the buddy from the required blocked list.

serv_remove_permit

Remove the buddy from the required authorized list.

serv_send_file

Send a filename to a given contact.

serv_send_im

Sends the message to the user through the required protocol.

serv_send_typing

Send a typing message to a given user over a given connection.

serv_set_info

Set user account information on the server.

serv_set_permit_deny

Update the server with the privacy information on the permit and deny lists.

signal_connect

Connects a signal handler to a signal for a particular object. (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.)

signal_connect_priority

Connects a signal handler to a signal for a particular object.

signal_connect_priority_vargs

Connects a signal handler to a signal for a particular object.

signal_connect_vargs

Connects a signal handler to a signal for a particular object. (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.)

signal_disconnect

Disconnects a signal handler from a signal on an object.

signal_emit

Emits a signal.

signal_emit_return_1

Emits a signal and returns the first non-NULL return value.

signal_emit_vargs

Emits a signal, using a va_list of arguments.

signal_emit_vargs_return_1

Emits a signal and returns the first non-NULL return value.

signal_get_types

Outputs a list of value types used for a signal through the ret_type, num_values and param_types out parameters.

signal_register

Registers a signal in an instance.

signal_unregister

Unregisters a signal in an instance.

signals_disconnect_by_handle

Removes all callbacks associated with a receiver handle.

signals_init

Initializes the signals subsystem.

signals_uninit

Uninitializes the signals subsystem.

signals_unregister_by_instance

Unregisters all signals in an instance.

socket_listener_add_any_inet_port

Listens for TCP connections on any available port number for both IPv6 and IPv4 (if each is available). This is a simple wrapper around g_socket_listener_add_any_inet_port(), except if the user specified a port range in the settings, than a port will be chosen from that range.

statuses_get_handle

Get the handle for the status subsystem.

statuses_init

Initializes the status subsystem.

statuses_uninit

Uninitializes the status subsystem.

str_add_cr

Ensures that all linefeeds have a matching carriage return.

str_has_caseprefix

Compares two strings to see if the first contains the second as a proper case-insensitive prefix.

str_seconds_to_string

Converts seconds into a human-readable form.

str_strip_char

Strips all instances of the given character from the given string. The string is modified in place. This is useful for stripping new line characters, for example.

str_to_date_time

Parses a timestamp in jabber, ISO8601, or MM/DD/YYYY format and returns a GDateTime.

str_to_time

Parses a timestamp in jabber, ISO8601, or MM/DD/YYYY format and returns a time_t.

str_wipe

Fills a NUL-terminated string with zeros and frees it.

strcasereplace

Given a string, this replaces one substring with another ignoring case and returns a newly allocated string.

strcasestr

This is like strstr, except that it ignores ASCII case in searching for the substring.

strdup_withhtml

Duplicates a string and replaces all newline characters from the source string with HTML linebreaks.

strreplace

Given a string, this replaces one substring with another and returns a newly allocated string.

stun_discover

Starts a NAT discovery. It returns a PurpleStunNatDiscovery if the discovery is already done. Otherwise the callback is called when the discovery is over and NULL is returned.

stun_init

Initializes the STUN API. This is called by libpurple and you should not be calling it yourself.

text_strip_mnemonic

Removes the underscore characters from a string used identify the mnemonic character.

time_parse_month

Get month number suitable for GDateTime. If month_abbr is unknown, returns 0.

unescape_filename

Does the reverse of purple_escape_filename.

unescape_html

Unescapes HTML entities to their literal characters and converts “<br>” to “\n”. See purple_unescape_text() for more details.

unescape_text

Unescapes HTML entities to their literal characters in the text. For example “&amp;” is replaced by ‘&’ and so on. Also converts numerical entities (e.g. “&#38;” is also ‘&’).

upnp_cancel_port_mapping

Cancel a pending port mapping request initiated with either purple_upnp_set_port_mapping() or purple_upnp_remove_port_mapping().

upnp_discover

Sends a discovery request to search for a UPnP enabled IGD that contains the WANIPConnection service that will allow us to receive the public IP address of the IGD, and control it for forwarding ports. The result will be cached for further use.

upnp_get_public_ip

Gets the IP address from a UPnP enabled IGD that sits on the local network, so when getting the network IP, instead of returning the local network IP, the public IP is retrieved. This is a cached value from the time of the UPnP discovery.

upnp_init

Initialize UPnP.

upnp_remove_port_mapping

Deletes a port mapping in a UPnP enabled IGD that sits on the local network to this purple client. Essentially, this function takes care of deleting the port forwarding after they have completed a connection so another client on the local network can take advantage of the port forwarding.

upnp_set_port_mapping

Maps Ports in a UPnP enabled IGD that sits on the local network to this purple client. Essentially, this function takes care of the port forwarding so things like file transfers can work behind NAT firewalls.

upnp_uninit

Shuts down UPnP.

uri_escape_for_open

This function escapes any characters that might be interpreted by the shell when executing a program to open a URI on some systems.

uri_list_extract_filenames

This function extracts a list of filenames from a “text/uri-list” string. It was “borrowed” from gnome_uri_list_extract_filenames.

uri_list_extract_uris

This function extracts a list of URIs from the a “text/uri-list” string. It was “borrowed” from gnome_uri_list_extract_uris.

url_decode

Decodes a URL into a plain string.

url_encode

Encodes a URL into an escaped string.

user_dir

Returns the purple settings directory in the user’s home directory. This is usually $HOME/.purple.

utf8_has_word

Case insensitive search for a word in a string. The needle string must be contained in the haystack string and not be immediately preceded or immediately followed by another alphanumeric character.

utf8_ncr_decode

Given a string, this replaces any numerical character references in that string with the corresponding actual utf-8 substrings, and returns a newly allocated string.

utf8_ncr_encode

Given a string, this replaces any utf-8 substrings in that string with the corresponding numerical character reference, and returns a newly allocated string.

utf8_strcasecmp

Compares two UTF-8 strings case-insensitively. This comparison is more expensive than a simple g_utf8_collate() comparison because it calls g_utf8_casefold() on each string, which allocates new strings.

utf8_strftime

Formats a time into the specified format.

utf8_strip_unprintables

Removes unprintable characters from a UTF-8 string. These characters (in particular low-ASCII characters) are invalid in XML 1.0 and thus are not allowed in XMPP and are rejected by libxml2 by default.

utf8_try_convert

Attempts to convert a string to UTF-8 from an unknown encoding.

util_chrreplace

Given a string, this replaces all instances of one character with another. This happens inline (the original string IS modified).

util_format_song_info

Format song information.

util_init

Initializes the utility subsystem.

util_read_xml_from_cache_file

Read the contents of a given file and parse the results into an PurpleXmlNode tree structure. This is intended to be used to read Purple’s cache xml files (xmpp-caps.xml, etc.)

util_read_xml_from_config_file

Read the contents of a given file and parse the results into an PurpleXmlNode tree structure. This is intended to be used to read Purple’s config xml files (prefs.xml, pounces.xml, etc.)

util_read_xml_from_data_file

Read the contents of a given file and parse the results into an PurpleXmlNode tree structure. This is intended to be used to read Purple’s cache xml files (accounts.xml, etc.)

util_read_xml_from_file

Read the contents of a given file and parse the results into an PurpleXmlNode tree structure. This is intended to be used to read Purple’s configuration xml files (prefs.xml, pounces.xml, etc.)

util_set_current_song

Set the appropriate presence values for the currently playing song.

util_set_user_dir

Define a custom purple settings directory, overriding the default (user’s home directory/.purple)

util_uninit

Uninitializes the util subsystem.

util_write_data_to_cache_file

Write a string of data to a file of the given name in the Purple cache directory ($HOME/.cache/purple by default).

util_write_data_to_config_file

Write a string of data to a file of the given name in the Purple config directory ($HOME/.config/purple by default).

util_write_data_to_data_file

Write a string of data to a file of the given name in the Purple data directory ($HOME/.local/share/purple by default).

util_write_data_to_file

Write a string of data to a file of the given name in the Purple user directory ($HOME/.purple by default). The data is typically a serialized version of one of Purple’s config files, such as prefs.xml, accounts.xml, etc. And the string is typically obtained using purple_xmlnode_to_formatted_str. However, this function should work fine for saving binary files as well.

util_write_data_to_file_absolute

Write data to a file using the absolute path.

validate

Checks, if a string is valid.

value_dup

Duplicates a GValue.

value_free

Frees a GValue.

value_new

Creates a new GValue of the specified type.

version_check

Checks that the libpurple version is compatible with the requested version.

xfers_get_all

Returns all xfers.

xfers_get_handle

Returns the handle to the file transfer subsystem.

xfers_get_ui_ops

Returns the UI operations structure to be used in all purple file transfers.

xfers_init

Initializes the file transfer subsystem.

xfers_set_ui_ops

Sets the UI operations structure to be used in all purple file transfers.

xfers_uninit

Uninitializes the file transfer subsystem.

Function Macros

BLIST_NODE_NAME

Gets the name of n.

CALLBACK

Cast a function pointer to PurpleCallback.

MEDIA_CLASS
notify_error

A wrapper for purple_notify_message() that displays an error message.

notify_info

A wrapper for purple_notify_message() that displays an information message.

notify_warning

A wrapper for purple_notify_message() that displays a warning message.

PLUGIN
PLUGIN_ABI_MAJOR_VERSION

Extracts the purple major version from abi.

PLUGIN_ABI_MINOR_VERSION

Extracts the purple minor version from abi.

PLUGIN_ABI_VERSION

Packs major and minor into an integer to be used as an abi version for gplugin.

PROTOCOL_IMPLEMENTS
request_accept_cancel

A wrapper for purple_request_action() that uses Accept and Cancel buttons.

request_ok_cancel

A wrapper for purple_request_action() that uses OK and Cancel buttons.

request_yes_no

A wrapper for purple_request_action() that uses Yes and No buttons.

VERSION_CHECK

Checks the version of libpurple being compiled against. See

purple_version_check for a runtime check.

Constants

DEFAULT_ACTION_NONE
EXTRA_VERSION

The “extra” part of the version number if anything. Typical values are “devel”, “beta1”, “rc2”, etc.

IMAGE_STORE_PROTOCOL

A global URI prefix for images stored in this subsystem.

IMAGE_STORE_STOCK_PROTOCOL

A global URI prefix for stock images, with names defined by libpurple and contents defined by the UI.

MAJOR_VERSION

The major version of the running libpurple.

MICRO_VERSION

The micro version of the running libpurple.

MINOR_VERSION

The minor version of the running libpurple.

MOOD_COMMENT
MOOD_NAME
NO_TZ_OFF

Used by purple_str_to_time to indicate no timezone offset was specified in the timestamp string.

PMP_LIFETIME
SIGNAL_PRIORITY_DEFAULT

The priority of a signal connected using purple_signal_connect().

SIGNAL_PRIORITY_HIGHEST

The largest signal priority; signals with this priority will be called last. (This is highest as in numerical value, not as in order of importance.)

SIGNAL_PRIORITY_LOWEST

The smallest signal priority; signals with this priority will be called first. (This is lowest as in numerical value, not as in order of importance.)

TUNE_ALBUM

A constant for a status attribute that represents the album of a song.

TUNE_ARTIST

A constant for a status attribute that represents the artists of a song.

TUNE_COMMENT

A constant for a status attribute that represents the comment of a song.

TUNE_FULL

A constant for a status attribute that represents the full details of a song.

TUNE_GENRE

A constant for a status attribute that represents the genre of a song.

TUNE_TIME

A constant for a status attribute that represents the duration of a song.

TUNE_TITLE

A constant for a status attribute that represents the title of a song.

TUNE_TRACK

A constant for a status attribute that represents the track number of a song.

TUNE_URL

A constant for a status attribute that represents the url of a song.

TUNE_YEAR

A constant for a status attribute that represents the release year of a song.

VERSION

The entire version as a string.