Tizen 2.1 base
[platform/upstream/glib2.0.git] / docs / reference / gobject / html / gobject-Boxed-Types.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Boxed Types</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GObject Reference Manual">
8 <link rel="up" href="rn01.html" title="API Reference">
9 <link rel="prev" href="gobject-Enumeration-and-Flag-Types.html" title="Enumeration and Flag Types">
10 <link rel="next" href="gobject-Generic-values.html" title="Generic values">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gobject-Enumeration-and-Flag-Types.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GObject Reference Manual</th>
21 <td><a accesskey="n" href="gobject-Generic-values.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gobject-Boxed-Types.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gobject-Boxed-Types.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gobject-Boxed-Types"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gobject-Boxed-Types.top_of_page"></a>Boxed Types</span></h2>
34 <p>Boxed Types — A mechanism to wrap opaque C structures registered
35     by the type system</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="gobject-Boxed-Types.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">
42 #include &lt;glib-object.h&gt;
43
44 <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            (<a class="link" href="gobject-Boxed-Types.html#GBoxedCopyFunc" title="GBoxedCopyFunc ()">*GBoxedCopyFunc</a>)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);
45 <span class="returnvalue">void</span>                (<a class="link" href="gobject-Boxed-Types.html#GBoxedFreeFunc" title="GBoxedFreeFunc ()">*GBoxedFreeFunc</a>)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);
46 <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-Boxed-Types.html#g-boxed-copy" title="g_boxed_copy ()">g_boxed_copy</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> boxed_type</code></em>,
47                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> src_boxed</code></em>);
48 <span class="returnvalue">void</span>                <a class="link" href="gobject-Boxed-Types.html#g-boxed-free" title="g_boxed_free ()">g_boxed_free</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> boxed_type</code></em>,
49                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);
50 <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Boxed-Types.html#g-boxed-type-register-static" title="g_boxed_type_register_static ()">g_boxed_type_register_static</a>        (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
51                                                          <em class="parameter"><code><a class="link" href="gobject-Boxed-Types.html#GBoxedCopyFunc" title="GBoxedCopyFunc ()"><span class="type">GBoxedCopyFunc</span></a> boxed_copy</code></em>,
52                                                          <em class="parameter"><code><a class="link" href="gobject-Boxed-Types.html#GBoxedFreeFunc" title="GBoxedFreeFunc ()"><span class="type">GBoxedFreeFunc</span></a> boxed_free</code></em>);
53 <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               <a class="link" href="gobject-Boxed-Types.html#g-pointer-type-register-static" title="g_pointer_type_register_static ()">g_pointer_type_register_static</a>      (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
54
55 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-HASH-TABLE:CAPS" title="G_TYPE_HASH_TABLE">G_TYPE_HASH_TABLE</a>
56 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-DATE:CAPS" title="G_TYPE_DATE">G_TYPE_DATE</a>
57 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-GSTRING:CAPS" title="G_TYPE_GSTRING">G_TYPE_GSTRING</a>
58 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-STRV:CAPS" title="G_TYPE_STRV">G_TYPE_STRV</a>
59 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-REGEX:CAPS" title="G_TYPE_REGEX">G_TYPE_REGEX</a>
60 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-MATCH-INFO:CAPS" title="G_TYPE_MATCH_INFO">G_TYPE_MATCH_INFO</a>
61 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-ARRAY:CAPS" title="G_TYPE_ARRAY">G_TYPE_ARRAY</a>
62 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-BYTE-ARRAY:CAPS" title="G_TYPE_BYTE_ARRAY">G_TYPE_BYTE_ARRAY</a>
63 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-PTR-ARRAY:CAPS" title="G_TYPE_PTR_ARRAY">G_TYPE_PTR_ARRAY</a>
64 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-BYTES:CAPS" title="G_TYPE_BYTES">G_TYPE_BYTES</a>
65 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-VARIANT-TYPE:CAPS" title="G_TYPE_VARIANT_TYPE">G_TYPE_VARIANT_TYPE</a>
66 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-ERROR:CAPS" title="G_TYPE_ERROR">G_TYPE_ERROR</a>
67 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-DATE-TIME:CAPS" title="G_TYPE_DATE_TIME">G_TYPE_DATE_TIME</a>
68 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-IO-CHANNEL:CAPS" title="G_TYPE_IO_CHANNEL">G_TYPE_IO_CHANNEL</a>
69 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-IO-CONDITION:CAPS" title="G_TYPE_IO_CONDITION">G_TYPE_IO_CONDITION</a>
70 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-VARIANT-BUILDER:CAPS" title="G_TYPE_VARIANT_BUILDER">G_TYPE_VARIANT_BUILDER</a>
71 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-KEY-FILE:CAPS" title="G_TYPE_KEY_FILE">G_TYPE_KEY_FILE</a>
72 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-MAIN-CONTEXT:CAPS" title="G_TYPE_MAIN_CONTEXT">G_TYPE_MAIN_CONTEXT</a>
73 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-MAIN-LOOP:CAPS" title="G_TYPE_MAIN_LOOP">G_TYPE_MAIN_LOOP</a>
74 #define             <a class="link" href="gobject-Boxed-Types.html#G-TYPE-SOURCE:CAPS" title="G_TYPE_SOURCE">G_TYPE_SOURCE</a>
75 typedef             <a class="link" href="gobject-Boxed-Types.html#GStrv" title="GStrv">GStrv</a>;
76 </pre>
77 </div>
78 <div class="refsect1">
79 <a name="gobject-Boxed-Types.description"></a><h2>Description</h2>
80 <p>
81 GBoxed is a generic wrapper mechanism for arbitrary C structures. The only
82 thing the type system needs to know about the structures is how to copy and
83 free them, beyond that they are treated as opaque chunks of memory.
84 </p>
85 <p>
86 Boxed types are useful for simple value-holder structures like rectangles or
87 points. They can also be used for wrapping structures defined in non-GObject
88 based libraries.
89 </p>
90 </div>
91 <div class="refsect1">
92 <a name="gobject-Boxed-Types.details"></a><h2>Details</h2>
93 <div class="refsect2">
94 <a name="GBoxedCopyFunc"></a><h3>GBoxedCopyFunc ()</h3>
95 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            (*GBoxedCopyFunc)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);</pre>
96 <p>
97 This function is provided by the user and should produce a copy
98 of the passed in boxed structure.
99 </p>
100 <div class="variablelist"><table border="0">
101 <col align="left" valign="top">
102 <tbody>
103 <tr>
104 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
105 <td>The boxed structure to be copied.</td>
106 </tr>
107 <tr>
108 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
109 <td>The newly created copy of the boxed structure.</td>
110 </tr>
111 </tbody>
112 </table></div>
113 </div>
114 <hr>
115 <div class="refsect2">
116 <a name="GBoxedFreeFunc"></a><h3>GBoxedFreeFunc ()</h3>
117 <pre class="programlisting"><span class="returnvalue">void</span>                (*GBoxedFreeFunc)                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);</pre>
118 <p>
119 This function is provided by the user and should free the boxed
120 structure passed.
121 </p>
122 <div class="variablelist"><table border="0">
123 <col align="left" valign="top">
124 <tbody><tr>
125 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
126 <td>The boxed structure to be freed.</td>
127 </tr></tbody>
128 </table></div>
129 </div>
130 <hr>
131 <div class="refsect2">
132 <a name="g-boxed-copy"></a><h3>g_boxed_copy ()</h3>
133 <pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_boxed_copy                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> boxed_type</code></em>,
134                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> src_boxed</code></em>);</pre>
135 <p>
136 Provide a copy of a boxed structure <em class="parameter"><code>src_boxed</code></em> which is of type <em class="parameter"><code>boxed_type</code></em>.
137 </p>
138 <div class="variablelist"><table border="0">
139 <col align="left" valign="top">
140 <tbody>
141 <tr>
142 <td><p><span class="term"><em class="parameter"><code>boxed_type</code></em> :</span></p></td>
143 <td>The type of <em class="parameter"><code>src_boxed</code></em>.</td>
144 </tr>
145 <tr>
146 <td><p><span class="term"><em class="parameter"><code>src_boxed</code></em> :</span></p></td>
147 <td>The boxed structure to be copied.</td>
148 </tr>
149 <tr>
150 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
151 <td>The newly created copy of the boxed structure.</td>
152 </tr>
153 </tbody>
154 </table></div>
155 </div>
156 <hr>
157 <div class="refsect2">
158 <a name="g-boxed-free"></a><h3>g_boxed_free ()</h3>
159 <pre class="programlisting"><span class="returnvalue">void</span>                g_boxed_free                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> boxed_type</code></em>,
160                                                          <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> boxed</code></em>);</pre>
161 <p>
162 Free the boxed structure <em class="parameter"><code>boxed</code></em> which is of type <em class="parameter"><code>boxed_type</code></em>.
163 </p>
164 <div class="variablelist"><table border="0">
165 <col align="left" valign="top">
166 <tbody>
167 <tr>
168 <td><p><span class="term"><em class="parameter"><code>boxed_type</code></em> :</span></p></td>
169 <td>The type of <em class="parameter"><code>boxed</code></em>.</td>
170 </tr>
171 <tr>
172 <td><p><span class="term"><em class="parameter"><code>boxed</code></em> :</span></p></td>
173 <td>The boxed structure to be freed.</td>
174 </tr>
175 </tbody>
176 </table></div>
177 </div>
178 <hr>
179 <div class="refsect2">
180 <a name="g-boxed-type-register-static"></a><h3>g_boxed_type_register_static ()</h3>
181 <pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_boxed_type_register_static        (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
182                                                          <em class="parameter"><code><a class="link" href="gobject-Boxed-Types.html#GBoxedCopyFunc" title="GBoxedCopyFunc ()"><span class="type">GBoxedCopyFunc</span></a> boxed_copy</code></em>,
183                                                          <em class="parameter"><code><a class="link" href="gobject-Boxed-Types.html#GBoxedFreeFunc" title="GBoxedFreeFunc ()"><span class="type">GBoxedFreeFunc</span></a> boxed_free</code></em>);</pre>
184 <p>
185 This function creates a new <a class="link" href="gobject-Type-Information.html#G-TYPE-BOXED:CAPS" title="G_TYPE_BOXED"><code class="literal">G_TYPE_BOXED</code></a> derived type id for a new
186 boxed type with name <em class="parameter"><code>name</code></em>. Boxed type handling functions have to be
187 provided to copy and free opaque boxed structures of this type.
188 </p>
189 <div class="variablelist"><table border="0">
190 <col align="left" valign="top">
191 <tbody>
192 <tr>
193 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
194 <td>Name of the new boxed type.</td>
195 </tr>
196 <tr>
197 <td><p><span class="term"><em class="parameter"><code>boxed_copy</code></em> :</span></p></td>
198 <td>Boxed structure copy function.</td>
199 </tr>
200 <tr>
201 <td><p><span class="term"><em class="parameter"><code>boxed_free</code></em> :</span></p></td>
202 <td>Boxed structure free function.</td>
203 </tr>
204 <tr>
205 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
206 <td>New <a class="link" href="gobject-Type-Information.html#G-TYPE-BOXED:CAPS" title="G_TYPE_BOXED"><code class="literal">G_TYPE_BOXED</code></a> derived type id for <em class="parameter"><code>name</code></em>.</td>
207 </tr>
208 </tbody>
209 </table></div>
210 </div>
211 <hr>
212 <div class="refsect2">
213 <a name="g-pointer-type-register-static"></a><h3>g_pointer_type_register_static ()</h3>
214 <pre class="programlisting"><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="returnvalue">GType</span></a>               g_pointer_type_register_static      (<em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
215 <p>
216 Creates a new <a class="link" href="gobject-Type-Information.html#G-TYPE-POINTER:CAPS" title="G_TYPE_POINTER"><code class="literal">G_TYPE_POINTER</code></a> derived type id for a new
217 pointer type with name <em class="parameter"><code>name</code></em>.
218 </p>
219 <div class="variablelist"><table border="0">
220 <col align="left" valign="top">
221 <tbody>
222 <tr>
223 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
224 <td>the name of the new pointer type.</td>
225 </tr>
226 <tr>
227 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
228 <td>a new <a class="link" href="gobject-Type-Information.html#G-TYPE-POINTER:CAPS" title="G_TYPE_POINTER"><code class="literal">G_TYPE_POINTER</code></a> derived type id for <em class="parameter"><code>name</code></em>.</td>
229 </tr>
230 </tbody>
231 </table></div>
232 </div>
233 <hr>
234 <div class="refsect2">
235 <a name="G-TYPE-HASH-TABLE:CAPS"></a><h3>G_TYPE_HASH_TABLE</h3>
236 <pre class="programlisting">#define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
237 </pre>
238 <p>
239 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> reference.
240 </p>
241 <p class="since">Since 2.10</p>
242 </div>
243 <hr>
244 <div class="refsect2">
245 <a name="G-TYPE-DATE:CAPS"></a><h3>G_TYPE_DATE</h3>
246 <pre class="programlisting">#define G_TYPE_DATE (g_date_get_type ())
247 </pre>
248 <p>
249 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-Date-and-Time-Functions.html#GDate"><span class="type">GDate</span></a>.
250 </p>
251 </div>
252 <hr>
253 <div class="refsect2">
254 <a name="G-TYPE-GSTRING:CAPS"></a><h3>G_TYPE_GSTRING</h3>
255 <pre class="programlisting">#define G_TYPE_GSTRING (g_gstring_get_type ())
256 </pre>
257 <p>
258 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-Strings.html#GString"><span class="type">GString</span></a>.
259 </p>
260 </div>
261 <hr>
262 <div class="refsect2">
263 <a name="G-TYPE-STRV:CAPS"></a><h3>G_TYPE_STRV</h3>
264 <pre class="programlisting">#define G_TYPE_STRV (g_strv_get_type ())
265 </pre>
266 <p>
267 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of strings.
268 </p>
269 <p>
270 The code fragments in the following example show the use of a property of
271 type <a class="link" href="gobject-Boxed-Types.html#G-TYPE-STRV:CAPS" title="G_TYPE_STRV"><span class="type">G_TYPE_STRV</span></a> with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()"><code class="function">g_object_class_install_property()</code></a>, <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()"><code class="function">g_object_set()</code></a>
272 and <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()"><code class="function">g_object_get()</code></a>.
273 </p>
274 <p>
275 </p>
276 <div class="informalexample">
277   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
278     <tbody>
279       <tr>
280         <td class="listing_lines" align="right"><pre>1
281 2
282 3
283 4
284 5
285 6
286 7
287 8
288 9
289 10
290 11
291 12
292 13
293 14
294 15</pre></td>
295         <td class="listing_code"><pre class="programlisting"><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-class-install-property">g_object_class_install_property</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object_class</span><span class="symbol">,</span>
296 <span class="normal">                                 PROP_AUTHORS</span><span class="symbol">,</span>
297 <span class="normal">                                 </span><span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-boxed">g_param_spec_boxed</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"authors"</span><span class="symbol">,</span>
298 <span class="normal">                                                     </span><span class="function"><a href="./../glib/glib/glib-I18N.html#gettext-macro">_</a></span><span class="symbol">(</span><span class="string">"Authors"</span><span class="symbol">),</span>
299 <span class="normal">                                                     </span><span class="function"><a href="./../glib/glib/glib-I18N.html#gettext-macro">_</a></span><span class="symbol">(</span><span class="string">"List of authors"</span><span class="symbol">),</span>
300 <span class="normal">                                                     <a href="gobject-Boxed-Types.html#G-TYPE-STRV:CAPS">G_TYPE_STRV</a></span><span class="symbol">,</span>
301 <span class="normal">                                                     <a href="gobject-GParamSpec.html#G-PARAM-READWRITE:CAPS">G_PARAM_READWRITE</a></span><span class="symbol">));</span>
302
303 <span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">authors</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"Owen"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Tim"</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
304 <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">obj</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"authors"</span><span class="symbol">,</span><span class="normal"> authors</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
305
306 <span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">writers</span><span class="symbol">[];</span>
307 <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-get">g_object_get</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">obj</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"authors"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">writers</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
308 <span class="comment">/* do something with writers */</span>
309 <span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strfreev">g_strfreev</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">writers</span><span class="symbol">);</span></pre></td>
310       </tr>
311     </tbody>
312   </table>
313 </div>
314
315 <p>
316 </p>
317 <p class="since">Since 2.4</p>
318 </div>
319 <hr>
320 <div class="refsect2">
321 <a name="G-TYPE-REGEX:CAPS"></a><h3>G_TYPE_REGEX</h3>
322 <pre class="programlisting">#define G_TYPE_REGEX (g_regex_get_type ())
323 </pre>
324 <p>
325 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Perl-compatible-regular-expressions.html#GRegex"><span class="type">GRegex</span></a> reference.
326 </p>
327 <p class="since">Since 2.14</p>
328 </div>
329 <hr>
330 <div class="refsect2">
331 <a name="G-TYPE-MATCH-INFO:CAPS"></a><h3>G_TYPE_MATCH_INFO</h3>
332 <pre class="programlisting">#define G_TYPE_MATCH_INFO (g_match_info_get_type ())
333 </pre>
334 <p>
335 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Perl-compatible-regular-expressions.html#GMatchInfo"><span class="type">GMatchInfo</span></a> reference.
336 </p>
337 <p class="since">Since 2.30</p>
338 </div>
339 <hr>
340 <div class="refsect2">
341 <a name="G-TYPE-ARRAY:CAPS"></a><h3>G_TYPE_ARRAY</h3>
342 <pre class="programlisting">#define G_TYPE_ARRAY (g_array_get_type ())
343 </pre>
344 <p>
345 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Arrays.html#GArray"><span class="type">GArray</span></a> reference.
346 </p>
347 <p class="since">Since 2.22</p>
348 </div>
349 <hr>
350 <div class="refsect2">
351 <a name="G-TYPE-BYTE-ARRAY:CAPS"></a><h3>G_TYPE_BYTE_ARRAY</h3>
352 <pre class="programlisting">#define G_TYPE_BYTE_ARRAY (g_byte_array_get_type ())
353 </pre>
354 <p>
355 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> reference.
356 </p>
357 <p class="since">Since 2.22</p>
358 </div>
359 <hr>
360 <div class="refsect2">
361 <a name="G-TYPE-PTR-ARRAY:CAPS"></a><h3>G_TYPE_PTR_ARRAY</h3>
362 <pre class="programlisting">#define G_TYPE_PTR_ARRAY (g_ptr_array_get_type ())
363 </pre>
364 <p>
365 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> reference.
366 </p>
367 <p class="since">Since 2.22</p>
368 </div>
369 <hr>
370 <div class="refsect2">
371 <a name="G-TYPE-BYTES:CAPS"></a><h3>G_TYPE_BYTES</h3>
372 <pre class="programlisting">#define G_TYPE_BYTES (g_bytes_get_type ())
373 </pre>
374 <p>
375 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a>.
376 </p>
377 <p class="since">Since 2.32</p>
378 </div>
379 <hr>
380 <div class="refsect2">
381 <a name="G-TYPE-VARIANT-TYPE:CAPS"></a><h3>G_TYPE_VARIANT_TYPE</h3>
382 <pre class="programlisting">#define G_TYPE_VARIANT_TYPE (g_variant_type_get_gtype ())
383 </pre>
384 <p>
385 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-GVariantType.html#GVariantType"><span class="type">GVariantType</span></a>.
386 </p>
387 <p class="since">Since 2.24</p>
388 </div>
389 <hr>
390 <div class="refsect2">
391 <a name="G-TYPE-ERROR:CAPS"></a><h3>G_TYPE_ERROR</h3>
392 <pre class="programlisting">#define G_TYPE_ERROR (g_error_get_type ())
393 </pre>
394 <p>
395 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>.
396 </p>
397 <p class="since">Since 2.26</p>
398 </div>
399 <hr>
400 <div class="refsect2">
401 <a name="G-TYPE-DATE-TIME:CAPS"></a><h3>G_TYPE_DATE_TIME</h3>
402 <pre class="programlisting">#define G_TYPE_DATE_TIME (g_date_time_get_type ())
403 </pre>
404 <p>
405 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-GDateTime.html#GDateTime"><span class="type">GDateTime</span></a>.
406 </p>
407 <p class="since">Since 2.26</p>
408 </div>
409 <hr>
410 <div class="refsect2">
411 <a name="G-TYPE-IO-CHANNEL:CAPS"></a><h3>G_TYPE_IO_CHANNEL</h3>
412 <pre class="programlisting">#define G_TYPE_IO_CHANNEL (g_io_channel_get_type ())
413 </pre>
414 <p>
415 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-IO-Channels.html#GIOChannel"><span class="type">GIOChannel</span></a>.
416 </p>
417 </div>
418 <hr>
419 <div class="refsect2">
420 <a name="G-TYPE-IO-CONDITION:CAPS"></a><h3>G_TYPE_IO_CONDITION</h3>
421 <pre class="programlisting">#define G_TYPE_IO_CONDITION (g_io_condition_get_type ())
422 </pre>
423 <p>
424 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for <a href="./../glib/glib/glib-IO-Channels.html#GIOCondition"><span class="type">GIOCondition</span></a>.
425 </p>
426 </div>
427 <hr>
428 <div class="refsect2">
429 <a name="G-TYPE-VARIANT-BUILDER:CAPS"></a><h3>G_TYPE_VARIANT_BUILDER</h3>
430 <pre class="programlisting">#define G_TYPE_VARIANT_BUILDER (g_variant_builder_get_type ())
431 </pre>
432 <p>
433 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a>.
434 </p>
435 <p class="since">Since 2.30</p>
436 </div>
437 <hr>
438 <div class="refsect2">
439 <a name="G-TYPE-KEY-FILE:CAPS"></a><h3>G_TYPE_KEY_FILE</h3>
440 <pre class="programlisting">#define G_TYPE_KEY_FILE (g_key_file_get_type ())
441 </pre>
442 <p>
443 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a>.
444 </p>
445 <p class="since">Since 2.32</p>
446 </div>
447 <hr>
448 <div class="refsect2">
449 <a name="G-TYPE-MAIN-CONTEXT:CAPS"></a><h3>G_TYPE_MAIN_CONTEXT</h3>
450 <pre class="programlisting">#define G_TYPE_MAIN_CONTEXT (g_main_context_get_type ())
451 </pre>
452 <p>
453 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a>.
454 </p>
455 <p class="since">Since 2.30</p>
456 </div>
457 <hr>
458 <div class="refsect2">
459 <a name="G-TYPE-MAIN-LOOP:CAPS"></a><h3>G_TYPE_MAIN_LOOP</h3>
460 <pre class="programlisting">#define G_TYPE_MAIN_LOOP (g_main_loop_get_type ())
461 </pre>
462 <p>
463 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-The-Main-Event-Loop.html#GMainLoop"><span class="type">GMainLoop</span></a>.
464 </p>
465 <p class="since">Since 2.30</p>
466 </div>
467 <hr>
468 <div class="refsect2">
469 <a name="G-TYPE-SOURCE:CAPS"></a><h3>G_TYPE_SOURCE</h3>
470 <pre class="programlisting">#define G_TYPE_SOURCE (g_source_get_type ())
471 </pre>
472 <p>
473 The <a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> for a boxed type holding a <a href="./../glib/glib/glib-The-Main-Event-Loop.html#GSource"><span class="type">GSource</span></a>.
474 </p>
475 <p class="since">Since 2.30</p>
476 </div>
477 <hr>
478 <div class="refsect2">
479 <a name="GStrv"></a><h3>GStrv</h3>
480 <pre class="programlisting">typedef gchar** GStrv;
481 </pre>
482 <p>
483 A C representable type name for <a class="link" href="gobject-Boxed-Types.html#G-TYPE-STRV:CAPS" title="G_TYPE_STRV"><span class="type">G_TYPE_STRV</span></a>.
484 </p>
485 </div>
486 </div>
487 <div class="refsect1">
488 <a name="gobject-Boxed-Types.see-also"></a><h2>See Also</h2>
489 <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecBoxed" title="struct GParamSpecBoxed"><span class="type">GParamSpecBoxed</span></a>, <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-boxed" title="g_param_spec_boxed ()"><code class="function">g_param_spec_boxed()</code></a>
490 </div>
491 </div>
492 <div class="footer">
493 <hr>
494           Generated by GTK-Doc V1.18</div>
495 </body>
496 </html>