PipeWire: pw_utils Class Reference

PipeWire 0.2.4

Public Types | Public Member Functions
pw_utils Class Reference

Various utility functions. More...

## Public Types
typedef void(* | pw_destroy_t) (void *object)
| a function to destroy an item More...

## Public Member Functions
static struct spa_pod * | pw_spa_pod_copy (const struct spa_pod *pod)
| Copy a pod structure. More...
const char * | pw_split_walk (const char *str, const char *delimiter, size_t *len, const char **state)
| Split a string based on delimiters. More...
char ** | pw_split_strv (const char *str, const char *delimiter, int max_tokens, int *n_tokens)
| Split a string based on delimiters. More...
void | pw_free_strv (char **str)
| Free a NULL terminated array of strings. More...
char * | pw_strip (char *str, const char *whitespace)
| Strip all whitespace before and after a string. More...

## Detailed Description

Various utility functions.

## Member Typedef Documentation

## ◆ pw_destroy_t

typedef void(* pw_destroy_t) (void *object)

a function to destroy an item

## Member Function Documentation

## ◆ pw_free_strv()

void pw_free_strv | ( | char ** | str | ) |

Free a NULL terminated array of strings.

Parameters

  str | a NULL terminated array of string

Free all the strings in the array and the array

Referenced by pw_command::pw_command_free().

## ◆ pw_spa_pod_copy()

static struct spa_pod * pw_spa_pod_copy | ( | const struct spa_pod * | pod | ) |
| inline

Copy a pod structure.

Referenced by pw_control_new(), and pw_link_info_update().

## ◆ pw_split_strv()

char ** pw_split_strv | ( | const char * | str,
|  | const char * | delimiter,
|  | int | max_tokens,
|  | int * | n_tokens
| ) |  |

Split a string based on delimiters.

Parameters

  | str | a string to split
  | delimiter | delimiter characters to split on
  | max_tokens | the max number of tokens to split
  [out] | n_tokens | the number of tokens

Returns
  a NULL terminated array of strings that should be freed with pw_free_strv.

References pw_array::data, pw_array::pw_array_add_ptr, pw_array::pw_array_init(), and pw_split_walk().

Referenced by pw_module::pw_module_load().

## ◆ pw_split_walk()

const char * pw_split_walk | ( | const char * | str,
|  | const char * | delimiter,
|  | size_t * | len,
|  | const char ** | state
| ) |  |

Split a string based on delimiters.

Parameters

  | str | a string to split
  | delimiter | delimiter characters to split on
  [out] | len | the length of the current string
  [in,out] | state | a state variable

Returns
  a string or NULL when the end is reached

Repeatedly call this function to split str into all substrings delimited by delimiter. state should be set to NULL on the first invocation and passed to the function until NULL is returned.

Referenced by pw_split_strv().

## ◆ pw_strip()

char * pw_strip | ( | char * | str,
|  | const char * | whitespace
| ) |  |

Strip all whitespace before and after a string.

Parameters

  str | a string to strip
  whitespace | characters to strip

Returns
  the stripped part of str

Strip whitespace before and after str. str will be modified.

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

- utils.h
- utils.c