Signal API. More...
#include <glib.h>#include "value.h"Go to the source code of this file.
Defines | |
| #define | PURPLE_CALLBACK(func) ((PurpleCallback)func) |
Typedefs | |
| typedef void(* | PurpleCallback )(void) |
| typedef void(* | PurpleSignalMarshalFunc )(PurpleCallback cb, va_list args, void *data, void **return_val) |
Functions | |
Marshal Functions | |
| void | purple_marshal_VOID (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__INT_INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_INT_INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_INT_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_UINT_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_INT__INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_INT__INT_INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_INT__POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_INT__POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_BOOLEAN (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_BOOLEAN__INT_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER_INT (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER_INT64 (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER_INT_BOOLEAN (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER_INT64_BOOLEAN (PurpleCallback cb, va_list args, void *data, void **return_val) |
| void | purple_marshal_POINTER__POINTER_POINTER (PurpleCallback cb, va_list args, void *data, void **return_val) |
Signal API | |
|
| |
| #define | PURPLE_SIGNAL_PRIORITY_DEFAULT 0 |
| The priority of a signal connected using purple_signal_connect(). | |
| #define | PURPLE_SIGNAL_PRIORITY_HIGHEST 9999 |
| The largest signal priority; signals with this priority will be called last. | |
| #define | PURPLE_SIGNAL_PRIORITY_LOWEST -9999 |
| The smallest signal priority; signals with this priority will be called first. | |
| gulong | purple_signal_register (void *instance, const char *signal, PurpleSignalMarshalFunc marshal, PurpleValue *ret_value, int num_values,...) |
| Registers a signal in an instance. | |
| void | purple_signal_unregister (void *instance, const char *signal) |
| Unregisters a signal in an instance. | |
| void | purple_signals_unregister_by_instance (void *instance) |
| Unregisters all signals in an instance. | |
| void | purple_signal_get_values (void *instance, const char *signal, PurpleValue **ret_value, int *num_values, PurpleValue ***values) |
| Returns a list of value types used for a signal. | |
| gulong | purple_signal_connect_priority (void *instance, const char *signal, void *handle, PurpleCallback func, void *data, int priority) |
| Connects a signal handler to a signal for a particular object. | |
| gulong | purple_signal_connect (void *instance, const char *signal, void *handle, PurpleCallback func, void *data) |
| Connects a signal handler to a signal for a particular object. | |
| gulong | purple_signal_connect_priority_vargs (void *instance, const char *signal, void *handle, PurpleCallback func, void *data, int priority) |
| Connects a signal handler to a signal for a particular object. | |
| gulong | purple_signal_connect_vargs (void *instance, const char *signal, void *handle, PurpleCallback func, void *data) |
| Connects a signal handler to a signal for a particular object. | |
| void | purple_signal_disconnect (void *instance, const char *signal, void *handle, PurpleCallback func) |
| Disconnects a signal handler from a signal on an object. | |
| void | purple_signals_disconnect_by_handle (void *handle) |
| Removes all callbacks associated with a receiver handle. | |
| void | purple_signal_emit (void *instance, const char *signal,...) |
| Emits a signal. | |
| void | purple_signal_emit_vargs (void *instance, const char *signal, va_list args) |
| Emits a signal, using a va_list of arguments. | |
| void * | purple_signal_emit_return_1 (void *instance, const char *signal,...) |
| Emits a signal and returns the first non-NULL return value. | |
| void * | purple_signal_emit_vargs_return_1 (void *instance, const char *signal, va_list args) |
| Emits a signal and returns the first non-NULL return value. | |
| void | purple_signals_init (void) |
| Initializes the signals subsystem. | |
| void | purple_signals_uninit (void) |
| Uninitializes the signals subsystem. | |
Signal API.
Definition in file signals.h.
| #define PURPLE_SIGNAL_PRIORITY_DEFAULT 0 |
The priority of a signal connected using purple_signal_connect().
| #define PURPLE_SIGNAL_PRIORITY_HIGHEST 9999 |
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.)
| #define PURPLE_SIGNAL_PRIORITY_LOWEST -9999 |
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.)
| gulong purple_signal_connect | ( | void * | instance, | |
| const char * | signal, | |||
| void * | handle, | |||
| PurpleCallback | func, | |||
| void * | data | |||
| ) |
Connects a signal handler to a signal for a particular object.
(Its priority defaults to 0, aka PURPLE_SIGNAL_PRIORITY_DEFAULT.)
Take care not to register a handler function twice. Purple will not correct any mistakes for you in this area.
| instance | The instance to connect to. | |
| signal | The name of the signal to connect. | |
| handle | The handle of the receiver. | |
| func | The callback function. | |
| data | The data to pass to the callback function. |
| gulong purple_signal_connect_priority | ( | void * | instance, | |
| const char * | signal, | |||
| void * | handle, | |||
| PurpleCallback | func, | |||
| void * | data, | |||
| int | priority | |||
| ) |
Connects a signal handler to a signal for a particular object.
Take care not to register a handler function twice. Purple will not correct any mistakes for you in this area.
| instance | The instance to connect to. | |
| signal | The name of the signal to connect. | |
| handle | The handle of the receiver. | |
| func | The callback function. | |
| data | The data to pass to the callback function. | |
| priority | The priority with which the handler should be called. Signal handlers are called in ascending numerical order of priority from PURPLE_SIGNAL_PRIORITY_LOWEST to PURPLE_SIGNAL_PRIORITY_HIGHEST. |
| gulong purple_signal_connect_priority_vargs | ( | void * | instance, | |
| const char * | signal, | |||
| void * | handle, | |||
| PurpleCallback | func, | |||
| void * | data, | |||
| int | priority | |||
| ) |
Connects a signal handler to a signal for a particular object.
The signal handler will take a va_args of arguments, instead of individual arguments.
Take care not to register a handler function twice. Purple will not correct any mistakes for you in this area.
| instance | The instance to connect to. | |
| signal | The name of the signal to connect. | |
| handle | The handle of the receiver. | |
| func | The callback function. | |
| data | The data to pass to the callback function. | |
| priority | The priority with which the handler should be called. Signal handlers are called in ascending numerical order of priority from PURPLE_SIGNAL_PRIORITY_LOWEST to PURPLE_SIGNAL_PRIORITY_HIGHEST. |
| gulong purple_signal_connect_vargs | ( | void * | instance, | |
| const char * | signal, | |||
| void * | handle, | |||
| PurpleCallback | func, | |||
| void * | data | |||
| ) |
Connects a signal handler to a signal for a particular object.
(Its priority defaults to 0, aka PURPLE_SIGNAL_PRIORITY_DEFAULT.)
The signal handler will take a va_args of arguments, instead of individual arguments.
Take care not to register a handler function twice. Purple will not correct any mistakes for you in this area.
| instance | The instance to connect to. | |
| signal | The name of the signal to connect. | |
| handle | The handle of the receiver. | |
| func | The callback function. | |
| data | The data to pass to the callback function. |
| void purple_signal_disconnect | ( | void * | instance, | |
| const char * | signal, | |||
| void * | handle, | |||
| PurpleCallback | func | |||
| ) |
Disconnects a signal handler from a signal on an object.
| instance | The instance to disconnect from. | |
| signal | The name of the signal to disconnect. | |
| handle | The handle of the receiver. | |
| func | The registered function to disconnect. |
| void purple_signal_emit | ( | void * | instance, | |
| const char * | signal, | |||
| ... | ||||
| ) |
Emits a signal.
| instance | The instance emitting the signal. | |
| signal | The signal being emitted. |
| void* purple_signal_emit_return_1 | ( | void * | instance, | |
| const char * | signal, | |||
| ... | ||||
| ) |
Emits a signal and returns the first non-NULL return value.
Further signal handlers are NOT called after a handler returns something other than NULL.
| instance | The instance emitting the signal. | |
| signal | The signal being emitted. |
| void purple_signal_emit_vargs | ( | void * | instance, | |
| const char * | signal, | |||
| va_list | args | |||
| ) |
Emits a signal, using a va_list of arguments.
| instance | The instance emitting the signal. | |
| signal | The signal being emitted. | |
| args | The arguments list. |
| void* purple_signal_emit_vargs_return_1 | ( | void * | instance, | |
| const char * | signal, | |||
| va_list | args | |||
| ) |
Emits a signal and returns the first non-NULL return value.
Further signal handlers are NOT called after a handler returns something other than NULL.
| instance | The instance emitting the signal. | |
| signal | The signal being emitted. | |
| args | The arguments list. |
| void purple_signal_get_values | ( | void * | instance, | |
| const char * | signal, | |||
| PurpleValue ** | ret_value, | |||
| int * | num_values, | |||
| PurpleValue *** | values | |||
| ) |
Returns a list of value types used for a signal.
| instance | The instance the signal is registered to. | |
| signal | The signal. | |
| ret_value | The return value from the last signal handler. | |
| num_values | The returned number of values. | |
| values | The returned list of values. |
| gulong purple_signal_register | ( | void * | instance, | |
| const char * | signal, | |||
| PurpleSignalMarshalFunc | marshal, | |||
| PurpleValue * | ret_value, | |||
| int | num_values, | |||
| ... | ||||
| ) |
Registers a signal in an instance.
| instance | The instance to register the signal for. | |
| signal | The signal name. | |
| marshal | The marshal function. | |
| ret_value | The return value type, or NULL for no return value. | |
| num_values | The number of values to be passed to the callbacks. | |
| ... | The values to pass to the callbacks. |
| void purple_signal_unregister | ( | void * | instance, | |
| const char * | signal | |||
| ) |
Unregisters a signal in an instance.
| instance | The instance to unregister the signal for. | |
| signal | The signal name. |
| void purple_signals_disconnect_by_handle | ( | void * | handle | ) |
Removes all callbacks associated with a receiver handle.
| handle | The receiver handle. |
| void purple_signals_unregister_by_instance | ( | void * | instance | ) |
Unregisters all signals in an instance.
| instance | The instance to unregister the signal for. |