Jack2  1.9.10
Classes | Typedefs | Enumerations | Functions
Metadata API.

Classes

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, 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)

Detailed Description


Function Documentation

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.

Definition at line 2069 of file JackAPI.cpp.

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.

Definition at line 2074 of file JackAPI.cpp.

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()

Definition at line 2079 of file JackAPI.cpp.

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.

Definition at line 2083 of file JackAPI.cpp.

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.

Definition at line 2088 of file JackAPI.cpp.

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

Definition at line 2093 of file JackAPI.cpp.

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.

Definition at line 2098 of file JackAPI.cpp.

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

Definition at line 2103 of file JackAPI.cpp.

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.

Definition at line 2108 of file JackAPI.cpp.