Namespace

Purple – 3.0

Purple Universal Chat Library

Version3.0.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.

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.

since: 3.0

Attachment

PurpleAttachment represents a file attached to a PurpleMessage.

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.

since: 3.0

AuthorizationRequestNotification

A PurpleNotification for PurpleAuthorizationRequests.

since: 3.0

Avatar

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

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.

since: 3.0

CircularBuffer

A circular buffer implementation.

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.

since: 3.0

ContactManager

A manager for PurpleContacts.

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.

since: 3.0

ConversationMember

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

since: 3.0

CreateConversationDetails

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

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.

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.

since: 3.0

FileTransfer

A peer to peer file transfer object.

since: 3.0

FileTransferManager

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

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.

since: 3.0

HistoryManager

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

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.

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.

since: 3.0

Media

The media instance.

MediaCandidate

An opaque structure representing a network candidate (IP Address and port pair).

MediaCodec

An opaque structure representing an audio or video codec.

MediaElementInfo

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

since: 2.6

MediaManager

The media manager’s data.

Message

PurpleMessage represents any message passed between users in libpurple.

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.

since: 3.0

Notification

An object that represents a notification.

since: 3.0

NotificationManager

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

since: 3.0

Person

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

since: 3.0

PluginInfo

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

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.

since: 3.0

Protocol

PurpleProtocol is the base type for all protocols in libpurple.

since: 3.0

ProtocolManager

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

since: 3.0

ProxyInfo

A representation of a proxy.

since: 2.0

RequestField

A request field.

since: 3.0

RequestFieldAccount

An account request field.

since: 3.0

RequestFieldBool

A boolean request field.

since: 3.0

RequestFieldChoice

A choice request field.

since: 3.0

RequestFieldImage

An image request field.

since: 3.0

RequestFieldInt

An integer request field.

since: 3.0

RequestFieldLabel

A label request field.

since: 3.0

RequestFieldList

A list request field.

since: 3.0

RequestFieldString

A string request field.

since: 3.0

RequestGroup

A group of fields with a title.

since: 3.0

RequestPage

Multiple fields request data.

since: 3.0

SavedPresence

A data structure used to save a presence.

since: 3.0

SqliteHistoryAdapter

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

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. Please note this distinction when the API calls for a name versus a tag which would be the name and the value.

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

since: 3.0

Whiteboard

A abstract whiteboard object.

since: 3.0

WhiteboardManager

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

since: 3.0

Interfaces

DebugUi

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

since: 3.0

MediaBackend

A placeholder to represent any media backend.

since: 2.6

ProtocolActions

The PurpleProtocolActions interface defines the behavior of a protocol’s actions interface.

since: 3.0

ProtocolClient

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

since: 3.0

ProtocolContacts

PurpleProtocolContacts provides methods for interacting with remote contacts.

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.

since: 3.0

ProtocolFileTransfer

PurpleProtocolFileTransfer provides methods for sending and receiving files.

since: 3.0

ProtocolMedia

PurpleProtocolMedia describes the multimedia api that is available for protocols.

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.

since: 3.0

ProtocolServer

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

since: 3.0

ProtocolWhiteboard

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

since: 3.0

Structs

AccountOption

An option for an account.

since: 2.0

AccountUserSplit

A username split.

since: 2.0

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.

ConnectionErrorInfo

Holds the type of an error along with its description.

since: 2.3

Core

The core instance for libpurple.

since: 2.0

KeyValuePair

A key-value pair.

MediaAppDataCallbacks

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

since: 2.6

NotifySearchButton

Definition of a button.

NotifySearchColumn

Single column of a search result.

NotifySearchResults

Search results object.

NotifyUiOps

Notification UI operations.

NotifyUserInfo

A collection of user information entries.

since: 2.0

NotifyUserInfoEntry

A entry for the user information.

since: 2.0

PrefCallbackData

Opaque type to carry callback information.

since: 2.11

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.

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

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

Represents the plugin interface.

Sqlite3

A sqlite3 connection.

Enumerations

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.

since: 2.0

CmdPriority

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

since: 2.0

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.

since: 2.0

CmdStatus

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

since: 2.0

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.

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!

since: 3.0

DebugLevel

Available debug levels.

since: 2.0

FileTransferState

The possible states that a file transfer can be in.

MediaCandidateType

Media candidate types.

since: 2.6

MediaCaps

Media caps.

since: 2.6

MediaComponentType

Media component types.

since: 2.6

MediaInfoType

Media info types.

since: 2.6

MediaNetworkProtocol

Media network protocols.

since: 2.6

MediaState

Media state-changed types.

since: 2.6

NotificationType

The different types of notifications.

since: 3.0

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.

PrefType

Preference data types.

since: 2.0

PresencePrimitive

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

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.

since: 3.0

XmlNodeType

The valid types for an PurpleXmlNode.

Bitfields

ConnectionFlags

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

since: 2.0

MediaElementType

The possible types of media elements.

since: 2.6

MediaSessionType

Media session types.

since: 2.6

MessageFlags

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

PluginInfoFlags

Flags that can be used to treat plugins differently.

since: 3.0

ProtocolOptions

Protocol options.

Callbacks

AccountManagerForeachFunc

A function used as a callback with purple_account_manager_foreach().

since: 3.0

AttachmentForeachFunc

Called when iterating PurpleAttachments.

since: 3.0

CmdFunc

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

since: 2.0

ConversationManagerForeachFunc

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

since: 3.0

CredentialManagerForeachFunc

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

since: 3.0

HistoryManagerForeachFunc

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

since: 3.0

MediaElementCreateCallback

A callback that creates a GstElement for the given parameters.

since: 2.6

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.

since: 3.0

NotifyCloseCallback

Notification close callbacks.

NotifySearchResultsCallback

Callback for a button in a search result.

PrefCallback

The type of callbacks for preference changes.

ProtocolActionCallback

The callback function for PurpleProtocolAction.

since: 3.0

ProtocolManagerForeachFunc

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

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.

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

SignalMarshalFunc

A generic function pointer type used to register signals.

since: 2.0

Functions

accounts_delete

Deletes an account.

since: 2.0

accounts_get_handle

Returns the accounts subsystem handle.

since: 2.0

accounts_init

Initializes the accounts subsystem.

since: 2.0

accounts_schedule_save

Schedules saving of accounts.

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.

since: 3.0

cmd_do_command

Do a command.

since: 2.0

cmd_execute

Execute a specific command.

since: 2.11

cmd_help

Get the help string for a command.

since: 2.0

cmd_list

List registered commands.

since: 2.0

cmd_register

Register a new command with the core.

since: 2.0

cmd_unregister

Unregister a command with the core.

since: 2.0

cmds_get_handle

Get the handle for the commands API.

since: 2.5

cmds_init

Initialize the commands subsystem.

since: 2.5

cmds_uninit

Uninitialize the commands subsystem.

since: 2.5

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.

since: 3.0

connections_disconnect_all

Disconnects from all connections.

since: 2.0

connections_get_all

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

since: 2.0

connections_get_handle

Returns the handle to the connections subsystem.

since: 2.0

connections_init

Initializes the connections subsystem.

since: 2.0

connections_is_online

Checks if at least one account is online.

since: 3.0

connections_uninit

Uninitializes the connections subsystem.

since: 2.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.

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.

since: 3.0

gdk_pixbuf_from_image

Create a GdkPixbuf from a PurpleImage.

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.

since: 3.0

gdk_pixbuf_make_round

Rounds the corners of a GdkPixbuf in place.

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.

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.

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.

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.

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.

since: 3.0

gio_socket_client_new

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

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

got_protocol_handler_uri

Parses uri and emits the uri-handler core signal.

since: 2.0

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

marshal_BOOLEAN__POINTER

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

since: 2.0

marshal_BOOLEAN__POINTER_POINTER

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

since: 2.0

marshal_BOOLEAN__POINTER_POINTER_POINTER

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

since: 2.0

marshal_VOID

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

since: 2.0

marshal_VOID__POINTER

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

since: 2.0

marshal_VOID__POINTER_INT_INT

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

since: 2.0

marshal_VOID__POINTER_INT_POINTER

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

since: 2.3

marshal_VOID__POINTER_POINTER

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

since: 2.0

marshal_VOID__POINTER_UINT

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

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.

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.

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.

since: 3.0

menu_walk

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

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

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

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

normalize

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

since: 2.0

notify_close

Closes a notification.

since: 2.0

notify_close_with_handle

Closes all notifications registered with the specified handle.

since: 2.0

notify_formatted

Displays a notification with formatted text.

since: 2.0

notify_get_ui_ops

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

since: 2.0

notify_init

Initializes the notify subsystem.

since: 2.0

notify_is_valid_ui_handle

Checks, if passed UI handle is valid.

since: 3.0

notify_message

Displays a notification message to the user.

since: 2.0

notify_searchresult_column_get_title

Returns the title of the column.

since: 3.0

notify_searchresult_column_is_visible

Returns whether or not a search result column is visible.

since: 3.0

notify_searchresult_column_set_visible

Sets whether or not a search result column is visible.

since: 3.0

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.

since: 2.0

notify_searchresults_button_add

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

since: 2.0

notify_searchresults_button_add_labeled

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

since: 2.0

notify_searchresults_column_add

Adds a new column to the search result object.

since: 2.0

notify_searchresults_column_new

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

since: 2.0

notify_searchresults_free

Frees a PurpleNotifySearchResults object.

since: 2.0

notify_searchresults_new

Returns a newly created search results object.

since: 2.0

notify_searchresults_new_rows

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

since: 2.0

notify_searchresults_row_add

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

since: 2.0

notify_set_ui_ops

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

since: 2.0

notify_uninit

Uninitializes the notify subsystem.

since: 2.0

notify_uri

Opens a URI or somehow presents it to the user.

since: 2.0

notify_userinfo

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

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.

since: 3.0

plugin_get_info

Returns a plugin’s PurplePluginInfo instance.

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.

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.

since: 3.0

plugins_find_by_filename

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

since: 3.0

plugins_find_plugin

Finds a plugin with the specified plugin ID.

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.

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.

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.

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.

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.

since: 3.0

request_cpar_from_connection

Creates new parameters set initially bound with the PurpleConnection.

since: 3.0

request_cpar_from_conversation

Creates new parameters set initially bound with the PurpleConversation.

since: 3.0

request_cpar_get_account

Gets the PurpleAccount associated with the request.

since: 3.0

request_cpar_get_conversation

Gets the PurpleConversation associated with the request.

since: 3.0

request_cpar_get_custom_icon

Gets the custom icon associated with the request.

since: 3.0

request_cpar_get_extra_actions

Gets extra actions for the PurpleRequestPage dialog.

since: 3.0

request_cpar_get_help_cb

Gets the callback for the Help button.

since: 3.0

request_cpar_get_icon

Gets the icon associated with the request.

since: 3.0

request_cpar_get_parent_from

Gets the parent “donor” for this dialog.

since: 3.0

request_cpar_is_compact

Gets dialog display mode.

since: 3.0

request_cpar_is_html

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

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.

since: 3.0

request_cpar_ref

Increases the reference count on the parameters set.

since: 3.0

request_cpar_set_account

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

since: 3.0

request_cpar_set_compact

Sets dialog display mode to compact or default.

since: 3.0

request_cpar_set_conversation

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

since: 3.0

request_cpar_set_custom_icon

Sets the custom icon associated with the request.

since: 3.0

request_cpar_set_extra_actions

Sets extra actions for the PurpleRequestPage dialog.

since: 3.0

request_cpar_set_help_cb

Sets the callback for the Help button.

since: 3.0

request_cpar_set_html

Switches the request text to be HTML or not.

since: 3.0

request_cpar_set_icon

Sets the icon associated with the request.

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.

since: 3.0

request_cpar_unref

Decreases the reference count on the parameters set.

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.

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.

since: 3.0

request_wait_progress

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

since: 3.0

request_wait_pulse

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

since: 3.0

running_gnome

Check if running GNOME.

since: 2.0

running_kde

Check if running KDE.

since: 2.0

signal_connect

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

since: 2.0

signal_connect_priority

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

since: 2.0

signal_disconnect

Disconnects a signal handler from a signal on an object.

since: 2.0

signal_emit

Emits a signal.

since: 2.0

signal_emit_return_1

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

since: 2.0

signal_register

Registers a signal in an instance.

since: 2.0

signal_unregister

Unregisters a signal in an instance.

since: 2.0

signals_disconnect_by_handle

Removes all callbacks associated with a receiver handle.

since: 2.0

signals_init

Initializes the signals subsystem.

since: 2.0

signals_uninit

Uninitializes the signals subsystem.

since: 2.0

signals_unregister_by_instance

Unregisters all signals in an instance.

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.

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.

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.

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.

since: 3.0

str_seconds_to_string

Converts seconds into a human-readable form.

since: 2.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.

since: 3.0

strdup_withhtml

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

since: 2.0

strmatches

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

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.

since: 3.0

text_strip_mnemonic

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

since: 2.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

url_encode

Encodes a URL into an escaped string.

since: 2.0

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.

since: 2.0

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

since: 2.6

utf8_try_convert

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

since: 2.0

util_chrreplace

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

since: 2.0

util_init

Initializes the utility subsystem.

since: 2.3

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

since: 3.0

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

since: 3.0

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

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_cache_file

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

since: 3.0

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

since: 3.0

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

since: 3.0

validate

Checks, if a string is valid.

since: 3.0

value_dup

Duplicates a GValue.

since: 2.0

value_free

Frees a GValue.

since: 3.0

value_new

Creates a new GValue of the specified type.

since: 2.0

version_check

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

Function Macros

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

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.

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.

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

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.