JACK-AUDIO-CONNECTION-KIT: API for a session manager.

JACK-AUDIO-CONNECTION-KIT 0.125.0

Data Structures | Functions
API for a session manager.

## Data Structures
struct | jack_session_command_t

## Functions
jack_session_command_t * | jack_session_notify (jack_client_t *client, const char *target, jack_session_event_type_t type, const char *path) JACK_WEAK_EXPORT
void | jack_session_commands_free (jack_session_command_t *cmds) JACK_WEAK_EXPORT
int | jack_reserve_client_name (jack_client_t *client, const char *name, const char *uuid) JACK_WEAK_EXPORT
int | jack_client_has_session_callback (jack_client_t *client, const char *client_name) JACK_WEAK_EXPORT

## Detailed Description

## Function Documentation

## ◆ jack_client_has_session_callback()

int jack_client_has_session_callback | ( | jack_client_t * | client,
|  | const char * | client_name
| ) |  |

Find out whether a client has set up a session callback.

Returns
  0 when the client has no session callback, 1 when it has one. -1 on error.

## ◆ jack_reserve_client_name()

int jack_reserve_client_name | ( | jack_client_t * | client,
|  | const char * | name,
|  | const char * | uuid
| ) |  |

Reserve a client name and associate it with a UUID.

When a client later calls jack_client_open() and specifies the UUID, jackd will assign the reserved name. This allows a session manager to know in advance under which client name its managed clients will appear.

Returns
  0 on success, otherwise a non-zero error code

## ◆ jack_session_commands_free()

void jack_session_commands_free | ( | jack_session_command_t * | cmds | ) |

Free the memory allocated by a session command.

## ◆ jack_session_notify()

jack_session_command_t* jack_session_notify | ( | jack_client_t * | client,
|  | const char * | target,
|  | jack_session_event_type_t | type,
|  | const char * | path
| ) |  |

Send an event to all clients listening for session callbacks.

The returned strings of the clients are accumulated and returned as an array of jack_session_command_t. its terminated by ret[i].uuid == NULL target == NULL means send to all interested clients. otherwise a clientname