3
* Copyright (C) 2006-2007 JĆ¼rg Billeter
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) any later version.
10
* This library is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
* Lesser General Public License for more details.
15
* You should have received a copy of the GNU Lesser General Public
16
* License along with this library; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
* JĆ¼rg Billeter <j@bitron.ch>
23
[CCode (cprefix = "G", lower_case_cprefix = "g_", cheader_filename = "glib.h")]
25
[CCode (cheader_filename = "gidlparser.h")]
27
public List<IdlModule> parse_file (string filename) throws MarkupError;
31
[CCode (free_function = "g_idl_module_free", cheader_filename = "gidlmodule.h")]
32
public class IdlModule {
34
public List<IdlNode> entries;
37
[CCode (cprefix = "G_IDL_NODE_", cheader_filename = "gidlnode.h")]
38
public enum IdlNodeTypeId {
62
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
63
public class IdlNode {
64
public IdlNodeTypeId type;
69
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
70
public class IdlNodeFunction {
71
public bool deprecated;
73
public bool is_method;
74
public bool is_setter;
75
public bool is_getter;
76
public bool is_constructor;
77
public bool wraps_vfunc;
81
public IdlNodeParam result;
82
public List<IdlNodeParam> parameters;
86
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
87
public class IdlNodeVFunc
89
public bool must_chain_up;
90
public bool must_be_implemented;
91
public bool must_not_be_implemented;
92
public bool is_class_closure;
94
public List<IdlNodeParam> parameters;
95
public IdlNodeParam result;
100
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
101
public class IdlNodeSignal {
102
public bool deprecated;
104
public bool run_first;
105
public bool run_last;
106
public bool run_cleanup;
107
public bool no_recurse;
108
public bool detailed;
110
public bool no_hooks;
112
public bool has_class_closure;
113
public bool true_stops_emit;
115
public int class_closure;
117
public List<IdlNodeParam> parameters;
118
public IdlNodeParam result;
122
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
123
public class IdlNodeBoxed {
124
public bool deprecated;
126
public string gtype_name;
127
public string gtype_init;
129
public List<IdlNode> members;
133
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
134
public class IdlNodeEnum {
135
public bool deprecated;
137
public string gtype_name;
138
public string gtype_init;
140
public List<IdlNode> values;
144
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
145
public class IdlNodeField {
146
public bool readable;
147
public bool writable;
151
public IdlNodeType type;
155
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
156
public class IdlNodeConstant {
157
public bool deprecated;
159
public IdlNodeType type;
165
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
166
public class IdlNodeInterface {
167
public bool deprecated;
169
public string gtype_name;
170
public string gtype_init;
172
public string parent;
174
public List<string> interfaces;
175
public List<string> prerequisites;
177
public List<IdlNode> members;
181
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
182
public class IdlNodeParam {
186
public bool optional;
189
public bool transfer;
190
public bool shallow_transfer;
192
public IdlNodeType type;
196
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
197
public class IdlNodeProperty {
198
public bool deprecated;
202
public bool readable;
203
public bool writable;
204
public bool @construct;
205
public bool construct_only;
207
public IdlNodeType type;
211
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
212
public class IdlNodeStruct {
213
public bool deprecated;
215
public List<IdlNode> members;
219
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
220
public class IdlNodeUnion {
221
public bool deprecated;
223
public List<IdlNode> members;
227
[CCode (free_function = "g_idl_node_free", cheader_filename = "gidlnode.h")]
228
public class IdlNodeType {
229
public bool is_pointer;
230
public bool is_basic;
231
public bool is_array;
232
public bool is_glist;
233
public bool is_gslist;
234
public bool is_ghashtable;
235
public bool is_interface;
236
public bool is_error;
239
public string unparsed;
241
public bool zero_terminated;
242
public bool has_length;
245
public IdlNodeType parameter_type1;
246
public IdlNodeType parameter_type2;
248
public string @interface;
249
public string[] errors;
252
[CCode (cname = "GITypeTag", cprefix = "TYPE_TAG_", cheader_filename = "gmetadata.h")]