BEAST/BSE
- Better Audio System and Sound Engine
0.9.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
bse
bsedatapocket.hh
Go to the documentation of this file.
1
// Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2
#ifndef __BSE_DATA_POCKET_H__
3
#define __BSE_DATA_POCKET_H__
4
5
#include <
bse/bsesuper.hh
>
6
7
G_BEGIN_DECLS
8
9
/* --- object type macros --- */
10
#define BSE_TYPE_DATA_POCKET (BSE_TYPE_ID (BseDataPocket))
11
#define BSE_DATA_POCKET(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_DATA_POCKET, BseDataPocket))
12
#define BSE_DATA_POCKET_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_DATA_POCKET, BseDataPocketClass))
13
#define BSE_IS_DATA_POCKET(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_DATA_POCKET))
14
#define BSE_IS_DATA_POCKET_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_DATA_POCKET))
15
#define BSE_DATA_POCKET_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_DATA_POCKET, BseDataPocketClass))
16
17
18
/* --- data types --- */
19
typedef
enum
/*< skip >*/
20
{
21
BSE_DATA_POCKET_INT =
'i'
,
22
BSE_DATA_POCKET_INT64 =
'q'
,
23
BSE_DATA_POCKET_FLOAT =
'f'
,
24
/* BSE_DATA_POCKET_DOUBLE = 'd', */
25
BSE_DATA_POCKET_STRING =
's'
,
26
BSE_DATA_POCKET_OBJECT =
'o'
27
} BseDataPocketType;
28
29
30
/* --- BseDataPocket structs --- */
31
struct
BseDataPocket
;
32
struct
BseDataPocketClass
;
33
union
BseDataPocketValue
{
34
guint64 v_int64;
35
guint v_int;
36
gfloat v_float;
37
gchar *v_string;
38
BseItem
*v_object;
39
};
40
struct
BseDataPocketEntry
{
41
guint id;
42
guint n_items;
43
struct
Item
{
44
GQuark quark;
45
gchar type;
46
BseDataPocketValue
value;
47
} *items;
48
};
49
struct
BseDataPocket
:
BseItem
{
50
guint need_store;
/* for BSE_ITEM_FLAG_AGGREGATE */
51
GSList *cr_items;
52
guint free_id;
53
guint n_entries;
54
BseDataPocketEntry
*entries;
55
};
56
struct
BseDataPocketClass
:
BseItemClass
{
57
void (*entry_added) (
BseDataPocket
*pocket,
58
guint entry_id);
59
void (*entry_removed) (
BseDataPocket
*pocket,
60
guint entry_id);
61
void (*entry_changed) (
BseDataPocket
*pocket,
62
guint entry_id);
63
};
64
65
/* --- prototypes --- */
66
guint _bse_data_pocket_create_entry (
BseDataPocket
*pocket);
67
gboolean _bse_data_pocket_delete_entry (
BseDataPocket
*pocket,
68
guint entry_id);
69
gboolean _bse_data_pocket_entry_set (
BseDataPocket
*pocket,
70
guint
id
,
71
GQuark data_quark,
72
gchar type,
73
BseDataPocketValue
value);
74
gchar _bse_data_pocket_entry_get (
BseDataPocket
*pocket,
75
guint
id
,
76
GQuark data_quark,
77
BseDataPocketValue
*value);
78
79
G_END_DECLS
80
81
#endif
/* __BSE_DATA_POCKET_H__ */
BseDataPocketClass
Definition:
bsedatapocket.hh:56
BseDataPocketValue
Definition:
bsedatapocket.hh:33
bsesuper.hh
BseDataPocket
Definition:
bsedatapocket.hh:49
BseDataPocketEntry
Definition:
bsedatapocket.hh:40
BseDataPocketEntry::Item
Definition:
bsedatapocket.hh:43
BseItemClass
Definition:
bseitem.hh:39
BseItem
Definition:
bseitem.hh:33
Generated on Tue Oct 28 2014 15:03:40 for BEAST/BSE - Better Audio System and Sound Engine by
1.8.6