Add two new functions to check sequence return values. Also fixes a
[platform/upstream/gobject-introspection.git] / tests / parser / Foo-expected.gidl
1 <?xml version="1.0"?>
2 <api version="1.0">
3         <namespace name="Foo">
4                 <function name="enum_type_method" symbol="foo_enum_type_method">
5                         <return-type type="int"/>
6                         <parameters>
7                                 <parameter name="foo_enum" type="FooEnumType"/>
8                         </parameters>
9                 </function>
10                 <function name="init" symbol="foo_init">
11                         <return-type type="gint"/>
12                 </function>
13                 <callback name="FooCallback">
14                         <return-type type="gboolean"/>
15                         <parameters>
16                                 <parameter name="foo" type="FooObject*"/>
17                                 <parameter name="b" type="gboolean"/>
18                                 <parameter name="data" type="gpointer"/>
19                         </parameters>
20                 </callback>
21                 <boxed name="FooBoxed" type-name="FooBoxed" get-type="foo_boxed_get_type">
22                         <method name="method" symbol="foo_boxed_method">
23                                 <return-type type="void"/>
24                                 <parameters>
25                                         <parameter name="boxed" type="FooBoxed*"/>
26                                 </parameters>
27                         </method>
28                         <constructor name="new" symbol="foo_boxed_new">
29                                 <return-type type="FooBoxed*"/>
30                         </constructor>
31                 </boxed>
32                 <enum name="FooEnumNoType">
33                         <member name="FOO_ENUM_UN" value="1"/>
34                         <member name="FOO_ENUM_DEUX" value="2"/>
35                         <member name="FOO_ENUM_TROIS" value="3"/>
36                 </enum>
37                 <enum name="FooEnumType" type-name="FooEnumType" get-type="foo_enum_type_get_type">
38                         <member name="FOO_ENUM_ALPHA" value="0"/>
39                         <member name="FOO_ENUM_BETA" value="1"/>
40                         <member name="FOO_ENUM_DELTA" value="2"/>
41                 </enum>
42                 <flags name="FooFlagsType" type-name="FooFlagsType" get-type="foo_flags_type_get_type">
43                         <member name="FOO_FLAGS_FIRST" value="1"/>
44                         <member name="FOO_FLAGS_SECOND" value="2"/>
45                         <member name="FOO_FLAGS_THIRD" value="4"/>
46                 </flags>
47                 <object name="FooObject" parent="GLib.Object" type-name="FooObject" get-type="foo_object_get_type">
48                         <method name="calleeowns" symbol="foo_object_calleeowns">
49                                 <return-type type="gint"/>
50                                 <parameters>
51                                         <parameter name="object" type="FooObject*"/>
52                                         <parameter name="toown" type="GObject*" transfer="full"/>
53                                 </parameters>
54                         </method>
55                         <method name="calleesowns" symbol="foo_object_calleesowns">
56                                 <return-type type="gint"/>
57                                 <parameters>
58                                         <parameter name="object" type="FooObject*"/>
59                                         <parameter name="toown1" type="GObject*" transfer="full"/>
60                                         <parameter name="toown2" type="GObject*" transfer="full"/>
61                                 </parameters>
62                         </method>
63                         <method name="create_object" symbol="foo_object_create_object">
64                                 <return-type type="GObject*" transfer="full"/>
65                                 <parameters>
66                                         <parameter name="object" type="FooObject*"/>
67                                 </parameters>
68                         </method>
69                         <method name="external_type" symbol="foo_object_external_type">
70                                 <return-type type="UtilityObject*"/>
71                                 <parameters>
72                                         <parameter name="object" type="FooObject*"/>
73                                 </parameters>
74                         </method>
75                         <method name="get_objects" symbol="foo_object_get_objects">
76                                 <return-type type="GSList*"/>
77                                 <parameters>
78                                         <parameter name="object" type="FooObject*"/>
79                                 </parameters>
80                         </method>
81                         <method name="get_strings" symbol="foo_object_get_strings">
82                                 <return-type type="GList*"/>
83                                 <parameters>
84                                         <parameter name="object" type="FooObject*"/>
85                                 </parameters>
86                         </method>
87                         <method name="in" symbol="foo_object_in">
88                                 <return-type type="gint"/>
89                                 <parameters>
90                                         <parameter name="object" type="FooObject*"/>
91                                         <parameter name="inarg" type="int*"/>
92                                 </parameters>
93                         </method>
94                         <method name="inout" symbol="foo_object_inout">
95                                 <return-type type="gint"/>
96                                 <parameters>
97                                         <parameter name="object" type="FooObject*"/>
98                                         <parameter name="inoutarg" type="int*" direction="in-out"/>
99                                 </parameters>
100                         </method>
101                         <method name="inout2" symbol="foo_object_inout2">
102                                 <return-type type="gint"/>
103                                 <parameters>
104                                         <parameter name="object" type="FooObject*"/>
105                                         <parameter name="inoutarg" type="int*"/>
106                                 </parameters>
107                         </method>
108                         <method name="inout3" symbol="foo_object_inout3">
109                                 <return-type type="gint"/>
110                                 <parameters>
111                                         <parameter name="object" type="FooObject*"/>
112                                         <parameter name="inoutarg" type="int*" direction="in-out"/>
113                                 </parameters>
114                         </method>
115                         <method name="method" symbol="foo_object_method">
116                                 <return-type type="gint"/>
117                                 <parameters>
118                                         <parameter name="object" type="FooObject*"/>
119                                 </parameters>
120                         </method>
121                         <constructor name="new" symbol="foo_object_new">
122                                 <return-type type="FooObject*"/>
123                         </constructor>
124                         <method name="out" symbol="foo_object_out">
125                                 <return-type type="gint"/>
126                                 <parameters>
127                                         <parameter name="object" type="FooObject*"/>
128                                         <parameter name="outarg" type="int*" direction="out"/>
129                                 </parameters>
130                         </method>
131                         <property name="string" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
132                         <signal name="signal" when="LAST">
133                                 <return-type type="char*"/>
134                                 <parameters>
135                                         <parameter name="object" type="FooObject*"/>
136                                         <parameter name="p0" type="GObject*"/>
137                                         <parameter name="p1" type="gpointer"/>
138                                 </parameters>
139                         </signal>
140                         <vfunc name="virtual_method">
141                                 <return-type type="gboolean"/>
142                                 <parameters>
143                                         <parameter name="object" type="FooObject*"/>
144                                         <parameter name="first_param" type="int"/>
145                                 </parameters>
146                         </vfunc>
147                 </object>
148                 <object name="FooSubobject" parent="FooObject" type-name="FooSubobject" get-type="foo_subobject_get_type">
149                         <constructor name="new" symbol="foo_subobject_new">
150                                 <return-type type="FooSubobject*"/>
151                         </constructor>
152                 </object>
153                 <interface name="FooInterface" type-name="FooInterface" get-type="foo_interface_get_type">
154                         <requires>
155                                 <interface name="GObject"/>
156                         </requires>
157                 </interface>
158         </namespace>
159 </api>