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

  props | the 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_name | the factory name to use
  type | the interface to bind to
  version | the version of the interface
  props | extra properties
  new_id | the client proxy id

## destroy

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

Destroy an object id.

Parameters

  id | the 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

  version | the client proxy id
  id | the 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.

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

## 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

  id | the global id to change
  props | dictionary 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

  seq | the 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_id | the id of the first type
  types | the types as a string
  n_types | the number of types

## version

uint32_t pw_core_proxy_methods::version

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

- interfaces.h