PipeWire 1.2.7
Loading...
Searching...
No Matches
control.h
Go to the documentation of this file.
1/* PipeWire */
2/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef PIPEWIRE_CONTROL_H
6#define PIPEWIRE_CONTROL_H
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12#include <spa/utils/hook.h>
13
23struct pw_control;
24
25#include <pipewire/impl.h>
26
28struct pw_control_events {
29#define PW_VERSION_CONTROL_EVENTS 0
30 uint32_t version;
31
33 void (*destroy) (void *data);
34
36 void (*free) (void *data);
37
39 void (*linked) (void *data, struct pw_control *other);
41 void (*unlinked) (void *data, struct pw_control *other);
43};
44
46struct pw_impl_port *pw_control_get_port(struct pw_control *control);
50void pw_control_add_listener(struct pw_control *control,
51 struct spa_hook *listener,
52 const struct pw_control_events *events,
53 void *data);
54
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* PIPEWIRE_CONTROL_H */
void pw_control_add_listener(struct pw_control *control, struct spa_hook *listener, const struct pw_control_events *events, void *data)
Add an event listener on the control.
Definition control.c:119
struct pw_impl_port * pw_control_get_port(struct pw_control *control)
Get the control parent port or NULL when not set.
Definition control.c:113
spa/utils/hook.h
pipewire/impl.h
Port events, use pw_control_add_listener.
Definition control.h:33
void(* unlinked)(void *data, struct pw_control *other)
control is unlinked from another control
Definition control.h:47
uint32_t version
Definition control.h:36
void(* free)(void *data)
The control is freed.
Definition control.h:42
void(* destroy)(void *data)
The control is destroyed.
Definition control.h:39
void(* linked)(void *data, struct pw_control *other)
control is linked to another control
Definition control.h:45
A hook, contains the structure with functions and the data passed to the functions.
Definition hook.h:350