425921145d8e723828994ad96806c5e8fa41d582
[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="in" symbol="foo_object_in">
76                                 <return-type type="gint"/>
77                                 <parameters>
78                                         <parameter name="object" type="FooObject*"/>
79                                         <parameter name="inarg" type="int*"/>
80                                 </parameters>
81                         </method>
82                         <method name="inout" symbol="foo_object_inout">
83                                 <return-type type="gint"/>
84                                 <parameters>
85                                         <parameter name="object" type="FooObject*"/>
86                                         <parameter name="inoutarg" type="int*" direction="in-out"/>
87                                 </parameters>
88                         </method>
89                         <method name="inout2" symbol="foo_object_inout2">
90                                 <return-type type="gint"/>
91                                 <parameters>
92                                         <parameter name="object" type="FooObject*"/>
93                                         <parameter name="inoutarg" type="int*" direction="in-out"/>
94                                 </parameters>
95                         </method>
96                         <method name="inout3" symbol="foo_object_inout3">
97                                 <return-type type="gint"/>
98                                 <parameters>
99                                         <parameter name="object" type="FooObject*"/>
100                                         <parameter name="inoutarg" type="int*" direction="in-out"/>
101                                 </parameters>
102                         </method>
103                         <method name="method" symbol="foo_object_method">
104                                 <return-type type="gint"/>
105                                 <parameters>
106                                         <parameter name="object" type="FooObject*"/>
107                                 </parameters>
108                         </method>
109                         <constructor name="new" symbol="foo_object_new">
110                                 <return-type type="FooObject*"/>
111                         </constructor>
112                         <method name="out" symbol="foo_object_out">
113                                 <return-type type="gint"/>
114                                 <parameters>
115                                         <parameter name="object" type="FooObject*"/>
116                                         <parameter name="outarg" type="int*" direction="out"/>
117                                 </parameters>
118                         </method>
119                         <property name="string" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
120                         <signal name="signal" when="LAST">
121                                 <return-type type="char*"/>
122                                 <parameters>
123                                         <parameter name="object" type="FooObject*"/>
124                                         <parameter name="p0" type="GObject*"/>
125                                         <parameter name="p1" type="gpointer"/>
126                                 </parameters>
127                         </signal>
128                         <vfunc name="virtual_method">
129                                 <return-type type="gboolean"/>
130                                 <parameters>
131                                         <parameter name="object" type="FooObject*"/>
132                                         <parameter name="first_param" type="int"/>
133                                 </parameters>
134                         </vfunc>
135                 </object>
136                 <object name="FooSubobject" parent="FooObject" type-name="FooSubobject" get-type="foo_subobject_get_type">
137                         <constructor name="new" symbol="foo_subobject_new">
138                                 <return-type type="FooSubobject*"/>
139                         </constructor>
140                 </object>
141                 <interface name="FooInterface" type-name="FooInterface" get-type="foo_interface_get_type">
142                         <requires>
143                                 <interface name="GObject"/>
144                         </requires>
145                 </interface>
146         </namespace>
147 </api>