XMMS2
Easier building of lists and dictionaries

Macros

#define XMMSV_DICT_ENTRY(k, v)
 
#define XMMSV_DICT_ENTRY_STR(k, v)
 
#define XMMSV_DICT_ENTRY_INT(k, v)
 
#define XMMSV_DICT_ENTRY_FLOAT(k, v)
 
#define XMMSV_DICT_END   NULL
 
#define XMMSV_LIST_ENTRY(v)
 
#define XMMSV_LIST_ENTRY_STR(v)
 
#define XMMSV_LIST_ENTRY_INT(v)
 
#define XMMSV_LIST_ENTRY_FLOAT(v)
 
#define XMMSV_LIST_ENTRY_COLL(v)
 
#define XMMSV_LIST_END   NULL
 

Functions

xmmsv_txmmsv_make_stringlist (char *array[], int num)
 Helper function to build a list xmmsv_t containing the strings from the input array.
 
xmmsv_txmmsv_build_dict (const char *firstkey,...)
 
xmmsv_txmmsv_build_dict_va (const char *firstkey, va_list ap)
 
xmmsv_txmmsv_build_list (xmmsv_t *first_entry,...)
 
xmmsv_txmmsv_build_list_va (xmmsv_t *first_entry, va_list ap)
 
xmmsv_txmmsv_build_empty_organize (void)
 
xmmsv_txmmsv_build_organize (xmmsv_t *data)
 Creates an organize fetch specification that may be passed to xmmsc_coll_query.
 
xmmsv_txmmsv_build_metadata (xmmsv_t *keys, xmmsv_t *get, const char *aggregate, xmmsv_t *sourcepref)
 Creates a metadata fetch specification.
 
xmmsv_txmmsv_build_cluster_list (xmmsv_t *cluster_by, xmmsv_t *cluster_field, xmmsv_t *cluster_data)
 Creates a cluster-list fetch specification.
 
xmmsv_txmmsv_build_cluster_dict (xmmsv_t *cluster_by, xmmsv_t *cluster_field, xmmsv_t *cluster_data)
 Creates a cluster-dict fetch specification.
 
xmmsv_txmmsv_build_count (void)
 Creates a count fetch specification.
 

Detailed Description

Macro Definition Documentation

◆ XMMSV_DICT_END

◆ XMMSV_DICT_ENTRY

#define XMMSV_DICT_ENTRY ( k,
v )
Value:
__xmmsv_identity_const_charp (k), __xmmsv_identity_xmmsv (v)

Referenced by xmms_collection_query_ids(), xmms_medialib_query_random_id(), and xmmsv_c2c_message_format().

◆ XMMSV_DICT_ENTRY_FLOAT

#define XMMSV_DICT_ENTRY_FLOAT ( k,
v )

◆ XMMSV_DICT_ENTRY_INT

#define XMMSV_DICT_ENTRY_INT ( k,
v )

◆ XMMSV_DICT_ENTRY_STR

#define XMMSV_DICT_ENTRY_STR ( k,
v )

◆ XMMSV_LIST_END

#define XMMSV_LIST_END   NULL

◆ XMMSV_LIST_ENTRY

#define XMMSV_LIST_ENTRY ( v)
Value:
__xmmsv_identity_xmmsv (v)

◆ XMMSV_LIST_ENTRY_COLL

#define XMMSV_LIST_ENTRY_COLL ( v)
Value:
XMMSV_LIST_ENTRY (__xmmsv_null_to_none (xmmsv_new_coll (v)))

◆ XMMSV_LIST_ENTRY_FLOAT

#define XMMSV_LIST_ENTRY_FLOAT ( v)

◆ XMMSV_LIST_ENTRY_INT

#define XMMSV_LIST_ENTRY_INT ( v)

◆ XMMSV_LIST_ENTRY_STR

#define XMMSV_LIST_ENTRY_STR ( v)
Value:
XMMSV_LIST_ENTRY (__xmmsv_null_to_none (xmmsv_new_string (v)))

Referenced by xmms_collection_query_ids(), and xmms_medialib_query_random_id().

Function Documentation

◆ xmmsv_build_cluster_dict()

xmmsv_t * xmmsv_build_cluster_dict ( xmmsv_t * cluster_by,
xmmsv_t * cluster_field,
xmmsv_t * cluster_data )

Creates a cluster-dict fetch specification.

Parameters
cluster_byA list of attributes to cluster by
cluster_dataThe fetch specifcation to use when filling the list
Returns
A cluster-list fetch specification

Referenced by xmmsv_build_empty_organize().

◆ xmmsv_build_cluster_list()

xmmsv_t * xmmsv_build_cluster_list ( xmmsv_t * cluster_by,
xmmsv_t * cluster_field,
xmmsv_t * cluster_data )

Creates a cluster-list fetch specification.

Parameters
cluster_byA list of attributes to cluster by
cluster_dataThe fetch specifcation to use when filling the list
Returns
A cluster-list fetch specification

Referenced by xmmsv_build_empty_organize().

◆ xmmsv_build_count()

xmmsv_t * xmmsv_build_count ( void )

Creates a count fetch specification.

Returns
A new count fetch specification

Referenced by xmmsv_build_empty_organize().

◆ xmmsv_build_dict()

◆ xmmsv_build_dict_va()

xmmsv_t * xmmsv_build_dict_va ( const char * firstkey,
va_list ap )

Referenced by xmmsv_build_dict().

◆ xmmsv_build_empty_organize()

xmmsv_t * xmmsv_build_empty_organize ( void )

◆ xmmsv_build_list()

xmmsv_t * xmmsv_build_list ( xmmsv_t * first_entry,
... )

◆ xmmsv_build_list_va()

xmmsv_t * xmmsv_build_list_va ( xmmsv_t * first_entry,
va_list ap )

Referenced by xmmsv_build_list().

◆ xmmsv_build_metadata()

xmmsv_t * xmmsv_build_metadata ( xmmsv_t * fields,
xmmsv_t * get,
const char * aggregate,
xmmsv_t * sourcepref )

Creates a metadata fetch specification.

Parameters
fieldsA list of fields to fetch, or NULL to fetch everything
getA list of what to get ("id", "key", "value", "source")
aggregateThe aggregation function to use
sourceprefA list of sources, first one has the highest priority
Returns
A metadata fetch specification

Referenced by xmmsv_build_empty_organize().

◆ xmmsv_build_organize()

xmmsv_t * xmmsv_build_organize ( xmmsv_t * data)

Creates an organize fetch specification that may be passed to xmmsc_coll_query.

It takes a dict with key-value pairs where the values are fetch specifications.

Returns
An organize fetch specification

Referenced by xmmsv_build_empty_organize().

◆ xmmsv_make_stringlist()

xmmsv_t * xmmsv_make_stringlist ( char * array[],
int num )

Helper function to build a list xmmsv_t containing the strings from the input array.

Parameters
arrayAn array of C strings. Must be NULL-terminated if num is -1.
numThe optional number of elements to read from the array. Set to -1 if the array is NULL-terminated.
Returns
An xmmsv_t containing the list of strings. Must be unreffed manually when done.