JACK-AUDIO-CONNECTION-KIT 0.124.0
Data Structures | Typedefs | Enumerations | Functions

Metadata API.

Data Structures

struct  jack_property_t
struct  jack_description_t

Typedefs

typedef void(* JackPropertyChangeCallback )(jack_uuid_t subject, const char *key, jack_property_change_t change, void *arg)

Enumerations

enum  jack_property_change_t { PropertyCreated, PropertyChanged, PropertyDeleted }

Functions

int jack_set_property (jack_client_t *, jack_uuid_t subject, const char *key, const char *value, const char *type)
int jack_get_property (jack_uuid_t subject, const char *key, char **value, char **type)
void jack_free_description (jack_description_t *desc, int free_description_itself)
int jack_get_properties (jack_uuid_t subject, jack_description_t *desc)
int jack_get_all_properties (jack_description_t **descs)
int jack_remove_property (jack_client_t *client, jack_uuid_t subject, const char *key)
int jack_remove_properties (jack_client_t *client, jack_uuid_t subject)
int jack_remove_all_properties (jack_client_t *client)
int jack_set_property_change_callback (jack_client_t *client, JackPropertyChangeCallback callback, void *arg)

Typedef Documentation

typedef void(* JackPropertyChangeCallback)(jack_uuid_t subject, const char *key, jack_property_change_t change, void *arg)

Enumeration Type Documentation

Enumerator:
PropertyCreated 
PropertyChanged 
PropertyDeleted 

Function Documentation

void jack_free_description ( jack_description_t desc,
int  free_description_itself 
)

Free a description.

Parameters:
desca jack_description_t whose associated memory will all be released
free_description_itselfif non-zero, then
descwill also be passed to free()
int jack_get_all_properties ( jack_description_t **  descs)

Get descriptions for all subjects with metadata.

Parameters:
descsSet to a NULL-terminated array of descriptions. The caller must free each of these with jack_free_description(), and the array itself with jack_free().
Returns:
0 on success.
int jack_get_properties ( jack_uuid_t  subject,
jack_description_t desc 
)

Get a description of subject.

Parameters:
subjectThe subject to get all properties of.
descSet to the description of subject if found, or NULL otherwise. The caller must free this value with jack_free_description().
Returns:
0 on success, -1 if no subject with any properties exists.
int jack_get_property ( jack_uuid_t  subject,
const char *  key,
char **  value,
char **  type 
)

Get a property on subject.

Parameters:
subjectThe subject to get the property from.
keyThe key of the property.
valueSet to the value of the property if found, or NULL otherwise. The caller must free this value with jack_free().
typeThe type of the property if set, or NULL. See the discussion of types in the definition of jack_property_t above. If non-null, the caller must free this value with jack_free().
Returns:
0 on success, -1 if the subject has no key property.
int jack_remove_all_properties ( jack_client_t client)

Remove all properties.

WARNING!! This deletes all metadata managed by a running JACK server. Data lost cannot be recovered (though it can be recreated by new calls to jack_set_property()).

Parameters:
clientThe JACK client making the request to remove all properties
Returns:
0 on success, -1 otherwise
int jack_remove_properties ( jack_client_t client,
jack_uuid_t  subject 
)

Remove all properties on a subject.

Parameters:
clientThe JACK client making the request to remove some properties.
subjectThe subject to remove all properties from.
Returns:
a count of the number of properties removed, or -1 on error.
int jack_remove_property ( jack_client_t client,
jack_uuid_t  subject,
const char *  key 
)

Remove a single property on a subject.

Parameters:
clientThe JACK client making the request to remove the property.
subjectThe subject to remove the property from.
keyThe key of the property to be removed.
Returns:
0 on success, -1 otherwise
int jack_set_property ( jack_client_t ,
jack_uuid_t  subject,
const char *  key,
const char *  value,
const char *  type 
)

Set a property on subject.

See the above documentation for rules about subject and key.

Parameters:
subjectThe subject to set the property on.
keyThe key of the property.
valueThe value of the property.
typeThe type of the property. See the discussion of types in the definition of jack_property_t above.
Returns:
0 on success.
int jack_set_property_change_callback ( jack_client_t client,
JackPropertyChangeCallback  callback,
void *  arg 
)

Arrange for client to call callback whenever a property is created, changed or deleted.

Parameters:
clientthe JACK client making the request
callbackthe function to be invoked when a property change occurs
argthe argument to be passed to
callbackwhen it is invoked
Returns:
0 success, -1 otherwise.