pidgin 2.14.15dev
|
Signal API. More...
Go to the source code of this file.
Macros | |
#define | PURPLE_CALLBACK(func) ((PurpleCallback)func) |
Typedefs | |
typedef void(* | PurpleCallback) (void) |
typedef void(* | PurpleSignalMarshalFunc) (PurpleCallback cb, va_list args, void *data, void **return_val) |
Signal API <br> | |
#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.)
typedef void(* PurpleSignalMarshalFunc) (PurpleCallback cb, va_list args, void *data, void **return_val) |
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. |