type.h
Go to the documentation of this file.
/* PipeWire
* Copyright (C) 2015 Wim Taymans <wim.taymans@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __PIPEWIRE_TYPE_H__
#define __PIPEWIRE_TYPE_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <spa/support/type-map.h>
#include <spa/node/event.h>
#include <spa/node/command.h>
#include <spa/monitor/monitor.h>
#include <spa/param/buffers.h>
#include <spa/param/meta.h>
#include <spa/param/io.h>
#include <spa/node/io.h>
#include <pipewire/map.h>
#define PW_TYPE_BASE "PipeWire:"
#define PW_TYPE__Object PW_TYPE_BASE "Object"
#define PW_TYPE_OBJECT_BASE PW_TYPE__Object ":"
#define PW_TYPE__Interface PW_TYPE_BASE "Interface"
#define PW_TYPE_INTERFACE_BASE PW_TYPE__Interface ":"
struct pw_type {
struct spa_type_map *map;
uint32_t core;
uint32_t registry;
uint32_t node;
uint32_t port;
uint32_t factory;
uint32_t link;
uint32_t client;
uint32_t module;
uint32_t spa_log;
uint32_t spa_node;
uint32_t spa_clock;
uint32_t spa_monitor;
uint32_t spa_format;
uint32_t spa_props;
struct spa_type_io io;
struct spa_type_param param;
struct spa_type_meta meta;
struct spa_type_data data;
struct spa_type_event_node event_node;
struct spa_type_command_node command_node;
struct spa_type_monitor monitor;
struct spa_type_param_buffers param_buffers;
struct spa_type_param_meta param_meta;
struct spa_type_param_io param_io;
};
int pw_type_init(struct pw_type *type);
int pw_type_get(struct pw_type *type, const char *id, void *data);
#ifdef __cplusplus
}
#endif
#endif /* __PIPEWIRE_TYPE_H__ */
pw_type_get
int pw_type_get(struct pw_type *type, const char *id, void *data)
Definition: type.c:79
pw_type::spa_props
uint32_t spa_props
Definition: type.h:68
pw_type::spa_monitor
uint32_t spa_monitor
Definition: type.h:66
pw_type::pw_type_init
int pw_type_init(struct pw_type *type)
Initializes the type system.
Definition: type.c:44
pw_type::spa_log
uint32_t spa_log
Definition: type.h:63
pw_type::node
uint32_t node
Definition: type.h:56
pw_type::map
struct spa_type_map * map
the type mapper
Definition: type.h:52
pw_type::core
uint32_t core
Definition: type.h:54
pw_type::spa_clock
uint32_t spa_clock
Definition: type.h:65
pw_type::client
uint32_t client
Definition: type.h:60
pw_type::param_buffers
struct spa_type_param_buffers param_buffers
Definition: type.h:77
pw_type::io
struct spa_type_io io
Definition: type.h:70
pw_type::command_node
struct spa_type_command_node command_node
Definition: type.h:75
pw_type
PipeWire type support struct.
Definition: type.h:51
pw_type::param_meta
struct spa_type_param_meta param_meta
Definition: type.h:78
pw_type::param_io
struct spa_type_param_io param_io
Definition: type.h:79
pw_type::factory
uint32_t factory
Definition: type.h:58
pw_type::registry
uint32_t registry
Definition: type.h:55
pw_type::monitor
struct spa_type_monitor monitor
Definition: type.h:76
pw_type::link
uint32_t link
Definition: type.h:59
pw_type::spa_node
uint32_t spa_node
Definition: type.h:64
pw_type::module
uint32_t module
Definition: type.h:61
pw_type::meta
struct spa_type_meta meta
Definition: type.h:72
pw_type::event_node
struct spa_type_event_node event_node
Definition: type.h:74
map.h
pw_type::data
struct spa_type_data data
Definition: type.h:73
pw_type::port
uint32_t port
Definition: type.h:57
pw_type::param
struct spa_type_param param
Definition: type.h:71
pw_type::spa_format
uint32_t spa_format
Definition: type.h:67