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="GLib" version="2.0"/>
7 <include name="GObject" version="2.0"/>
8 <include name="utility" version="1.0"/>
9 <namespace name="foo" version="1.0" shared-library="foo">
10 <alias name="List" target="GLib.SList" c:type="FooList"/>
11 <alias name="XEvent" target="none" c:type="FooXEvent"/>
12 <alias name="ObjectCookie" target="any" c:type="FooObjectCookie"/>
13 <interface name="Interface"
15 glib:type-name="FooInterface"
16 glib:get-type="foo_interface_get_type">
17 <callback name="do_foo" c:type="do_foo">
18 <return-value transfer-ownership="none">
19 <type name="none" c:type="void"/>
22 <parameter name="self" transfer-ownership="none">
23 <type name="Interface" c:type="FooInterface*"/>
28 <record name="InterfaceIface" c:type="FooInterfaceIface">
29 <field name="parent_iface">
30 <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
32 <callback name="do_foo" c:type="do_foo">
33 <return-value transfer-ownership="none">
34 <type name="none" c:type="void"/>
37 <parameter name="self" transfer-ownership="none">
38 <type name="Interface" c:type="FooInterface*"/>
45 parent="GObject.Object"
46 glib:type-name="FooObject"
47 glib:get-type="foo_object_get_type">
48 <implements name="Interface"/>
49 <constructor name="new" c:identifier="foo_object_new">
50 <return-value transfer-ownership="full">
51 <type name="Object" c:type="FooObject*"/>
54 <method name="external_type" c:identifier="foo_object_external_type">
55 <return-value transfer-ownership="full">
56 <type name="utility.Object" c:type="UtilityObject*"/>
59 <method name="various" c:identifier="foo_object_various">
60 <return-value transfer-ownership="none">
61 <type name="none" c:type="void"/>
64 <parameter name="data" transfer-ownership="none">
65 <type name="any" c:type="void*"/>
67 <parameter name="some_type" transfer-ownership="none">
68 <type name="GType" c:type="GType"/>
72 <method name="take_all" c:identifier="foo_object_take_all">
73 <return-value transfer-ownership="none">
74 <type name="none" c:type="void"/>
77 <parameter name="x" transfer-ownership="none">
78 <type name="int" c:type="int"/>
86 <method name="with_tdef" c:identifier="foo_object_with_tdef">
87 <return-value transfer-ownership="none">
88 <type name="none" c:type="void"/>
91 <parameter name="blah" transfer-ownership="none">
92 <type name="List" c:type="FooList*"/>
96 <method name="new_cookie" c:identifier="foo_object_new_cookie">
97 <return-value transfer-ownership="full">
98 <type name="ObjectCookie" c:type="FooObjectCookie"/>
101 <parameter name="target" transfer-ownership="none">
102 <type name="utf8" c:type="char*"/>
106 <method name="is_it_time_yet" c:identifier="foo_object_is_it_time_yet">
107 <return-value transfer-ownership="none">
108 <type name="none" c:type="void"/>
111 <parameter name="time" transfer-ownership="none">
112 <type name="time_t" c:type="time_t"/>
116 <method name="get_name" c:identifier="foo_object_get_name">
117 <return-value transfer-ownership="none">
118 <type name="utf8" c:type="char*"/>
121 <method name="dup_name" c:identifier="foo_object_dup_name">
122 <return-value transfer-ownership="full">
123 <type name="utf8" c:type="char*"/>
126 <method name="handle_glyph" c:identifier="foo_object_handle_glyph">
127 <return-value transfer-ownership="none">
128 <type name="none" c:type="void"/>
131 <parameter name="glyph" transfer-ownership="none">
132 <type name="utility.Glyph" c:type="UtilityGlyph"/>
136 <property name="string" writable="1" construct="1">
137 <type name="utf8" c:type="gchararray"/>
139 <field name="parent_instance">
140 <type name="GObject.Object" c:type="GObject"/>
142 <callback name="virtual_method" c:type="virtual_method">
143 <return-value transfer-ownership="none">
144 <type name="boolean" c:type="gboolean"/>
147 <parameter name="object" transfer-ownership="none">
148 <type name="Object" c:type="FooObject*"/>
150 <parameter name="first_param" transfer-ownership="none">
151 <type name="int" c:type="int"/>
155 <glib:signal name="signal">
157 <type name="utf8" c:type="gchararray"/>
160 <parameter name="object">
161 <type name="GObject.Object" c:type="GObject"/>
163 <parameter name="p0">
164 <type name="any" c:type="gpointer"/>
169 <record name="ObjectClass" c:type="FooObjectClass">
170 <field name="parent_class">
171 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
173 <callback name="virtual_method" c:type="virtual_method">
174 <return-value transfer-ownership="none">
175 <type name="boolean" c:type="gboolean"/>
178 <parameter name="object" transfer-ownership="none">
179 <type name="Object" c:type="FooObject*"/>
181 <parameter name="first_param" transfer-ownership="none">
182 <type name="int" c:type="int"/>
187 <class name="Subobject"
188 c:type="FooSubobject"
191 glib:type-name="FooSubobject"
192 glib:get-type="foo_subobject_get_type">
193 <implements name="Interface"/>
194 <constructor name="new" c:identifier="foo_subobject_new">
195 <return-value transfer-ownership="full">
196 <type name="Subobject" c:type="FooSubobject*"/>
199 <field name="parent_instance">
200 <type name="Object" c:type="FooObject"/>
203 <record name="SubobjectClass" c:type="FooSubobjectClass">
204 <field name="parent_class">
205 <type name="ObjectClass" c:type="FooObjectClass"/>
208 <function name="init" c:identifier="foo_init">
209 <return-value transfer-ownership="none">
210 <type name="int" c:type="gint"/>
213 <enumeration name="EnumType"
214 glib:type-name="FooEnumType"
215 glib:get-type="foo_enum_type_get_type"
216 c:type="FooEnumType">
219 c:identifier="FOO_ENUM_ALPHA"
223 c:identifier="FOO_ENUM_BETA"
227 c:identifier="FOO_ENUM_DELTA"
230 <function name="enum_type_method" c:identifier="foo_enum_type_method">
231 <return-value transfer-ownership="none">
232 <type name="int" c:type="int"/>
235 <parameter name="foo_enum" transfer-ownership="none">
236 <type name="EnumType" c:type="FooEnumType"/>
240 <function name="enum_type_returnv" c:identifier="foo_enum_type_returnv">
241 <return-value transfer-ownership="full">
242 <type name="EnumType" c:type="FooEnumType"/>
245 <parameter name="x" transfer-ownership="none">
246 <type name="int" c:type="int"/>
250 <bitfield name="FlagsType"
251 glib:type-name="FooFlagsType"
252 glib:get-type="foo_flags_type_get_type"
253 c:type="FooFlagsType">
256 c:identifier="FOO_FLAGS_FIRST"
258 <member name="second"
260 c:identifier="FOO_FLAGS_SECOND"
264 c:identifier="FOO_FLAGS_THIRD"
267 <enumeration name="EnumNoType" c:type="FooEnumNoType">
268 <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
269 <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
270 <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
271 <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
273 <enumeration name="EnumFullname" c:type="FooEnumFullname">
274 <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
275 <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
276 <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
280 glib:type-name="FooBoxed"
281 glib:get-type="foo_boxed_get_type">
282 <constructor name="new" c:identifier="foo_boxed_new">
283 <return-value transfer-ownership="full">
284 <type name="Boxed" c:type="FooBoxed*"/>
287 <method name="method" c:identifier="foo_boxed_method">
288 <return-value transfer-ownership="none">
289 <type name="none" c:type="void"/>
293 <record name="DBusData"
295 glib:type-name="FooDBusData"
296 glib:get-type="foo_dbus_data_get_type">
297 <method name="method" c:identifier="foo_dbus_data_method">
298 <return-value transfer-ownership="none">
299 <type name="none" c:type="void"/>
303 <callback name="Callback" c:type="FooCallback">
304 <return-value transfer-ownership="none">
305 <type name="boolean" c:type="gboolean"/>
308 <parameter name="foo" transfer-ownership="none">
309 <type name="Object" c:type="FooObject*"/>
311 <parameter name="b" transfer-ownership="none">
312 <type name="boolean" c:type="gboolean"/>
314 <parameter name="data" transfer-ownership="none">
315 <type name="any" c:type="gpointer"/>
319 <record name="Struct" c:type="FooStruct">
320 <field name="priv" writable="1">
321 <type name="StructPrivate" c:type="FooStructPrivate*"/>
323 <field name="member" writable="1">
324 <type name="int" c:type="int"/>
327 <record name="StructPrivate" c:type="FooStructPrivate">
329 <record name="Rectangle" c:type="FooRectangle">
330 <field name="x" writable="1">
331 <type name="int" c:type="gint"/>
333 <field name="y" writable="1">
334 <type name="int" c:type="gint"/>
336 <field name="width" writable="1">
337 <type name="int" c:type="gint"/>
339 <field name="height" writable="1">
340 <type name="int" c:type="gint"/>
343 <function name="method_external_references"
344 c:identifier="foo_method_external_references">
345 <return-value transfer-ownership="none">
346 <type name="none" c:type="void"/>
349 <parameter name="object" transfer-ownership="none">
350 <type name="utility.Object" c:type="UtilityObject*"/>
352 <parameter name="e" transfer-ownership="none">
353 <type name="utility.EnumType" c:type="UtilityEnumType"/>
355 <parameter name="f" transfer-ownership="none">
356 <type name="utility.FlagType" c:type="UtilityFlagType"/>
358 <parameter name="s" transfer-ownership="none">
359 <type name="utility.Struct" c:type="UtilityStruct"/>
363 <function name="rectangle_add" c:identifier="foo_rectangle_add">
364 <return-value transfer-ownership="none">
365 <type name="none" c:type="void"/>
368 <parameter name="r1" direction="inout" transfer-ownership="full">
369 <type name="Rectangle" c:type="FooRectangle*"/>
371 <parameter name="r2" transfer-ownership="none">
372 <type name="Rectangle" c:type="FooRectangle*"/>
376 <function name="rectangle_new" c:identifier="foo_rectangle_new">
377 <return-value transfer-ownership="full">
378 <type name="Rectangle" c:type="FooRectangle*"/>
381 <parameter name="x" transfer-ownership="none">
382 <type name="int" c:type="int"/>
384 <parameter name="y" transfer-ownership="none">
385 <type name="int" c:type="int"/>
387 <parameter name="width" transfer-ownership="none">
388 <type name="int" c:type="int"/>
390 <parameter name="height" transfer-ownership="none">
391 <type name="int" c:type="int"/>
395 <record name="EventAny" c:type="FooEventAny">
396 <field name="send_event" writable="1">
397 <type name="int8" c:type="gint8"/>
400 <record name="EventExpose" c:type="FooEventExpose">
401 <field name="send_event" writable="1">
402 <type name="int8" c:type="gint8"/>
404 <field name="count" writable="1">
405 <type name="int" c:type="gint"/>
408 <union name="Event" c:type="FooEvent">
409 <field name="type" writable="1">
410 <type name="int" c:type="int"/>
412 <field name="any" writable="1">
413 <type name="EventAny" c:type="FooEventAny"/>
415 <field name="expose" writable="1">
416 <type name="EventExpose" c:type="FooEventExpose"/>
421 glib:type-name="FooBRect"
422 glib:get-type="foo_brect_get_type">
423 <field name="x" writable="1">
424 <type name="double" c:type="double"/>
426 <field name="y" writable="1">
427 <type name="double" c:type="double"/>
429 <constructor name="new" c:identifier="foo_brect_new">
430 <return-value transfer-ownership="full">
431 <type name="BRect" c:type="FooBRect*"/>
434 <parameter name="x" transfer-ownership="none">
435 <type name="double" c:type="double"/>
437 <parameter name="y" transfer-ownership="none">
438 <type name="double" c:type="double"/>
442 <method name="add" c:identifier="foo_brect_add">
443 <return-value transfer-ownership="none">
444 <type name="none" c:type="void"/>
447 <parameter name="b2" transfer-ownership="none">
448 <type name="BRect" c:type="FooBRect*"/>
455 glib:type-name="FooBUnion"
456 glib:get-type="foo_bunion_get_type">
457 <field name="type" writable="1">
458 <type name="int" c:type="int"/>
460 <field name="v" writable="1">
461 <type name="double" c:type="double"/>
463 <field name="rect" writable="1">
464 <type name="BRect" c:type="FooBRect*"/>
466 <constructor name="new" c:identifier="foo_bunion_new">
467 <return-value transfer-ownership="full">
468 <type name="BUnion" c:type="FooBUnion*"/>
471 <method name="get_contained_type"
472 c:identifier="foo_bunion_get_contained_type">
473 <return-value transfer-ownership="none">
474 <type name="int" c:type="int"/>
478 <union name="Union" c:type="_FooUnion">
479 <field name="foo" writable="1">
480 <type name="int" c:type="int"/>
483 <function name="test_unsigned_qualifier"
484 c:identifier="foo_test_unsigned_qualifier">
485 <return-value transfer-ownership="none">
486 <type name="none" c:type="void"/>
489 <parameter name="unsigned_param" transfer-ownership="none">
490 <type name="uint" c:type="unsigned int"/>
494 <function name="test_unsigned_type" c:identifier="foo_test_unsigned_type">
495 <return-value transfer-ownership="none">
496 <type name="none" c:type="void"/>
499 <parameter name="unsigned_param" transfer-ownership="none">
500 <type name="uint" c:type="unsigned"/>
504 <function name="test_string_array" c:identifier="foo_test_string_array">
505 <return-value transfer-ownership="none">
506 <type name="none" c:type="void"/>
509 <parameter name="array" transfer-ownership="none">
510 <array c:type="char**">
516 <function name="test_string_array_with_g"
517 c:identifier="foo_test_string_array_with_g">
518 <return-value transfer-ownership="none">
519 <type name="none" c:type="void"/>
522 <parameter name="array" transfer-ownership="none">
523 <array c:type="gchar**">
529 <constant name="SUCCESS_INT" value="4408">