2 <repository version="1.0"
3 xmlns="http://www.gtk.org/introspection/core/1.0"
4 xmlns:c="http://www.gtk.org/introspection/c/1.0"
5 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
6 <include name="utility" version="1.0"/>
7 <include name="GObject" version="2.0"/>
8 <include name="GLib" version="2.0"/>
9 <namespace name="foo" version="1.0" shared-library="foo">
10 <interface name="Interface" glib:type-name="FooInterface" glib:get-type="foo_interface_get_type"/>
11 <record name="InterfaceIface">
12 <field name="parent_iface">
13 <type name="GObject.TypeInterface"/>
16 <interface name="SubInterface" glib:type-name="FooSubInterface" glib:get-type="foo_sub_interface_get_type">
17 <prerequisite name="Interface"/>
18 <method name="do_bar" c:identifier="foo_sub_interface_do_bar">
19 <return-value transfer-ownership="none">
24 <record name="SubInterfaceIface">
25 <field name="parent_iface">
26 <type name="GObject.TypeInterface"/>
29 <class name="Object" parent="GObject.Object" glib:type-name="FooObject" glib:get-type="foo_object_get_type">
30 <implements name="Interface"/>
31 <field name="parent_instance">
32 <type name="GObject.Object"/>
34 <constructor name="new" c:identifier="foo_object_new">
35 <return-value transfer-ownership="full">
39 <function name="static_meth" c:identifier="foo_object_static_meth">
40 <return-value transfer-ownership="none">
44 <method name="external_type" c:identifier="foo_object_external_type">
45 <return-value transfer-ownership="full">
46 <type name="utility.Object"/>
49 <method name="various" c:identifier="foo_object_various">
50 <return-value transfer-ownership="none">
54 <parameter name="data" transfer-ownership="none">
57 <parameter name="some_type" transfer-ownership="none">
62 <method name="with_tdef" c:identifier="foo_object_with_tdef">
63 <return-value transfer-ownership="none">
67 <parameter name="blah" transfer-ownership="none">
68 <type name="GLib.SList">
74 <method name="new_cookie" c:identifier="foo_object_new_cookie">
75 <return-value transfer-ownership="full">
79 <parameter name="target" transfer-ownership="none">
84 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
85 <return-value transfer-ownership="none">
89 <parameter name="time" transfer-ownership="none">
94 <method name="get_name" c:identifier="foo_object_get_name">
95 <return-value transfer-ownership="none">
99 <method name="dup_name" c:identifier="foo_object_dup_name">
100 <return-value transfer-ownership="full">
104 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
105 <return-value transfer-ownership="none">
109 <parameter name="glyph" transfer-ownership="none">
110 <type name="uint32"/>
114 <property name="string" writable="1" construct="1">
117 <glib:signal name="signal" when="LAST">
118 <return-value transfer-ownership="full">
122 <parameter name="object" transfer-ownership="none">
123 <type name="GObject.Object"/>
125 <parameter name="p0" transfer-ownership="none">
131 <record name="ObjectClass">
132 <field name="parent_class">
133 <type name="GObject.ObjectClass"/>
136 <class name="Subobject" parent="Object" abstract="1" glib:type-name="FooSubobject" glib:get-type="foo_subobject_get_type">
137 <implements name="Interface"/>
138 <field name="parent_instance">
139 <type name="Object"/>
141 <constructor name="new" c:identifier="foo_subobject_new">
142 <return-value transfer-ownership="full">
143 <type name="Subobject"/>
147 <record name="SubobjectClass">
148 <field name="parent_class">
149 <type name="ObjectClass"/>
152 <function name="init" c:identifier="foo_init">
153 <return-value transfer-ownership="none">
157 <enumeration name="EnumType" glib:type-name="FooEnumType" glib:get-type="foo_enum_type_get_type">
158 <member name="alpha" value="0"/>
159 <member name="beta" value="1"/>
160 <member name="delta" value="2"/>
162 <function name="enum_type_method" c:identifier="foo_enum_type_method">
163 <return-value transfer-ownership="none">
167 <parameter name="foo_enum" transfer-ownership="none">
168 <type name="EnumType"/>
172 <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
173 <return-value transfer-ownership="full">
174 <type name="EnumType"/>
177 <parameter name="x" transfer-ownership="none">
182 <bitfield name="FlagsType" glib:type-name="FooFlagsType" glib:get-type="foo_flags_type_get_type">
183 <member name="first" value="1"/>
184 <member name="second" value="2"/>
185 <member name="third" value="4"/>
187 <enumeration name="EnumNoType">
188 <member name="un" value="1"/>
189 <member name="deux" value="2"/>
190 <member name="trois" value="3"/>
191 <member name="neuf" value="9"/>
193 <enumeration name="EnumFullname">
194 <member name="one" value="1"/>
195 <member name="two" value="2"/>
196 <member name="three" value="3"/>
198 <record name="Boxed" glib:type-name="FooBoxed" glib:get-type="foo_boxed_get_type">
199 <constructor name="new" c:identifier="foo_boxed_new">
200 <return-value transfer-ownership="full">
204 <method name="method" c:identifier="foo_boxed_method">
205 <return-value transfer-ownership="none">
210 <record name="DBusData" glib:type-name="FooDBusData" glib:get-type="foo_dbus_data_get_type">
211 <method name="method" c:identifier="foo_dbus_data_method">
212 <return-value transfer-ownership="none">
217 <callback name="Callback">
218 <return-value transfer-ownership="none">
219 <type name="boolean"/>
222 <parameter name="foo" transfer-ownership="none">
223 <type name="Object"/>
225 <parameter name="b" transfer-ownership="none">
226 <type name="boolean"/>
228 <parameter name="data" transfer-ownership="none">
233 <record name="Struct">
234 <field name="priv" writable="1">
235 <type name="StructPrivate"/>
237 <field name="member" writable="1">
241 <record name="StructPrivate"/>
242 <record name="Rectangle">
243 <field name="x" writable="1">
246 <field name="y" writable="1">
249 <field name="width" writable="1">
252 <field name="height" writable="1">
256 <function name="method_external_references" c:identifier="foo_method_external_references">
257 <return-value transfer-ownership="none">
261 <parameter name="object" transfer-ownership="none">
262 <type name="utility.Object"/>
264 <parameter name="e" transfer-ownership="none">
265 <type name="utility.EnumType"/>
267 <parameter name="f" transfer-ownership="none">
268 <type name="utility.FlagType"/>
270 <parameter name="s" transfer-ownership="none">
271 <type name="utility.Struct"/>
275 <function name="rectangle_add" c:identifier="foo_rectangle_add">
276 <return-value transfer-ownership="none">
280 <parameter name="r1" transfer-ownership="full" direction="inout">
281 <type name="Rectangle"/>
283 <parameter name="r2" transfer-ownership="none">
284 <type name="Rectangle"/>
288 <function name="rectangle_new" c:identifier="foo_rectangle_new">
289 <return-value transfer-ownership="full">
290 <type name="Rectangle"/>
293 <parameter name="x" transfer-ownership="none">
296 <parameter name="y" transfer-ownership="none">
299 <parameter name="width" transfer-ownership="none">
302 <parameter name="height" transfer-ownership="none">
307 <record name="EventAny">
308 <field name="send_event" writable="1">
312 <record name="EventExpose">
313 <field name="send_event" writable="1">
316 <field name="count" writable="1">
321 <field name="type" writable="1">
324 <field name="any" writable="1">
325 <type name="EventAny"/>
327 <field name="expose" writable="1">
328 <type name="EventExpose"/>
331 <record name="BRect" glib:type-name="FooBRect" glib:get-type="foo_brect_get_type">
332 <field name="x" writable="1">
333 <type name="double"/>
335 <field name="y" writable="1">
336 <type name="double"/>
338 <constructor name="new" c:identifier="foo_brect_new">
339 <return-value transfer-ownership="full">
343 <parameter name="x" transfer-ownership="none">
344 <type name="double"/>
346 <parameter name="y" transfer-ownership="none">
347 <type name="double"/>
351 <method name="add" c:identifier="foo_brect_add">
352 <return-value transfer-ownership="none">
356 <parameter name="b2" transfer-ownership="none">
362 <union name="BUnion" type-name="FooBUnion" get-type="foo_bunion_get_type">
363 <field name="type" writable="1">
366 <field name="v" writable="1">
367 <type name="double"/>
369 <field name="rect" writable="1">
372 <constructor name="new" c:identifier="foo_bunion_new">
373 <return-value transfer-ownership="full">
374 <type name="BUnion"/>
377 <method name="get_contained_type" c:identifier="foo_bunion_get_contained_type">
378 <return-value transfer-ownership="none">
384 <field name="foo" writable="1">
388 <record name="UtilityStruct">
389 <field name="bar" writable="1">
390 <type name="utility.Struct"/>
393 <record name="ThingWithArray">
394 <field name="x" writable="1">
397 <field name="y" writable="1">
400 <field name="lines" writable="1">
401 <array fixed-size="80">
405 <field name="data" writable="1">
409 <function name="test_unsigned_qualifier" c:identifier="foo_test_unsigned_qualifier">
410 <return-value transfer-ownership="none">
414 <parameter name="unsigned_param" transfer-ownership="none">
419 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
420 <return-value transfer-ownership="none">
424 <parameter name="unsigned_param" transfer-ownership="none">
429 <function name="test_string_array" c:identifier="foo_test_string_array">
430 <return-value transfer-ownership="none">
434 <parameter name="array" transfer-ownership="none">
435 <array zero-terminated="1">
441 <function name="test_string_array_with_g" c:identifier="foo_test_string_array_with_g">
442 <return-value transfer-ownership="none">
446 <parameter name="array" transfer-ownership="none">
447 <array zero-terminated="1">
453 <constant name="SUCCESS_INT" value="4408">