Defines |
#define | XMMSV_TYPE_UINT32 XMMSV_TYPE_UINT32_IS_DEPRECATED() |
#define | xmmsv_check_type(type) ((type) > XMMSV_TYPE_NONE && (type) < XMMSV_TYPE_END) |
#define | XMMSV_DICT_ENTRY(k, v) __xmmsv_identity_const_charp (k), __xmmsv_identity_xmmsv (v) |
#define | XMMSV_DICT_ENTRY_STR(k, v) XMMSV_DICT_ENTRY (k, xmmsv_new_string (v)) |
#define | XMMSV_DICT_ENTRY_INT(k, v) XMMSV_DICT_ENTRY (k, xmmsv_new_int (v)) |
#define | XMMSV_DICT_END NULL |
#define | XMMSV_LIST_ENTRY(v) __xmmsv_identity_xmmsv (v) |
#define | XMMSV_LIST_ENTRY_STR(v) XMMSV_LIST_ENTRY (xmmsv_new_string (v)) |
#define | XMMSV_LIST_ENTRY_INT(v) XMMSV_LIST_ENTRY (xmmsv_new_int (v)) |
#define | XMMSV_LIST_ENTRY_COLL(v) XMMSV_LIST_ENTRY (xmmsv_new_coll (v)) |
#define | XMMSV_LIST_END NULL |
Typedefs |
typedef struct xmmsv_St | xmmsv_t |
typedef struct xmmsv_list_iter_St | xmmsv_list_iter_t |
typedef struct xmmsv_dict_iter_St | xmmsv_dict_iter_t |
typedef void(* | xmmsv_list_foreach_func )(xmmsv_t *value, void *user_data) |
typedef void(* | xmmsv_dict_foreach_func )(const char *key, xmmsv_t *value, void *user_data) |
Enumerations |
enum | xmmsv_type_t {
XMMSV_TYPE_NONE,
XMMSV_TYPE_ERROR,
XMMSV_TYPE_INT32,
XMMSV_TYPE_STRING,
XMMSV_TYPE_COLL,
XMMSV_TYPE_BIN,
XMMSV_TYPE_LIST,
XMMSV_TYPE_DICT,
XMMSV_TYPE_END
} |
Functions |
xmmsv_t * | xmmsv_new_none (void) |
| Allocates a new empty xmmsv_t.
|
xmmsv_t * | xmmsv_new_error (const char *errstr) |
| Allocates a new error xmmsv_t.
|
xmmsv_t * | xmmsv_new_int (int32_t i) |
| Allocates a new integer xmmsv_t.
|
xmmsv_t * | xmmsv_new_string (const char *s) |
| Allocates a new string xmmsv_t.
|
xmmsv_t * | xmmsv_new_coll (xmmsv_coll_t *coll) |
| Allocates a new collection xmmsv_t.
|
xmmsv_t * | xmmsv_new_bin (unsigned char *data, unsigned int len) |
| Allocates a new binary data xmmsv_t.
|
xmmsv_t * | xmmsv_new_list (void) |
| Allocates a new list xmmsv_t.
|
xmmsv_t * | xmmsv_new_dict (void) |
| Allocates a new dict xmmsv_t.
|
xmmsv_t * | xmmsv_ref (xmmsv_t *val) |
| References the xmmsv_t.
|
void | xmmsv_unref (xmmsv_t *val) |
| Decreases the references for the xmmsv_t When the number of references reaches 0 it will be freed.
|
xmmsv_type_t | xmmsv_get_type (const xmmsv_t *val) |
| Get the type of the value.
|
int | xmmsv_is_type (const xmmsv_t *val, xmmsv_type_t t) |
| Check if value is of specified type.
|
int | xmmsv_is_error (const xmmsv_t *val) |
| Check if the value stores an error.
|
int | xmmsv_is_list (const xmmsv_t *val) XMMS_DEPRECATED |
| Check if the value stores a list.
|
int | xmmsv_is_dict (const xmmsv_t *val) XMMS_DEPRECATED |
| Check if the value stores a dict.
|
const char * | xmmsv_get_error_old (const xmmsv_t *val) XMMS_DEPRECATED |
| Legacy alias to retrieve the error string from an xmmsv_t.
|
xmmsv_t * | xmmsv_make_stringlist (char *array[], int num) |
| Helper function to build a list xmmsv_t containing the strings from the input array.
|
xmmsv_type_t | xmmsv_dict_entry_get_type (xmmsv_t *val, const char *key) |
| Gets the type of a dict entry.
|
xmmsv_t * | xmmsv_propdict_to_dict (xmmsv_t *propdict, const char **src_prefs) |
| Helper function to transform a key-source-value dict-of-dict xmmsv_t (formerly a propdict) to a regular key-value dict, given a list of source preference.
|
int | xmmsv_get_error (const xmmsv_t *val, const char **r) |
| Retrieves an error string describing the server error from the value.
|
int | xmmsv_get_int (const xmmsv_t *val, int32_t *r) |
| Retrieves a signed integer from the value.
|
int | xmmsv_get_uint (const xmmsv_t *val, uint32_t *r) XMMS_DEPRECATED |
| Retrieves a unsigned integer from the value.
|
int | xmmsv_get_string (const xmmsv_t *val, const char **r) |
| Retrieves a string from the value.
|
int | xmmsv_get_coll (const xmmsv_t *val, xmmsv_coll_t **coll) |
| Retrieves a collection from the value.
|
int | xmmsv_get_bin (const xmmsv_t *val, const unsigned char **r, unsigned int *rlen) |
| Retrieves binary data from the value.
|
int | xmmsv_get_list_iter (const xmmsv_t *val, xmmsv_list_iter_t **it) |
| Retrieves a list iterator from a list xmmsv_t.
|
int | xmmsv_get_dict_iter (const xmmsv_t *val, xmmsv_dict_iter_t **it) |
| Retrieves a dict iterator from a dict xmmsv_t.
|
void | xmmsv_list_iter_explicit_destroy (xmmsv_list_iter_t *it) |
| Explicitly free list iterator.
|
void | xmmsv_dict_iter_explicit_destroy (xmmsv_dict_iter_t *it) |
| Explicitly free dict iterator.
|
int | xmmsv_list_get (xmmsv_t *listv, int pos, xmmsv_t **val) |
| Get the element at the given position in the list xmmsv_t.
|
int | xmmsv_list_set (xmmsv_t *listv, int pos, xmmsv_t *val) |
| Set the element at the given position in the list xmmsv_t.
|
int | xmmsv_list_append (xmmsv_t *listv, xmmsv_t *val) |
| Append an element to the end of the list xmmsv_t.
|
int | xmmsv_list_insert (xmmsv_t *listv, int pos, xmmsv_t *val) |
| Insert an element at the given position in the list xmmsv_t.
|
int | xmmsv_list_remove (xmmsv_t *listv, int pos) |
| Remove the element at the given position from the list xmmsv_t.
|
int | xmmsv_list_move (xmmsv_t *listv, int old_pos, int new_pos) |
| Move the element from position #old to position #new.
|
int | xmmsv_list_clear (xmmsv_t *listv) |
| Empty the list from all its elements.
|
int | xmmsv_list_foreach (xmmsv_t *listv, xmmsv_list_foreach_func func, void *user_data) |
| Apply a function to each element in the list, in sequential order.
|
int | xmmsv_list_get_size (xmmsv_t *listv) |
| Return the size of the list.
|
int | xmmsv_list_restrict_type (xmmsv_t *listv, xmmsv_type_t type) |
int | xmmsv_list_get_string (xmmsv_t *v, int pos, const char **val) |
int | xmmsv_list_get_int (xmmsv_t *v, int pos, int32_t *val) |
int | xmmsv_list_get_coll (xmmsv_t *v, int pos, xmmsv_coll_t **val) |
int | xmmsv_list_set_string (xmmsv_t *v, int pos, const char *val) |
int | xmmsv_list_set_int (xmmsv_t *v, int pos, int32_t val) |
int | xmmsv_list_set_coll (xmmsv_t *v, int pos, xmmsv_coll_t *val) |
int | xmmsv_list_insert_string (xmmsv_t *v, int pos, const char *val) |
int | xmmsv_list_insert_int (xmmsv_t *v, int pos, int32_t val) |
int | xmmsv_list_insert_coll (xmmsv_t *v, int pos, xmmsv_coll_t *val) |
int | xmmsv_list_append_string (xmmsv_t *v, const char *val) |
int | xmmsv_list_append_int (xmmsv_t *v, int32_t val) |
int | xmmsv_list_append_coll (xmmsv_t *v, xmmsv_coll_t *val) |
int | xmmsv_list_iter_entry (xmmsv_list_iter_t *it, xmmsv_t **val) |
| Get the element currently pointed at by the iterator.
|
int | xmmsv_list_iter_valid (xmmsv_list_iter_t *it) |
| Check whether the iterator is valid and points to a valid element.
|
void | xmmsv_list_iter_first (xmmsv_list_iter_t *it) |
| Rewind the iterator to the start of the list.
|
void | xmmsv_list_iter_last (xmmsv_list_iter_t *it) |
| Move the iterator to end of the list.
|
void | xmmsv_list_iter_next (xmmsv_list_iter_t *it) |
| Advance the iterator to the next element in the list.
|
void | xmmsv_list_iter_prev (xmmsv_list_iter_t *it) |
| Move the iterator to the previous element in the list.
|
int | xmmsv_list_iter_seek (xmmsv_list_iter_t *it, int pos) |
| Move the iterator to the n-th element in the list.
|
int | xmmsv_list_iter_tell (const xmmsv_list_iter_t *it) |
| Tell the position of the iterator.
|
xmmsv_t * | xmmsv_list_iter_get_parent (const xmmsv_list_iter_t *it) |
| Return the parent xmmsv_t of an iterator.
|
int | xmmsv_list_iter_insert (xmmsv_list_iter_t *it, xmmsv_t *val) |
| Insert an element in the list at the position pointed at by the iterator.
|
int | xmmsv_list_iter_remove (xmmsv_list_iter_t *it) |
| Remove the element in the list at the position pointed at by the iterator.
|
int | xmmsv_list_iter_entry_string (xmmsv_list_iter_t *it, const char **val) |
int | xmmsv_list_iter_entry_int (xmmsv_list_iter_t *it, int32_t *val) |
int | xmmsv_list_iter_entry_coll (xmmsv_list_iter_t *it, xmmsv_coll_t **val) |
int | xmmsv_list_iter_insert_string (xmmsv_list_iter_t *it, const char *val) |
int | xmmsv_list_iter_insert_int (xmmsv_list_iter_t *it, int32_t val) |
int | xmmsv_list_iter_insert_coll (xmmsv_list_iter_t *it, xmmsv_coll_t *val) |
int | xmmsv_dict_get (xmmsv_t *dictv, const char *key, xmmsv_t **val) |
| Get the element corresponding to the given key in the dict xmmsv_t (if it exists).
|
int | xmmsv_dict_set (xmmsv_t *dictv, const char *key, xmmsv_t *val) |
| Insert an element under the given key in the dict xmmsv_t.
|
int | xmmsv_dict_remove (xmmsv_t *dictv, const char *key) |
| Remove the element corresponding to a given key in the dict xmmsv_t (if it exists).
|
int | xmmsv_dict_clear (xmmsv_t *dictv) |
| Empty the dict of all its elements.
|
int | xmmsv_dict_foreach (xmmsv_t *dictv, xmmsv_dict_foreach_func func, void *user_data) |
| Apply a function to each key-element pair in the list.
|
int | xmmsv_dict_get_size (xmmsv_t *dictv) |
| Return the size of the dict.
|
int | xmmsv_dict_has_key (xmmsv_t *dictv, const char *key) |
int | xmmsv_dict_entry_get_string (xmmsv_t *val, const char *key, const char **r) |
int | xmmsv_dict_entry_get_int (xmmsv_t *val, const char *key, int32_t *r) |
int | xmmsv_dict_entry_get_coll (xmmsv_t *val, const char *key, xmmsv_coll_t **coll) |
int | xmmsv_dict_set_string (xmmsv_t *val, const char *key, const char *el) |
int | xmmsv_dict_set_int (xmmsv_t *val, const char *key, int32_t el) |
int | xmmsv_dict_set_coll (xmmsv_t *val, const char *key, xmmsv_coll_t *el) |
int | xmmsv_dict_iter_pair (xmmsv_dict_iter_t *it, const char **key, xmmsv_t **val) |
| Get the key-element pair currently pointed at by the iterator.
|
int | xmmsv_dict_iter_valid (xmmsv_dict_iter_t *it) |
| Check whether the iterator is valid and points to a valid pair.
|
void | xmmsv_dict_iter_first (xmmsv_dict_iter_t *it) |
| Rewind the iterator to the start of the dict.
|
void | xmmsv_dict_iter_next (xmmsv_dict_iter_t *it) |
| Advance the iterator to the next pair in the dict.
|
int | xmmsv_dict_iter_find (xmmsv_dict_iter_t *it, const char *key) |
| Move the iterator to the pair with the given key (if it exists) or move it to the position where the key would have to be put (if it doesn't exist yet).
|
int | xmmsv_dict_iter_set (xmmsv_dict_iter_t *it, xmmsv_t *val) |
| Replace the element of the pair currently pointed to by the iterator.
|
int | xmmsv_dict_iter_remove (xmmsv_dict_iter_t *it) |
| Remove the pair in the dict pointed at by the iterator.
|
int | xmmsv_dict_iter_pair_string (xmmsv_dict_iter_t *it, const char **key, const char **r) |
int | xmmsv_dict_iter_pair_int (xmmsv_dict_iter_t *it, const char **key, int32_t *r) |
int | xmmsv_dict_iter_pair_coll (xmmsv_dict_iter_t *it, const char **key, xmmsv_coll_t **r) |
int | xmmsv_dict_iter_set_string (xmmsv_dict_iter_t *it, const char *elem) |
int | xmmsv_dict_iter_set_int (xmmsv_dict_iter_t *it, int32_t elem) |
int | xmmsv_dict_iter_set_coll (xmmsv_dict_iter_t *it, xmmsv_coll_t *elem) |
xmmsv_t * | xmmsv_decode_url (const xmmsv_t *url) |
| Decode an URL-encoded string.
|
int | xmmsv_dict_format (char *target, int len, const char *fmt, xmmsv_t *val) |
| This function will make a pretty string about the information in xmmsv dict.
|
int | xmmsv_utf8_validate (const char *str) |
| Check if a string is valid UTF-8.
|
xmmsv_t * | xmmsv_build_dict (const char *firstkey,...) |
xmmsv_t * | xmmsv_build_list (xmmsv_t *first_entry,...) |
xmmsv_t * | xmmsv_build_list_va (xmmsv_t *first_entry, va_list ap) |