Jack2  1.9.10
Classes | Enumerator | Functions | Variables
API for a session manager.

Classes

struct  jack_session_command_t
 

Functions

jack_session_command_tjack_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
 

Variables

jack_session_event_type_t _jack_session_event::type
 
const char * _jack_session_event::session_dir
 
const char * _jack_session_event::client_uuid
 
char * _jack_session_event::command_line
 
jack_session_flags_t _jack_session_event::flags
 
uint32_t _jack_session_event::future
 
const char * jack_session_command_t::uuid
 
const char * jack_session_command_t::client_name
 
const char * jack_session_command_t::command
 
jack_session_flags_t jack_session_command_t::flags
 

Detailed Description

Function Documentation

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

void jack_session_commands_free ( jack_session_command_t cmds)

Free the memory allocated by a session command.

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

Variable Documentation

jack_session_event_type_t _jack_session_event::type

The type of this session event.

Definition at line 104 of file session.h.

const char* _jack_session_event::session_dir

Session directory path, with trailing separator.

This directory is exclusive to the client; when saving the client may create any files it likes in this directory.

Definition at line 112 of file session.h.

const char* _jack_session_event::client_uuid

Client UUID which must be passed to jack_client_open on session load.

The client can specify this in the returned command line, or save it in a state file within the session directory.

Definition at line 120 of file session.h.

char* _jack_session_event::command_line

Reply (set by client): the command line needed to restore the client.

This is a platform dependent command line. It must contain ${SESSION_DIR} instead of the actual session directory path. More generally, just as in session files, clients should not include any paths outside the session directory here as this makes archival/distribution impossible.

This field is set to NULL by Jack when the event is delivered to the client. The client must set to allocated memory that is safe to free(). This memory will be freed by jack_session_event_free.

Definition at line 135 of file session.h.

jack_session_flags_t _jack_session_event::flags

Reply (set by client): Session flags.

Definition at line 140 of file session.h.

uint32_t _jack_session_event::future

Future flags. Set to zero for now.

Definition at line 145 of file session.h.


Generated for Jack2 by doxygen 1.8.11