Namespace

Purple – 3.0

Purple Universal Chat Library

Version2.92.2
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
Pango—1.0 Internationalized text layout and rendering
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

AccountManagerBackend

A backend for PurpleAccountManager to store its data.

unstable since: 3.0

AccountManagerNoopBackend

A PurpleAccountManagerBackend that doesn’t actually do anything.

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

Attachments

A collection of PurpleAttachments.

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

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

BadgeManager

A cache for badges.

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

Command

An object that represents a command.

unstable since: 3.0

CommandManager

A manager of PurpleCommand objects.

unstable since: 3.0

Connection

Represents an active connection on an account.

since: 2.0

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.

since: 2.0

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

Contacts

A collection 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 are added to 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 added and removed.

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

A container for raw image data. It doesn’t manipulate the image data, it just stores it in its binary format - png, jpeg etc.

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 added and removed.

unstable since: 3.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

ScheduledTask

An object that represents a scheduled task.

unstable since: 3.0

Scheduler

An object that manages a collection of PurpleScheduledTask.

unstable since: 3.0

SchedulerBackend

An object that manages a collection of PurpleScheduledTask.

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.

unstable since: 3.0

Whiteboard

A abstract whiteboard object.

unstable since: 3.0

WhiteboardManager

PurpleWhiteboardManager keeps track of all whiteboards and emits signals when they are added and removed.

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

ProtocolDirectory

Methods for directory listing in protocols.

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.

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.

unstable since: 3.0

Enumerations

AccountManagerBackendError

Error codes returned by PurpleAccountManagerBackend.

unstable since: 3.0

ConnectionError

Possible errors that can cause a connection to be closed.

since: 2.0

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

CredentialManagerError

Error codes for the credential manager.

unstable since: 3.0

DebugLevel

Available debug levels.

since: 2.0

FileTransferState

The possible states that a file transfer can be in.

unstable since: 3.0

NoopCredentialProviderError

Error codes for the no operation credential provider.

unstable since: 3.0

PrefType

Preference data types.

since: 2.0

PresencePrimitive

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

unstable since: 3.0

RequestFeature

Feature flags for the request api.

unstable since: 3.0

RequestIconType

Constants to define which kind of icon should be displayed.

unstable since: 3.0

RequestType

Request types.

since: 2.0

ScheduledTaskState

The possible states that a task can be in.

unstable since: 3.0

SchedulerBackendError

Error codes returned by PurpleSchedulerBackend.

unstable since: 3.0

SchedulerError

Error codes returned by the scheduler.

unstable since: 3.0

TypingState

Defines the state of a user composing a message.

unstable since: 3.0

UiError

Error codes returned by the user interface abstraction.

unstable since: 3.0

XmlNodeType

The valid types for an PurpleXmlNode.

unstable since: 3.0

Bitfields

PluginInfoFlags

Flags that can be used to treat plugins differently.

unstable since: 3.0

ProtocolOptions

Protocol options.

since: 2.0

Error Domains

CreateConversationDetailsError

Error codes returned by create conversation details validation.

unstable since: 3.0

ProtocolDirectoryError

Error codes returned by protocol directory.

unstable since: 3.0

ProtocolError

Error codes returned by protocols.

unstable since: 3.0

ScheduledTaskError

Error codes returned by scheduled tasks.

unstable since: 3.0

Callbacks

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

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.

since: 2.0

RequestCancelCb

A callback that’s used to handle cancel actions.

unstable since: 3.0

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.

since: 2.0

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

since: 2.0

RequestFieldValidator

A callback to check whether a field is valid.

unstable since: 3.0

RequestFileCb

The type of callbacks passed to purple_request_file().

since: 2.0

RequestHelpCb

The type of callback passed to purple_request_cpar_set_help_cb().

unstable since: 3.0

RequestInputCb

The type of callback passed to purple_request_input().

since: 2.0

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

action_command_new

Create a new action command.

unstable since: 3.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

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

markup_linkify

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

since: 2.0

markup_strip_html

Strips HTML tags from a string.

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

request_action

Prompts the user for an action.

since: 2.0

request_action_varg

va_list version of purple_request_action(); see its documentation.

since: 2.0

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.

since: 2.0

request_choice_varg

va_list version of purple_request_choice(); see its documentation.

since: 2.0

request_close

Closes a request.

since: 2.0

request_close_with_handle

Closes all requests registered with the specified handle.

since: 2.0

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.

since: 2.0

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.

since: 2.0

request_folder

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

since: 2.0

request_get_ui_ops

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

since: 2.0

request_input

Prompts the user for text input.

since: 2.0

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.

since: 2.0

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

say_command_new

Creates a new say command.

unstable since: 3.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

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_split

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.

since: 2.0

Function Macros

PLUGIN_ABI_MAJOR_VERSION

Extracts the purple major version from abi.

unstable since: 3.0

PLUGIN_ABI_MINOR_VERSION

Extracts the purple minor version from abi.

unstable since: 3.0

PLUGIN_ABI_VERSION

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

unstable since: 3.0

request_accept_cancel

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

since: 2.0

request_ok_cancel

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

since: 2.0

request_yes_no

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

since: 2.0

VERSION_CHECK

Checks the version of libpurple being compiled against. See

purple_version_check for a runtime check.

since: 2.0

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.