13#ifndef ZEPHYR_INCLUDE_MPIPE_MPIPE_BIN_H_
14#define ZEPHYR_INCLUDE_MPIPE_MPIPE_BIN_H_
Header file for the doubly-linked list API.
struct _dnode sys_dlist_t
Doubly-linked list structure.
Definition dlist.h:55
int mpipe_bin_add(struct mpipe_bin *bin, struct mpipe_element *element,...)
Add elements to a bin.
int mpipe_bin_change_state_func(struct mpipe_element *element, enum mpipe_state_change transition)
Bin state change function.
int mpipe_bin_set_bus_validator(struct mpipe_bin *bin, zbus_validator bus_validator, void *user_data)
Install a validator and user data on the bin's bus.
int mpipe_bin_init(struct mpipe_bin *bin, uint8_t id)
Initialize a bin.
mpipe_state_change
enum mpipe_state_change
Definition mpipe_element.h:141
bool(* zbus_validator)(const void *msg, size_t msg_size)
Check validity of message before publishing.
Definition zbus.h:91
Element: the unit a pipeline is built from.
Bus message: what an element reports to the application.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Bin structure.
Definition mpipe_bin.h:54
sys_dlist_t children
List of children elements in the bin.
Definition mpipe_bin.h:60
int children_num
Number of children in the bin.
Definition mpipe_bin.h:58
struct zbus_runtime_channel bus
The bin's message bus.
Definition mpipe_bin.h:100
struct mpipe_element element
Base element structure.
Definition mpipe_bin.h:56
Element base class.
Definition mpipe_element.h:165
Message structure carrying type and origin of the message.
Definition mpipe_message.h:109
Type used to represent a channel mutable data.
Definition zbus.h:33
Type used to represent a runtime channel.
Definition zbus.h:136