PipeWire  0.2.7
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

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

Update the client properties.

Parameters
propsthe new client properties
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
void(* pw_core_proxy_methods::destroy)(void *object, uint32_t id)

Destroy an object id.

Parameters
idthe object id to destroy
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
void(* pw_core_proxy_methods::hello)(void *object)

Start a conversation with the server.

This will send the core info and server types.

All the existing resources for the client (except the core resource) will be destroyed.

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
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
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
uint32_t pw_core_proxy_methods::version

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