|
XMMS2
|
The API to be used to work with collection structures. More...
Functions | |
| xmmsv_t * | xmmsv_new_coll (xmmsv_coll_type_t type) |
| Allocates a new collection xmmsv_t of the given type. More... | |
| xmmsv_t * | xmmsv_coll_new (xmmsv_coll_type_t type) |
| xmmsv_t * | xmmsv_coll_ref (xmmsv_t *coll) |
| Increases the references for the xmmsv_t. More... | |
| void | xmmsv_coll_unref (xmmsv_t *coll) |
| Decreases the references for the xmmsv_t When the number of references reaches 0 it will be freed and all its operands unreferenced as well. More... | |
| void | _xmmsv_coll_free (xmmsv_coll_internal_t *coll) |
| Free the memory owned by the collection. More... | |
| void | xmmsv_coll_set_idlist (xmmsv_t *coll, int ids[]) |
| Set the list of ids in the given collection. More... | |
| void | xmmsv_coll_add_operand (xmmsv_t *coll, xmmsv_t *op) |
| Add the operand to the given collection. More... | |
| void | xmmsv_coll_remove_operand (xmmsv_t *coll, xmmsv_t *op) |
| Remove all the occurences of the operand in the given collection. More... | |
| int | xmmsv_coll_idlist_append (xmmsv_t *coll, int64_t id) |
| Append a value to the idlist. More... | |
| int | xmmsv_coll_idlist_insert (xmmsv_t *coll, int index, int64_t id) |
| Insert a value at a given position in the idlist. More... | |
| int | xmmsv_coll_idlist_move (xmmsv_t *coll, int index, int newindex) |
| Move a value of the idlist to a new position. More... | |
| int | xmmsv_coll_idlist_remove (xmmsv_t *coll, int index) |
| Remove the value at a given index from the idlist. More... | |
| int | xmmsv_coll_idlist_clear (xmmsv_t *coll) |
| Empties the idlist. More... | |
| int | xmmsv_coll_idlist_get_index_int32 (xmmsv_t *coll, int index, int32_t *val) |
| Retrieves the value at the given position in the idlist. More... | |
| int | xmmsv_coll_idlist_get_index_int64 (xmmsv_t *coll, int index, int64_t *val) |
| Retrieves the value at the given position in the idlist. More... | |
| int | xmmsv_coll_idlist_set_index (xmmsv_t *coll, int index, int64_t val) |
| Sets the value at the given position in the idlist. More... | |
| int | xmmsv_coll_idlist_get_size (xmmsv_t *coll) |
| Get the size of the idlist. More... | |
| int | xmmsv_coll_is_type (xmmsv_t *val, xmmsv_coll_type_t t) |
| Check if collection is of specified type. More... | |
| xmmsv_coll_type_t | xmmsv_coll_get_type (xmmsv_t *coll) |
| Return the type of the collection. More... | |
| xmmsv_t * | xmmsv_coll_idlist_get (xmmsv_t *coll) |
| Return the list of ids stored in the collection. More... | |
| void | xmmsv_coll_idlist_set (xmmsv_t *coll, xmmsv_t *idlist) |
| Replace the idlist in the given collection. More... | |
| xmmsv_t * | xmmsv_coll_operands_get (xmmsv_t *coll) |
| void | xmmsv_coll_operands_set (xmmsv_t *coll, xmmsv_t *operands) |
| Replace all operands in the given collection. More... | |
| xmmsv_t * | xmmsv_coll_attributes_get (xmmsv_t *coll) |
| void | xmmsv_coll_attributes_set (xmmsv_t *coll, xmmsv_t *attributes) |
| Replace all attributes in the given collection. More... | |
| void | xmmsv_coll_attribute_set (xmmsv_t *coll, const char *key, const char *value) |
| Set a string attribute in the given collection. More... | |
| void | xmmsv_coll_attribute_set_string (xmmsv_t *coll, const char *key, const char *value) |
| Set a string attribute in the given collection. More... | |
| void | xmmsv_coll_attribute_set_int (xmmsv_t *coll, const char *key, int64_t value) |
| Set an integer attribute in the given collection. More... | |
| void | xmmsv_coll_attribute_set_value (xmmsv_t *coll, const char *key, xmmsv_t *value) |
| Set an attribute in the given collection. More... | |
| int | xmmsv_coll_attribute_remove (xmmsv_t *coll, const char *key) |
| Remove an attribute from the given collection. More... | |
| int | xmmsv_coll_attribute_get (xmmsv_t *coll, const char *key, const char **value) |
| Retrieve a string attribute from the given collection. More... | |
| int | xmmsv_coll_attribute_get_string (xmmsv_t *coll, const char *key, const char **value) |
| Retrieve a string attribute from the given collection. More... | |
| int | xmmsv_coll_attribute_get_int32 (xmmsv_t *coll, const char *key, int32_t *val) |
| Retrieve an integer attribute from the given collection. More... | |
| int | xmmsv_coll_attribute_get_int64 (xmmsv_t *coll, const char *key, int64_t *value) |
| Retrieve an integer attribute from the given collection. More... | |
| int | xmmsv_coll_attribute_get_value (xmmsv_t *coll, const char *key, xmmsv_t **value) |
| Retrieve an attribute from the given collection. More... | |
| xmmsv_t * | xmmsv_coll_universe () |
| Return a collection referencing the whole media library. More... | |
| xmmsv_t * | xmmsv_coll_add_order_operator (xmmsv_t *coll, xmmsv_t *value) |
| Return a collection with an order-operator added. More... | |
| xmmsv_t * | xmmsv_coll_add_order_operators (xmmsv_t *coll, xmmsv_t *order) |
| Return a collection with several order-operators added. More... | |
| xmmsv_t * | xmmsv_coll_add_limit_operator (xmmsv_t *coll, int lim_start, int lim_len) |
| Returns a collection with a LIMIT operator added. More... | |
The API to be used to work with collection structures.
| void _xmmsv_coll_free | ( | xmmsv_coll_internal_t * | coll | ) |
Free the memory owned by the collection.
You probably want to use xmmsv_coll_unref instead, which handles reference counting.
| coll | the collection to free. |
Referenced by _xmmsv_new(), and xmmsv_new_coll().
Returns a collection with a LIMIT operator added.
| coll | The collection to add the limit operator to |
| lim_start | The index of the first element to include, or 0 to disable |
| lim_len | The length of the interval, or 0 to disable |
Referenced by xmms_collection_query_ids().
Add the operand to the given collection.
| coll | The collection to add the operand to. |
| op | The operand to add. |
Referenced by xmms_collection_init(), xmms_collection_restore(), xmmsv_coll_add_limit_operator(), and xmmsv_coll_add_order_operator().
Return a collection with an order-operator added.
| coll | the original collection |
| value | an ordering string, optionally starting with "-" (for descending ordering), followed by a string "id", "random" or a key identifying a property, such as "artist" or "album". Or it can be a dict containing the attributes to set. |
Referenced by xmmsv_coll_add_order_operators().
Return a collection with several order-operators added.
| coll | the original collection |
| order | list of ordering strings or dicts. |
| int xmmsv_coll_attribute_get | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| const char ** | value | ||
| ) |
Retrieve a string attribute from the given collection.
| coll | The collection to retrieve the attribute from. |
| key | The name of the attribute. |
| value | The value of the attribute if found (owned by the collection). |
| int xmmsv_coll_attribute_get_int32 | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| int32_t * | val | ||
| ) |
Retrieve an integer attribute from the given collection.
| coll | The collection to retrieve the attribute from. |
| key | The name of the attribute. |
| value | The value of the attribute if found (owned by the collection). |
| int xmmsv_coll_attribute_get_int64 | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| int64_t * | value | ||
| ) |
Retrieve an integer attribute from the given collection.
| coll | The collection to retrieve the attribute from. |
| key | The name of the attribute. |
| value | The value of the attribute if found (owned by the collection). |
| int xmmsv_coll_attribute_get_string | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| const char ** | value | ||
| ) |
Retrieve a string attribute from the given collection.
| coll | The collection to retrieve the attribute from. |
| key | The name of the attribute. |
| value | The value of the attribute if found (owned by the collection). |
Referenced by xmms_collection_get_int_attr(), xmms_collection_get_random_media(), xmms_collection_restore(), xmms_playlist_add_entry_unlocked(), xmms_playlist_init(), and xmmsv_coll_attribute_get().
Retrieve an attribute from the given collection.
| coll | The collection to retrieve the attribute from. |
| key | The name of the attribute. |
| value | The value of the attribute if found (owned by the collection). |
Referenced by xmms_collection_get_random_media().
| int xmmsv_coll_attribute_remove | ( | xmmsv_t * | coll, |
| const char * | key | ||
| ) |
Remove an attribute from the given collection.
The return value indicated whether the attribute was found (and removed)
| coll | The collection to remove the attribute from. |
| key | The name of the attribute to remove. |
| void xmmsv_coll_attribute_set | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| const char * | value | ||
| ) |
Set a string attribute in the given collection.
| coll | The collection in which to set the attribute. |
| key | The name of the attribute to set. |
| value | The value of the attribute. |
| void xmmsv_coll_attribute_set_int | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| int64_t | value | ||
| ) |
Set an integer attribute in the given collection.
| coll | The collection in which to set the attribute. |
| key | The name of the attribute to set. |
| value | The value of the attribute. |
| void xmmsv_coll_attribute_set_string | ( | xmmsv_t * | coll, |
| const char * | key, | ||
| const char * | value | ||
| ) |
Set a string attribute in the given collection.
| coll | The collection in which to set the attribute. |
| key | The name of the attribute to set. |
| value | The value of the attribute. |
Referenced by xmms_collection_init(), xmms_collection_query_ids(), xmms_collection_restore(), xmms_collection_set_int_attr(), xmmsv_coll_add_limit_operator(), and xmmsv_coll_attribute_set().
Set an attribute in the given collection.
| coll | The collection in which to set the attribute. |
| key | The name of the attribute to set. |
| value | The value of the attribute. |
Referenced by xmmsv_copy().
Replace all attributes in the given collection.
| coll | The collection in which to set the attribute. |
| attributes | The new attributes. |
Referenced by xmmsv_coll_add_order_operator(), and xmmsv_copy().
| xmmsv_coll_type_t xmmsv_coll_get_type | ( | xmmsv_t * | coll | ) |
Return the type of the collection.
| coll | The collection to consider. |
Referenced by xmms_collection_apply_to_collection(), xmms_collection_get_random_media(), xmms_collection_restore(), xmmsv_coll_is_type(), and xmmsv_copy().
| int xmmsv_coll_idlist_append | ( | xmmsv_t * | coll, |
| int64_t | id | ||
| ) |
Append a value to the idlist.
| coll | The collection to update. |
| id | The id to append to the idlist. |
Referenced by xmms_collection_init(), xmms_medialib_entry_cleanup(), and xmms_playlist_add_entry_unlocked().
| int xmmsv_coll_idlist_clear | ( | xmmsv_t * | coll | ) |
Empties the idlist.
| coll | The collection to update. |
Referenced by xmms_playlist_add_entry_unlocked().
Return the list of ids stored in the collection.
This function does not increase the refcount of the list, the reference is still owned by the collection.
Note that this must not be confused with the content of the collection, which must be queried using xmmsc_coll_query_ids!
| coll | The collection to consider. |
Referenced by xmms_playlist_add_entry_unlocked(), xmms_playlist_current_entry(), xmms_playlist_insert_entry(), and xmmsv_copy().
| int xmmsv_coll_idlist_get_index_int32 | ( | xmmsv_t * | coll, |
| int | index, | ||
| int32_t * | val | ||
| ) |
Retrieves the value at the given position in the idlist.
| coll | The collection to update. |
| index | The position of the value to retrieve. |
| val | The pointer at which to store the found value. |
| int xmmsv_coll_idlist_get_index_int64 | ( | xmmsv_t * | coll, |
| int | index, | ||
| int64_t * | val | ||
| ) |
Retrieves the value at the given position in the idlist.
| coll | The collection to update. |
| index | The position of the value to retrieve. |
| val | The pointer at which to store the found value. |
| int xmmsv_coll_idlist_get_size | ( | xmmsv_t * | coll | ) |
Get the size of the idlist.
| coll | The collection to update. |
Referenced by xmms_playlist_add_entry_unlocked().
| int xmmsv_coll_idlist_insert | ( | xmmsv_t * | coll, |
| int | index, | ||
| int64_t | id | ||
| ) |
Insert a value at a given position in the idlist.
| coll | The collection to update. |
| id | The id to insert in the idlist. |
| index | The position at which to insert the value. |
Referenced by xmms_playlist_insert_entry().
| int xmmsv_coll_idlist_move | ( | xmmsv_t * | coll, |
| int | index, | ||
| int | newindex | ||
| ) |
Move a value of the idlist to a new position.
| coll | The collection to update. |
| index | The index of the value to move. |
| newindex | The newindex to which to move the value. |
Referenced by xmms_playlist_add_entry_unlocked(), and xmms_playlist_current_entry().
| int xmmsv_coll_idlist_remove | ( | xmmsv_t * | coll, |
| int | index | ||
| ) |
Remove the value at a given index from the idlist.
| coll | The collection to update. |
| index | The index at which to remove the value. |
Referenced by xmms_playlist_current_entry().
Replace the idlist in the given collection.
| coll | The collection in which to set the idlist. |
| operands | The new idlist. |
Referenced by xmmsv_copy().
| int xmmsv_coll_idlist_set_index | ( | xmmsv_t * | coll, |
| int | index, | ||
| int64_t | val | ||
| ) |
Sets the value at the given position in the idlist.
| coll | The collection to update. |
| index | The position of the value to set. |
| val | The new value. |
| int xmmsv_coll_is_type | ( | xmmsv_t * | val, |
| xmmsv_coll_type_t | t | ||
| ) |
Check if collection is of specified type.
| val | xmmsv_t to check. |
| t | xmmsv_coll_type_t to check for. |
Referenced by xmms_collection_restore(), and xmms_collection_snapshot().
| xmmsv_t* xmmsv_coll_new | ( | xmmsv_coll_type_t | type | ) |
Replace all operands in the given collection.
| coll | The collection in which to set the operands. |
| operands | The new operands. |
Referenced by xmmsv_copy().
Increases the references for the xmmsv_t.
| coll | the collection to reference. |
Remove all the occurences of the operand in the given collection.
| coll | The collection to remove the operand from. |
| op | The operand to remove. |
Referenced by xmms_collection_init(), and xmms_collection_restore().
| void xmmsv_coll_set_idlist | ( | xmmsv_t * | coll, |
| int | ids[] | ||
| ) |
Set the list of ids in the given collection.
The list must be 0-terminated. Note that the idlist is only relevant for idlist collections.
| coll | the collection to modify. |
| ids | the 0-terminated list of ids to store in the collection. |
| xmmsv_t* xmmsv_coll_universe | ( | void | ) |
Return a collection referencing the whole media library.
The returned structure must be unref'd using xmmsv_coll_unref after usage.
| void xmmsv_coll_unref | ( | xmmsv_t * | coll | ) |
Decreases the references for the xmmsv_t When the number of references reaches 0 it will be freed and all its operands unreferenced as well.
| coll | the collection to unref. |
| xmmsv_t* xmmsv_new_coll | ( | xmmsv_coll_type_t | type | ) |
Allocates a new collection xmmsv_t of the given type.
| type | the xmmsv_coll_type_t specifying the type of collection to create. |
Referenced by xmms_collection_init(), xmms_collection_restore(), xmms_medialib_add_recursive(), xmmsv_coll_add_limit_operator(), xmmsv_coll_add_order_operator(), xmmsv_coll_new(), xmmsv_coll_universe(), and xmmsv_copy().
1.8.11