Namespace

Purple – 3.0

Purple Universal Chat Library

Version2.90.0
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—2.0 General-purpose, portable utility library.
Browse documentation
GObject—2.0 The base type system library
Browse documentation
GPlugin—1.0 GPlugin Plugin Library
Browse documentation

Classes

Account

A PurpleAccount is the core configuration for connecting to a specific account. User interfaces typically allow users to create these in a dialog or wizard.

since: 2.0

AccountManager

A manager that keeps track of all PurpleAccounts.

unstable since: 3.0

AddContactRequest

PurpleAddContactRequest is a data structure that contains all of the information when someone has added you to their contact list, so the user interface can ask the user to add the remote user to their contact list.

unstable since: 3.0

Attachment

PurpleAttachment represents a file attached to a PurpleMessage.

unstable since: 3.0

AuthorizationRequest

PurpleAuthorizationRequest is a data structure that contains all of the information when someone has requested authorization to add you to their contact list.

unstable since: 3.0

Avatar

A representation of an Avatar that is used for accounts, contacts, and conversations.

unstable since: 3.0

Badge

PurpleBadge is a data structure for badges. They are intended to be used on PurpleConversationMembers to display badges like “admin”, “moderator”, “broadcaster”, etc.

unstable since: 3.0

Badges

PurpleBadges is a collection of PurpleBadges sorted by their priority. This is intended to be used on PurpleConversationMembers and perhaps elsewhere to display information like “moderator”, “admin”, “broadcaster”, etc. Items with the highest priority will be at the start of the collection.

unstable since: 3.0

ChannelJoinDetails

The details that are necessary for a PurpleProtocol to join a channel. A user interface will ask a protocol for a PurpleChannelJoinDetails and then fill it out and pass it back to the protocol to actually join a channel.

unstable since: 3.0

CircularBuffer

A circular buffer implementation.

unstable since: 3.0

Command

An object that represents a command.

unstable since: 3.0

Connection

Represents an active connection on an account.

Contact

A contact is a concrete representation of a user in that it contains all of the contact information as well as a PurpleAccount to use that contact information with.

ContactInfo

The information about a contact. This information is used everywhere you need to refer to a user. Be it a chat, an direct message, a file transfer, etc.

unstable since: 3.0

ContactManager

A manager for PurpleContacts.

unstable since: 3.0

Conversation

A core representation of a conversation between two or more people.

since: 2.0

ConversationManager

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

unstable since: 3.0

ConversationMember

A conversation member links a PurpleContactInfo to a PurpleConversation as well as any data that is unique to the link.

unstable since: 3.0

ConversationMembers

A collection of PurpleConversationMembers.

unstable since: 3.0

CreateConversationDetails

The details that are necessary for a PurpleProtocol to create a conversation.

unstable since: 3.0

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.

unstable since: 3.0

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, macOS Keychain Access, KWallet, and the Windows Credentials store by subclassing PurpleCredentialProvider.

unstable since: 3.0

FileTransfer

A peer to peer file transfer object.

unstable since: 3.0

FileTransferManager

Keeps track of the PurpleFileTransfers that have been added to it and propagates all of their signals.

unstable since: 3.0

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.

unstable since: 3.0

HistoryManager

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

unstable since: 3.0

IdleManager

The idle manager keeps track of multiple idle sources and aggregates them to the oldest one to report a global idle state.

unstable since: 3.0

Image

PurpleImage object is a container for raw image data. It doesn’t manipulate image data, just stores it in its binary format - png, jpeg etc. Thus, it’s totally independent from the UI.

unstable since: 3.0

Message

PurpleMessage represents any message passed between users in libpurple.

unstable since: 3.0

Messages

A read-only collection of PurpleMessages and the PurpleConversation that they belong to.

unstable since: 3.0

NoopCredentialProvider

PurpleNoopCredentialProvider is a PurpleCredentialProvider that does not actually provider credentials. It is used to implement the default behavior of requiring users to input passwords.

unstable since: 3.0

Notification

An object that represents a notification.

unstable since: 3.0

NotificationAddContact

A PurpleNotification for PurpleAddContactRequests.

unstable since: 3.0

NotificationAuthorizationRequest

A PurpleNotification for PurpleAuthorizationRequests.

unstable since: 3.0

NotificationConnectionError

A PurpleNotification for connection errors on PurpleAccount.

unstable since: 3.0

NotificationLink

A PurpleNotification that contains a link for more information.

unstable since: 3.0

NotificationManager

Purple Notification Manager manages all notifications between protocols and plugins and how the user interface interacts with them.

unstable since: 3.0

Person

A collection of PurpleContactInfo that contains a user selectable custom avatar and alias.

unstable since: 3.0

PluginInfo

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

unstable since: 3.0

Presence

A PurplePresence is like a collection of PurpleStatuses (plus some other random info). For any buddy, or for any one of your accounts, or for any person with which you’re chatting, you may know various amounts of information. This information is all contained in one PurplePresence. If one of your buddies is away and idle, then the presence contains the PurpleStatus for their awayness, and it contains their current idle time. PurplePresences are never saved to disk. The information they contain is only relevant for the current Purple session.

since: 2.0

PresenceManager

A manager for PurpleSavedPresences.

unstable since: 3.0

Protocol

PurpleProtocol is the base type for all protocols in libpurple.

unstable since: 3.0

ProtocolManager

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

unstable since: 3.0

ProxyInfo

A representation of a proxy.

since: 2.0

RequestField

A request field.

unstable since: 3.0

RequestFieldAccount

An account request field.

unstable since: 3.0

RequestFieldBool

A boolean request field.

unstable since: 3.0

RequestFieldChoice

A choice request field.

unstable since: 3.0

RequestFieldImage

An image request field.

unstable since: 3.0

RequestFieldInt

An integer request field.

unstable since: 3.0

RequestFieldLabel

A label request field.

unstable since: 3.0

RequestFieldList

A list request field.

unstable since: 3.0

RequestFieldString

A string request field.

unstable since: 3.0

RequestGroup

A group of fields with a title.

unstable since: 3.0

RequestPage

Multiple fields request data.

unstable since: 3.0

SavedPresence

A data structure used to save a presence.

unstable since: 3.0

SqliteHistoryAdapter

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

unstable since: 3.0

Tags

Tags is an object that can be used to keep track of arbitrary tags on objects. Tags are simple strings that use the first ‘:’ to delimit a value. For example: foo is a tag with just a name and no value, but foo:bar is a tag with a name and value. Also, foo: is still considered a name and value, but the value is an empty string.

unstable since: 3.0

Ui

An abstract class representing a user interface. All user interfaces must create a subclass of this and pass it to purple_core_init().

unstable since: 3.0

Whiteboard

A abstract whiteboard object.

unstable since: 3.0

WhiteboardManager

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

unstable since: 3.0

Interfaces

DebugUi

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

unstable since: 3.0

ProtocolContacts

PurpleProtocolContacts provides methods for interacting with remote contacts.

unstable since: 3.0

ProtocolConversation

This interface defines the behavior for interacting with conversations at the protocol layer. These methods will primarily be called by the user interface.

unstable since: 3.0

ProtocolFileTransfer

PurpleProtocolFileTransfer provides methods for sending and receiving files.

unstable since: 3.0

ProtocolRoster

The PurpleProtocolRoster interface defines the behavior to tell a protocol when the users wants to manage contacts on the server side roster.

unstable since: 3.0

ProtocolWhiteboard

The PurpleProtocolWhiteboard interface defines the behavior of a protocol’s whiteboard interface.

unstable since: 3.0

Structs

AccountOption

An option for an account.

since: 2.0

AccountUserSplit

A username split.

since: 2.0

Core

The core instance for libpurple.

since: 2.0

KeyValuePair

A key-value pair.

PrefCallbackData

Opaque type to carry callback information.

since: 2.11

RequestCommonParameters

Common parameters for UI operations.

RequestUiOps

Request UI operations.

WhiteboardOps

Whiteboard protocol operations.

WhiteboardUiOps

The PurpleWhiteboard UI Operations.

since: 2.0

XmlNode

XmlNode is a simplified API for handling XML. An XmlNode represents an XML element and has API for children as well as attributes.

Aliases

Plugin

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

PluginInterface

Represents the plugin interface.

Sqlite3

A sqlite3 connection.

Enumerations

ConnectionError

Possible errors that can cause a connection to be closed.

ConnectionState

A representation of the state of a PurpleConnection.

since: 2.0

ContactInfoPermission

A representation of whether or not a contact has permission to contact the user.

unstable since: 3.0

ConversationType

The type of the conversation. This is mostly ignored, but could be useful in ways we can’t imagine right now. If you come up with one in the future, please let us know!

unstable since: 3.0

DebugLevel

Available debug levels.

since: 2.0

FileTransferState

The possible states that a file transfer can be in.

PrefType

Preference data types.

since: 2.0

PresencePrimitive

An enum that is used to determine the type of a PurplePresence.

unstable since: 3.0

ProxyType

A type of proxy connection.

since: 2.0

RequestFeature

Feature flags for the request api.

RequestIconType

Constants to define which kind of icon should be displayed.

RequestType

Request types.

TypingState

Defines the state of a user composing a message.

unstable since: 3.0

XmlNodeType

The valid types for an PurpleXmlNode.

Bitfields

PluginInfoFlags

Flags that can be used to treat plugins differently.

unstable since: 3.0

ProtocolOptions

Protocol options.

Callbacks

AccountManagerForeachFunc

A function used as a callback with purple_account_manager_foreach().

unstable since: 3.0

AttachmentForeachFunc

Called when iterating PurpleAttachments.

unstable since: 3.0

ConversationManagerForeachFunc

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

unstable since: 3.0

CredentialManagerForeachFunc

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

unstable since: 3.0

HistoryManagerForeachFunc

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

unstable since: 3.0

MenuWalkFunc

Used as a parameter to purple_menu_walk(). While walking, model will be updated to point to the current section or submenu and will only be the model that was passed to purple_menu_walk() for its immediate children.

unstable since: 3.0

PrefCallback

The type of callbacks for preference changes.

ProtocolManagerForeachFunc

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

unstable since: 3.0

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.

RequestFieldAccountFilterFunc

A function that is called to determine if the account should be matched.

unstable since: 3.0

RequestFieldsCb

The type of callbacks passed to purple_request_fields().

RequestFieldValidator

A callback to check whether a field is valid.

RequestFileCb

The type of callbacks passed to purple_request_file().

RequestHelpCb

The type of callback passed to purple_request_cpar_set_help_cb().

RequestInputCb

The type of callback passed to purple_request_input().

Functions

accounts_delete

Deletes an account.

since: 2.0

accounts_init

Initializes the accounts subsystem.

since: 2.0

accounts_schedule_save

Schedules saving of accounts.

unstable since: 3.0

accounts_uninit

Uninitializes the accounts subsystem.

since: 2.0

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.

unstable since: 3.0

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.

unstable since: 3.0

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.

unstable since: 3.0

debug

Outputs debug information.

since: 2.0

debug_error

Outputs error level debug information.

since: 2.0

debug_fatal

Outputs fatal error level debug information.

since: 2.0

debug_info

Outputs info level debug information.

since: 2.0

debug_init

Initializes the debug subsystem.

since: 2.0

debug_is_unsafe

Check if unsafe debugging is enabled. Defaults to FALSE.

since: 2.6

debug_is_verbose

Check if verbose logging is enabled.

since: 2.6

debug_misc

Outputs misc. level debug information.

since: 2.0

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.

since: 2.6

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.

since: 2.6

debug_warning

Outputs warning level debug information.

since: 2.0

email_is_valid

Checks if the given email address is syntactically valid.

since: 2.0

escape_filename

Escapes filesystem-unfriendly characters from a filename.

since: 2.0

gdk_pixbuf_from_data

Create a GdkPixbuf from a chunk of image data.

unstable since: 3.0

gdk_pixbuf_from_image

Create a GdkPixbuf from a PurpleImage.

unstable since: 3.0

gdk_pixbuf_is_opaque

Returns TRUE if the GdkPixbuf is opaque, as determined by no alpha at any of the edge pixels.

unstable since: 3.0

gdk_pixbuf_make_round

Rounds the corners of a GdkPixbuf in place.

unstable since: 3.0

gdk_pixbuf_new_from_file

Helper function that calls gdk_pixbuf_new_from_file() and checks both the return code and the GError and returns NULL if either one failed.

unstable since: 3.0

gdk_pixbuf_new_from_file_at_size

Helper function that calls gdk_pixbuf_new_from_file_at_size() and checks both the return code and the GError and returns NULL if either one failed.

unstable since: 3.0

get_core

This is used to connect to core signals.

since: 2.0

get_locale_dir

Gets the search directory for translations.

unstable since: 3.0

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.

unstable since: 3.0

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.

unstable since: 3.0

gio_socket_client_new

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

unstable since: 3.0

global_proxy_get_info

Returns purple’s global proxy information.

since: 2.0

global_proxy_set_info

Set purple’s global proxy information.

since: 2.6

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.

since: 2.0

markup_html_to_xhtml

Converts HTML markup to XHTML.

since: 2.0

markup_linkify

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

since: 2.0

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.

since: 2.0

markup_strip_html

Strips HTML tags from a string.

since: 2.0

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.

since: 2.0

menu_copy

Creates a full copy of model as a new GMenu. If model was not a GMenu instance, any additional functionality will be lost.

unstable since: 3.0

menu_populate_dynamic_targets

Updates menu by adding a target property when an item with an attribute named “dynamic-target” is found.

unstable since: 3.0

menu_populate_dynamic_targetsv

Updates menu by adding a target property when an item with an attribute named “dynamic-target” is found.

unstable since: 3.0

menu_walk

Recursively calls func for each item in model and all of its children.

unstable since: 3.0

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).

unstable since: 3.0

network_force_online

Makes purple_network_is_available() always return TRUE.

since: 2.6

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).

unstable since: 3.0

network_get_public_ip

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

since: 2.0

network_get_stun_ip

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

since: 2.6

network_init

Initializes the network subsystem.

since: 2.0

network_is_available

Detects if there is an available network connection.

since: 2.0

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.

since: 2.0

network_set_stun_server

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

since: 2.6

network_uninit

Shuts down the network subsystem.

since: 2.0

plugin_disable

Disable a plugin.

since: 2.3

plugin_get_dependent_plugins

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

unstable since: 3.0

plugin_get_info

Returns a plugin’s PurplePluginInfo instance.

unstable since: 3.0

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.

unstable since: 3.0

plugin_is_loaded

Returns whether or not a plugin is currently loaded.

since: 2.0

plugin_load

Attempts to load a plugin.

since: 2.0

plugin_unload

Unloads the specified plugin.

since: 2.0

plugins_add_search_path

Add a new directory to search for plugins.

since: 2.0

plugins_find_all

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

unstable since: 3.0

plugins_find_by_filename

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

unstable since: 3.0

plugins_find_plugin

Finds a plugin with the specified plugin ID.

unstable since: 3.0

plugins_get_loaded

Returns a list of all loaded plugins.

since: 2.0

plugins_init

Initializes the plugin subsystem.

since: 2.0

plugins_load_saved

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

since: 2.0

plugins_refresh

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

unstable since: 3.0

plugins_save_loaded

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

since: 2.0

plugins_uninit

Uninitializes the plugin subsystem.

since: 2.0

prefs_add_bool

Add a new boolean pref.

since: 2.0

prefs_add_int

Add a new integer pref.

since: 2.0

prefs_add_none

Add a new typeless pref.

since: 2.0

prefs_add_path

Add a new path pref.

since: 2.0

prefs_add_path_list

Add a new path list pref.

since: 2.0

prefs_add_string

Add a new string pref.

since: 2.0

prefs_add_string_list

Add a new string list pref.

since: 2.0

prefs_connect_callback

Add a callback to a pref (and its children).

since: 2.0

prefs_destroy

Remove all prefs.

since: 2.0

prefs_disconnect_by_handle

Remove all pref callbacks by handle.

since: 2.0

prefs_disconnect_callback

Remove a callback to a pref.

since: 2.0

prefs_exists

Check if a pref exists.

since: 2.0

prefs_get_bool

Get boolean pref value.

since: 2.0

prefs_get_children_names

Returns a list of children for a pref.

since: 2.1

prefs_get_handle

Returns the prefs subsystem handle.

since: 2.0

prefs_get_int

Get integer pref value.

since: 2.0

prefs_get_path

Get path pref value.

since: 2.0

prefs_get_path_list

Get path list pref value.

since: 2.0

prefs_get_pref_type

Get pref type.

unstable since: 3.0

prefs_get_string

Get string pref value.

since: 2.0

prefs_get_string_list

Get string list pref value.

since: 2.0

prefs_init

Initialize core prefs.

since: 2.0

prefs_load

Read preferences.

since: 2.0

prefs_remove

Remove a pref.

since: 2.0

prefs_rename

Rename a pref.

since: 2.0

prefs_rename_boolean_toggle

Rename a boolean pref, toggling it’s value.

since: 2.0

prefs_set_bool

Set boolean pref value.

since: 2.0

prefs_set_int

Set integer pref value.

since: 2.0

prefs_set_path

Set path pref value.

since: 2.0

prefs_set_path_list

Set path list pref value.

since: 2.0

prefs_set_string

Set string pref value.

since: 2.0

prefs_set_string_list

Set string list pref value.

since: 2.0

prefs_trigger_callback

Trigger callbacks as if the pref changed.

since: 2.0

prefs_trigger_callback_object

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

since: 2.11

prefs_uninit

Uninitializes the prefs subsystem.

since: 2.0

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.

unstable since: 3.0

proxy_get_setup

Returns configuration of a proxy.

since: 2.0

proxy_init

Initializes the proxy subsystem.

since: 2.0

proxy_uninit

Uninitializes the proxy subsystem.

since: 2.0

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.

unstable since: 3.0

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.

unstable since: 3.0

request_cpar_from_connection

Creates new parameters set initially bound with the PurpleConnection.

unstable since: 3.0

request_cpar_from_conversation

Creates new parameters set initially bound with the PurpleConversation.

unstable since: 3.0

request_cpar_get_account

Gets the PurpleAccount associated with the request.

unstable since: 3.0

request_cpar_get_conversation

Gets the PurpleConversation associated with the request.

unstable since: 3.0

request_cpar_get_custom_icon

Gets the custom icon associated with the request.

unstable since: 3.0

request_cpar_get_extra_actions

Gets extra actions for the PurpleRequestPage dialog.

unstable since: 3.0

request_cpar_get_help_cb

Gets the callback for the Help button.

unstable since: 3.0

request_cpar_get_icon

Gets the icon associated with the request.

unstable since: 3.0

request_cpar_get_parent_from

Gets the parent “donor” for this dialog.

unstable since: 3.0

request_cpar_is_compact

Gets dialog display mode.

unstable since: 3.0

request_cpar_is_html

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

unstable since: 3.0

request_cpar_new

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

unstable since: 3.0

request_cpar_ref

Increases the reference count on the parameters set.

unstable since: 3.0

request_cpar_set_account

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

unstable since: 3.0

request_cpar_set_compact

Sets dialog display mode to compact or default.

unstable since: 3.0

request_cpar_set_conversation

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

unstable since: 3.0

request_cpar_set_custom_icon

Sets the custom icon associated with the request.

unstable since: 3.0

request_cpar_set_extra_actions

Sets extra actions for the PurpleRequestPage dialog.

unstable since: 3.0

request_cpar_set_help_cb

Sets the callback for the Help button.

unstable since: 3.0

request_cpar_set_html

Switches the request text to be HTML or not.

unstable since: 3.0

request_cpar_set_icon

Sets the icon associated with the request.

unstable since: 3.0

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.

unstable since: 3.0

request_cpar_unref

Decreases the reference count on the parameters set.

unstable since: 3.0

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.

unstable since: 3.0

request_set_ui_ops

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

request_wait

Displays a “please wait” dialog.

unstable since: 3.0

request_wait_progress

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

unstable since: 3.0

request_wait_pulse

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

unstable since: 3.0

running_gnome

Check if running GNOME.

since: 2.0

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.

unstable since: 3.0

sqlite3_get_schema_version

Attempts to read the result of PRAGMA user_version which this API uses to store the schema version.

unstable since: 3.0

sqlite3_run_migrations_from_resources

Runs the given migrations in the order they are given. The index of each migration plus 1 is assumed to be the version number of the migration, which means that you can not change the order of the migrations. The reasoning for the addition of 1 is because PRAGMA user_version defaults to 0.

unstable since: 3.0

sqlite3_run_migrations_from_strings

Runs the given migrations in the order they are given. The index of each migration plus 1 is assumed is to be the version number of the migration, which means that you can not change the order of the migrations. The reasoning for the addition of 1 is because PRAGMA user_version defaults to 0.

unstable since: 3.0

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.

since: 2.0

str_wipe

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

unstable since: 3.0

strmatches

Checks if pattern occurs in sequential order in str in a caseless fashion, ignoring characters in between.

unstable since: 3.0

strreplace

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

since: 2.0

tag_parse

Splits a tag into its name and value parts.

unstable since: 3.0

unescape_html

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

since: 2.0

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 ‘&’).

since: 2.7

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.

since: 2.0

utf8_try_convert

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

since: 2.0

util_init

Initializes the utility subsystem.

since: 2.3

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.).

unstable since: 3.0

util_set_user_dir

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

since: 2.0

util_uninit

Uninitializes the util subsystem.

since: 2.3

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).

unstable since: 3.0

version_check

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

Function Macros

PLUGIN

A typecast macro to cast obj to PurplePlugin.

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

Checks if a protocol plugin implements an interface and a specific function in the interface.

unstable since: 3.0

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

A constant to set no default action.

EXTRA_VERSION

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

MAJOR_VERSION

The major version of the running libpurple.

MENU_ATTRIBUTE_DYNAMIC_TARGET

A constant to help when defining actions that have a dynamic-target value.

MICRO_VERSION

The micro version of the running libpurple.

MINOR_VERSION

The minor version of the running libpurple.

VERSION

The entire version as a string.

VERSION_MIN_REQUIRED

A macro that should be defined by the user prior to including the purple.h header.