PipeWire  0.2.0
pw_core_proxy_methods Struct Reference

Core methods. More...

Data Fields

uint32_t version
 
void(* hello )(void *object)
 Start a conversation with the server. More...
 
void(* update_types )(void *object, uint32_t first_id, const char **types, uint32_t n_types)
 Update the type map. More...
 
void(* sync )(void *object, uint32_t seq)
 Do server roundtrip. More...
 
void(* get_registry )(void *object, uint32_t version, uint32_t new_id)
 Get the registry object. More...
 
void(* client_update )(void *object, const struct spa_dict *props)
 Update the client properties. More...
 
void(* permissions )(void *object, const struct spa_dict *props)
 Manage the permissions of the global objects. More...
 
void(* create_object )(void *object, const char *factory_name, uint32_t type, uint32_t version, const struct spa_dict *props, uint32_t new_id)
 Create a new object on the PipeWire server from a factory. More...
 
void(* destroy )(void *object, uint32_t id)
 Destroy an object id. More...
 

Detailed Description

Core methods.

The core global object. This is a singleton object used for creating new objects in the remote PipeWire intance. It is also used for internal features.

Field Documentation

◆ client_update

void(* pw_core_proxy_methods::client_update) (void *object, const struct spa_dict *props)

Update the client properties.

Parameters
propsthe new client properties

◆ create_object

void(* pw_core_proxy_methods::create_object) (void *object, const char *factory_name, uint32_t type, uint32_t version, const struct spa_dict *props, uint32_t new_id)

Create a new object on the PipeWire server from a factory.

Use a factory_name of "client-node" to create a pw_client_node.

Parameters
factory_namethe factory name to use
typethe interface to bind to
versionthe version of the interface
propsextra properties
new_idthe client proxy id

◆ destroy

void(* pw_core_proxy_methods::destroy) (void *object, uint32_t id)

Destroy an object id.

Parameters
idthe object id to destroy

◆ get_registry

void(* pw_core_proxy_methods::get_registry) (void *object, uint32_t version, uint32_t new_id)

Get the registry object.

Create a registry object that allows the client to list and bind the global objects available from the PipeWire server

Parameters
versionthe client proxy id
idthe client proxy id

◆ hello

void(* pw_core_proxy_methods::hello) (void *object)

Start a conversation with the server.

This will send the core info and server types.

◆ permissions

void(* pw_core_proxy_methods::permissions) (void *object, const struct spa_dict *props)

Manage the permissions of the global objects.

Update the permissions of the global objects using the dictionary with properties.

Globals can use the default permissions or can have specific permissions assigned to them.

Parameters
idthe global id to change
propsdictionary with permission properties

◆ sync

void(* pw_core_proxy_methods::sync) (void *object, uint32_t seq)

Do server roundtrip.

Ask the server to emit the 'done' event with id. Since methods are handled in-order and events are delivered in-order, this can be used as a barrier to ensure all previous methods and the resulting events have been handled.

Parameters
seqthe sequence number passed to the done event

◆ update_types

void(* pw_core_proxy_methods::update_types) (void *object, uint32_t first_id, const char **types, uint32_t n_types)

Update the type map.

Send a type map update to the PipeWire server. The server uses this information to keep a mapping between client types and the server types.

Parameters
first_idthe id of the first type
typesthe types as a string
n_typesthe number of types

◆ version

uint32_t pw_core_proxy_methods::version

The documentation for this struct was generated from the following file: