Jack2  1.9.8
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
char * jack_get_uuid_for_client_name (jack_client_t *client, const char *client_name) JACK_WEAK_EXPORT
char * jack_get_client_name_by_uuid (jack_client_t *client, const char *client_uuid) 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

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.

char* jack_get_uuid_for_client_name ( jack_client_t *  client,
const char *  client_name 
)

Get the session ID for a client name.

The session manager needs this to reassociate a client name to the session_id.

The caller is responsible for calling jack_free(3) on any non-NULL returned value.

char* jack_get_client_name_by_uuid ( jack_client_t *  client,
const char *  client_uuid 
)

Get the client name for a session_id.

In order to snapshot the graph connections, the session manager needs to map session_ids to client names.

The caller is responsible for calling jack_free(3) on any non-NULL returned value.

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.

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.

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.

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.

Reply (set by client): Session flags.

Definition at line 140 of file session.h.

Future flags. Set to zero for now.

Definition at line 145 of file session.h.


Generated for Jack2 by doxygen 1.7.5