123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- Callback API Reference (libobs/callback)
- ========================================
- Calldata
- --------
- The :c:type:`calldata_t` object is used to pass parameters from signal
- handlers or to procedure handlers.
- .. type:: calldata_t
- ---------------------
- .. function:: void calldata_init(calldata_t *data)
- Initializes a calldata structure (zeroes it).
- :param data: Calldata structure
- ---------------------
- .. function:: void calldata_free(calldata_t *data)
- Frees a calldata structure.
- :param data: Calldata structure
- ---------------------
- .. function:: void calldata_set_int(calldata_t *data, const char *name, long long val)
- Sets an integer parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :param val: Integer value
- ---------------------
- .. function:: void calldata_set_float(calldata_t *data, const char *name, double val)
- Sets a floating point parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :param val: Floating point value
- ---------------------
- .. function:: void calldata_set_bool(calldata_t *data, const char *name, bool val)
- Sets a boolean parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :param val: Boolean value
- ---------------------
- .. function:: void calldata_set_ptr(calldata_t *data, const char *name, void *ptr)
- Sets a pointer parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :param val: Pointer value
- ---------------------
- .. function:: void calldata_set_string(calldata_t *data, const char *name, const char *str)
- Sets a string parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :param val: String
- ---------------------
- .. function:: long long calldata_int(const calldata_t *data, const char *name)
- Gets an integer parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :return: Integer value
- ---------------------
- .. function:: double calldata_float(const calldata_t *data, const char *name)
- Gets a floating point parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :return: Floating point value
- ---------------------
- .. function:: bool calldata_bool(const calldata_t *data, const char *name)
- Gets a boolean parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :return: Boolean value
- ---------------------
- .. function:: void *calldata_ptr(const calldata_t *data, const char *name)
- Gets a pointer parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :return: Pointer value
- ---------------------
- .. function:: const char *calldata_string(const calldata_t *data, const char *name)
- Gets a string parameter.
- :param data: Calldata structure
- :param name: Parameter name
- :return: String value
- ---------------------
- Signals
- -------
- Signals are used for all event-based callbacks.
- .. code:: cpp
- #include <callback/signal.h>
- .. type:: signal_handler_t
- ---------------------
- .. type:: typedef void (*signal_callback_t)(void *data, calldata_t *cd)
- Signal callback.
- :param data: Private data passed to this callback
- :param cd: Calldata object
- ---------------------
- .. function:: signal_handler_t *signal_handler_create(void)
- Creates a new signal handler object.
- :return: A new signal handler object
- ---------------------
- .. function:: void signal_handler_destroy(signal_handler_t *handler)
- Destroys a signal handler.
- :param handler: Signal handler object
- ---------------------
- .. function:: bool signal_handler_add(signal_handler_t *handler, const char *signal_decl)
- Adds a signal to a signal handler.
- :param handler: Signal handler object
- :param signal_decl: Signal declaration string
- ---------------------
- .. function:: bool signal_handler_add_array(signal_handler_t *handler, const char **signal_decls)
- Adds multiple signals to a signal handler.
- :param handler: Signal handler object
- :param signal_decls: An array of signal declaration strings,
- terminated by *NULL*
- ---------------------
- .. function:: void signal_handler_connect(signal_handler_t *handler, const char *signal, signal_callback_t callback, void *data)
- Connect a callback to a signal on a signal handler.
- :param handler: Signal handler object
- :param callback: Signal callback
- :param data: Private data passed the callback
- ---------------------
- .. function:: void signal_handler_connect_ref(signal_handler_t *handler, const char *signal, signal_callback_t callback, void *data)
- Connect a callback to a signal on a signal handler, and increments
- the handler's internal reference counter, preventing it from being
- destroyed until the signal has been disconnected.
- :param handler: Signal handler object
- :param callback: Signal callback
- :param data: Private data passed the callback
- ---------------------
- .. function:: void signal_handler_disconnect(signal_handler_t *handler, const char *signal, signal_callback_t callback, void *data)
- Disconnects a callback from a signal on a signal handler.
- :param handler: Signal handler object
- :param callback: Signal callback
- :param data: Private data passed the callback
- ---------------------
- .. function:: void signal_handler_signal(signal_handler_t *handler, const char *signal, calldata_t *params)
- Triggers a signal, calling all connected callbacks.
- :param handler: Signal handler object
- :param signal: Name of signal to trigger
- :param params: Parameters to pass to the signal
- ---------------------
- Procedure Handlers
- ------------------
- Procedure handlers are used to call functions without having to have
- direct access to declarations or callback pointers.
- .. code:: cpp
- #include <callback/proc.h>
- .. type:: proc_handler_t
- ---------------------
- .. type:: typedef void (*proc_handler_proc_t)(void *data, calldata_t *cd)
- Procedure handler callback.
- :param data: Private data passed to this callback
- :param cd: Calldata object
- ---------------------
- .. function:: proc_handler_t *proc_handler_create(void)
- Creates a new procedure handler.
- :return: A new procedure handler object
- ---------------------
- .. function:: void proc_handler_destroy(proc_handler_t *handler)
- Destroys a procedure handler object.
- :param handler: Procedure handler object
- ---------------------
- .. function:: void proc_handler_add(proc_handler_t *handler, const char *decl_string, proc_handler_proc_t proc, void *data)
- Adds a procedure to a procedure handler.
- :param handler: Procedure handler object
- :param decl_string: Procedure declaration string
- :param proc: Procedure callback
- :param data: Private data to pass to the callback
- ---------------------
- .. function:: bool proc_handler_call(proc_handler_t *handler, const char *name, calldata_t *params)
- Calls a procedure within the procedure handler.
- :param handler: Procedure handler object
- :param name: Name of procedure to call
- :param params: Calldata structure to pass to the procedure
|