PipeWire  0.2.0
pw_client Class Reference

PipeWire client object class. More...

Public Member Functions

struct pw_clientpw_client_new (struct pw_core *core, struct ucred *ucred, struct pw_properties *properties, size_t user_data_size)
 Make a new client object. More...
 
void pw_client_destroy (struct pw_client *client)
 Destroy a client object. More...
 
int pw_client_update_properties (struct pw_client *client, const struct spa_dict *dict)
 Update client properties. More...
 

Detailed Description

PipeWire client object class.

The client object represents a client connection with the PipeWire server.

Each client has its own list of resources it is bound to along with a mapping between the client types and server types.

Member Function Documentation

◆ pw_client_destroy()

void pw_client_destroy ( struct pw_client client)

Destroy a client object.

Parameters
clientthe client to destroy

References pw_global::pw_global_destroy(), pw_log::pw_log_debug(), pw_map::pw_map_for_each(), and pw_resource_destroy().

◆ pw_client_new()

struct pw_client * pw_client_new ( struct pw_core core,
struct ucred *  ucred,
struct pw_properties properties,
size_t  user_data_size 
)

Make a new client object.

Parameters
corea pw_core object to register the client with
ucreda ucred structure or NULL when unknown
propertiesoptional client properties, ownership is taken
Returns
a newly allocated client object

References pw_array::pw_array_init(), PW_CLIENT_PROP_UCRED_GID, PW_CLIENT_PROP_UCRED_PID, PW_CLIENT_PROP_UCRED_UID, pw_log::pw_log_debug(), pw_properties::pw_properties_new(), pw_properties::pw_properties_setf(), and impl::this.

◆ pw_client_update_properties()

int pw_client_update_properties ( struct pw_client client,
const struct spa_dict *  dict 
)

Update client properties.

Parameters
clientthe client
dicta spa_dict with properties

Add all properties in dict to the client properties. Existing properties are overwritten. Items can be removed by setting the value to NULL.

References PW_CLIENT_CHANGE_MASK_PROPS, pw_client_resource_info, pw_properties::pw_properties_new_dict(), and pw_properties::pw_properties_set().


The documentation for this class was generated from the following files: