1
<refentry id="camel-CamelObject">
3
<refentrytitle role="top_of_page" id="camel-CamelObject.top_of_page">CamelObject</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>CAMEL Library</refmiscinfo>
9
<refname>CamelObject</refname>
10
<refpurpose></refpurpose>
13
<refsynopsisdiv id="camel-CamelObject.synopsis" role="synopsis">
14
<title role="synopsis.title">Synopsis</title>
17
#define <link linkend="CAMEL-OBJECT-TRACK-INSTANCES--CAPS">CAMEL_OBJECT_TRACK_INSTANCES</link>
18
typedef <link linkend="CamelType">CamelType</link>;
19
<link linkend="CamelObject">CamelObject</link>;
20
#define <link linkend="CAMEL-CHECK-CAST--CAPS">CAMEL_CHECK_CAST</link> (obj, ctype, ptype)
21
#define <link linkend="CAMEL-CHECK-CLASS-CAST--CAPS">CAMEL_CHECK_CLASS_CAST</link> (klass, ctype, ptype)
22
#define <link linkend="CAMEL-CHECK-TYPE--CAPS">CAMEL_CHECK_TYPE</link> (obj, ctype)
23
#define <link linkend="CAMEL-CHECK-CLASS-TYPE--CAPS">CAMEL_CHECK_CLASS_TYPE</link> (klass, ctype)
24
extern CamelType <link linkend="camel-object-type">camel_object_type</link>;
25
#define <link linkend="CAMEL-OBJECT-TYPE--CAPS">CAMEL_OBJECT_TYPE</link>
26
#define <link linkend="CAMEL-OBJECT-GET-TYPE--CAPS">CAMEL_OBJECT_GET_TYPE</link> (o)
27
typedef <link linkend="CamelObjectHookID">CamelObjectHookID</link>;
28
<link linkend="CamelObjectMeta">CamelObjectMeta</link>;
29
extern CamelType <link linkend="camel-interface-type">camel_interface_type</link>;
30
#define <link linkend="CAMEL-INTERFACE-TYPE--CAPS">CAMEL_INTERFACE_TYPE</link>
31
<link linkend="CamelInterface">CamelInterface</link>;
32
<link linkend="void">void</link> (<link linkend="CamelObjectClassInitFunc">*CamelObjectClassInitFunc</link>) (<link linkend="CamelObjectClass">CamelObjectClass</link> *);
33
<link linkend="void">void</link> (<link linkend="CamelObjectClassFinalizeFunc">*CamelObjectClassFinalizeFunc</link>) (<link linkend="CamelObjectClass">CamelObjectClass</link> *);
34
<link linkend="void">void</link> (<link linkend="CamelObjectInitFunc">*CamelObjectInitFunc</link>) (<link linkend="CamelObject">CamelObject</link> *,
35
<link linkend="CamelObjectClass">CamelObjectClass</link> *);
36
<link linkend="void">void</link> (<link linkend="CamelObjectFinalizeFunc">*CamelObjectFinalizeFunc</link>) (<link linkend="CamelObject">CamelObject</link> *);
37
<link linkend="gboolean">gboolean</link> (<link linkend="CamelObjectEventPrepFunc">*CamelObjectEventPrepFunc</link>) (<link linkend="CamelObject">CamelObject</link> *,
38
<link linkend="gpointer">gpointer</link> );
39
<link linkend="void">void</link> (<link linkend="CamelObjectEventHookFunc">*CamelObjectEventHookFunc</link>) (<link linkend="CamelObject">CamelObject</link> *,
40
<link linkend="gpointer">gpointer</link> ,
41
<link linkend="gpointer">gpointer</link> );
42
#define <link linkend="CAMEL-INVALID-TYPE--CAPS">CAMEL_INVALID_TYPE</link>
43
enum <link linkend="CamelObjectFlags">CamelObjectFlags</link>;
44
<link linkend="void">void</link> <link linkend="camel-type-init">camel_type_init</link> (void);
45
<link linkend="CamelType">CamelType</link> <link linkend="camel-type-register">camel_type_register</link> (<link linkend="CamelType">CamelType</link> parent,
46
const <link linkend="gchar">gchar</link> *name,
47
<link linkend="gsize">gsize</link> instance_size,
48
<link linkend="gsize">gsize</link> classfuncs_size,
49
<link linkend="CamelObjectClassInitFunc">CamelObjectClassInitFunc</link> class_init,
50
<link linkend="CamelObjectClassFinalizeFunc">CamelObjectClassFinalizeFunc</link> class_finalize,
51
<link linkend="CamelObjectInitFunc">CamelObjectInitFunc</link> instance_init,
52
<link linkend="CamelObjectFinalizeFunc">CamelObjectFinalizeFunc</link> instance_finalize);
53
<link linkend="CamelType">CamelType</link> <link linkend="camel-interface-register">camel_interface_register</link> (<link linkend="CamelType">CamelType</link> parent,
54
const <link linkend="gchar">gchar</link> *name,
55
<link linkend="gsize">gsize</link> classfuncs_size,
56
<link linkend="CamelObjectClassInitFunc">CamelObjectClassInitFunc</link> class_init,
57
<link linkend="CamelObjectClassFinalizeFunc">CamelObjectClassFinalizeFunc</link> class_finalize);
58
#define <link linkend="camel-type-get-global-classfuncs">camel_type_get_global_classfuncs</link> (x)
59
const <link linkend="gchar">gchar</link> * <link linkend="camel-type-to-name">camel_type_to_name</link> (<link linkend="CamelType">CamelType</link> type);
60
<link linkend="CamelType">CamelType</link> <link linkend="camel-name-to-type">camel_name_to_type</link> (const <link linkend="gchar">gchar</link> *name);
61
<link linkend="void">void</link> <link linkend="camel-object-class-add-event">camel_object_class_add_event</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
62
const <link linkend="gchar">gchar</link> *name,
63
<link linkend="CamelObjectEventPrepFunc">CamelObjectEventPrepFunc</link> prep);
64
<link linkend="void">void</link> <link linkend="camel-object-class-add-interface">camel_object_class_add_interface</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
65
<link linkend="CamelType">CamelType</link> itype);
66
<link linkend="void">void</link> <link linkend="camel-object-class-dump-tree">camel_object_class_dump_tree</link> (<link linkend="CamelType">CamelType</link> root);
67
<link linkend="CamelObject">CamelObject</link> * <link linkend="camel-object-cast">camel_object_cast</link> (<link linkend="CamelObject">CamelObject</link> *obj,
68
<link linkend="CamelType">CamelType</link> ctype);
69
<link linkend="gboolean">gboolean</link> <link linkend="camel-object-is">camel_object_is</link> (<link linkend="CamelObject">CamelObject</link> *obj,
70
<link linkend="CamelType">CamelType</link> ctype);
71
<link linkend="CamelObjectClass">CamelObjectClass</link> * <link linkend="camel-object-class-cast">camel_object_class_cast</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
72
<link linkend="CamelType">CamelType</link> ctype);
73
<link linkend="gboolean">gboolean</link> <link linkend="camel-object-class-is">camel_object_class_is</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
74
<link linkend="CamelType">CamelType</link> ctype);
75
<link linkend="CamelObjectClass">CamelObjectClass</link> * <link linkend="camel-interface-cast">camel_interface_cast</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
76
<link linkend="CamelType">CamelType</link> ctype);
77
<link linkend="gboolean">gboolean</link> <link linkend="camel-interface-is">camel_interface_is</link> (<link linkend="CamelObjectClass">CamelObjectClass</link> *k,
78
<link linkend="CamelType">CamelType</link> ctype);
79
<link linkend="CamelObject">CamelObject</link> * <link linkend="camel-object-new">camel_object_new</link> (<link linkend="CamelType">CamelType</link> type);
80
<link linkend="void">void</link> <link linkend="camel-object-ref">camel_object_ref</link> (<link linkend="gpointer">gpointer</link> );
81
<link linkend="void">void</link> <link linkend="camel-object-unref">camel_object_unref</link> (<link linkend="gpointer">gpointer</link> );
82
<link linkend="CamelObjectHookID">CamelObjectHookID</link> <link linkend="camel-object-hook-event">camel_object_hook_event</link> (<link linkend="gpointer">gpointer</link> obj,
83
const <link linkend="gchar">gchar</link> *name,
84
<link linkend="CamelObjectEventHookFunc">CamelObjectEventHookFunc</link> hook,
85
<link linkend="gpointer">gpointer</link> data);
86
<link linkend="void">void</link> <link linkend="camel-object-remove-event">camel_object_remove_event</link> (<link linkend="gpointer">gpointer</link> obj,
87
<link linkend="CamelObjectHookID">CamelObjectHookID</link> id);
88
<link linkend="void">void</link> <link linkend="camel-object-unhook-event">camel_object_unhook_event</link> (<link linkend="gpointer">gpointer</link> obj,
89
const <link linkend="gchar">gchar</link> *name,
90
<link linkend="CamelObjectEventHookFunc">CamelObjectEventHookFunc</link> hook,
91
<link linkend="gpointer">gpointer</link> data);
92
<link linkend="void">void</link> <link linkend="camel-object-trigger-event">camel_object_trigger_event</link> (<link linkend="gpointer">gpointer</link> obj,
93
const <link linkend="gchar">gchar</link> *name,
94
<link linkend="gpointer">gpointer</link> event_data);
95
<link linkend="gpointer">gpointer</link> <link linkend="camel-object-get-interface">camel_object_get_interface</link> (<link linkend="gpointer">gpointer</link> vo,
96
<link linkend="CamelType">CamelType</link> itype);
97
<link linkend="gint">gint</link> <link linkend="camel-object-set">camel_object_set</link> (<link linkend="gpointer">gpointer</link> obj,
98
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
100
<link linkend="gint">gint</link> <link linkend="camel-object-setv">camel_object_setv</link> (<link linkend="gpointer">gpointer</link> obj,
101
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
102
<link linkend="CamelArgV">CamelArgV</link> *);
103
<link linkend="gint">gint</link> <link linkend="camel-object-get">camel_object_get</link> (<link linkend="gpointer">gpointer</link> obj,
104
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
106
<link linkend="gint">gint</link> <link linkend="camel-object-getv">camel_object_getv</link> (<link linkend="gpointer">gpointer</link> obj,
107
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
108
<link linkend="CamelArgGetV">CamelArgGetV</link> *);
109
<link linkend="gpointer">gpointer</link> <link linkend="camel-object-get-ptr">camel_object_get_ptr</link> (<link linkend="gpointer">gpointer</link> vo,
110
<link linkend="CamelException">CamelException</link> *ex,
111
<link linkend="gint">gint</link> tag);
112
<link linkend="gint">gint</link> <link linkend="camel-object-get-int">camel_object_get_int</link> (<link linkend="gpointer">gpointer</link> vo,
113
<link linkend="CamelException">CamelException</link> *ex,
114
<link linkend="gint">gint</link> tag);
115
<link linkend="gchar">gchar</link> * <link linkend="camel-object-meta-get">camel_object_meta_get</link> (<link linkend="gpointer">gpointer</link> vo,
116
const <link linkend="gchar">gchar</link> *name);
117
<link linkend="gboolean">gboolean</link> <link linkend="camel-object-meta-set">camel_object_meta_set</link> (<link linkend="gpointer">gpointer</link> vo,
118
const <link linkend="gchar">gchar</link> *name,
119
const <link linkend="gchar">gchar</link> *value);
120
<link linkend="gint">gint</link> <link linkend="camel-object-state-read">camel_object_state_read</link> (<link linkend="gpointer">gpointer</link> vo);
121
<link linkend="gint">gint</link> <link linkend="camel-object-state-write">camel_object_state_write</link> (<link linkend="gpointer">gpointer</link> vo);
122
<link linkend="void">void</link> <link linkend="camel-object-free">camel_object_free</link> (<link linkend="gpointer">gpointer</link> vo,
123
<link linkend="guint32">guint32</link> tag,
124
<link linkend="gpointer">gpointer</link> value);
125
<link linkend="CamelObjectBag">CamelObjectBag</link>;
126
<link linkend="gpointer">gpointer</link> (<link linkend="CamelCopyFunc">*CamelCopyFunc</link>) (<link linkend="gconstpointer">gconstpointer</link> vo);
127
<link linkend="CamelObjectBag">CamelObjectBag</link> * <link linkend="camel-object-bag-new">camel_object_bag_new</link> (<link linkend="GHashFunc">GHashFunc</link> hash,
128
<link linkend="GEqualFunc">GEqualFunc</link> equal,
129
<link linkend="CamelCopyFunc">CamelCopyFunc</link> keycopy,
130
<link linkend="GFreeFunc">GFreeFunc</link> keyfree);
131
<link linkend="gpointer">gpointer</link> <link linkend="camel-object-bag-get">camel_object_bag_get</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
132
<link linkend="gconstpointer">gconstpointer</link> key);
133
<link linkend="gpointer">gpointer</link> <link linkend="camel-object-bag-peek">camel_object_bag_peek</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
134
<link linkend="gconstpointer">gconstpointer</link> key);
135
<link linkend="gpointer">gpointer</link> <link linkend="camel-object-bag-reserve">camel_object_bag_reserve</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
136
<link linkend="gconstpointer">gconstpointer</link> key);
137
<link linkend="void">void</link> <link linkend="camel-object-bag-add">camel_object_bag_add</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
138
<link linkend="gconstpointer">gconstpointer</link> key,
139
<link linkend="gpointer">gpointer</link> vo);
140
<link linkend="void">void</link> <link linkend="camel-object-bag-abort">camel_object_bag_abort</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
141
<link linkend="gconstpointer">gconstpointer</link> key);
142
<link linkend="void">void</link> <link linkend="camel-object-bag-rekey">camel_object_bag_rekey</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
143
<link linkend="gpointer">gpointer</link> o,
144
<link linkend="gconstpointer">gconstpointer</link> newkey);
145
<link linkend="GPtrArray">GPtrArray</link> * <link linkend="camel-object-bag-list">camel_object_bag_list</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag);
146
<link linkend="void">void</link> <link linkend="camel-object-bag-remove">camel_object_bag_remove</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
147
<link linkend="gpointer">gpointer</link> o);
148
<link linkend="void">void</link> <link linkend="camel-object-bag-destroy">camel_object_bag_destroy</link> (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag);
149
#define <link linkend="CAMEL-MAKE-CLASS--CAPS">CAMEL_MAKE_CLASS</link> (type, tname, parent, pname)
150
<link linkend="CamelIteratorVTable">CamelIteratorVTable</link>;
151
<link linkend="CamelIterator">CamelIterator</link>;
152
<link linkend="gpointer">gpointer</link> <link linkend="camel-iterator-new">camel_iterator_new</link> (<link linkend="CamelIteratorVTable">CamelIteratorVTable</link> *klass,
153
<link linkend="gsize">gsize</link> size);
154
<link linkend="void">void</link> <link linkend="camel-iterator-free">camel_iterator_free</link> (<link linkend="gpointer">gpointer</link> it);
155
<link linkend="gconstpointer">gconstpointer</link> <link linkend="camel-iterator-next">camel_iterator_next</link> (<link linkend="gpointer">gpointer</link> it,
156
<link linkend="CamelException">CamelException</link> *ex);
157
<link linkend="void">void</link> <link linkend="camel-iterator-reset">camel_iterator_reset</link> (<link linkend="gpointer">gpointer</link> it);
158
<link linkend="gint">gint</link> <link linkend="camel-iterator-length">camel_iterator_length</link> (<link linkend="gpointer">gpointer</link> it);
170
<refsect1 id="camel-CamelObject.description" role="desc">
171
<title role="desc.title">Description</title>
176
<refsect1 id="camel-CamelObject.details" role="details">
177
<title role="details.title">Details</title>
178
<refsect2 id="CAMEL-OBJECT-TRACK-INSTANCES--CAPS" role="macro">
179
<title>CAMEL_OBJECT_TRACK_INSTANCES</title>
180
<indexterm zone="CAMEL-OBJECT-TRACK-INSTANCES--CAPS"><primary sortas="CAMEL_OBJECT_TRACK_INSTANCES">CAMEL_OBJECT_TRACK_INSTANCES</primary></indexterm><programlisting>#define CAMEL_OBJECT_TRACK_INSTANCES
184
<refsect2 id="CamelType" role="typedef">
185
<title>CamelType</title>
186
<indexterm zone="CamelType"><primary sortas="CamelType">CamelType</primary></indexterm><programlisting>typedef struct _CamelObjectClass *CamelType;
190
<refsect2 id="CamelObject" role="struct">
191
<title>CamelObject</title>
192
<indexterm zone="CamelObject"><primary sortas="CamelObject">CamelObject</primary></indexterm><programlisting>typedef struct {
193
struct _CamelObjectClass *klass;
195
guint32 magic; /* only really needed for debugging ... */
197
/* current hooks on this object */
198
struct _CamelHookList *hooks;
200
guint32 ref_count:24;
203
#ifdef CAMEL_OBJECT_TRACK_INSTANCES
204
struct _CamelObject *next, *prev;
210
<refsect2 id="CAMEL-CHECK-CAST--CAPS" role="macro">
211
<title>CAMEL_CHECK_CAST()</title>
212
<indexterm zone="CAMEL-CHECK-CAST--CAPS"><primary sortas="CAMEL_CHECK_CAST">CAMEL_CHECK_CAST</primary></indexterm><programlisting>#define CAMEL_CHECK_CAST(obj, ctype, ptype)</programlisting>
214
</para><variablelist role="params">
215
<varlistentry><term><parameter>obj</parameter> :</term>
217
</simpara></listitem></varlistentry>
218
<varlistentry><term><parameter>ctype</parameter> :</term>
220
</simpara></listitem></varlistentry>
221
<varlistentry><term><parameter>ptype</parameter> :</term>
223
</simpara></listitem></varlistentry>
224
</variablelist></refsect2>
225
<refsect2 id="CAMEL-CHECK-CLASS-CAST--CAPS" role="macro">
226
<title>CAMEL_CHECK_CLASS_CAST()</title>
227
<indexterm zone="CAMEL-CHECK-CLASS-CAST--CAPS"><primary sortas="CAMEL_CHECK_CLASS_CAST">CAMEL_CHECK_CLASS_CAST</primary></indexterm><programlisting>#define CAMEL_CHECK_CLASS_CAST(klass, ctype, ptype)</programlisting>
229
</para><variablelist role="params">
230
<varlistentry><term><parameter>klass</parameter> :</term>
232
</simpara></listitem></varlistentry>
233
<varlistentry><term><parameter>ctype</parameter> :</term>
235
</simpara></listitem></varlistentry>
236
<varlistentry><term><parameter>ptype</parameter> :</term>
238
</simpara></listitem></varlistentry>
239
</variablelist></refsect2>
240
<refsect2 id="CAMEL-CHECK-TYPE--CAPS" role="macro">
241
<title>CAMEL_CHECK_TYPE()</title>
242
<indexterm zone="CAMEL-CHECK-TYPE--CAPS"><primary sortas="CAMEL_CHECK_TYPE">CAMEL_CHECK_TYPE</primary></indexterm><programlisting>#define CAMEL_CHECK_TYPE(obj, ctype) (camel_object_is ((CamelObject *)(obj), (CamelType)(ctype) ))
245
</para><variablelist role="params">
246
<varlistentry><term><parameter>obj</parameter> :</term>
248
</simpara></listitem></varlistentry>
249
<varlistentry><term><parameter>ctype</parameter> :</term>
251
</simpara></listitem></varlistentry>
252
</variablelist></refsect2>
253
<refsect2 id="CAMEL-CHECK-CLASS-TYPE--CAPS" role="macro">
254
<title>CAMEL_CHECK_CLASS_TYPE()</title>
255
<indexterm zone="CAMEL-CHECK-CLASS-TYPE--CAPS"><primary sortas="CAMEL_CHECK_CLASS_TYPE">CAMEL_CHECK_CLASS_TYPE</primary></indexterm><programlisting>#define CAMEL_CHECK_CLASS_TYPE(klass, ctype) (camel_object_class_is ((CamelObjectClass *)(klass), (CamelType)(ctype)))
258
</para><variablelist role="params">
259
<varlistentry><term><parameter>klass</parameter> :</term>
261
</simpara></listitem></varlistentry>
262
<varlistentry><term><parameter>ctype</parameter> :</term>
264
</simpara></listitem></varlistentry>
265
</variablelist></refsect2>
266
<refsect2 id="camel-object-type" role="variable">
267
<title>camel_object_type</title>
268
<indexterm zone="camel-object-type"><primary sortas="camel_object_type">camel_object_type</primary></indexterm><programlisting>extern CamelType camel_object_type;
272
<refsect2 id="CAMEL-OBJECT-TYPE--CAPS" role="macro">
273
<title>CAMEL_OBJECT_TYPE</title>
274
<indexterm zone="CAMEL-OBJECT-TYPE--CAPS"><primary sortas="CAMEL_OBJECT_TYPE">CAMEL_OBJECT_TYPE</primary></indexterm><programlisting>#define CAMEL_OBJECT_TYPE (camel_object_type)
278
<refsect2 id="CAMEL-OBJECT-GET-TYPE--CAPS" role="macro">
279
<title>CAMEL_OBJECT_GET_TYPE()</title>
280
<indexterm zone="CAMEL-OBJECT-GET-TYPE--CAPS"><primary sortas="CAMEL_OBJECT_GET_TYPE">CAMEL_OBJECT_GET_TYPE</primary></indexterm><programlisting>#define CAMEL_OBJECT_GET_TYPE(o) ((CamelType)(CAMEL_OBJECT(o))->klass)
283
</para><variablelist role="params">
284
<varlistentry><term><parameter>o</parameter> :</term>
286
</simpara></listitem></varlistentry>
287
</variablelist></refsect2>
288
<refsect2 id="CamelObjectHookID" role="typedef">
289
<title>CamelObjectHookID</title>
290
<indexterm zone="CamelObjectHookID"><primary sortas="CamelObjectHookID">CamelObjectHookID</primary></indexterm><programlisting>typedef guint CamelObjectHookID;
294
<refsect2 id="CamelObjectMeta" role="struct" condition="deprecated:">
295
<title>CamelObjectMeta</title>
296
<indexterm zone="CamelObjectMeta" role="deprecated"><primary sortas="CamelObjectMeta">CamelObjectMeta</primary></indexterm><programlisting>typedef struct {
297
struct _CamelObjectMeta *next;
300
gchar name[1]; /* allocated as part of structure */
303
<warning><para><literal>CamelObjectMeta</literal> is deprecated and should not be used in newly-written code.</para></warning>
306
<refsect2 id="camel-interface-type" role="variable" condition="deprecated:">
307
<title>camel_interface_type</title>
308
<indexterm zone="camel-interface-type" role="deprecated"><primary sortas="camel_interface_type">camel_interface_type</primary></indexterm><programlisting>extern CamelType camel_interface_type;
310
<warning><para><literal>camel_interface_type</literal> is deprecated and should not be used in newly-written code.</para></warning>
313
<refsect2 id="CAMEL-INTERFACE-TYPE--CAPS" role="macro" condition="deprecated:">
314
<title>CAMEL_INTERFACE_TYPE</title>
315
<indexterm zone="CAMEL-INTERFACE-TYPE--CAPS" role="deprecated"><primary sortas="CAMEL_INTERFACE_TYPE">CAMEL_INTERFACE_TYPE</primary></indexterm><programlisting>#define CAMEL_INTERFACE_TYPE (camel_interface_type)
317
<warning><para><literal>CAMEL_INTERFACE_TYPE</literal> is deprecated and should not be used in newly-written code.</para></warning>
320
<refsect2 id="CamelInterface" role="struct" condition="deprecated:">
321
<title>CamelInterface</title>
322
<indexterm zone="CamelInterface" role="deprecated"><primary sortas="CamelInterface">CamelInterface</primary></indexterm><programlisting>typedef struct {
323
struct _CamelObjectClass type;
326
<warning><para><literal>CamelInterface</literal> is deprecated and should not be used in newly-written code.</para></warning>
329
<refsect2 id="CamelObjectClassInitFunc" role="function">
330
<title>CamelObjectClassInitFunc ()</title>
331
<indexterm zone="CamelObjectClassInitFunc"><primary sortas="CamelObjectClassInitFunc">CamelObjectClassInitFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelObjectClassInitFunc) (<link linkend="CamelObjectClass">CamelObjectClass</link> *);</programlisting>
333
</para><variablelist role="params">
334
<varlistentry><term><parameter>Param1</parameter> :</term>
336
</simpara></listitem></varlistentry>
337
</variablelist></refsect2>
338
<refsect2 id="CamelObjectClassFinalizeFunc" role="function">
339
<title>CamelObjectClassFinalizeFunc ()</title>
340
<indexterm zone="CamelObjectClassFinalizeFunc"><primary sortas="CamelObjectClassFinalizeFunc">CamelObjectClassFinalizeFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelObjectClassFinalizeFunc) (<link linkend="CamelObjectClass">CamelObjectClass</link> *);</programlisting>
342
</para><variablelist role="params">
343
<varlistentry><term><parameter>Param1</parameter> :</term>
345
</simpara></listitem></varlistentry>
346
</variablelist></refsect2>
347
<refsect2 id="CamelObjectInitFunc" role="function">
348
<title>CamelObjectInitFunc ()</title>
349
<indexterm zone="CamelObjectInitFunc"><primary sortas="CamelObjectInitFunc">CamelObjectInitFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelObjectInitFunc) (<link linkend="CamelObject">CamelObject</link> *,
350
<link linkend="CamelObjectClass">CamelObjectClass</link> *);</programlisting>
352
</para><variablelist role="params">
353
<varlistentry><term><parameter>Param1</parameter> :</term>
355
</simpara></listitem></varlistentry>
356
<varlistentry><term><parameter>Param2</parameter> :</term>
358
</simpara></listitem></varlistentry>
359
</variablelist></refsect2>
360
<refsect2 id="CamelObjectFinalizeFunc" role="function">
361
<title>CamelObjectFinalizeFunc ()</title>
362
<indexterm zone="CamelObjectFinalizeFunc"><primary sortas="CamelObjectFinalizeFunc">CamelObjectFinalizeFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelObjectFinalizeFunc) (<link linkend="CamelObject">CamelObject</link> *);</programlisting>
364
</para><variablelist role="params">
365
<varlistentry><term><parameter>Param1</parameter> :</term>
367
</simpara></listitem></varlistentry>
368
</variablelist></refsect2>
369
<refsect2 id="CamelObjectEventPrepFunc" role="function">
370
<title>CamelObjectEventPrepFunc ()</title>
371
<indexterm zone="CamelObjectEventPrepFunc"><primary sortas="CamelObjectEventPrepFunc">CamelObjectEventPrepFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*CamelObjectEventPrepFunc) (<link linkend="CamelObject">CamelObject</link> *,
372
<link linkend="gpointer">gpointer</link> );</programlisting>
374
</para><variablelist role="params">
375
<varlistentry><term><parameter>Param1</parameter> :</term>
377
</simpara></listitem></varlistentry>
378
<varlistentry><term><parameter>Param2</parameter> :</term>
380
</simpara></listitem></varlistentry>
381
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
382
</simpara></listitem></varlistentry>
383
</variablelist></refsect2>
384
<refsect2 id="CamelObjectEventHookFunc" role="function">
385
<title>CamelObjectEventHookFunc ()</title>
386
<indexterm zone="CamelObjectEventHookFunc"><primary sortas="CamelObjectEventHookFunc">CamelObjectEventHookFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*CamelObjectEventHookFunc) (<link linkend="CamelObject">CamelObject</link> *,
387
<link linkend="gpointer">gpointer</link> ,
388
<link linkend="gpointer">gpointer</link> );</programlisting>
390
</para><variablelist role="params">
391
<varlistentry><term><parameter>Param1</parameter> :</term>
393
</simpara></listitem></varlistentry>
394
<varlistentry><term><parameter>Param2</parameter> :</term>
396
</simpara></listitem></varlistentry>
397
<varlistentry><term><parameter>Param3</parameter> :</term>
399
</simpara></listitem></varlistentry>
400
</variablelist></refsect2>
401
<refsect2 id="CAMEL-INVALID-TYPE--CAPS" role="macro">
402
<title>CAMEL_INVALID_TYPE</title>
403
<indexterm zone="CAMEL-INVALID-TYPE--CAPS"><primary sortas="CAMEL_INVALID_TYPE">CAMEL_INVALID_TYPE</primary></indexterm><programlisting>#define CAMEL_INVALID_TYPE (NULL)
407
<refsect2 id="CamelObjectFlags" role="enum">
408
<title>enum CamelObjectFlags</title>
409
<indexterm zone="CamelObjectFlags"><primary sortas="CamelObjectFlags">CamelObjectFlags</primary></indexterm><programlisting>typedef enum _CamelObjectFlags {
410
CAMEL_OBJECT_DESTROY = (1<<0)
415
<refsect2 id="camel-type-init" role="function">
416
<title>camel_type_init ()</title>
417
<indexterm zone="camel-type-init"><primary sortas="camel_type_init">camel_type_init</primary></indexterm><programlisting><link linkend="void">void</link> camel_type_init (void);</programlisting>
420
<refsect2 id="camel-type-register" role="function">
421
<title>camel_type_register ()</title>
422
<indexterm zone="camel-type-register"><primary sortas="camel_type_register">camel_type_register</primary></indexterm><programlisting><link linkend="CamelType">CamelType</link> camel_type_register (<link linkend="CamelType">CamelType</link> parent,
423
const <link linkend="gchar">gchar</link> *name,
424
<link linkend="gsize">gsize</link> instance_size,
425
<link linkend="gsize">gsize</link> classfuncs_size,
426
<link linkend="CamelObjectClassInitFunc">CamelObjectClassInitFunc</link> class_init,
427
<link linkend="CamelObjectClassFinalizeFunc">CamelObjectClassFinalizeFunc</link> class_finalize,
428
<link linkend="CamelObjectInitFunc">CamelObjectInitFunc</link> instance_init,
429
<link linkend="CamelObjectFinalizeFunc">CamelObjectFinalizeFunc</link> instance_finalize);</programlisting>
431
</para><variablelist role="params">
432
<varlistentry><term><parameter>parent</parameter> :</term>
434
</simpara></listitem></varlistentry>
435
<varlistentry><term><parameter>name</parameter> :</term>
437
</simpara></listitem></varlistentry>
438
<varlistentry><term><parameter>instance_size</parameter> :</term>
440
</simpara></listitem></varlistentry>
441
<varlistentry><term><parameter>classfuncs_size</parameter> :</term>
443
</simpara></listitem></varlistentry>
444
<varlistentry><term><parameter>class_init</parameter> :</term>
446
</simpara></listitem></varlistentry>
447
<varlistentry><term><parameter>class_finalize</parameter> :</term>
449
</simpara></listitem></varlistentry>
450
<varlistentry><term><parameter>instance_init</parameter> :</term>
452
</simpara></listitem></varlistentry>
453
<varlistentry><term><parameter>instance_finalize</parameter> :</term>
455
</simpara></listitem></varlistentry>
456
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
457
</simpara></listitem></varlistentry>
458
</variablelist></refsect2>
459
<refsect2 id="camel-interface-register" role="function" condition="deprecated:">
460
<title>camel_interface_register ()</title>
461
<indexterm zone="camel-interface-register" role="deprecated"><primary sortas="camel_interface_register">camel_interface_register</primary></indexterm><programlisting><link linkend="CamelType">CamelType</link> camel_interface_register (<link linkend="CamelType">CamelType</link> parent,
462
const <link linkend="gchar">gchar</link> *name,
463
<link linkend="gsize">gsize</link> classfuncs_size,
464
<link linkend="CamelObjectClassInitFunc">CamelObjectClassInitFunc</link> class_init,
465
<link linkend="CamelObjectClassFinalizeFunc">CamelObjectClassFinalizeFunc</link> class_finalize);</programlisting>
466
<warning><para><literal>camel_interface_register</literal> is deprecated and should not be used in newly-written code.</para></warning>
468
</para><variablelist role="params">
469
<varlistentry><term><parameter>parent</parameter> :</term>
471
</simpara></listitem></varlistentry>
472
<varlistentry><term><parameter>name</parameter> :</term>
474
</simpara></listitem></varlistentry>
475
<varlistentry><term><parameter>classfuncs_size</parameter> :</term>
477
</simpara></listitem></varlistentry>
478
<varlistentry><term><parameter>class_init</parameter> :</term>
480
</simpara></listitem></varlistentry>
481
<varlistentry><term><parameter>class_finalize</parameter> :</term>
483
</simpara></listitem></varlistentry>
484
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
485
</simpara></listitem></varlistentry>
486
</variablelist></refsect2>
487
<refsect2 id="camel-type-get-global-classfuncs" role="macro">
488
<title>camel_type_get_global_classfuncs()</title>
489
<indexterm zone="camel-type-get-global-classfuncs"><primary sortas="camel_type_get_global_classfuncs">camel_type_get_global_classfuncs</primary></indexterm><programlisting>#define camel_type_get_global_classfuncs(x) ((CamelObjectClass *)(x))
492
</para><variablelist role="params">
493
<varlistentry><term><parameter>x</parameter> :</term>
495
</simpara></listitem></varlistentry>
496
</variablelist></refsect2>
497
<refsect2 id="camel-type-to-name" role="function">
498
<title>camel_type_to_name ()</title>
499
<indexterm zone="camel-type-to-name"><primary sortas="camel_type_to_name">camel_type_to_name</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> * camel_type_to_name (<link linkend="CamelType">CamelType</link> type);</programlisting>
501
</para><variablelist role="params">
502
<varlistentry><term><parameter>type</parameter> :</term>
504
</simpara></listitem></varlistentry>
505
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
506
</simpara></listitem></varlistentry>
507
</variablelist></refsect2>
508
<refsect2 id="camel-name-to-type" role="function">
509
<title>camel_name_to_type ()</title>
510
<indexterm zone="camel-name-to-type"><primary sortas="camel_name_to_type">camel_name_to_type</primary></indexterm><programlisting><link linkend="CamelType">CamelType</link> camel_name_to_type (const <link linkend="gchar">gchar</link> *name);</programlisting>
512
</para><variablelist role="params">
513
<varlistentry><term><parameter>name</parameter> :</term>
515
</simpara></listitem></varlistentry>
516
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
517
</simpara></listitem></varlistentry>
518
</variablelist></refsect2>
519
<refsect2 id="camel-object-class-add-event" role="function">
520
<title>camel_object_class_add_event ()</title>
521
<indexterm zone="camel-object-class-add-event"><primary sortas="camel_object_class_add_event">camel_object_class_add_event</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_class_add_event (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
522
const <link linkend="gchar">gchar</link> *name,
523
<link linkend="CamelObjectEventPrepFunc">CamelObjectEventPrepFunc</link> prep);</programlisting>
525
</para><variablelist role="params">
526
<varlistentry><term><parameter>klass</parameter> :</term>
528
</simpara></listitem></varlistentry>
529
<varlistentry><term><parameter>name</parameter> :</term>
531
</simpara></listitem></varlistentry>
532
<varlistentry><term><parameter>prep</parameter> :</term>
534
</simpara></listitem></varlistentry>
535
</variablelist></refsect2>
536
<refsect2 id="camel-object-class-add-interface" role="function" condition="deprecated:">
537
<title>camel_object_class_add_interface ()</title>
538
<indexterm zone="camel-object-class-add-interface" role="deprecated"><primary sortas="camel_object_class_add_interface">camel_object_class_add_interface</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_class_add_interface (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
539
<link linkend="CamelType">CamelType</link> itype);</programlisting>
540
<warning><para><literal>camel_object_class_add_interface</literal> is deprecated and should not be used in newly-written code.</para></warning>
542
</para><variablelist role="params">
543
<varlistentry><term><parameter>klass</parameter> :</term>
545
</simpara></listitem></varlistentry>
546
<varlistentry><term><parameter>itype</parameter> :</term>
548
</simpara></listitem></varlistentry>
549
</variablelist></refsect2>
550
<refsect2 id="camel-object-class-dump-tree" role="function">
551
<title>camel_object_class_dump_tree ()</title>
552
<indexterm zone="camel-object-class-dump-tree"><primary sortas="camel_object_class_dump_tree">camel_object_class_dump_tree</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_class_dump_tree (<link linkend="CamelType">CamelType</link> root);</programlisting>
554
</para><variablelist role="params">
555
<varlistentry><term><parameter>root</parameter> :</term>
557
</simpara></listitem></varlistentry>
558
</variablelist></refsect2>
559
<refsect2 id="camel-object-cast" role="function">
560
<title>camel_object_cast ()</title>
561
<indexterm zone="camel-object-cast"><primary sortas="camel_object_cast">camel_object_cast</primary></indexterm><programlisting><link linkend="CamelObject">CamelObject</link> * camel_object_cast (<link linkend="CamelObject">CamelObject</link> *obj,
562
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
564
</para><variablelist role="params">
565
<varlistentry><term><parameter>obj</parameter> :</term>
567
</simpara></listitem></varlistentry>
568
<varlistentry><term><parameter>ctype</parameter> :</term>
570
</simpara></listitem></varlistentry>
571
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
572
</simpara></listitem></varlistentry>
573
</variablelist></refsect2>
574
<refsect2 id="camel-object-is" role="function">
575
<title>camel_object_is ()</title>
576
<indexterm zone="camel-object-is"><primary sortas="camel_object_is">camel_object_is</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> camel_object_is (<link linkend="CamelObject">CamelObject</link> *obj,
577
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
579
</para><variablelist role="params">
580
<varlistentry><term><parameter>obj</parameter> :</term>
582
</simpara></listitem></varlistentry>
583
<varlistentry><term><parameter>ctype</parameter> :</term>
585
</simpara></listitem></varlistentry>
586
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
587
</simpara></listitem></varlistentry>
588
</variablelist></refsect2>
589
<refsect2 id="camel-object-class-cast" role="function">
590
<title>camel_object_class_cast ()</title>
591
<indexterm zone="camel-object-class-cast"><primary sortas="camel_object_class_cast">camel_object_class_cast</primary></indexterm><programlisting><link linkend="CamelObjectClass">CamelObjectClass</link> * camel_object_class_cast (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
592
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
594
</para><variablelist role="params">
595
<varlistentry><term><parameter>klass</parameter> :</term>
597
</simpara></listitem></varlistentry>
598
<varlistentry><term><parameter>ctype</parameter> :</term>
600
</simpara></listitem></varlistentry>
601
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
602
</simpara></listitem></varlistentry>
603
</variablelist></refsect2>
604
<refsect2 id="camel-object-class-is" role="function">
605
<title>camel_object_class_is ()</title>
606
<indexterm zone="camel-object-class-is"><primary sortas="camel_object_class_is">camel_object_class_is</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> camel_object_class_is (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
607
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
609
</para><variablelist role="params">
610
<varlistentry><term><parameter>klass</parameter> :</term>
612
</simpara></listitem></varlistentry>
613
<varlistentry><term><parameter>ctype</parameter> :</term>
615
</simpara></listitem></varlistentry>
616
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
617
</simpara></listitem></varlistentry>
618
</variablelist></refsect2>
619
<refsect2 id="camel-interface-cast" role="function" condition="deprecated:">
620
<title>camel_interface_cast ()</title>
621
<indexterm zone="camel-interface-cast" role="deprecated"><primary sortas="camel_interface_cast">camel_interface_cast</primary></indexterm><programlisting><link linkend="CamelObjectClass">CamelObjectClass</link> * camel_interface_cast (<link linkend="CamelObjectClass">CamelObjectClass</link> *klass,
622
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
623
<warning><para><literal>camel_interface_cast</literal> is deprecated and should not be used in newly-written code.</para></warning>
625
</para><variablelist role="params">
626
<varlistentry><term><parameter>klass</parameter> :</term>
628
</simpara></listitem></varlistentry>
629
<varlistentry><term><parameter>ctype</parameter> :</term>
631
</simpara></listitem></varlistentry>
632
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
633
</simpara></listitem></varlistentry>
634
</variablelist></refsect2>
635
<refsect2 id="camel-interface-is" role="function" condition="deprecated:">
636
<title>camel_interface_is ()</title>
637
<indexterm zone="camel-interface-is" role="deprecated"><primary sortas="camel_interface_is">camel_interface_is</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> camel_interface_is (<link linkend="CamelObjectClass">CamelObjectClass</link> *k,
638
<link linkend="CamelType">CamelType</link> ctype);</programlisting>
639
<warning><para><literal>camel_interface_is</literal> is deprecated and should not be used in newly-written code.</para></warning>
641
</para><variablelist role="params">
642
<varlistentry><term><parameter>k</parameter> :</term>
644
</simpara></listitem></varlistentry>
645
<varlistentry><term><parameter>ctype</parameter> :</term>
647
</simpara></listitem></varlistentry>
648
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
649
</simpara></listitem></varlistentry>
650
</variablelist></refsect2>
651
<refsect2 id="camel-object-new" role="function">
652
<title>camel_object_new ()</title>
653
<indexterm zone="camel-object-new"><primary sortas="camel_object_new">camel_object_new</primary></indexterm><programlisting><link linkend="CamelObject">CamelObject</link> * camel_object_new (<link linkend="CamelType">CamelType</link> type);</programlisting>
655
</para><variablelist role="params">
656
<varlistentry><term><parameter>type</parameter> :</term>
658
</simpara></listitem></varlistentry>
659
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
660
</simpara></listitem></varlistentry>
661
</variablelist></refsect2>
662
<refsect2 id="camel-object-ref" role="function">
663
<title>camel_object_ref ()</title>
664
<indexterm zone="camel-object-ref"><primary sortas="camel_object_ref">camel_object_ref</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_ref (<link linkend="gpointer">gpointer</link> );</programlisting>
666
</para><variablelist role="params">
667
<varlistentry><term><parameter>Param1</parameter> :</term>
669
</simpara></listitem></varlistentry>
670
</variablelist></refsect2>
671
<refsect2 id="camel-object-unref" role="function">
672
<title>camel_object_unref ()</title>
673
<indexterm zone="camel-object-unref"><primary sortas="camel_object_unref">camel_object_unref</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_unref (<link linkend="gpointer">gpointer</link> );</programlisting>
675
</para><variablelist role="params">
676
<varlistentry><term><parameter>Param1</parameter> :</term>
678
</simpara></listitem></varlistentry>
679
</variablelist></refsect2>
680
<refsect2 id="camel-object-hook-event" role="function">
681
<title>camel_object_hook_event ()</title>
682
<indexterm zone="camel-object-hook-event"><primary sortas="camel_object_hook_event">camel_object_hook_event</primary></indexterm><programlisting><link linkend="CamelObjectHookID">CamelObjectHookID</link> camel_object_hook_event (<link linkend="gpointer">gpointer</link> obj,
683
const <link linkend="gchar">gchar</link> *name,
684
<link linkend="CamelObjectEventHookFunc">CamelObjectEventHookFunc</link> hook,
685
<link linkend="gpointer">gpointer</link> data);</programlisting>
687
</para><variablelist role="params">
688
<varlistentry><term><parameter>obj</parameter> :</term>
690
</simpara></listitem></varlistentry>
691
<varlistentry><term><parameter>name</parameter> :</term>
693
</simpara></listitem></varlistentry>
694
<varlistentry><term><parameter>hook</parameter> :</term>
696
</simpara></listitem></varlistentry>
697
<varlistentry><term><parameter>data</parameter> :</term>
699
</simpara></listitem></varlistentry>
700
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
701
</simpara></listitem></varlistentry>
702
</variablelist></refsect2>
703
<refsect2 id="camel-object-remove-event" role="function">
704
<title>camel_object_remove_event ()</title>
705
<indexterm zone="camel-object-remove-event"><primary sortas="camel_object_remove_event">camel_object_remove_event</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_remove_event (<link linkend="gpointer">gpointer</link> obj,
706
<link linkend="CamelObjectHookID">CamelObjectHookID</link> id);</programlisting>
708
</para><variablelist role="params">
709
<varlistentry><term><parameter>obj</parameter> :</term>
711
</simpara></listitem></varlistentry>
712
<varlistentry><term><parameter>id</parameter> :</term>
714
</simpara></listitem></varlistentry>
715
</variablelist></refsect2>
716
<refsect2 id="camel-object-unhook-event" role="function">
717
<title>camel_object_unhook_event ()</title>
718
<indexterm zone="camel-object-unhook-event"><primary sortas="camel_object_unhook_event">camel_object_unhook_event</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_unhook_event (<link linkend="gpointer">gpointer</link> obj,
719
const <link linkend="gchar">gchar</link> *name,
720
<link linkend="CamelObjectEventHookFunc">CamelObjectEventHookFunc</link> hook,
721
<link linkend="gpointer">gpointer</link> data);</programlisting>
723
</para><variablelist role="params">
724
<varlistentry><term><parameter>obj</parameter> :</term>
726
</simpara></listitem></varlistentry>
727
<varlistentry><term><parameter>name</parameter> :</term>
729
</simpara></listitem></varlistentry>
730
<varlistentry><term><parameter>hook</parameter> :</term>
732
</simpara></listitem></varlistentry>
733
<varlistentry><term><parameter>data</parameter> :</term>
735
</simpara></listitem></varlistentry>
736
</variablelist></refsect2>
737
<refsect2 id="camel-object-trigger-event" role="function">
738
<title>camel_object_trigger_event ()</title>
739
<indexterm zone="camel-object-trigger-event"><primary sortas="camel_object_trigger_event">camel_object_trigger_event</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_trigger_event (<link linkend="gpointer">gpointer</link> obj,
740
const <link linkend="gchar">gchar</link> *name,
741
<link linkend="gpointer">gpointer</link> event_data);</programlisting>
743
</para><variablelist role="params">
744
<varlistentry><term><parameter>obj</parameter> :</term>
746
</simpara></listitem></varlistentry>
747
<varlistentry><term><parameter>name</parameter> :</term>
749
</simpara></listitem></varlistentry>
750
<varlistentry><term><parameter>event_data</parameter> :</term>
752
</simpara></listitem></varlistentry>
753
</variablelist></refsect2>
754
<refsect2 id="camel-object-get-interface" role="function" condition="deprecated:">
755
<title>camel_object_get_interface ()</title>
756
<indexterm zone="camel-object-get-interface" role="deprecated"><primary sortas="camel_object_get_interface">camel_object_get_interface</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_object_get_interface (<link linkend="gpointer">gpointer</link> vo,
757
<link linkend="CamelType">CamelType</link> itype);</programlisting>
758
<warning><para><literal>camel_object_get_interface</literal> is deprecated and should not be used in newly-written code.</para></warning>
760
</para><variablelist role="params">
761
<varlistentry><term><parameter>vo</parameter> :</term>
763
</simpara></listitem></varlistentry>
764
<varlistentry><term><parameter>itype</parameter> :</term>
766
</simpara></listitem></varlistentry>
767
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
768
</simpara></listitem></varlistentry>
769
</variablelist></refsect2>
770
<refsect2 id="camel-object-set" role="function">
771
<title>camel_object_set ()</title>
772
<indexterm zone="camel-object-set"><primary sortas="camel_object_set">camel_object_set</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_set (<link linkend="gpointer">gpointer</link> obj,
773
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
774
...);</programlisting>
776
</para><variablelist role="params">
777
<varlistentry><term><parameter>obj</parameter> :</term>
779
</simpara></listitem></varlistentry>
780
<varlistentry><term><parameter>ex</parameter> :</term>
782
</simpara></listitem></varlistentry>
783
<varlistentry><term><parameter>...</parameter> :</term>
785
</simpara></listitem></varlistentry>
786
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
787
</simpara></listitem></varlistentry>
788
</variablelist></refsect2>
789
<refsect2 id="camel-object-setv" role="function">
790
<title>camel_object_setv ()</title>
791
<indexterm zone="camel-object-setv"><primary sortas="camel_object_setv">camel_object_setv</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_setv (<link linkend="gpointer">gpointer</link> obj,
792
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
793
<link linkend="CamelArgV">CamelArgV</link> *);</programlisting>
795
</para><variablelist role="params">
796
<varlistentry><term><parameter>obj</parameter> :</term>
798
</simpara></listitem></varlistentry>
799
<varlistentry><term><parameter>ex</parameter> :</term>
801
</simpara></listitem></varlistentry>
802
<varlistentry><term><parameter>Param3</parameter> :</term>
804
</simpara></listitem></varlistentry>
805
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
806
</simpara></listitem></varlistentry>
807
</variablelist></refsect2>
808
<refsect2 id="camel-object-get" role="function">
809
<title>camel_object_get ()</title>
810
<indexterm zone="camel-object-get"><primary sortas="camel_object_get">camel_object_get</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_get (<link linkend="gpointer">gpointer</link> obj,
811
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
812
...);</programlisting>
814
</para><variablelist role="params">
815
<varlistentry><term><parameter>obj</parameter> :</term>
817
</simpara></listitem></varlistentry>
818
<varlistentry><term><parameter>ex</parameter> :</term>
820
</simpara></listitem></varlistentry>
821
<varlistentry><term><parameter>...</parameter> :</term>
823
</simpara></listitem></varlistentry>
824
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
825
</simpara></listitem></varlistentry>
826
</variablelist></refsect2>
827
<refsect2 id="camel-object-getv" role="function">
828
<title>camel_object_getv ()</title>
829
<indexterm zone="camel-object-getv"><primary sortas="camel_object_getv">camel_object_getv</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_getv (<link linkend="gpointer">gpointer</link> obj,
830
<link linkend="struct--CamelException">struct _CamelException</link> *ex,
831
<link linkend="CamelArgGetV">CamelArgGetV</link> *);</programlisting>
833
</para><variablelist role="params">
834
<varlistentry><term><parameter>obj</parameter> :</term>
836
</simpara></listitem></varlistentry>
837
<varlistentry><term><parameter>ex</parameter> :</term>
839
</simpara></listitem></varlistentry>
840
<varlistentry><term><parameter>Param3</parameter> :</term>
842
</simpara></listitem></varlistentry>
843
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
844
</simpara></listitem></varlistentry>
845
</variablelist></refsect2>
846
<refsect2 id="camel-object-get-ptr" role="function">
847
<title>camel_object_get_ptr ()</title>
848
<indexterm zone="camel-object-get-ptr"><primary sortas="camel_object_get_ptr">camel_object_get_ptr</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_object_get_ptr (<link linkend="gpointer">gpointer</link> vo,
849
<link linkend="CamelException">CamelException</link> *ex,
850
<link linkend="gint">gint</link> tag);</programlisting>
852
</para><variablelist role="params">
853
<varlistentry><term><parameter>vo</parameter> :</term>
855
</simpara></listitem></varlistentry>
856
<varlistentry><term><parameter>ex</parameter> :</term>
858
</simpara></listitem></varlistentry>
859
<varlistentry><term><parameter>tag</parameter> :</term>
861
</simpara></listitem></varlistentry>
862
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
863
</simpara></listitem></varlistentry>
864
</variablelist></refsect2>
865
<refsect2 id="camel-object-get-int" role="function">
866
<title>camel_object_get_int ()</title>
867
<indexterm zone="camel-object-get-int"><primary sortas="camel_object_get_int">camel_object_get_int</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_get_int (<link linkend="gpointer">gpointer</link> vo,
868
<link linkend="CamelException">CamelException</link> *ex,
869
<link linkend="gint">gint</link> tag);</programlisting>
871
</para><variablelist role="params">
872
<varlistentry><term><parameter>vo</parameter> :</term>
874
</simpara></listitem></varlistentry>
875
<varlistentry><term><parameter>ex</parameter> :</term>
877
</simpara></listitem></varlistentry>
878
<varlistentry><term><parameter>tag</parameter> :</term>
880
</simpara></listitem></varlistentry>
881
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
882
</simpara></listitem></varlistentry>
883
</variablelist></refsect2>
884
<refsect2 id="camel-object-meta-get" role="function">
885
<title>camel_object_meta_get ()</title>
886
<indexterm zone="camel-object-meta-get"><primary sortas="camel_object_meta_get">camel_object_meta_get</primary></indexterm><programlisting><link linkend="gchar">gchar</link> * camel_object_meta_get (<link linkend="gpointer">gpointer</link> vo,
887
const <link linkend="gchar">gchar</link> *name);</programlisting>
889
Get a meta-data on an object.</para>
891
</para><variablelist role="params">
892
<varlistentry><term><parameter>vo</parameter> :</term>
894
</simpara></listitem></varlistentry>
895
<varlistentry><term><parameter>name</parameter> :</term>
897
</simpara></listitem></varlistentry>
898
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> NULL if the meta-data is not set.
899
</simpara></listitem></varlistentry>
900
</variablelist></refsect2>
901
<refsect2 id="camel-object-meta-set" role="function">
902
<title>camel_object_meta_set ()</title>
903
<indexterm zone="camel-object-meta-set"><primary sortas="camel_object_meta_set">camel_object_meta_set</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> camel_object_meta_set (<link linkend="gpointer">gpointer</link> vo,
904
const <link linkend="gchar">gchar</link> *name,
905
const <link linkend="gchar">gchar</link> *value);</programlisting>
907
Set a meta-data item on an object. If the object supports persistent
908
data, then the meta-data will be persistent across sessions.
911
If the meta-data changes, is added, or removed, then a
912
"meta_changed" event will be triggered with the name of the changed
915
</para><variablelist role="params">
916
<varlistentry><term><parameter>vo</parameter> :</term>
918
</simpara></listitem></varlistentry>
919
<varlistentry><term><parameter>name</parameter> :</term>
920
<listitem><simpara> Name of meta-data. Should be prefixed with class of setter.
921
</simpara></listitem></varlistentry>
922
<varlistentry><term><parameter>value</parameter> :</term>
923
<listitem><simpara> Value to set. If NULL, then the meta-data is removed.
924
</simpara></listitem></varlistentry>
925
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if the setting caused a change to the object's
927
</simpara></listitem></varlistentry>
928
</variablelist></refsect2>
929
<refsect2 id="camel-object-state-read" role="function">
930
<title>camel_object_state_read ()</title>
931
<indexterm zone="camel-object-state-read"><primary sortas="camel_object_state_read">camel_object_state_read</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_state_read (<link linkend="gpointer">gpointer</link> vo);</programlisting>
933
Read persistent object state from object_set(CAMEL_OBJECT_STATE_FILE).</para>
935
</para><variablelist role="params">
936
<varlistentry><term><parameter>vo</parameter> :</term>
938
</simpara></listitem></varlistentry>
939
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> -1 on error.
940
</simpara></listitem></varlistentry>
941
</variablelist></refsect2>
942
<refsect2 id="camel-object-state-write" role="function">
943
<title>camel_object_state_write ()</title>
944
<indexterm zone="camel-object-state-write"><primary sortas="camel_object_state_write">camel_object_state_write</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_object_state_write (<link linkend="gpointer">gpointer</link> vo);</programlisting>
946
Write persistent state to the file as set by object_set(CAMEL_OBJECT_STATE_FILE).</para>
948
</para><variablelist role="params">
949
<varlistentry><term><parameter>vo</parameter> :</term>
951
</simpara></listitem></varlistentry>
952
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> -1 on error.
953
</simpara></listitem></varlistentry>
954
</variablelist></refsect2>
955
<refsect2 id="camel-object-free" role="function">
956
<title>camel_object_free ()</title>
957
<indexterm zone="camel-object-free"><primary sortas="camel_object_free">camel_object_free</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_free (<link linkend="gpointer">gpointer</link> vo,
958
<link linkend="guint32">guint32</link> tag,
959
<link linkend="gpointer">gpointer</link> value);</programlisting>
961
</para><variablelist role="params">
962
<varlistentry><term><parameter>vo</parameter> :</term>
964
</simpara></listitem></varlistentry>
965
<varlistentry><term><parameter>tag</parameter> :</term>
967
</simpara></listitem></varlistentry>
968
<varlistentry><term><parameter>value</parameter> :</term>
970
</simpara></listitem></varlistentry>
971
</variablelist></refsect2>
972
<refsect2 id="CamelObjectBag" role="struct">
973
<title>CamelObjectBag</title>
974
<indexterm zone="CamelObjectBag"><primary sortas="CamelObjectBag">CamelObjectBag</primary></indexterm><programlisting>typedef struct _CamelObjectBag CamelObjectBag;</programlisting>
977
<refsect2 id="CamelCopyFunc" role="function">
978
<title>CamelCopyFunc ()</title>
979
<indexterm zone="CamelCopyFunc"><primary sortas="CamelCopyFunc">CamelCopyFunc</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> (*CamelCopyFunc) (<link linkend="gconstpointer">gconstpointer</link> vo);</programlisting>
981
</para><variablelist role="params">
982
<varlistentry><term><parameter>vo</parameter> :</term>
984
</simpara></listitem></varlistentry>
985
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
986
</simpara></listitem></varlistentry>
987
</variablelist></refsect2>
988
<refsect2 id="camel-object-bag-new" role="function">
989
<title>camel_object_bag_new ()</title>
990
<indexterm zone="camel-object-bag-new"><primary sortas="camel_object_bag_new">camel_object_bag_new</primary></indexterm><programlisting><link linkend="CamelObjectBag">CamelObjectBag</link> * camel_object_bag_new (<link linkend="GHashFunc">GHashFunc</link> hash,
991
<link linkend="GEqualFunc">GEqualFunc</link> equal,
992
<link linkend="CamelCopyFunc">CamelCopyFunc</link> keycopy,
993
<link linkend="GFreeFunc">GFreeFunc</link> keyfree);</programlisting>
995
Allocate a new object bag. Object bag's are key'd hash tables of
996
camel-objects which can be updated atomically using transaction
999
</para><variablelist role="params">
1000
<varlistentry><term><parameter>hash</parameter> :</term>
1002
</simpara></listitem></varlistentry>
1003
<varlistentry><term><parameter>equal</parameter> :</term>
1005
</simpara></listitem></varlistentry>
1006
<varlistentry><term><parameter>keycopy</parameter> :</term>
1008
</simpara></listitem></varlistentry>
1009
<varlistentry><term><parameter>keyfree</parameter> :</term>
1011
</simpara></listitem></varlistentry>
1012
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1013
</simpara></listitem></varlistentry>
1014
</variablelist></refsect2>
1015
<refsect2 id="camel-object-bag-get" role="function">
1016
<title>camel_object_bag_get ()</title>
1017
<indexterm zone="camel-object-bag-get"><primary sortas="camel_object_bag_get">camel_object_bag_get</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_object_bag_get (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1018
<link linkend="gconstpointer">gconstpointer</link> key);</programlisting>
1020
Lookup an object by <parameter>key</parameter>. If the key is currently reserved, then
1021
wait until the key has been committed before continuing.</para>
1023
</para><variablelist role="params">
1024
<varlistentry><term><parameter>bag</parameter> :</term>
1026
</simpara></listitem></varlistentry>
1027
<varlistentry><term><parameter>key</parameter> :</term>
1029
</simpara></listitem></varlistentry>
1030
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> NULL if the object corresponding to <parameter>key</parameter> is not
1031
in the bag. Otherwise a ref'd object pointer which the caller owns
1033
</simpara></listitem></varlistentry>
1034
</variablelist></refsect2>
1035
<refsect2 id="camel-object-bag-peek" role="function">
1036
<title>camel_object_bag_peek ()</title>
1037
<indexterm zone="camel-object-bag-peek"><primary sortas="camel_object_bag_peek">camel_object_bag_peek</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_object_bag_peek (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1038
<link linkend="gconstpointer">gconstpointer</link> key);</programlisting>
1040
Lookup the object <parameter>key</parameter> in <parameter>bag</parameter>, ignoring any reservations. If it
1041
isn't committed, then it isn't considered. This should only be
1042
used where reliable transactional-based state is not required.
1045
Unlike other 'peek' operations, the object is still reffed if
1048
</para><variablelist role="params">
1049
<varlistentry><term><parameter>bag</parameter> :</term>
1051
</simpara></listitem></varlistentry>
1052
<varlistentry><term><parameter>key</parameter> :</term>
1054
</simpara></listitem></varlistentry>
1055
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A referenced object, or NULL if <parameter>key</parameter> is not
1057
</simpara></listitem></varlistentry>
1058
</variablelist></refsect2>
1059
<refsect2 id="camel-object-bag-reserve" role="function">
1060
<title>camel_object_bag_reserve ()</title>
1061
<indexterm zone="camel-object-bag-reserve"><primary sortas="camel_object_bag_reserve">camel_object_bag_reserve</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_object_bag_reserve (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1062
<link linkend="gconstpointer">gconstpointer</link> key);</programlisting>
1064
Reserve a key in the object bag. If the key is already reserved in
1065
another thread, then wait until the reservation has been committed.
1068
After reserving a key, you either get a reffed pointer to the
1069
object corresponding to the key, similar to object_bag_get, or you
1070
get NULL, signifying that you then MIST call either object_bag_add
1071
or object_bag_abort.
1074
You may reserve multiple keys from the same thread, but they should
1075
always be reserved in the same order, to avoid deadlocks.</para>
1077
</para><variablelist role="params">
1078
<varlistentry><term><parameter>bag</parameter> :</term>
1080
</simpara></listitem></varlistentry>
1081
<varlistentry><term><parameter>key</parameter> :</term>
1083
</simpara></listitem></varlistentry>
1084
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1085
</simpara></listitem></varlistentry>
1086
</variablelist></refsect2>
1087
<refsect2 id="camel-object-bag-add" role="function">
1088
<title>camel_object_bag_add ()</title>
1089
<indexterm zone="camel-object-bag-add"><primary sortas="camel_object_bag_add">camel_object_bag_add</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_bag_add (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1090
<link linkend="gconstpointer">gconstpointer</link> key,
1091
<link linkend="gpointer">gpointer</link> vo);</programlisting>
1093
Add an object <parameter>vo</parameter> to the object bag <parameter>bag</parameter>. The <parameter>key</parameter> MUST have
1094
previously been reserved using <link linkend="camel-object-bag-reserve"><function>camel_object_bag_reserve()</function></link>.</para>
1096
</para><variablelist role="params">
1097
<varlistentry><term><parameter>bag</parameter> :</term>
1099
</simpara></listitem></varlistentry>
1100
<varlistentry><term><parameter>key</parameter> :</term>
1102
</simpara></listitem></varlistentry>
1103
<varlistentry><term><parameter>vo</parameter> :</term>
1105
</simpara></listitem></varlistentry>
1106
</variablelist></refsect2>
1107
<refsect2 id="camel-object-bag-abort" role="function">
1108
<title>camel_object_bag_abort ()</title>
1109
<indexterm zone="camel-object-bag-abort"><primary sortas="camel_object_bag_abort">camel_object_bag_abort</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_bag_abort (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1110
<link linkend="gconstpointer">gconstpointer</link> key);</programlisting>
1112
Abort a key reservation.</para>
1114
</para><variablelist role="params">
1115
<varlistentry><term><parameter>bag</parameter> :</term>
1117
</simpara></listitem></varlistentry>
1118
<varlistentry><term><parameter>key</parameter> :</term>
1120
</simpara></listitem></varlistentry>
1121
</variablelist></refsect2>
1122
<refsect2 id="camel-object-bag-rekey" role="function">
1123
<title>camel_object_bag_rekey ()</title>
1124
<indexterm zone="camel-object-bag-rekey"><primary sortas="camel_object_bag_rekey">camel_object_bag_rekey</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_bag_rekey (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1125
<link linkend="gpointer">gpointer</link> o,
1126
<link linkend="gconstpointer">gconstpointer</link> newkey);</programlisting>
1128
Re-key an object, atomically. The key for object <parameter>o</parameter> is set to
1129
<parameter>newkey</parameter>, in an atomic manner.
1132
It is an api (fatal) error if <parameter>o</parameter> is not currently in the bag.</para>
1134
</para><variablelist role="params">
1135
<varlistentry><term><parameter>bag</parameter> :</term>
1137
</simpara></listitem></varlistentry>
1138
<varlistentry><term><parameter>o</parameter> :</term>
1140
</simpara></listitem></varlistentry>
1141
<varlistentry><term><parameter>newkey</parameter> :</term>
1143
</simpara></listitem></varlistentry>
1144
</variablelist></refsect2>
1145
<refsect2 id="camel-object-bag-list" role="function">
1146
<title>camel_object_bag_list ()</title>
1147
<indexterm zone="camel-object-bag-list"><primary sortas="camel_object_bag_list">camel_object_bag_list</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link> * camel_object_bag_list (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag);</programlisting>
1149
</para><variablelist role="params">
1150
<varlistentry><term><parameter>bag</parameter> :</term>
1152
</simpara></listitem></varlistentry>
1153
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1154
</simpara></listitem></varlistentry>
1155
</variablelist></refsect2>
1156
<refsect2 id="camel-object-bag-remove" role="function">
1157
<title>camel_object_bag_remove ()</title>
1158
<indexterm zone="camel-object-bag-remove"><primary sortas="camel_object_bag_remove">camel_object_bag_remove</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_bag_remove (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag,
1159
<link linkend="gpointer">gpointer</link> o);</programlisting>
1161
</para><variablelist role="params">
1162
<varlistentry><term><parameter>bag</parameter> :</term>
1164
</simpara></listitem></varlistentry>
1165
<varlistentry><term><parameter>o</parameter> :</term>
1167
</simpara></listitem></varlistentry>
1168
</variablelist></refsect2>
1169
<refsect2 id="camel-object-bag-destroy" role="function">
1170
<title>camel_object_bag_destroy ()</title>
1171
<indexterm zone="camel-object-bag-destroy"><primary sortas="camel_object_bag_destroy">camel_object_bag_destroy</primary></indexterm><programlisting><link linkend="void">void</link> camel_object_bag_destroy (<link linkend="CamelObjectBag">CamelObjectBag</link> *bag);</programlisting>
1173
</para><variablelist role="params">
1174
<varlistentry><term><parameter>bag</parameter> :</term>
1176
</simpara></listitem></varlistentry>
1177
</variablelist></refsect2>
1178
<refsect2 id="CAMEL-MAKE-CLASS--CAPS" role="macro">
1179
<title>CAMEL_MAKE_CLASS()</title>
1180
<indexterm zone="CAMEL-MAKE-CLASS--CAPS"><primary sortas="CAMEL_MAKE_CLASS">CAMEL_MAKE_CLASS</primary></indexterm><programlisting>#define CAMEL_MAKE_CLASS(type, tname, parent, pname)</programlisting>
1182
</para><variablelist role="params">
1183
<varlistentry><term><parameter>type</parameter> :</term>
1185
</simpara></listitem></varlistentry>
1186
<varlistentry><term><parameter>tname</parameter> :</term>
1188
</simpara></listitem></varlistentry>
1189
<varlistentry><term><parameter>parent</parameter> :</term>
1191
</simpara></listitem></varlistentry>
1192
<varlistentry><term><parameter>pname</parameter> :</term>
1194
</simpara></listitem></varlistentry>
1195
</variablelist></refsect2>
1196
<refsect2 id="CamelIteratorVTable" role="struct" condition="deprecated:">
1197
<title>CamelIteratorVTable</title>
1198
<indexterm zone="CamelIteratorVTable" role="deprecated"><primary sortas="CamelIteratorVTable">CamelIteratorVTable</primary></indexterm><programlisting>typedef struct {
1199
/* free fields, dont free base object */
1200
void (*free)(gpointer it);
1201
/* go to the next messageinfo */
1202
gconstpointer (*next)(gpointer it, CamelException *ex);
1203
/* go back to the start */
1204
void (*reset)(gpointer it);
1205
/* *ESTIMATE* how many results are in the iterator */
1206
gint (*length)(gpointer it);
1207
} CamelIteratorVTable;
1209
<warning><para><literal>CamelIteratorVTable</literal> is deprecated and should not be used in newly-written code.</para></warning>
1212
<refsect2 id="CamelIterator" role="struct" condition="deprecated:">
1213
<title>CamelIterator</title>
1214
<indexterm zone="CamelIterator" role="deprecated"><primary sortas="CamelIterator">CamelIterator</primary></indexterm><programlisting>typedef struct {
1215
CamelIteratorVTable *klass;
1217
/* subclasses adds new fields afterwards */
1220
<warning><para><literal>CamelIterator</literal> is deprecated and should not be used in newly-written code.</para></warning>
1223
<refsect2 id="camel-iterator-new" role="function" condition="deprecated:">
1224
<title>camel_iterator_new ()</title>
1225
<indexterm zone="camel-iterator-new" role="deprecated"><primary sortas="camel_iterator_new">camel_iterator_new</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> camel_iterator_new (<link linkend="CamelIteratorVTable">CamelIteratorVTable</link> *klass,
1226
<link linkend="gsize">gsize</link> size);</programlisting>
1227
<warning><para><literal>camel_iterator_new</literal> is deprecated and should not be used in newly-written code.</para></warning>
1229
</para><variablelist role="params">
1230
<varlistentry><term><parameter>klass</parameter> :</term>
1232
</simpara></listitem></varlistentry>
1233
<varlistentry><term><parameter>size</parameter> :</term>
1235
</simpara></listitem></varlistentry>
1236
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1237
</simpara></listitem></varlistentry>
1238
</variablelist></refsect2>
1239
<refsect2 id="camel-iterator-free" role="function" condition="deprecated:">
1240
<title>camel_iterator_free ()</title>
1241
<indexterm zone="camel-iterator-free" role="deprecated"><primary sortas="camel_iterator_free">camel_iterator_free</primary></indexterm><programlisting><link linkend="void">void</link> camel_iterator_free (<link linkend="gpointer">gpointer</link> it);</programlisting>
1242
<warning><para><literal>camel_iterator_free</literal> is deprecated and should not be used in newly-written code.</para></warning>
1244
</para><variablelist role="params">
1245
<varlistentry><term><parameter>it</parameter> :</term>
1247
</simpara></listitem></varlistentry>
1248
</variablelist></refsect2>
1249
<refsect2 id="camel-iterator-next" role="function" condition="deprecated:">
1250
<title>camel_iterator_next ()</title>
1251
<indexterm zone="camel-iterator-next" role="deprecated"><primary sortas="camel_iterator_next">camel_iterator_next</primary></indexterm><programlisting><link linkend="gconstpointer">gconstpointer</link> camel_iterator_next (<link linkend="gpointer">gpointer</link> it,
1252
<link linkend="CamelException">CamelException</link> *ex);</programlisting>
1253
<warning><para><literal>camel_iterator_next</literal> is deprecated and should not be used in newly-written code.</para></warning>
1255
</para><variablelist role="params">
1256
<varlistentry><term><parameter>it</parameter> :</term>
1258
</simpara></listitem></varlistentry>
1259
<varlistentry><term><parameter>ex</parameter> :</term>
1261
</simpara></listitem></varlistentry>
1262
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1263
</simpara></listitem></varlistentry>
1264
</variablelist></refsect2>
1265
<refsect2 id="camel-iterator-reset" role="function" condition="deprecated:">
1266
<title>camel_iterator_reset ()</title>
1267
<indexterm zone="camel-iterator-reset" role="deprecated"><primary sortas="camel_iterator_reset">camel_iterator_reset</primary></indexterm><programlisting><link linkend="void">void</link> camel_iterator_reset (<link linkend="gpointer">gpointer</link> it);</programlisting>
1268
<warning><para><literal>camel_iterator_reset</literal> is deprecated and should not be used in newly-written code.</para></warning>
1270
</para><variablelist role="params">
1271
<varlistentry><term><parameter>it</parameter> :</term>
1273
</simpara></listitem></varlistentry>
1274
</variablelist></refsect2>
1275
<refsect2 id="camel-iterator-length" role="function" condition="deprecated:">
1276
<title>camel_iterator_length ()</title>
1277
<indexterm zone="camel-iterator-length" role="deprecated"><primary sortas="camel_iterator_length">camel_iterator_length</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_iterator_length (<link linkend="gpointer">gpointer</link> it);</programlisting>
1278
<warning><para><literal>camel_iterator_length</literal> is deprecated and should not be used in newly-written code.</para></warning>
1280
</para><variablelist role="params">
1281
<varlistentry><term><parameter>it</parameter> :</term>
1283
</simpara></listitem></varlistentry>
1284
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
1285
</simpara></listitem></varlistentry>
1286
</variablelist></refsect2>