PipeWire 1.6.8

Loading...
Searching...
No Matches
hook.h File Reference
SPA » Utilities » Hooks | SPA » Utilities » Interfaces

spa/utils/hook.h More...

Go to the source code of this file.

## Data Structures
struct | spa_callbacks
| Callbacks, contains the structure with functions and the data passed to the functions. More...
struct | spa_interface
struct | spa_hook_list
| A list of hooks. More...
struct | spa_hook
| A hook, contains the structure with functions and the data passed to the functions. More...

## Macros
#define | SPA_API_HOOK static inline
#define | SPA_CALLBACK_VERSION_MIN(c, v)
| Check if a callback c is of at least version v.
#define | SPA_CALLBACK_CHECK(c, m, v)
| Check if a callback c has method m of version v.
#define | SPA_CALLBACKS_INIT(_funcs, _data)
| Initialize the set of functions funcs as a spa_callbacks, together with _data.
#define | SPA_INTERFACE_INIT(_type, _version, _funcs, _data)
| Initialize a spa_interface.
#define | spa_callbacks_call(callbacks, type, method, vers, ...)
| Invoke method named method in the callbacks.
#define | spa_callbacks_call_fast(callbacks, type, method, vers, ...)
#define | spa_callback_version_min(callbacks, type, vers)
| True if the callbacks are of version vers, false otherwise.
#define | spa_callback_check(callbacks, type, method, vers)
| True if the callbacks contains method of version vers, false otherwise.
#define | spa_callbacks_call_res(callbacks, type, res, method, vers, ...)
| Invoke method named method in the callbacks.
#define | spa_callbacks_call_fast_res(callbacks, type, res, method, vers, ...)
#define | spa_interface_callback_version_min(iface, method_type, vers)
| True if the iface's callbacks are of version vers, false otherwise.
#define | spa_interface_callback_check(iface, method_type, method, vers)
| True if the iface's callback method is of version vers and exists, false otherwise.
#define | spa_interface_call(iface, method_type, method, vers, ...)
| Invoke method named method in the callbacks on the given interface object.
#define | spa_interface_call_fast(iface, method_type, method, vers, ...)
#define | spa_interface_call_res(iface, method_type, res, method, vers, ...)
| Invoke method named method in the callbacks on the given interface object.
#define | spa_interface_call_fast_res(iface, method_type, res, method, vers, ...)
#define | spa_api_func_v(o, method, version, ...)
#define | spa_api_func_r(rtype, def, o, method, version, ...)
#define | spa_api_func_fast(o, method, ...)
#define | spa_api_method_v(type, o, method, version, ...)
#define | spa_api_method_r(rtype, def, type, o, method, version, ...)
#define | spa_api_method_null_v(type, co, o, method, version, ...)
#define | spa_api_method_null_r(rtype, def, type, co, o, method, version, ...)
#define | spa_api_method_fast_v(type, o, method, version, ...)
#define | spa_api_method_fast_r(rtype, def, type, o, method, version, ...)
#define | spa_hook_list_call_simple(l, type, method, vers, ...)
#define | spa_hook_list_do_call(l, start, type, method, vers, once, ...)
| Call all hooks in a list, starting from the given one and optionally stopping after calling the first non-NULL function, returns the number of methods called.
#define | spa_hook_list_call(l, t, m, v, ...)
| Call the method named m for each element in list l.
#define | spa_hook_list_call_once(l, t, m, v, ...)
| Call the method named m for each element in list l, stopping after the first invocation.
#define | spa_hook_list_call_start(l, s, t, m, v, ...)
#define | spa_hook_list_call_once_start(l, s, t, m, v, ...)

## Functions
SPA_API_HOOK void | spa_hook_list_init (struct spa_hook_list *list)
| Initialize a hook list to the empty list.
SPA_API_HOOK bool | spa_hook_list_is_empty (struct spa_hook_list *list)
SPA_API_HOOK void | spa_hook_list_append (struct spa_hook_list *list, struct spa_hook *hook, const void *funcs, void *data)
| Append a hook.
SPA_API_HOOK void | spa_hook_list_prepend (struct spa_hook_list *list, struct spa_hook *hook, const void *funcs, void *data)
| Prepend a hook.
SPA_API_HOOK void | spa_hook_remove (struct spa_hook *hook)
| Remove a hook.
SPA_API_HOOK void | spa_hook_list_clean (struct spa_hook_list *list)
| Remove all hooks from the list.
SPA_API_HOOK void | spa_hook_list_isolate (struct spa_hook_list *list, struct spa_hook_list *save, struct spa_hook *hook, const void *funcs, void *data)
SPA_API_HOOK void | spa_hook_list_join (struct spa_hook_list *list, struct spa_hook_list *save)

## Detailed Description

spa/utils/hook.h

## Macro Definition Documentation

## ◆ SPA_API_HOOK

#define SPA_API_HOOK static inline