~ubuntu-branches/ubuntu/precise/xmms2/precise

« back to all changes in this revision

Viewing changes to src/include/xmmsc/xmmsv_list.h

  • Committer: Package Import Robot
  • Author(s): Benjamin Drung
  • Date: 2011-10-22 23:53:00 UTC
  • mfrom: (38.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20111022235300-rv763w93k3sjwqg6
Tags: 0.8+dfsg-1
* New upstream release.
  - Drop code name DrO_o from Debian version, because an underscore is not
    allowed in a Debian version.
  - Order items alphabetically in xmms2 manual page (Closes: #620665).
* Drop backported patches and patches that are applied upstream.
* Refresh remaining four patches.
* Drop xmms2-client-vis, because its content is not meant for anything other
  than development reference.
* Drop xmms2-et package, because it used only in the test phase.
* Add new xmms2-plugin-sndfile package.
  - Add libsndfile1-dev as build dependency for it.
* libxmmsclient6.symbols: Add new and remove five symbols that were only
  internal symbols.
* Update watch file.
* Replace Florian Ragwitz as maintainer. Thanks for your work.
* Remove all inactive uploaders. Thanks to them for their previous work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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