XMMS2
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
include
xmmsc
xmmsv_list.h
Go to the documentation of this file.
1
/* XMMS2 - X Music Multiplexer System
2
* Copyright (C) 2003-2011 XMMS2 Team
3
*
4
* PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*/
16
17
18
#ifndef __XMMSV_LIST_H__
19
#define __XMMSV_LIST_H__
20
21
#include "
xmmsc/xmmsv_general.h
"
22
23
#ifdef __cplusplus
24
extern
"C"
{
25
#endif
26
27
/**
28
* @defgroup ListType Lists
29
* @ingroup ValueType
30
* @{
31
*/
32
33
xmmsv_t
*
xmmsv_new_list
(
void
);
34
35
int
xmmsv_list_get
(
xmmsv_t
*listv,
int
pos,
xmmsv_t
**val);
36
int
xmmsv_list_set
(
xmmsv_t
*listv,
int
pos,
xmmsv_t
*val);
37
int
xmmsv_list_append
(
xmmsv_t
*listv,
xmmsv_t
*val);
38
int
xmmsv_list_insert
(
xmmsv_t
*listv,
int
pos,
xmmsv_t
*val);
39
int
xmmsv_list_remove
(
xmmsv_t
*listv,
int
pos);
40
int
xmmsv_list_move
(
xmmsv_t
*listv,
int
old_pos,
int
new_pos);
41
int
xmmsv_list_clear
(
xmmsv_t
*listv);
42
int
xmmsv_list_get_size
(
xmmsv_t
*listv);
43
int
xmmsv_list_restrict_type
(
xmmsv_t
*listv,
xmmsv_type_t
type);
44
45
int
xmmsv_list_get_string
(
xmmsv_t
*v,
int
pos,
const
char
**val);
46
int
xmmsv_list_get_int
(
xmmsv_t
*v,
int
pos, int32_t *val);
47
int
xmmsv_list_get_coll
(
xmmsv_t
*v,
int
pos,
xmmsv_coll_t
**val);
48
49
int
xmmsv_list_set_string
(
xmmsv_t
*v,
int
pos,
const
char
*val);
50
int
xmmsv_list_set_int
(
xmmsv_t
*v,
int
pos, int32_t val);
51
int
xmmsv_list_set_coll
(
xmmsv_t
*v,
int
pos,
xmmsv_coll_t
*val);
52
53
int
xmmsv_list_insert_string
(
xmmsv_t
*v,
int
pos,
const
char
*val);
54
int
xmmsv_list_insert_int
(
xmmsv_t
*v,
int
pos, int32_t val);
55
int
xmmsv_list_insert_coll
(
xmmsv_t
*v,
int
pos,
xmmsv_coll_t
*val);
56
57
int
xmmsv_list_append_string
(
xmmsv_t
*v,
const
char
*val);
58
int
xmmsv_list_append_int
(
xmmsv_t
*v, int32_t val);
59
int
xmmsv_list_append_coll
(
xmmsv_t
*v,
xmmsv_coll_t
*val);
60
61
/**
62
* @defgroup ListIterType Iteration
63
* @{
64
*/
65
66
typedef
void (*
xmmsv_list_foreach_func
) (
xmmsv_t
*value,
void
*user_data);
67
int
xmmsv_list_foreach
(
xmmsv_t
*listv,
xmmsv_list_foreach_func
func,
void
* user_data);
68
69
typedef
struct
xmmsv_list_iter_St
xmmsv_list_iter_t
;
70
int
xmmsv_get_list_iter
(
const
xmmsv_t
*val,
xmmsv_list_iter_t
**it);
71
void
xmmsv_list_iter_explicit_destroy
(
xmmsv_list_iter_t
*it);
72
73
int
xmmsv_list_iter_entry
(
xmmsv_list_iter_t
*it,
xmmsv_t
**val);
74
int
xmmsv_list_iter_valid
(
xmmsv_list_iter_t
*it);
75
void
xmmsv_list_iter_first
(
xmmsv_list_iter_t
*it);
76
void
xmmsv_list_iter_last
(
xmmsv_list_iter_t
*it);
77
void
xmmsv_list_iter_next
(
xmmsv_list_iter_t
*it);
78
void
xmmsv_list_iter_prev
(
xmmsv_list_iter_t
*it);
79
int
xmmsv_list_iter_seek
(
xmmsv_list_iter_t
*it,
int
pos);
80
int
xmmsv_list_iter_tell
(
const
xmmsv_list_iter_t
*it);
81
xmmsv_t
*
xmmsv_list_iter_get_parent
(
const
xmmsv_list_iter_t
*it);
82
83
int
xmmsv_list_iter_insert
(
xmmsv_list_iter_t
*it,
xmmsv_t
*val);
84
int
xmmsv_list_iter_remove
(
xmmsv_list_iter_t
*it);
85
86
int
xmmsv_list_iter_entry_string
(
xmmsv_list_iter_t
*it,
const
char
**val);
87
int
xmmsv_list_iter_entry_int
(
xmmsv_list_iter_t
*it, int32_t *val);
88
int
xmmsv_list_iter_entry_coll
(
xmmsv_list_iter_t
*it,
xmmsv_coll_t
**val);
89
90
int
xmmsv_list_iter_insert_string
(
xmmsv_list_iter_t
*it,
const
char
*val);
91
int
xmmsv_list_iter_insert_int
(
xmmsv_list_iter_t
*it, int32_t val);
92
int
xmmsv_list_iter_insert_coll
(
xmmsv_list_iter_t
*it,
xmmsv_coll_t
*val);
93
/** @} */
94
95
/** @} */
96
97
#ifdef __cplusplus
98
}
99
#endif
100
101
#endif
Generated by
1.8.1.1