1 /* valagdbusmodule.c generated by valac, the Vala compiler
2  * generated from valagdbusmodule.vala, do not modify */
3 
4 /* valagdbusmodule.vala
5  *
6  * Copyright (C) 2010-2012  Jürg Billeter
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12 
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17 
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
21  *
22  * Author:
23  * 	Jürg Billeter <j@bitron.ch>
24  */
25 
26 #include "valacodegen.h"
27 #include <vala.h>
28 #include <stdlib.h>
29 #include <string.h>
30 #include <glib.h>
31 #include <valaccode.h>
32 #include <valagee.h>
33 #include <glib-object.h>
34 
35 #define _g_free0(var) (var = (g_free (var), NULL))
36 #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
37 #define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
38 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
39 
40 static gpointer vala_gd_bus_module_parent_class = NULL;
41 
42 static void vala_gd_bus_module_real_visit_error_domain (ValaCodeVisitor* base,
43                                                  ValaErrorDomain* edomain);
44 static gboolean vala_gd_bus_module_is_file_descriptor (ValaGDBusModule* self,
45                                                 ValaDataType* type);
46 static ValaCCodeExpression* vala_gd_bus_module_get_file_descriptor (ValaGDBusModule* self,
47                                                              ValaDataType* type,
48                                                              ValaCCodeExpression* expr);
49 static ValaCCodeExpression* vala_gd_bus_module_create_from_file_descriptor (ValaGDBusModule* self,
50                                                                      ValaDataType* type,
51                                                                      ValaCCodeExpression* expr);
52 static ValaCCodeExpression* vala_gd_bus_module_get_method_info (ValaGDBusModule* self,
53                                                          ValaObjectTypeSymbol* sym);
54 static ValaCCodeExpression* vala_gd_bus_module_get_signal_info (ValaGDBusModule* self,
55                                                          ValaObjectTypeSymbol* sym);
56 static ValaCCodeExpression* vala_gd_bus_module_get_property_info (ValaGDBusModule* self,
57                                                            ValaObjectTypeSymbol* sym);
58 static void vala_gd_bus_module_declare_interface_info (ValaGDBusModule* self,
59                                                 ValaObjectTypeSymbol* sym);
60 static void vala_gd_bus_module_real_visit_class (ValaCodeVisitor* base,
61                                           ValaClass* cl);
62 static void vala_gd_bus_module_visit_object_type_symbol (ValaGDBusModule* self,
63                                                   ValaObjectTypeSymbol* sym);
64 static void vala_gd_bus_module_real_visit_interface (ValaCodeVisitor* base,
65                                               ValaInterface* iface);
66 static GType vala_gd_bus_module_get_type_once (void);
67 
68 gchar*
vala_gd_bus_module_get_dbus_name(ValaTypeSymbol * symbol)69 vala_gd_bus_module_get_dbus_name (ValaTypeSymbol* symbol)
70 {
71 	gchar* _tmp0_;
72 	gchar* result = NULL;
73 	g_return_val_if_fail (symbol != NULL, NULL);
74 	_tmp0_ = vala_code_node_get_attribute_string ((ValaCodeNode*) symbol, "DBus", "name", NULL);
75 	result = _tmp0_;
76 	return result;
77 }
78 
79 gchar*
vala_gd_bus_module_get_dbus_name_for_member(ValaSymbol * symbol)80 vala_gd_bus_module_get_dbus_name_for_member (ValaSymbol* symbol)
81 {
82 	gchar* dbus_name = NULL;
83 	gchar* _tmp0_;
84 	const gchar* _tmp1_;
85 	const gchar* _tmp2_;
86 	const gchar* _tmp3_;
87 	gchar* _tmp4_;
88 	gchar* result = NULL;
89 	g_return_val_if_fail (symbol != NULL, NULL);
90 	_tmp0_ = vala_code_node_get_attribute_string ((ValaCodeNode*) symbol, "DBus", "name", NULL);
91 	dbus_name = _tmp0_;
92 	_tmp1_ = dbus_name;
93 	if (_tmp1_ != NULL) {
94 		result = dbus_name;
95 		return result;
96 	}
97 	_tmp2_ = vala_symbol_get_name (symbol);
98 	_tmp3_ = _tmp2_;
99 	_tmp4_ = vala_symbol_lower_case_to_camel_case (_tmp3_);
100 	result = _tmp4_;
101 	_g_free0 (dbus_name);
102 	return result;
103 }
104 
105 gint
vala_gd_bus_module_get_dbus_timeout_for_member(ValaSymbol * symbol)106 vala_gd_bus_module_get_dbus_timeout_for_member (ValaSymbol* symbol)
107 {
108 	gint result = 0;
109 	g_return_val_if_fail (symbol != NULL, 0);
110 	result = vala_code_node_get_attribute_integer ((ValaCodeNode*) symbol, "DBus", "timeout", -1);
111 	return result;
112 }
113 
114 static gpointer
_vala_code_node_ref0(gpointer self)115 _vala_code_node_ref0 (gpointer self)
116 {
117 	return self ? vala_code_node_ref (self) : NULL;
118 }
119 
120 gboolean
vala_gd_bus_module_is_dbus_visible(ValaCodeNode * node)121 vala_gd_bus_module_is_dbus_visible (ValaCodeNode* node)
122 {
123 	ValaAttribute* dbus_attribute = NULL;
124 	ValaAttribute* _tmp0_;
125 	ValaAttribute* _tmp1_;
126 	gboolean _tmp2_ = FALSE;
127 	gboolean _tmp3_ = FALSE;
128 	ValaAttribute* _tmp4_;
129 	gboolean result = FALSE;
130 	g_return_val_if_fail (node != NULL, FALSE);
131 	_tmp0_ = vala_code_node_get_attribute (node, "DBus");
132 	_tmp1_ = _vala_code_node_ref0 (_tmp0_);
133 	dbus_attribute = _tmp1_;
134 	_tmp4_ = dbus_attribute;
135 	if (_tmp4_ != NULL) {
136 		ValaAttribute* _tmp5_;
137 		_tmp5_ = dbus_attribute;
138 		_tmp3_ = vala_attribute_has_argument (_tmp5_, "visible");
139 	} else {
140 		_tmp3_ = FALSE;
141 	}
142 	if (_tmp3_) {
143 		ValaAttribute* _tmp6_;
144 		_tmp6_ = dbus_attribute;
145 		_tmp2_ = !vala_attribute_get_bool (_tmp6_, "visible", FALSE);
146 	} else {
147 		_tmp2_ = FALSE;
148 	}
149 	if (_tmp2_) {
150 		result = FALSE;
151 		_vala_code_node_unref0 (dbus_attribute);
152 		return result;
153 	}
154 	result = TRUE;
155 	_vala_code_node_unref0 (dbus_attribute);
156 	return result;
157 }
158 
159 gboolean
vala_gd_bus_module_is_dbus_no_reply(ValaMethod * m)160 vala_gd_bus_module_is_dbus_no_reply (ValaMethod* m)
161 {
162 	gboolean result = FALSE;
163 	g_return_val_if_fail (m != NULL, FALSE);
164 	result = vala_code_node_get_attribute_bool ((ValaCodeNode*) m, "DBus", "no_reply", FALSE);
165 	return result;
166 }
167 
168 gchar*
vala_gd_bus_module_dbus_result_name(ValaMethod * m)169 vala_gd_bus_module_dbus_result_name (ValaMethod* m)
170 {
171 	gchar* dbus_name = NULL;
172 	gchar* _tmp0_;
173 	gboolean _tmp1_ = FALSE;
174 	const gchar* _tmp2_;
175 	gchar* _tmp4_;
176 	gchar* result = NULL;
177 	g_return_val_if_fail (m != NULL, NULL);
178 	_tmp0_ = vala_code_node_get_attribute_string ((ValaCodeNode*) m, "DBus", "result", NULL);
179 	dbus_name = _tmp0_;
180 	_tmp2_ = dbus_name;
181 	if (_tmp2_ != NULL) {
182 		const gchar* _tmp3_;
183 		_tmp3_ = dbus_name;
184 		_tmp1_ = g_strcmp0 (_tmp3_, "") != 0;
185 	} else {
186 		_tmp1_ = FALSE;
187 	}
188 	if (_tmp1_) {
189 		result = dbus_name;
190 		return result;
191 	}
192 	_tmp4_ = g_strdup ("result");
193 	result = _tmp4_;
194 	_g_free0 (dbus_name);
195 	return result;
196 }
197 
198 static gpointer
_vala_iterable_ref0(gpointer self)199 _vala_iterable_ref0 (gpointer self)
200 {
201 	return self ? vala_iterable_ref (self) : NULL;
202 }
203 
204 static void
vala_gd_bus_module_real_visit_error_domain(ValaCodeVisitor * base,ValaErrorDomain * edomain)205 vala_gd_bus_module_real_visit_error_domain (ValaCodeVisitor* base,
206                                             ValaErrorDomain* edomain)
207 {
208 	ValaGDBusModule * self;
209 	gchar* edomain_dbus_name = NULL;
210 	gchar* _tmp0_;
211 	const gchar* _tmp1_;
212 	ValaCCodeFile* _tmp2_;
213 	ValaCCodeFile* _tmp3_;
214 	ValaCCodeInitializerList* error_entries = NULL;
215 	ValaCCodeInitializerList* _tmp6_;
216 	ValaCCodeDeclaration* _cdecl_ = NULL;
217 	ValaCCodeDeclaration* _tmp41_;
218 	ValaCCodeDeclaration* _tmp42_;
219 	gchar* _tmp43_;
220 	gchar* _tmp44_;
221 	gchar* _tmp45_;
222 	gchar* _tmp46_;
223 	ValaCCodeInitializerList* _tmp47_;
224 	ValaCCodeVariableDeclarator* _tmp48_;
225 	ValaCCodeVariableDeclarator* _tmp49_;
226 	ValaCCodeDeclaration* _tmp50_;
227 	ValaCCodeFile* _tmp51_;
228 	ValaCCodeDeclaration* _tmp52_;
229 	gchar* quark_fun_name = NULL;
230 	gchar* _tmp53_;
231 	gchar* _tmp54_;
232 	gchar* _tmp55_;
233 	gchar* _tmp56_;
234 	ValaCCodeFunction* cquark_fun = NULL;
235 	const gchar* _tmp57_;
236 	ValaDataType* _tmp58_;
237 	ValaTypeSymbol* _tmp59_;
238 	ValaTypeSymbol* _tmp60_;
239 	gchar* _tmp61_;
240 	gchar* _tmp62_;
241 	ValaCCodeFunction* _tmp63_;
242 	ValaCCodeFunction* _tmp64_;
243 	ValaCCodeFunction* _tmp65_;
244 	gchar* quark_name = NULL;
245 	gchar* _tmp66_;
246 	gchar* _tmp67_;
247 	gchar* _tmp68_;
248 	gchar* _tmp69_;
249 	ValaCCodeFunction* _tmp70_;
250 	ValaCCodeFunction* _tmp71_;
251 	const gchar* _tmp72_;
252 	ValaCCodeConstant* _tmp73_;
253 	ValaCCodeConstant* _tmp74_;
254 	ValaCCodeVariableDeclarator* _tmp75_;
255 	ValaCCodeVariableDeclarator* _tmp76_;
256 	ValaCCodeFunctionCall* register_call = NULL;
257 	ValaCCodeIdentifier* _tmp77_;
258 	ValaCCodeIdentifier* _tmp78_;
259 	ValaCCodeFunctionCall* _tmp79_;
260 	ValaCCodeFunctionCall* _tmp80_;
261 	ValaCCodeFunctionCall* _tmp81_;
262 	gchar* _tmp82_;
263 	gchar* _tmp83_;
264 	gchar* _tmp84_;
265 	gchar* _tmp85_;
266 	gchar* _tmp86_;
267 	gchar* _tmp87_;
268 	ValaCCodeConstant* _tmp88_;
269 	ValaCCodeConstant* _tmp89_;
270 	ValaCCodeFunctionCall* _tmp90_;
271 	const gchar* _tmp91_;
272 	ValaCCodeIdentifier* _tmp92_;
273 	ValaCCodeIdentifier* _tmp93_;
274 	ValaCCodeUnaryExpression* _tmp94_;
275 	ValaCCodeUnaryExpression* _tmp95_;
276 	ValaCCodeFunctionCall* _tmp96_;
277 	gchar* _tmp97_;
278 	gchar* _tmp98_;
279 	gchar* _tmp99_;
280 	gchar* _tmp100_;
281 	ValaCCodeIdentifier* _tmp101_;
282 	ValaCCodeIdentifier* _tmp102_;
283 	ValaCCodeFunctionCall* nentries = NULL;
284 	ValaCCodeIdentifier* _tmp103_;
285 	ValaCCodeIdentifier* _tmp104_;
286 	ValaCCodeFunctionCall* _tmp105_;
287 	ValaCCodeFunctionCall* _tmp106_;
288 	ValaCCodeFunctionCall* _tmp107_;
289 	gchar* _tmp108_;
290 	gchar* _tmp109_;
291 	gchar* _tmp110_;
292 	gchar* _tmp111_;
293 	ValaCCodeIdentifier* _tmp112_;
294 	ValaCCodeIdentifier* _tmp113_;
295 	ValaCCodeFunctionCall* _tmp114_;
296 	ValaCCodeFunctionCall* _tmp115_;
297 	ValaCCodeFunction* _tmp116_;
298 	ValaCCodeFunction* _tmp117_;
299 	ValaCCodeFunctionCall* _tmp118_;
300 	ValaCCodeFunction* _tmp119_;
301 	ValaCCodeFunction* _tmp120_;
302 	const gchar* _tmp121_;
303 	ValaCCodeIdentifier* _tmp122_;
304 	ValaCCodeIdentifier* _tmp123_;
305 	ValaCCodeCastExpression* _tmp124_;
306 	ValaCCodeCastExpression* _tmp125_;
307 	ValaCCodeFile* _tmp126_;
308 	ValaCCodeFunction* _tmp127_;
309 	self = (ValaGDBusModule*) base;
310 	g_return_if_fail (edomain != NULL);
311 	_tmp0_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) edomain);
312 	edomain_dbus_name = _tmp0_;
313 	_tmp1_ = edomain_dbus_name;
314 	if (_tmp1_ == NULL) {
315 		VALA_CODE_VISITOR_CLASS (vala_gd_bus_module_parent_class)->visit_error_domain ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GVARIANT_MODULE, ValaGVariantModule), edomain);
316 		_g_free0 (edomain_dbus_name);
317 		return;
318 	}
319 	_tmp2_ = ((ValaCCodeBaseModule*) self)->cfile;
320 	vala_ccode_file_add_include (_tmp2_, "gio/gio.h", FALSE);
321 	_tmp3_ = ((ValaCCodeBaseModule*) self)->cfile;
322 	vala_ccode_base_module_generate_error_domain_declaration ((ValaCCodeBaseModule*) self, edomain, _tmp3_);
323 	if (!vala_symbol_is_internal_symbol ((ValaSymbol*) edomain)) {
324 		ValaCCodeFile* _tmp4_;
325 		_tmp4_ = ((ValaCCodeBaseModule*) self)->header_file;
326 		vala_ccode_base_module_generate_error_domain_declaration ((ValaCCodeBaseModule*) self, edomain, _tmp4_);
327 	}
328 	if (!vala_symbol_is_private_symbol ((ValaSymbol*) edomain)) {
329 		ValaCCodeFile* _tmp5_;
330 		_tmp5_ = ((ValaCCodeBaseModule*) self)->internal_header_file;
331 		vala_ccode_base_module_generate_error_domain_declaration ((ValaCCodeBaseModule*) self, edomain, _tmp5_);
332 	}
333 	_tmp6_ = vala_ccode_initializer_list_new ();
334 	error_entries = _tmp6_;
335 	{
336 		ValaList* _ecode_list = NULL;
337 		ValaList* _tmp7_;
338 		ValaList* _tmp8_;
339 		gint _ecode_size = 0;
340 		ValaList* _tmp9_;
341 		gint _tmp10_;
342 		gint _tmp11_;
343 		gint _ecode_index = 0;
344 		_tmp7_ = vala_error_domain_get_codes (edomain);
345 		_tmp8_ = _vala_iterable_ref0 (_tmp7_);
346 		_ecode_list = _tmp8_;
347 		_tmp9_ = _ecode_list;
348 		_tmp10_ = vala_collection_get_size ((ValaCollection*) _tmp9_);
349 		_tmp11_ = _tmp10_;
350 		_ecode_size = _tmp11_;
351 		_ecode_index = -1;
352 		while (TRUE) {
353 			gint _tmp12_;
354 			gint _tmp13_;
355 			ValaErrorCode* ecode = NULL;
356 			ValaList* _tmp14_;
357 			gpointer _tmp15_;
358 			gchar* ecode_dbus_name = NULL;
359 			ValaErrorCode* _tmp16_;
360 			gchar* _tmp17_;
361 			const gchar* _tmp18_;
362 			ValaCCodeInitializerList* error_entry = NULL;
363 			ValaCCodeInitializerList* _tmp25_;
364 			ValaCCodeInitializerList* _tmp26_;
365 			ValaErrorCode* _tmp27_;
366 			gchar* _tmp28_;
367 			gchar* _tmp29_;
368 			ValaCCodeIdentifier* _tmp30_;
369 			ValaCCodeIdentifier* _tmp31_;
370 			ValaCCodeInitializerList* _tmp32_;
371 			const gchar* _tmp33_;
372 			const gchar* _tmp34_;
373 			gchar* _tmp35_;
374 			gchar* _tmp36_;
375 			ValaCCodeConstant* _tmp37_;
376 			ValaCCodeConstant* _tmp38_;
377 			ValaCCodeInitializerList* _tmp39_;
378 			ValaCCodeInitializerList* _tmp40_;
379 			_ecode_index = _ecode_index + 1;
380 			_tmp12_ = _ecode_index;
381 			_tmp13_ = _ecode_size;
382 			if (!(_tmp12_ < _tmp13_)) {
383 				break;
384 			}
385 			_tmp14_ = _ecode_list;
386 			_tmp15_ = vala_list_get (_tmp14_, _ecode_index);
387 			ecode = (ValaErrorCode*) _tmp15_;
388 			_tmp16_ = ecode;
389 			_tmp17_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp16_);
390 			ecode_dbus_name = _tmp17_;
391 			_tmp18_ = ecode_dbus_name;
392 			if (_tmp18_ == NULL) {
393 				ValaErrorCode* _tmp19_;
394 				const gchar* _tmp20_;
395 				const gchar* _tmp21_;
396 				gchar* _tmp22_;
397 				gchar* _tmp23_;
398 				gchar* _tmp24_;
399 				_tmp19_ = ecode;
400 				_tmp20_ = vala_symbol_get_name ((ValaSymbol*) _tmp19_);
401 				_tmp21_ = _tmp20_;
402 				_tmp22_ = g_ascii_strdown (_tmp21_, (gssize) -1);
403 				_tmp23_ = _tmp22_;
404 				_tmp24_ = vala_symbol_lower_case_to_camel_case (_tmp23_);
405 				_g_free0 (ecode_dbus_name);
406 				ecode_dbus_name = _tmp24_;
407 				_g_free0 (_tmp23_);
408 			}
409 			_tmp25_ = vala_ccode_initializer_list_new ();
410 			error_entry = _tmp25_;
411 			_tmp26_ = error_entry;
412 			_tmp27_ = ecode;
413 			_tmp28_ = vala_get_ccode_name ((ValaCodeNode*) _tmp27_);
414 			_tmp29_ = _tmp28_;
415 			_tmp30_ = vala_ccode_identifier_new (_tmp29_);
416 			_tmp31_ = _tmp30_;
417 			vala_ccode_initializer_list_append (_tmp26_, (ValaCCodeExpression*) _tmp31_);
418 			_vala_ccode_node_unref0 (_tmp31_);
419 			_g_free0 (_tmp29_);
420 			_tmp32_ = error_entry;
421 			_tmp33_ = edomain_dbus_name;
422 			_tmp34_ = ecode_dbus_name;
423 			_tmp35_ = g_strdup_printf ("\"%s.%s\"", _tmp33_, _tmp34_);
424 			_tmp36_ = _tmp35_;
425 			_tmp37_ = vala_ccode_constant_new (_tmp36_);
426 			_tmp38_ = _tmp37_;
427 			vala_ccode_initializer_list_append (_tmp32_, (ValaCCodeExpression*) _tmp38_);
428 			_vala_ccode_node_unref0 (_tmp38_);
429 			_g_free0 (_tmp36_);
430 			_tmp39_ = error_entries;
431 			_tmp40_ = error_entry;
432 			vala_ccode_initializer_list_append (_tmp39_, (ValaCCodeExpression*) _tmp40_);
433 			_vala_ccode_node_unref0 (error_entry);
434 			_g_free0 (ecode_dbus_name);
435 			_vala_code_node_unref0 (ecode);
436 		}
437 		_vala_iterable_unref0 (_ecode_list);
438 	}
439 	_tmp41_ = vala_ccode_declaration_new ("const GDBusErrorEntry");
440 	_cdecl_ = _tmp41_;
441 	_tmp42_ = _cdecl_;
442 	_tmp43_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) edomain, NULL);
443 	_tmp44_ = _tmp43_;
444 	_tmp45_ = g_strconcat (_tmp44_, "_entries[]", NULL);
445 	_tmp46_ = _tmp45_;
446 	_tmp47_ = error_entries;
447 	_tmp48_ = vala_ccode_variable_declarator_new (_tmp46_, (ValaCCodeExpression*) _tmp47_, NULL);
448 	_tmp49_ = _tmp48_;
449 	vala_ccode_declaration_add_declarator (_tmp42_, (ValaCCodeDeclarator*) _tmp49_);
450 	_vala_ccode_node_unref0 (_tmp49_);
451 	_g_free0 (_tmp46_);
452 	_g_free0 (_tmp44_);
453 	_tmp50_ = _cdecl_;
454 	vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp50_, VALA_CCODE_MODIFIERS_STATIC);
455 	_tmp51_ = ((ValaCCodeBaseModule*) self)->cfile;
456 	_tmp52_ = _cdecl_;
457 	vala_ccode_file_add_constant_declaration (_tmp51_, (ValaCCodeNode*) _tmp52_);
458 	_tmp53_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) edomain);
459 	_tmp54_ = _tmp53_;
460 	_tmp55_ = g_strconcat (_tmp54_, "quark", NULL);
461 	_tmp56_ = _tmp55_;
462 	_g_free0 (_tmp54_);
463 	quark_fun_name = _tmp56_;
464 	_tmp57_ = quark_fun_name;
465 	_tmp58_ = ((ValaCCodeBaseModule*) self)->gquark_type;
466 	_tmp59_ = vala_data_type_get_type_symbol (_tmp58_);
467 	_tmp60_ = _tmp59_;
468 	_tmp61_ = vala_get_ccode_name ((ValaCodeNode*) _tmp60_);
469 	_tmp62_ = _tmp61_;
470 	_tmp63_ = vala_ccode_function_new (_tmp57_, _tmp62_);
471 	_tmp64_ = _tmp63_;
472 	_g_free0 (_tmp62_);
473 	cquark_fun = _tmp64_;
474 	_tmp65_ = cquark_fun;
475 	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp65_);
476 	_tmp66_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) edomain);
477 	_tmp67_ = _tmp66_;
478 	_tmp68_ = g_strdup_printf ("%squark_volatile", _tmp67_);
479 	_tmp69_ = _tmp68_;
480 	_g_free0 (_tmp67_);
481 	quark_name = _tmp69_;
482 	_tmp70_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
483 	_tmp71_ = _tmp70_;
484 	_tmp72_ = quark_name;
485 	_tmp73_ = vala_ccode_constant_new ("0");
486 	_tmp74_ = _tmp73_;
487 	_tmp75_ = vala_ccode_variable_declarator_new (_tmp72_, (ValaCCodeExpression*) _tmp74_, NULL);
488 	_tmp76_ = _tmp75_;
489 	vala_ccode_function_add_declaration (_tmp71_, "gsize", (ValaCCodeDeclarator*) _tmp76_, VALA_CCODE_MODIFIERS_STATIC | VALA_CCODE_MODIFIERS_VOLATILE);
490 	_vala_ccode_node_unref0 (_tmp76_);
491 	_vala_ccode_node_unref0 (_tmp74_);
492 	_tmp77_ = vala_ccode_identifier_new ("g_dbus_error_register_error_domain");
493 	_tmp78_ = _tmp77_;
494 	_tmp79_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp78_);
495 	_tmp80_ = _tmp79_;
496 	_vala_ccode_node_unref0 (_tmp78_);
497 	register_call = _tmp80_;
498 	_tmp81_ = register_call;
499 	_tmp82_ = vala_get_ccode_quark_name (edomain);
500 	_tmp83_ = _tmp82_;
501 	_tmp84_ = g_strconcat ("\"", _tmp83_, NULL);
502 	_tmp85_ = _tmp84_;
503 	_tmp86_ = g_strconcat (_tmp85_, "\"", NULL);
504 	_tmp87_ = _tmp86_;
505 	_tmp88_ = vala_ccode_constant_new (_tmp87_);
506 	_tmp89_ = _tmp88_;
507 	vala_ccode_function_call_add_argument (_tmp81_, (ValaCCodeExpression*) _tmp89_);
508 	_vala_ccode_node_unref0 (_tmp89_);
509 	_g_free0 (_tmp87_);
510 	_g_free0 (_tmp85_);
511 	_g_free0 (_tmp83_);
512 	_tmp90_ = register_call;
513 	_tmp91_ = quark_name;
514 	_tmp92_ = vala_ccode_identifier_new (_tmp91_);
515 	_tmp93_ = _tmp92_;
516 	_tmp94_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp93_);
517 	_tmp95_ = _tmp94_;
518 	vala_ccode_function_call_add_argument (_tmp90_, (ValaCCodeExpression*) _tmp95_);
519 	_vala_ccode_node_unref0 (_tmp95_);
520 	_vala_ccode_node_unref0 (_tmp93_);
521 	_tmp96_ = register_call;
522 	_tmp97_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) edomain, NULL);
523 	_tmp98_ = _tmp97_;
524 	_tmp99_ = g_strconcat (_tmp98_, "_entries", NULL);
525 	_tmp100_ = _tmp99_;
526 	_tmp101_ = vala_ccode_identifier_new (_tmp100_);
527 	_tmp102_ = _tmp101_;
528 	vala_ccode_function_call_add_argument (_tmp96_, (ValaCCodeExpression*) _tmp102_);
529 	_vala_ccode_node_unref0 (_tmp102_);
530 	_g_free0 (_tmp100_);
531 	_g_free0 (_tmp98_);
532 	_tmp103_ = vala_ccode_identifier_new ("G_N_ELEMENTS");
533 	_tmp104_ = _tmp103_;
534 	_tmp105_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp104_);
535 	_tmp106_ = _tmp105_;
536 	_vala_ccode_node_unref0 (_tmp104_);
537 	nentries = _tmp106_;
538 	_tmp107_ = nentries;
539 	_tmp108_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) edomain, NULL);
540 	_tmp109_ = _tmp108_;
541 	_tmp110_ = g_strconcat (_tmp109_, "_entries", NULL);
542 	_tmp111_ = _tmp110_;
543 	_tmp112_ = vala_ccode_identifier_new (_tmp111_);
544 	_tmp113_ = _tmp112_;
545 	vala_ccode_function_call_add_argument (_tmp107_, (ValaCCodeExpression*) _tmp113_);
546 	_vala_ccode_node_unref0 (_tmp113_);
547 	_g_free0 (_tmp111_);
548 	_g_free0 (_tmp109_);
549 	_tmp114_ = register_call;
550 	_tmp115_ = nentries;
551 	vala_ccode_function_call_add_argument (_tmp114_, (ValaCCodeExpression*) _tmp115_);
552 	_tmp116_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
553 	_tmp117_ = _tmp116_;
554 	_tmp118_ = register_call;
555 	vala_ccode_function_add_expression (_tmp117_, (ValaCCodeExpression*) _tmp118_);
556 	_tmp119_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
557 	_tmp120_ = _tmp119_;
558 	_tmp121_ = quark_name;
559 	_tmp122_ = vala_ccode_identifier_new (_tmp121_);
560 	_tmp123_ = _tmp122_;
561 	_tmp124_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp123_, "GQuark");
562 	_tmp125_ = _tmp124_;
563 	vala_ccode_function_add_return (_tmp120_, (ValaCCodeExpression*) _tmp125_);
564 	_vala_ccode_node_unref0 (_tmp125_);
565 	_vala_ccode_node_unref0 (_tmp123_);
566 	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
567 	_tmp126_ = ((ValaCCodeBaseModule*) self)->cfile;
568 	_tmp127_ = cquark_fun;
569 	vala_ccode_file_add_function (_tmp126_, _tmp127_);
570 	_vala_ccode_node_unref0 (nentries);
571 	_vala_ccode_node_unref0 (register_call);
572 	_g_free0 (quark_name);
573 	_vala_ccode_node_unref0 (cquark_fun);
574 	_g_free0 (quark_fun_name);
575 	_vala_ccode_node_unref0 (_cdecl_);
576 	_vala_ccode_node_unref0 (error_entries);
577 	_g_free0 (edomain_dbus_name);
578 }
579 
580 static gboolean
vala_gd_bus_module_is_file_descriptor(ValaGDBusModule * self,ValaDataType * type)581 vala_gd_bus_module_is_file_descriptor (ValaGDBusModule* self,
582                                        ValaDataType* type)
583 {
584 	gboolean result = FALSE;
585 	g_return_val_if_fail (self != NULL, FALSE);
586 	g_return_val_if_fail (type != NULL, FALSE);
587 	if (G_TYPE_CHECK_INSTANCE_TYPE (type, VALA_TYPE_OBJECT_TYPE)) {
588 		gboolean _tmp0_ = FALSE;
589 		gboolean _tmp1_ = FALSE;
590 		gboolean _tmp2_ = FALSE;
591 		ValaTypeSymbol* _tmp3_;
592 		ValaTypeSymbol* _tmp4_;
593 		gchar* _tmp5_;
594 		gchar* _tmp6_;
595 		gboolean _tmp7_;
596 		_tmp3_ = vala_data_type_get_type_symbol (type);
597 		_tmp4_ = _tmp3_;
598 		_tmp5_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp4_);
599 		_tmp6_ = _tmp5_;
600 		_tmp7_ = g_strcmp0 (_tmp6_, "GLib.UnixInputStream") == 0;
601 		_g_free0 (_tmp6_);
602 		if (_tmp7_) {
603 			_tmp2_ = TRUE;
604 		} else {
605 			ValaTypeSymbol* _tmp8_;
606 			ValaTypeSymbol* _tmp9_;
607 			gchar* _tmp10_;
608 			gchar* _tmp11_;
609 			_tmp8_ = vala_data_type_get_type_symbol (type);
610 			_tmp9_ = _tmp8_;
611 			_tmp10_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp9_);
612 			_tmp11_ = _tmp10_;
613 			_tmp2_ = g_strcmp0 (_tmp11_, "GLib.UnixOutputStream") == 0;
614 			_g_free0 (_tmp11_);
615 		}
616 		if (_tmp2_) {
617 			_tmp1_ = TRUE;
618 		} else {
619 			ValaTypeSymbol* _tmp12_;
620 			ValaTypeSymbol* _tmp13_;
621 			gchar* _tmp14_;
622 			gchar* _tmp15_;
623 			_tmp12_ = vala_data_type_get_type_symbol (type);
624 			_tmp13_ = _tmp12_;
625 			_tmp14_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp13_);
626 			_tmp15_ = _tmp14_;
627 			_tmp1_ = g_strcmp0 (_tmp15_, "GLib.Socket") == 0;
628 			_g_free0 (_tmp15_);
629 		}
630 		if (_tmp1_) {
631 			_tmp0_ = TRUE;
632 		} else {
633 			ValaTypeSymbol* _tmp16_;
634 			ValaTypeSymbol* _tmp17_;
635 			gchar* _tmp18_;
636 			gchar* _tmp19_;
637 			_tmp16_ = vala_data_type_get_type_symbol (type);
638 			_tmp17_ = _tmp16_;
639 			_tmp18_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp17_);
640 			_tmp19_ = _tmp18_;
641 			_tmp0_ = g_strcmp0 (_tmp19_, "GLib.FileDescriptorBased") == 0;
642 			_g_free0 (_tmp19_);
643 		}
644 		if (_tmp0_) {
645 			result = TRUE;
646 			return result;
647 		}
648 	}
649 	result = FALSE;
650 	return result;
651 }
652 
653 gboolean
vala_gd_bus_module_dbus_method_uses_file_descriptor(ValaGDBusModule * self,ValaMethod * method)654 vala_gd_bus_module_dbus_method_uses_file_descriptor (ValaGDBusModule* self,
655                                                      ValaMethod* method)
656 {
657 	ValaDataType* _tmp12_;
658 	ValaDataType* _tmp13_;
659 	gboolean result = FALSE;
660 	g_return_val_if_fail (self != NULL, FALSE);
661 	g_return_val_if_fail (method != NULL, FALSE);
662 	{
663 		ValaList* _param_list = NULL;
664 		ValaList* _tmp0_;
665 		ValaList* _tmp1_;
666 		gint _param_size = 0;
667 		ValaList* _tmp2_;
668 		gint _tmp3_;
669 		gint _tmp4_;
670 		gint _param_index = 0;
671 		_tmp0_ = vala_callable_get_parameters ((ValaCallable*) method);
672 		_tmp1_ = _vala_iterable_ref0 (_tmp0_);
673 		_param_list = _tmp1_;
674 		_tmp2_ = _param_list;
675 		_tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_);
676 		_tmp4_ = _tmp3_;
677 		_param_size = _tmp4_;
678 		_param_index = -1;
679 		while (TRUE) {
680 			gint _tmp5_;
681 			gint _tmp6_;
682 			ValaParameter* param = NULL;
683 			ValaList* _tmp7_;
684 			gpointer _tmp8_;
685 			ValaParameter* _tmp9_;
686 			ValaDataType* _tmp10_;
687 			ValaDataType* _tmp11_;
688 			_param_index = _param_index + 1;
689 			_tmp5_ = _param_index;
690 			_tmp6_ = _param_size;
691 			if (!(_tmp5_ < _tmp6_)) {
692 				break;
693 			}
694 			_tmp7_ = _param_list;
695 			_tmp8_ = vala_list_get (_tmp7_, _param_index);
696 			param = (ValaParameter*) _tmp8_;
697 			_tmp9_ = param;
698 			_tmp10_ = vala_variable_get_variable_type ((ValaVariable*) _tmp9_);
699 			_tmp11_ = _tmp10_;
700 			if (vala_gd_bus_module_is_file_descriptor (self, _tmp11_)) {
701 				result = TRUE;
702 				_vala_code_node_unref0 (param);
703 				_vala_iterable_unref0 (_param_list);
704 				return result;
705 			}
706 			_vala_code_node_unref0 (param);
707 		}
708 		_vala_iterable_unref0 (_param_list);
709 	}
710 	_tmp12_ = vala_callable_get_return_type ((ValaCallable*) method);
711 	_tmp13_ = _tmp12_;
712 	if (vala_gd_bus_module_is_file_descriptor (self, _tmp13_)) {
713 		result = TRUE;
714 		return result;
715 	}
716 	result = FALSE;
717 	return result;
718 }
719 
720 static ValaCCodeExpression*
vala_gd_bus_module_get_file_descriptor(ValaGDBusModule * self,ValaDataType * type,ValaCCodeExpression * expr)721 vala_gd_bus_module_get_file_descriptor (ValaGDBusModule* self,
722                                         ValaDataType* type,
723                                         ValaCCodeExpression* expr)
724 {
725 	ValaCCodeExpression* result = NULL;
726 	g_return_val_if_fail (self != NULL, NULL);
727 	g_return_val_if_fail (type != NULL, NULL);
728 	g_return_val_if_fail (expr != NULL, NULL);
729 	if (G_TYPE_CHECK_INSTANCE_TYPE (type, VALA_TYPE_OBJECT_TYPE)) {
730 		ValaTypeSymbol* _tmp0_;
731 		ValaTypeSymbol* _tmp1_;
732 		gchar* _tmp2_;
733 		gchar* _tmp3_;
734 		gboolean _tmp4_;
735 		_tmp0_ = vala_data_type_get_type_symbol (type);
736 		_tmp1_ = _tmp0_;
737 		_tmp2_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp1_);
738 		_tmp3_ = _tmp2_;
739 		_tmp4_ = g_strcmp0 (_tmp3_, "GLib.UnixInputStream") == 0;
740 		_g_free0 (_tmp3_);
741 		if (_tmp4_) {
742 			ValaCCodeFunctionCall* _result_ = NULL;
743 			ValaCCodeIdentifier* _tmp5_;
744 			ValaCCodeIdentifier* _tmp6_;
745 			ValaCCodeFunctionCall* _tmp7_;
746 			ValaCCodeFunctionCall* _tmp8_;
747 			ValaCCodeFunctionCall* _tmp9_;
748 			_tmp5_ = vala_ccode_identifier_new ("g_unix_input_stream_get_fd");
749 			_tmp6_ = _tmp5_;
750 			_tmp7_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp6_);
751 			_tmp8_ = _tmp7_;
752 			_vala_ccode_node_unref0 (_tmp6_);
753 			_result_ = _tmp8_;
754 			_tmp9_ = _result_;
755 			vala_ccode_function_call_add_argument (_tmp9_, expr);
756 			result = (ValaCCodeExpression*) _result_;
757 			return result;
758 		} else {
759 			ValaTypeSymbol* _tmp10_;
760 			ValaTypeSymbol* _tmp11_;
761 			gchar* _tmp12_;
762 			gchar* _tmp13_;
763 			gboolean _tmp14_;
764 			_tmp10_ = vala_data_type_get_type_symbol (type);
765 			_tmp11_ = _tmp10_;
766 			_tmp12_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp11_);
767 			_tmp13_ = _tmp12_;
768 			_tmp14_ = g_strcmp0 (_tmp13_, "GLib.UnixOutputStream") == 0;
769 			_g_free0 (_tmp13_);
770 			if (_tmp14_) {
771 				ValaCCodeFunctionCall* _result_ = NULL;
772 				ValaCCodeIdentifier* _tmp15_;
773 				ValaCCodeIdentifier* _tmp16_;
774 				ValaCCodeFunctionCall* _tmp17_;
775 				ValaCCodeFunctionCall* _tmp18_;
776 				ValaCCodeFunctionCall* _tmp19_;
777 				_tmp15_ = vala_ccode_identifier_new ("g_unix_output_stream_get_fd");
778 				_tmp16_ = _tmp15_;
779 				_tmp17_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp16_);
780 				_tmp18_ = _tmp17_;
781 				_vala_ccode_node_unref0 (_tmp16_);
782 				_result_ = _tmp18_;
783 				_tmp19_ = _result_;
784 				vala_ccode_function_call_add_argument (_tmp19_, expr);
785 				result = (ValaCCodeExpression*) _result_;
786 				return result;
787 			} else {
788 				ValaTypeSymbol* _tmp20_;
789 				ValaTypeSymbol* _tmp21_;
790 				gchar* _tmp22_;
791 				gchar* _tmp23_;
792 				gboolean _tmp24_;
793 				_tmp20_ = vala_data_type_get_type_symbol (type);
794 				_tmp21_ = _tmp20_;
795 				_tmp22_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp21_);
796 				_tmp23_ = _tmp22_;
797 				_tmp24_ = g_strcmp0 (_tmp23_, "GLib.Socket") == 0;
798 				_g_free0 (_tmp23_);
799 				if (_tmp24_) {
800 					ValaCCodeFunctionCall* _result_ = NULL;
801 					ValaCCodeIdentifier* _tmp25_;
802 					ValaCCodeIdentifier* _tmp26_;
803 					ValaCCodeFunctionCall* _tmp27_;
804 					ValaCCodeFunctionCall* _tmp28_;
805 					ValaCCodeFunctionCall* _tmp29_;
806 					_tmp25_ = vala_ccode_identifier_new ("g_socket_get_fd");
807 					_tmp26_ = _tmp25_;
808 					_tmp27_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp26_);
809 					_tmp28_ = _tmp27_;
810 					_vala_ccode_node_unref0 (_tmp26_);
811 					_result_ = _tmp28_;
812 					_tmp29_ = _result_;
813 					vala_ccode_function_call_add_argument (_tmp29_, expr);
814 					result = (ValaCCodeExpression*) _result_;
815 					return result;
816 				} else {
817 					ValaTypeSymbol* _tmp30_;
818 					ValaTypeSymbol* _tmp31_;
819 					gchar* _tmp32_;
820 					gchar* _tmp33_;
821 					gboolean _tmp34_;
822 					_tmp30_ = vala_data_type_get_type_symbol (type);
823 					_tmp31_ = _tmp30_;
824 					_tmp32_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp31_);
825 					_tmp33_ = _tmp32_;
826 					_tmp34_ = g_strcmp0 (_tmp33_, "GLib.FileDescriptorBased") == 0;
827 					_g_free0 (_tmp33_);
828 					if (_tmp34_) {
829 						ValaCCodeFunctionCall* _result_ = NULL;
830 						ValaCCodeIdentifier* _tmp35_;
831 						ValaCCodeIdentifier* _tmp36_;
832 						ValaCCodeFunctionCall* _tmp37_;
833 						ValaCCodeFunctionCall* _tmp38_;
834 						ValaCCodeFunctionCall* _tmp39_;
835 						_tmp35_ = vala_ccode_identifier_new ("g_file_descriptor_based_get_fd");
836 						_tmp36_ = _tmp35_;
837 						_tmp37_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp36_);
838 						_tmp38_ = _tmp37_;
839 						_vala_ccode_node_unref0 (_tmp36_);
840 						_result_ = _tmp38_;
841 						_tmp39_ = _result_;
842 						vala_ccode_function_call_add_argument (_tmp39_, expr);
843 						result = (ValaCCodeExpression*) _result_;
844 						return result;
845 					}
846 				}
847 			}
848 		}
849 	}
850 	result = NULL;
851 	return result;
852 }
853 
854 void
vala_gd_bus_module_send_dbus_value(ValaGDBusModule * self,ValaDataType * type,ValaCCodeExpression * builder_expr,ValaCCodeExpression * expr,ValaSymbol * sym)855 vala_gd_bus_module_send_dbus_value (ValaGDBusModule* self,
856                                     ValaDataType* type,
857                                     ValaCCodeExpression* builder_expr,
858                                     ValaCCodeExpression* expr,
859                                     ValaSymbol* sym)
860 {
861 	ValaCCodeExpression* fd = NULL;
862 	ValaCCodeExpression* _tmp0_;
863 	ValaCCodeExpression* _tmp1_;
864 	g_return_if_fail (self != NULL);
865 	g_return_if_fail (type != NULL);
866 	g_return_if_fail (builder_expr != NULL);
867 	g_return_if_fail (expr != NULL);
868 	_tmp0_ = vala_gd_bus_module_get_file_descriptor (self, type, expr);
869 	fd = _tmp0_;
870 	_tmp1_ = fd;
871 	if (_tmp1_ != NULL) {
872 		ValaCCodeFunctionCall* fd_append = NULL;
873 		ValaCCodeIdentifier* _tmp2_;
874 		ValaCCodeIdentifier* _tmp3_;
875 		ValaCCodeFunctionCall* _tmp4_;
876 		ValaCCodeFunctionCall* _tmp5_;
877 		ValaCCodeFunctionCall* _tmp6_;
878 		ValaCCodeIdentifier* _tmp7_;
879 		ValaCCodeIdentifier* _tmp8_;
880 		ValaCCodeFunctionCall* _tmp9_;
881 		ValaCCodeExpression* _tmp10_;
882 		ValaCCodeFunctionCall* _tmp11_;
883 		ValaCCodeConstant* _tmp12_;
884 		ValaCCodeConstant* _tmp13_;
885 		ValaCCodeFunctionCall* builder_add = NULL;
886 		ValaCCodeIdentifier* _tmp14_;
887 		ValaCCodeIdentifier* _tmp15_;
888 		ValaCCodeFunctionCall* _tmp16_;
889 		ValaCCodeFunctionCall* _tmp17_;
890 		ValaCCodeFunctionCall* _tmp18_;
891 		ValaCCodeUnaryExpression* _tmp19_;
892 		ValaCCodeUnaryExpression* _tmp20_;
893 		ValaCCodeFunctionCall* _tmp21_;
894 		ValaCCodeConstant* _tmp22_;
895 		ValaCCodeConstant* _tmp23_;
896 		ValaCCodeFunctionCall* _tmp24_;
897 		ValaCCodeFunctionCall* _tmp25_;
898 		ValaCCodeFunction* _tmp26_;
899 		ValaCCodeFunction* _tmp27_;
900 		ValaCCodeFunctionCall* _tmp28_;
901 		_tmp2_ = vala_ccode_identifier_new ("g_unix_fd_list_append");
902 		_tmp3_ = _tmp2_;
903 		_tmp4_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp3_);
904 		_tmp5_ = _tmp4_;
905 		_vala_ccode_node_unref0 (_tmp3_);
906 		fd_append = _tmp5_;
907 		_tmp6_ = fd_append;
908 		_tmp7_ = vala_ccode_identifier_new ("_fd_list");
909 		_tmp8_ = _tmp7_;
910 		vala_ccode_function_call_add_argument (_tmp6_, (ValaCCodeExpression*) _tmp8_);
911 		_vala_ccode_node_unref0 (_tmp8_);
912 		_tmp9_ = fd_append;
913 		_tmp10_ = fd;
914 		vala_ccode_function_call_add_argument (_tmp9_, _tmp10_);
915 		_tmp11_ = fd_append;
916 		_tmp12_ = vala_ccode_constant_new ("NULL");
917 		_tmp13_ = _tmp12_;
918 		vala_ccode_function_call_add_argument (_tmp11_, (ValaCCodeExpression*) _tmp13_);
919 		_vala_ccode_node_unref0 (_tmp13_);
920 		_tmp14_ = vala_ccode_identifier_new ("g_variant_builder_add");
921 		_tmp15_ = _tmp14_;
922 		_tmp16_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp15_);
923 		_tmp17_ = _tmp16_;
924 		_vala_ccode_node_unref0 (_tmp15_);
925 		builder_add = _tmp17_;
926 		_tmp18_ = builder_add;
927 		_tmp19_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, builder_expr);
928 		_tmp20_ = _tmp19_;
929 		vala_ccode_function_call_add_argument (_tmp18_, (ValaCCodeExpression*) _tmp20_);
930 		_vala_ccode_node_unref0 (_tmp20_);
931 		_tmp21_ = builder_add;
932 		_tmp22_ = vala_ccode_constant_new ("\"h\"");
933 		_tmp23_ = _tmp22_;
934 		vala_ccode_function_call_add_argument (_tmp21_, (ValaCCodeExpression*) _tmp23_);
935 		_vala_ccode_node_unref0 (_tmp23_);
936 		_tmp24_ = builder_add;
937 		_tmp25_ = fd_append;
938 		vala_ccode_function_call_add_argument (_tmp24_, (ValaCCodeExpression*) _tmp25_);
939 		_tmp26_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
940 		_tmp27_ = _tmp26_;
941 		_tmp28_ = builder_add;
942 		vala_ccode_function_add_expression (_tmp27_, (ValaCCodeExpression*) _tmp28_);
943 		_vala_ccode_node_unref0 (builder_add);
944 		_vala_ccode_node_unref0 (fd_append);
945 	} else {
946 		vala_gvariant_module_write_expression ((ValaGVariantModule*) self, type, builder_expr, expr, sym);
947 	}
948 	_vala_ccode_node_unref0 (fd);
949 }
950 
951 static ValaCCodeExpression*
vala_gd_bus_module_create_from_file_descriptor(ValaGDBusModule * self,ValaDataType * type,ValaCCodeExpression * expr)952 vala_gd_bus_module_create_from_file_descriptor (ValaGDBusModule* self,
953                                                 ValaDataType* type,
954                                                 ValaCCodeExpression* expr)
955 {
956 	ValaCCodeExpression* result = NULL;
957 	g_return_val_if_fail (self != NULL, NULL);
958 	g_return_val_if_fail (type != NULL, NULL);
959 	g_return_val_if_fail (expr != NULL, NULL);
960 	if (G_TYPE_CHECK_INSTANCE_TYPE (type, VALA_TYPE_OBJECT_TYPE)) {
961 		ValaTypeSymbol* _tmp0_;
962 		ValaTypeSymbol* _tmp1_;
963 		gchar* _tmp2_;
964 		gchar* _tmp3_;
965 		gboolean _tmp4_;
966 		_tmp0_ = vala_data_type_get_type_symbol (type);
967 		_tmp1_ = _tmp0_;
968 		_tmp2_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp1_);
969 		_tmp3_ = _tmp2_;
970 		_tmp4_ = g_strcmp0 (_tmp3_, "GLib.UnixInputStream") == 0;
971 		_g_free0 (_tmp3_);
972 		if (_tmp4_) {
973 			ValaCCodeFunctionCall* _result_ = NULL;
974 			ValaCCodeIdentifier* _tmp5_;
975 			ValaCCodeIdentifier* _tmp6_;
976 			ValaCCodeFunctionCall* _tmp7_;
977 			ValaCCodeFunctionCall* _tmp8_;
978 			ValaCCodeFunctionCall* _tmp9_;
979 			ValaCCodeFunctionCall* _tmp10_;
980 			ValaCCodeConstant* _tmp11_;
981 			ValaCCodeConstant* _tmp12_;
982 			ValaCCodeFunctionCall* _tmp13_;
983 			ValaCCodeCastExpression* _tmp14_;
984 			_tmp5_ = vala_ccode_identifier_new ("g_unix_input_stream_new");
985 			_tmp6_ = _tmp5_;
986 			_tmp7_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp6_);
987 			_tmp8_ = _tmp7_;
988 			_vala_ccode_node_unref0 (_tmp6_);
989 			_result_ = _tmp8_;
990 			_tmp9_ = _result_;
991 			vala_ccode_function_call_add_argument (_tmp9_, expr);
992 			_tmp10_ = _result_;
993 			_tmp11_ = vala_ccode_constant_new ("TRUE");
994 			_tmp12_ = _tmp11_;
995 			vala_ccode_function_call_add_argument (_tmp10_, (ValaCCodeExpression*) _tmp12_);
996 			_vala_ccode_node_unref0 (_tmp12_);
997 			_tmp13_ = _result_;
998 			_tmp14_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp13_, "GUnixInputStream *");
999 			result = (ValaCCodeExpression*) _tmp14_;
1000 			_vala_ccode_node_unref0 (_result_);
1001 			return result;
1002 		} else {
1003 			ValaTypeSymbol* _tmp15_;
1004 			ValaTypeSymbol* _tmp16_;
1005 			gchar* _tmp17_;
1006 			gchar* _tmp18_;
1007 			gboolean _tmp19_;
1008 			_tmp15_ = vala_data_type_get_type_symbol (type);
1009 			_tmp16_ = _tmp15_;
1010 			_tmp17_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp16_);
1011 			_tmp18_ = _tmp17_;
1012 			_tmp19_ = g_strcmp0 (_tmp18_, "GLib.UnixOutputStream") == 0;
1013 			_g_free0 (_tmp18_);
1014 			if (_tmp19_) {
1015 				ValaCCodeFunctionCall* _result_ = NULL;
1016 				ValaCCodeIdentifier* _tmp20_;
1017 				ValaCCodeIdentifier* _tmp21_;
1018 				ValaCCodeFunctionCall* _tmp22_;
1019 				ValaCCodeFunctionCall* _tmp23_;
1020 				ValaCCodeFunctionCall* _tmp24_;
1021 				ValaCCodeFunctionCall* _tmp25_;
1022 				ValaCCodeConstant* _tmp26_;
1023 				ValaCCodeConstant* _tmp27_;
1024 				ValaCCodeFunctionCall* _tmp28_;
1025 				ValaCCodeCastExpression* _tmp29_;
1026 				_tmp20_ = vala_ccode_identifier_new ("g_unix_output_stream_new");
1027 				_tmp21_ = _tmp20_;
1028 				_tmp22_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp21_);
1029 				_tmp23_ = _tmp22_;
1030 				_vala_ccode_node_unref0 (_tmp21_);
1031 				_result_ = _tmp23_;
1032 				_tmp24_ = _result_;
1033 				vala_ccode_function_call_add_argument (_tmp24_, expr);
1034 				_tmp25_ = _result_;
1035 				_tmp26_ = vala_ccode_constant_new ("TRUE");
1036 				_tmp27_ = _tmp26_;
1037 				vala_ccode_function_call_add_argument (_tmp25_, (ValaCCodeExpression*) _tmp27_);
1038 				_vala_ccode_node_unref0 (_tmp27_);
1039 				_tmp28_ = _result_;
1040 				_tmp29_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp28_, "GUnixOutputStream *");
1041 				result = (ValaCCodeExpression*) _tmp29_;
1042 				_vala_ccode_node_unref0 (_result_);
1043 				return result;
1044 			} else {
1045 				ValaTypeSymbol* _tmp30_;
1046 				ValaTypeSymbol* _tmp31_;
1047 				gchar* _tmp32_;
1048 				gchar* _tmp33_;
1049 				gboolean _tmp34_;
1050 				_tmp30_ = vala_data_type_get_type_symbol (type);
1051 				_tmp31_ = _tmp30_;
1052 				_tmp32_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp31_);
1053 				_tmp33_ = _tmp32_;
1054 				_tmp34_ = g_strcmp0 (_tmp33_, "GLib.Socket") == 0;
1055 				_g_free0 (_tmp33_);
1056 				if (_tmp34_) {
1057 					ValaCCodeFunctionCall* _result_ = NULL;
1058 					ValaCCodeIdentifier* _tmp35_;
1059 					ValaCCodeIdentifier* _tmp36_;
1060 					ValaCCodeFunctionCall* _tmp37_;
1061 					ValaCCodeFunctionCall* _tmp38_;
1062 					ValaCCodeFunctionCall* _tmp39_;
1063 					ValaCCodeFunctionCall* _tmp40_;
1064 					ValaCCodeConstant* _tmp41_;
1065 					ValaCCodeConstant* _tmp42_;
1066 					_tmp35_ = vala_ccode_identifier_new ("g_socket_new_from_fd");
1067 					_tmp36_ = _tmp35_;
1068 					_tmp37_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp36_);
1069 					_tmp38_ = _tmp37_;
1070 					_vala_ccode_node_unref0 (_tmp36_);
1071 					_result_ = _tmp38_;
1072 					_tmp39_ = _result_;
1073 					vala_ccode_function_call_add_argument (_tmp39_, expr);
1074 					_tmp40_ = _result_;
1075 					_tmp41_ = vala_ccode_constant_new ("NULL");
1076 					_tmp42_ = _tmp41_;
1077 					vala_ccode_function_call_add_argument (_tmp40_, (ValaCCodeExpression*) _tmp42_);
1078 					_vala_ccode_node_unref0 (_tmp42_);
1079 					result = (ValaCCodeExpression*) _result_;
1080 					return result;
1081 				}
1082 			}
1083 		}
1084 	}
1085 	result = NULL;
1086 	return result;
1087 }
1088 
1089 void
vala_gd_bus_module_receive_dbus_value(ValaGDBusModule * self,ValaDataType * type,ValaCCodeExpression * message_expr,ValaCCodeExpression * iter_expr,ValaCCodeExpression * target_expr,ValaSymbol * sym,ValaCCodeExpression * error_expr,gboolean * may_fail)1090 vala_gd_bus_module_receive_dbus_value (ValaGDBusModule* self,
1091                                        ValaDataType* type,
1092                                        ValaCCodeExpression* message_expr,
1093                                        ValaCCodeExpression* iter_expr,
1094                                        ValaCCodeExpression* target_expr,
1095                                        ValaSymbol* sym,
1096                                        ValaCCodeExpression* error_expr,
1097                                        gboolean* may_fail)
1098 {
1099 	gboolean _vala_may_fail = FALSE;
1100 	ValaCCodeFunctionCall* fd_list = NULL;
1101 	ValaCCodeIdentifier* _tmp0_;
1102 	ValaCCodeIdentifier* _tmp1_;
1103 	ValaCCodeFunctionCall* _tmp2_;
1104 	ValaCCodeFunctionCall* _tmp3_;
1105 	ValaCCodeFunctionCall* _tmp4_;
1106 	ValaCCodeIdentifier* fd_var = NULL;
1107 	ValaCCodeIdentifier* _tmp5_;
1108 	ValaCCodeExpression* stream = NULL;
1109 	ValaCCodeIdentifier* _tmp6_;
1110 	ValaCCodeExpression* _tmp7_;
1111 	ValaCCodeExpression* _tmp8_;
1112 	g_return_if_fail (self != NULL);
1113 	g_return_if_fail (type != NULL);
1114 	g_return_if_fail (message_expr != NULL);
1115 	g_return_if_fail (iter_expr != NULL);
1116 	g_return_if_fail (target_expr != NULL);
1117 	_tmp0_ = vala_ccode_identifier_new ("g_dbus_message_get_unix_fd_list");
1118 	_tmp1_ = _tmp0_;
1119 	_tmp2_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1_);
1120 	_tmp3_ = _tmp2_;
1121 	_vala_ccode_node_unref0 (_tmp1_);
1122 	fd_list = _tmp3_;
1123 	_tmp4_ = fd_list;
1124 	vala_ccode_function_call_add_argument (_tmp4_, message_expr);
1125 	_tmp5_ = vala_ccode_identifier_new ("_fd");
1126 	fd_var = _tmp5_;
1127 	_tmp6_ = fd_var;
1128 	_tmp7_ = vala_gd_bus_module_create_from_file_descriptor (self, type, (ValaCCodeExpression*) _tmp6_);
1129 	stream = _tmp7_;
1130 	_tmp8_ = stream;
1131 	if (_tmp8_ != NULL) {
1132 		ValaCCodeIdentifier* fd_list_var = NULL;
1133 		ValaCCodeIdentifier* _tmp9_;
1134 		ValaCCodeFunctionCall* fd = NULL;
1135 		ValaCCodeIdentifier* _tmp10_;
1136 		ValaCCodeIdentifier* _tmp11_;
1137 		ValaCCodeFunctionCall* _tmp12_;
1138 		ValaCCodeFunctionCall* _tmp13_;
1139 		ValaCCodeFunctionCall* _tmp14_;
1140 		ValaCCodeIdentifier* _tmp15_;
1141 		ValaCCodeFunctionCall* _tmp16_;
1142 		ValaCCodeIdentifier* _tmp17_;
1143 		ValaCCodeIdentifier* _tmp18_;
1144 		ValaCCodeFunctionCall* _tmp19_;
1145 		ValaCCodeFunction* _tmp20_;
1146 		ValaCCodeFunction* _tmp21_;
1147 		ValaCCodeIdentifier* _tmp22_;
1148 		ValaCCodeFunctionCall* _tmp23_;
1149 		ValaCCodeFunction* _tmp24_;
1150 		ValaCCodeFunction* _tmp25_;
1151 		ValaCCodeIdentifier* _tmp26_;
1152 		ValaCCodeFunctionCall* get_fd = NULL;
1153 		ValaCCodeIdentifier* _tmp27_;
1154 		ValaCCodeIdentifier* _tmp28_;
1155 		ValaCCodeFunctionCall* _tmp29_;
1156 		ValaCCodeFunctionCall* _tmp30_;
1157 		ValaCCodeFunctionCall* _tmp31_;
1158 		ValaCCodeUnaryExpression* _tmp32_;
1159 		ValaCCodeUnaryExpression* _tmp33_;
1160 		ValaCCodeFunctionCall* _tmp34_;
1161 		ValaCCodeConstant* _tmp35_;
1162 		ValaCCodeConstant* _tmp36_;
1163 		ValaCCodeFunctionCall* _tmp37_;
1164 		ValaCCodeIdentifier* _tmp38_;
1165 		ValaCCodeIdentifier* _tmp39_;
1166 		ValaCCodeUnaryExpression* _tmp40_;
1167 		ValaCCodeUnaryExpression* _tmp41_;
1168 		ValaCCodeFunction* _tmp42_;
1169 		ValaCCodeFunction* _tmp43_;
1170 		ValaCCodeFunctionCall* _tmp44_;
1171 		ValaCCodeFunction* _tmp45_;
1172 		ValaCCodeFunction* _tmp46_;
1173 		ValaCCodeIdentifier* _tmp47_;
1174 		ValaCCodeFunctionCall* _tmp48_;
1175 		ValaCCodeFunction* _tmp49_;
1176 		ValaCCodeFunction* _tmp50_;
1177 		ValaCCodeIdentifier* _tmp51_;
1178 		ValaCCodeConstant* _tmp52_;
1179 		ValaCCodeConstant* _tmp53_;
1180 		ValaCCodeBinaryExpression* _tmp54_;
1181 		ValaCCodeBinaryExpression* _tmp55_;
1182 		ValaCCodeFunction* _tmp56_;
1183 		ValaCCodeFunction* _tmp57_;
1184 		ValaCCodeExpression* _tmp58_;
1185 		ValaCCodeFunction* _tmp59_;
1186 		ValaCCodeFunction* _tmp60_;
1187 		ValaCCodeFunction* _tmp61_;
1188 		ValaCCodeFunction* _tmp62_;
1189 		ValaCCodeFunctionCall* set_error = NULL;
1190 		ValaCCodeIdentifier* _tmp63_;
1191 		ValaCCodeIdentifier* _tmp64_;
1192 		ValaCCodeFunctionCall* _tmp65_;
1193 		ValaCCodeFunctionCall* _tmp66_;
1194 		ValaCCodeFunctionCall* _tmp67_;
1195 		ValaCCodeFunctionCall* _tmp68_;
1196 		ValaCCodeIdentifier* _tmp69_;
1197 		ValaCCodeIdentifier* _tmp70_;
1198 		ValaCCodeFunctionCall* _tmp71_;
1199 		ValaCCodeIdentifier* _tmp72_;
1200 		ValaCCodeIdentifier* _tmp73_;
1201 		ValaCCodeFunctionCall* _tmp74_;
1202 		ValaCCodeConstant* _tmp75_;
1203 		ValaCCodeConstant* _tmp76_;
1204 		ValaCCodeFunction* _tmp77_;
1205 		ValaCCodeFunction* _tmp78_;
1206 		ValaCCodeFunctionCall* _tmp79_;
1207 		ValaCCodeFunction* _tmp80_;
1208 		ValaCCodeFunction* _tmp81_;
1209 		_tmp9_ = vala_ccode_identifier_new ("_fd_list");
1210 		fd_list_var = _tmp9_;
1211 		_tmp10_ = vala_ccode_identifier_new ("g_unix_fd_list_get");
1212 		_tmp11_ = _tmp10_;
1213 		_tmp12_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp11_);
1214 		_tmp13_ = _tmp12_;
1215 		_vala_ccode_node_unref0 (_tmp11_);
1216 		fd = _tmp13_;
1217 		_tmp14_ = fd;
1218 		_tmp15_ = fd_list_var;
1219 		vala_ccode_function_call_add_argument (_tmp14_, (ValaCCodeExpression*) _tmp15_);
1220 		_tmp16_ = fd;
1221 		_tmp17_ = vala_ccode_identifier_new ("_fd_index");
1222 		_tmp18_ = _tmp17_;
1223 		vala_ccode_function_call_add_argument (_tmp16_, (ValaCCodeExpression*) _tmp18_);
1224 		_vala_ccode_node_unref0 (_tmp18_);
1225 		_tmp19_ = fd;
1226 		vala_ccode_function_call_add_argument (_tmp19_, error_expr);
1227 		_tmp20_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1228 		_tmp21_ = _tmp20_;
1229 		_tmp22_ = fd_list_var;
1230 		_tmp23_ = fd_list;
1231 		vala_ccode_function_add_assignment (_tmp21_, (ValaCCodeExpression*) _tmp22_, (ValaCCodeExpression*) _tmp23_);
1232 		_tmp24_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1233 		_tmp25_ = _tmp24_;
1234 		_tmp26_ = fd_list_var;
1235 		vala_ccode_function_open_if (_tmp25_, (ValaCCodeExpression*) _tmp26_);
1236 		_tmp27_ = vala_ccode_identifier_new ("g_variant_iter_next");
1237 		_tmp28_ = _tmp27_;
1238 		_tmp29_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp28_);
1239 		_tmp30_ = _tmp29_;
1240 		_vala_ccode_node_unref0 (_tmp28_);
1241 		get_fd = _tmp30_;
1242 		_tmp31_ = get_fd;
1243 		_tmp32_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, iter_expr);
1244 		_tmp33_ = _tmp32_;
1245 		vala_ccode_function_call_add_argument (_tmp31_, (ValaCCodeExpression*) _tmp33_);
1246 		_vala_ccode_node_unref0 (_tmp33_);
1247 		_tmp34_ = get_fd;
1248 		_tmp35_ = vala_ccode_constant_new ("\"h\"");
1249 		_tmp36_ = _tmp35_;
1250 		vala_ccode_function_call_add_argument (_tmp34_, (ValaCCodeExpression*) _tmp36_);
1251 		_vala_ccode_node_unref0 (_tmp36_);
1252 		_tmp37_ = get_fd;
1253 		_tmp38_ = vala_ccode_identifier_new ("_fd_index");
1254 		_tmp39_ = _tmp38_;
1255 		_tmp40_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp39_);
1256 		_tmp41_ = _tmp40_;
1257 		vala_ccode_function_call_add_argument (_tmp37_, (ValaCCodeExpression*) _tmp41_);
1258 		_vala_ccode_node_unref0 (_tmp41_);
1259 		_vala_ccode_node_unref0 (_tmp39_);
1260 		_tmp42_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1261 		_tmp43_ = _tmp42_;
1262 		_tmp44_ = get_fd;
1263 		vala_ccode_function_add_expression (_tmp43_, (ValaCCodeExpression*) _tmp44_);
1264 		_tmp45_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1265 		_tmp46_ = _tmp45_;
1266 		_tmp47_ = fd_var;
1267 		_tmp48_ = fd;
1268 		vala_ccode_function_add_assignment (_tmp46_, (ValaCCodeExpression*) _tmp47_, (ValaCCodeExpression*) _tmp48_);
1269 		_tmp49_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1270 		_tmp50_ = _tmp49_;
1271 		_tmp51_ = fd_var;
1272 		_tmp52_ = vala_ccode_constant_new ("0");
1273 		_tmp53_ = _tmp52_;
1274 		_tmp54_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_GREATER_THAN_OR_EQUAL, (ValaCCodeExpression*) _tmp51_, (ValaCCodeExpression*) _tmp53_);
1275 		_tmp55_ = _tmp54_;
1276 		vala_ccode_function_open_if (_tmp50_, (ValaCCodeExpression*) _tmp55_);
1277 		_vala_ccode_node_unref0 (_tmp55_);
1278 		_vala_ccode_node_unref0 (_tmp53_);
1279 		_tmp56_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1280 		_tmp57_ = _tmp56_;
1281 		_tmp58_ = stream;
1282 		vala_ccode_function_add_assignment (_tmp57_, target_expr, _tmp58_);
1283 		_vala_may_fail = TRUE;
1284 		_tmp59_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1285 		_tmp60_ = _tmp59_;
1286 		vala_ccode_function_close (_tmp60_);
1287 		_tmp61_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1288 		_tmp62_ = _tmp61_;
1289 		vala_ccode_function_add_else (_tmp62_);
1290 		_tmp63_ = vala_ccode_identifier_new ("g_set_error_literal");
1291 		_tmp64_ = _tmp63_;
1292 		_tmp65_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp64_);
1293 		_tmp66_ = _tmp65_;
1294 		_vala_ccode_node_unref0 (_tmp64_);
1295 		set_error = _tmp66_;
1296 		_tmp67_ = set_error;
1297 		vala_ccode_function_call_add_argument (_tmp67_, error_expr);
1298 		_tmp68_ = set_error;
1299 		_tmp69_ = vala_ccode_identifier_new ("G_IO_ERROR");
1300 		_tmp70_ = _tmp69_;
1301 		vala_ccode_function_call_add_argument (_tmp68_, (ValaCCodeExpression*) _tmp70_);
1302 		_vala_ccode_node_unref0 (_tmp70_);
1303 		_tmp71_ = set_error;
1304 		_tmp72_ = vala_ccode_identifier_new ("G_IO_ERROR_FAILED");
1305 		_tmp73_ = _tmp72_;
1306 		vala_ccode_function_call_add_argument (_tmp71_, (ValaCCodeExpression*) _tmp73_);
1307 		_vala_ccode_node_unref0 (_tmp73_);
1308 		_tmp74_ = set_error;
1309 		_tmp75_ = vala_ccode_constant_new ("\"FD List is NULL\"");
1310 		_tmp76_ = _tmp75_;
1311 		vala_ccode_function_call_add_argument (_tmp74_, (ValaCCodeExpression*) _tmp76_);
1312 		_vala_ccode_node_unref0 (_tmp76_);
1313 		_tmp77_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1314 		_tmp78_ = _tmp77_;
1315 		_tmp79_ = set_error;
1316 		vala_ccode_function_add_expression (_tmp78_, (ValaCCodeExpression*) _tmp79_);
1317 		_tmp80_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1318 		_tmp81_ = _tmp80_;
1319 		vala_ccode_function_close (_tmp81_);
1320 		_vala_ccode_node_unref0 (set_error);
1321 		_vala_ccode_node_unref0 (get_fd);
1322 		_vala_ccode_node_unref0 (fd);
1323 		_vala_ccode_node_unref0 (fd_list_var);
1324 	} else {
1325 		gboolean _tmp82_ = FALSE;
1326 		vala_gvariant_module_read_expression ((ValaGVariantModule*) self, type, iter_expr, target_expr, sym, error_expr, &_tmp82_);
1327 		_vala_may_fail = _tmp82_;
1328 	}
1329 	_vala_ccode_node_unref0 (stream);
1330 	_vala_ccode_node_unref0 (fd_var);
1331 	_vala_ccode_node_unref0 (fd_list);
1332 	if (may_fail) {
1333 		*may_fail = _vala_may_fail;
1334 	}
1335 }
1336 
1337 static ValaCCodeExpression*
vala_gd_bus_module_get_method_info(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)1338 vala_gd_bus_module_get_method_info (ValaGDBusModule* self,
1339                                     ValaObjectTypeSymbol* sym)
1340 {
1341 	ValaCCodeInitializerList* infos = NULL;
1342 	ValaCCodeInitializerList* _tmp0_;
1343 	ValaCCodeInitializerList* _tmp365_;
1344 	ValaCCodeConstant* _tmp366_;
1345 	ValaCCodeConstant* _tmp367_;
1346 	ValaCCodeDeclaration* _cdecl_ = NULL;
1347 	ValaCCodeDeclaration* _tmp368_;
1348 	gchar* _tmp369_;
1349 	gchar* _tmp370_;
1350 	gchar* _tmp371_;
1351 	gchar* _tmp372_;
1352 	gchar* _tmp373_;
1353 	gchar* _tmp374_;
1354 	ValaCCodeInitializerList* _tmp375_;
1355 	ValaCCodeVariableDeclarator* _tmp376_;
1356 	ValaCCodeVariableDeclarator* _tmp377_;
1357 	ValaCCodeFile* _tmp378_;
1358 	gchar* _tmp379_;
1359 	gchar* _tmp380_;
1360 	gchar* _tmp381_;
1361 	gchar* _tmp382_;
1362 	gchar* _tmp383_;
1363 	gchar* _tmp384_;
1364 	ValaCCodeIdentifier* _tmp385_;
1365 	ValaCCodeExpression* _tmp386_;
1366 	ValaCCodeExpression* result = NULL;
1367 	g_return_val_if_fail (self != NULL, NULL);
1368 	g_return_val_if_fail (sym != NULL, NULL);
1369 	_tmp0_ = vala_ccode_initializer_list_new ();
1370 	infos = _tmp0_;
1371 	{
1372 		ValaList* _m_list = NULL;
1373 		ValaList* _tmp1_;
1374 		ValaList* _tmp2_;
1375 		gint _m_size = 0;
1376 		ValaList* _tmp3_;
1377 		gint _tmp4_;
1378 		gint _tmp5_;
1379 		gint _m_index = 0;
1380 		_tmp1_ = vala_object_type_symbol_get_methods (sym);
1381 		_tmp2_ = _vala_iterable_ref0 (_tmp1_);
1382 		_m_list = _tmp2_;
1383 		_tmp3_ = _m_list;
1384 		_tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_);
1385 		_tmp5_ = _tmp4_;
1386 		_m_size = _tmp5_;
1387 		_m_index = -1;
1388 		while (TRUE) {
1389 			gint _tmp6_;
1390 			gint _tmp7_;
1391 			ValaMethod* m = NULL;
1392 			ValaList* _tmp8_;
1393 			gpointer _tmp9_;
1394 			gboolean _tmp10_ = FALSE;
1395 			gboolean _tmp11_ = FALSE;
1396 			gboolean _tmp12_ = FALSE;
1397 			ValaMethod* _tmp13_;
1398 			ValaMethod* _tmp23_;
1399 			ValaCCodeInitializerList* in_args_info = NULL;
1400 			ValaCCodeInitializerList* _tmp24_;
1401 			ValaCCodeInitializerList* out_args_info = NULL;
1402 			ValaCCodeInitializerList* _tmp25_;
1403 			ValaMethod* _tmp159_;
1404 			ValaDataType* _tmp160_;
1405 			ValaDataType* _tmp161_;
1406 			ValaCCodeInitializerList* _tmp227_;
1407 			ValaCCodeConstant* _tmp228_;
1408 			ValaCCodeConstant* _tmp229_;
1409 			ValaCCodeInitializerList* _tmp230_;
1410 			ValaCCodeConstant* _tmp231_;
1411 			ValaCCodeConstant* _tmp232_;
1412 			ValaCCodeDeclaration* _cdecl_ = NULL;
1413 			ValaCCodeDeclaration* _tmp233_;
1414 			ValaCCodeDeclaration* _tmp234_;
1415 			gchar* _tmp235_;
1416 			gchar* _tmp236_;
1417 			gchar* _tmp237_;
1418 			gchar* _tmp238_;
1419 			gchar* _tmp239_;
1420 			gchar* _tmp240_;
1421 			ValaMethod* _tmp241_;
1422 			const gchar* _tmp242_;
1423 			const gchar* _tmp243_;
1424 			gchar* _tmp244_;
1425 			gchar* _tmp245_;
1426 			gchar* _tmp246_;
1427 			gchar* _tmp247_;
1428 			ValaCCodeInitializerList* _tmp248_;
1429 			ValaCCodeVariableDeclarator* _tmp249_;
1430 			ValaCCodeVariableDeclarator* _tmp250_;
1431 			ValaCCodeDeclaration* _tmp251_;
1432 			ValaCCodeFile* _tmp252_;
1433 			ValaCCodeDeclaration* _tmp253_;
1434 			ValaCCodeDeclaration* _tmp254_;
1435 			ValaCCodeDeclaration* _tmp255_;
1436 			gchar* _tmp256_;
1437 			gchar* _tmp257_;
1438 			gchar* _tmp258_;
1439 			gchar* _tmp259_;
1440 			gchar* _tmp260_;
1441 			gchar* _tmp261_;
1442 			ValaMethod* _tmp262_;
1443 			const gchar* _tmp263_;
1444 			const gchar* _tmp264_;
1445 			gchar* _tmp265_;
1446 			gchar* _tmp266_;
1447 			gchar* _tmp267_;
1448 			gchar* _tmp268_;
1449 			ValaCCodeInitializerList* _tmp269_;
1450 			ValaCCodeVariableDeclarator* _tmp270_;
1451 			ValaCCodeVariableDeclarator* _tmp271_;
1452 			ValaCCodeDeclaration* _tmp272_;
1453 			ValaCCodeFile* _tmp273_;
1454 			ValaCCodeDeclaration* _tmp274_;
1455 			ValaCCodeInitializerList* info = NULL;
1456 			ValaCCodeInitializerList* _tmp275_;
1457 			ValaCCodeInitializerList* _tmp276_;
1458 			ValaCCodeConstant* _tmp277_;
1459 			ValaCCodeConstant* _tmp278_;
1460 			ValaCCodeInitializerList* _tmp279_;
1461 			ValaMethod* _tmp280_;
1462 			gchar* _tmp281_;
1463 			gchar* _tmp282_;
1464 			gchar* _tmp283_;
1465 			gchar* _tmp284_;
1466 			ValaCCodeConstant* _tmp285_;
1467 			ValaCCodeConstant* _tmp286_;
1468 			ValaCCodeInitializerList* _tmp287_;
1469 			gchar* _tmp288_;
1470 			gchar* _tmp289_;
1471 			gchar* _tmp290_;
1472 			gchar* _tmp291_;
1473 			gchar* _tmp292_;
1474 			gchar* _tmp293_;
1475 			ValaMethod* _tmp294_;
1476 			const gchar* _tmp295_;
1477 			const gchar* _tmp296_;
1478 			gchar* _tmp297_;
1479 			gchar* _tmp298_;
1480 			gchar* _tmp299_;
1481 			gchar* _tmp300_;
1482 			ValaCCodeIdentifier* _tmp301_;
1483 			ValaCCodeIdentifier* _tmp302_;
1484 			ValaCCodeUnaryExpression* _tmp303_;
1485 			ValaCCodeUnaryExpression* _tmp304_;
1486 			ValaCCodeCastExpression* _tmp305_;
1487 			ValaCCodeCastExpression* _tmp306_;
1488 			ValaCCodeInitializerList* _tmp307_;
1489 			gchar* _tmp308_;
1490 			gchar* _tmp309_;
1491 			gchar* _tmp310_;
1492 			gchar* _tmp311_;
1493 			gchar* _tmp312_;
1494 			gchar* _tmp313_;
1495 			ValaMethod* _tmp314_;
1496 			const gchar* _tmp315_;
1497 			const gchar* _tmp316_;
1498 			gchar* _tmp317_;
1499 			gchar* _tmp318_;
1500 			gchar* _tmp319_;
1501 			gchar* _tmp320_;
1502 			ValaCCodeIdentifier* _tmp321_;
1503 			ValaCCodeIdentifier* _tmp322_;
1504 			ValaCCodeUnaryExpression* _tmp323_;
1505 			ValaCCodeUnaryExpression* _tmp324_;
1506 			ValaCCodeCastExpression* _tmp325_;
1507 			ValaCCodeCastExpression* _tmp326_;
1508 			ValaCCodeInitializerList* _tmp327_;
1509 			ValaCCodeConstant* _tmp328_;
1510 			ValaCCodeConstant* _tmp329_;
1511 			ValaCCodeDeclaration* _tmp330_;
1512 			ValaCCodeDeclaration* _tmp331_;
1513 			gchar* _tmp332_;
1514 			gchar* _tmp333_;
1515 			gchar* _tmp334_;
1516 			gchar* _tmp335_;
1517 			gchar* _tmp336_;
1518 			gchar* _tmp337_;
1519 			ValaMethod* _tmp338_;
1520 			const gchar* _tmp339_;
1521 			const gchar* _tmp340_;
1522 			gchar* _tmp341_;
1523 			gchar* _tmp342_;
1524 			ValaCCodeInitializerList* _tmp343_;
1525 			ValaCCodeVariableDeclarator* _tmp344_;
1526 			ValaCCodeVariableDeclarator* _tmp345_;
1527 			ValaCCodeDeclaration* _tmp346_;
1528 			ValaCCodeFile* _tmp347_;
1529 			ValaCCodeDeclaration* _tmp348_;
1530 			ValaCCodeInitializerList* _tmp349_;
1531 			gchar* _tmp350_;
1532 			gchar* _tmp351_;
1533 			gchar* _tmp352_;
1534 			gchar* _tmp353_;
1535 			gchar* _tmp354_;
1536 			gchar* _tmp355_;
1537 			ValaMethod* _tmp356_;
1538 			const gchar* _tmp357_;
1539 			const gchar* _tmp358_;
1540 			gchar* _tmp359_;
1541 			gchar* _tmp360_;
1542 			ValaCCodeIdentifier* _tmp361_;
1543 			ValaCCodeIdentifier* _tmp362_;
1544 			ValaCCodeUnaryExpression* _tmp363_;
1545 			ValaCCodeUnaryExpression* _tmp364_;
1546 			_m_index = _m_index + 1;
1547 			_tmp6_ = _m_index;
1548 			_tmp7_ = _m_size;
1549 			if (!(_tmp6_ < _tmp7_)) {
1550 				break;
1551 			}
1552 			_tmp8_ = _m_list;
1553 			_tmp9_ = vala_list_get (_tmp8_, _m_index);
1554 			m = (ValaMethod*) _tmp9_;
1555 			_tmp13_ = m;
1556 			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, VALA_TYPE_CREATION_METHOD)) {
1557 				_tmp12_ = TRUE;
1558 			} else {
1559 				ValaMethod* _tmp14_;
1560 				ValaMemberBinding _tmp15_;
1561 				ValaMemberBinding _tmp16_;
1562 				_tmp14_ = m;
1563 				_tmp15_ = vala_method_get_binding (_tmp14_);
1564 				_tmp16_ = _tmp15_;
1565 				_tmp12_ = _tmp16_ != VALA_MEMBER_BINDING_INSTANCE;
1566 			}
1567 			if (_tmp12_) {
1568 				_tmp11_ = TRUE;
1569 			} else {
1570 				ValaMethod* _tmp17_;
1571 				gboolean _tmp18_;
1572 				gboolean _tmp19_;
1573 				_tmp17_ = m;
1574 				_tmp18_ = vala_method_get_overrides (_tmp17_);
1575 				_tmp19_ = _tmp18_;
1576 				_tmp11_ = _tmp19_;
1577 			}
1578 			if (_tmp11_) {
1579 				_tmp10_ = TRUE;
1580 			} else {
1581 				ValaMethod* _tmp20_;
1582 				ValaSymbolAccessibility _tmp21_;
1583 				ValaSymbolAccessibility _tmp22_;
1584 				_tmp20_ = m;
1585 				_tmp21_ = vala_symbol_get_access ((ValaSymbol*) _tmp20_);
1586 				_tmp22_ = _tmp21_;
1587 				_tmp10_ = _tmp22_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC;
1588 			}
1589 			if (_tmp10_) {
1590 				_vala_code_node_unref0 (m);
1591 				continue;
1592 			}
1593 			_tmp23_ = m;
1594 			if (!vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp23_)) {
1595 				_vala_code_node_unref0 (m);
1596 				continue;
1597 			}
1598 			_tmp24_ = vala_ccode_initializer_list_new ();
1599 			in_args_info = _tmp24_;
1600 			_tmp25_ = vala_ccode_initializer_list_new ();
1601 			out_args_info = _tmp25_;
1602 			{
1603 				ValaList* _param_list = NULL;
1604 				ValaMethod* _tmp26_;
1605 				ValaList* _tmp27_;
1606 				ValaList* _tmp28_;
1607 				gint _param_size = 0;
1608 				ValaList* _tmp29_;
1609 				gint _tmp30_;
1610 				gint _tmp31_;
1611 				gint _param_index = 0;
1612 				_tmp26_ = m;
1613 				_tmp27_ = vala_callable_get_parameters ((ValaCallable*) _tmp26_);
1614 				_tmp28_ = _vala_iterable_ref0 (_tmp27_);
1615 				_param_list = _tmp28_;
1616 				_tmp29_ = _param_list;
1617 				_tmp30_ = vala_collection_get_size ((ValaCollection*) _tmp29_);
1618 				_tmp31_ = _tmp30_;
1619 				_param_size = _tmp31_;
1620 				_param_index = -1;
1621 				while (TRUE) {
1622 					gint _tmp32_;
1623 					gint _tmp33_;
1624 					ValaParameter* param = NULL;
1625 					ValaList* _tmp34_;
1626 					gpointer _tmp35_;
1627 					gboolean _tmp36_ = FALSE;
1628 					ValaParameter* _tmp37_;
1629 					ValaDataType* _tmp38_;
1630 					ValaDataType* _tmp39_;
1631 					gboolean _tmp47_ = FALSE;
1632 					ValaParameter* _tmp48_;
1633 					ValaDataType* _tmp49_;
1634 					ValaDataType* _tmp50_;
1635 					ValaCCodeInitializerList* info = NULL;
1636 					ValaCCodeInitializerList* _tmp58_;
1637 					ValaCCodeInitializerList* _tmp59_;
1638 					ValaCCodeConstant* _tmp60_;
1639 					ValaCCodeConstant* _tmp61_;
1640 					ValaCCodeInitializerList* _tmp62_;
1641 					ValaParameter* _tmp63_;
1642 					const gchar* _tmp64_;
1643 					const gchar* _tmp65_;
1644 					gchar* _tmp66_;
1645 					gchar* _tmp67_;
1646 					ValaCCodeConstant* _tmp68_;
1647 					ValaCCodeConstant* _tmp69_;
1648 					ValaCCodeInitializerList* _tmp70_;
1649 					ValaParameter* _tmp71_;
1650 					ValaDataType* _tmp72_;
1651 					ValaDataType* _tmp73_;
1652 					ValaParameter* _tmp74_;
1653 					gchar* _tmp75_;
1654 					gchar* _tmp76_;
1655 					gchar* _tmp77_;
1656 					gchar* _tmp78_;
1657 					ValaCCodeConstant* _tmp79_;
1658 					ValaCCodeConstant* _tmp80_;
1659 					ValaCCodeInitializerList* _tmp81_;
1660 					ValaCCodeConstant* _tmp82_;
1661 					ValaCCodeConstant* _tmp83_;
1662 					ValaCCodeDeclaration* _cdecl_ = NULL;
1663 					ValaCCodeDeclaration* _tmp84_;
1664 					ValaCCodeDeclaration* _tmp85_;
1665 					gchar* _tmp86_;
1666 					gchar* _tmp87_;
1667 					gchar* _tmp88_;
1668 					gchar* _tmp89_;
1669 					gchar* _tmp90_;
1670 					gchar* _tmp91_;
1671 					ValaMethod* _tmp92_;
1672 					const gchar* _tmp93_;
1673 					const gchar* _tmp94_;
1674 					gchar* _tmp95_;
1675 					gchar* _tmp96_;
1676 					gchar* _tmp97_;
1677 					gchar* _tmp98_;
1678 					ValaParameter* _tmp99_;
1679 					const gchar* _tmp100_;
1680 					const gchar* _tmp101_;
1681 					gchar* _tmp102_;
1682 					gchar* _tmp103_;
1683 					ValaCCodeInitializerList* _tmp104_;
1684 					ValaCCodeVariableDeclarator* _tmp105_;
1685 					ValaCCodeVariableDeclarator* _tmp106_;
1686 					ValaCCodeDeclaration* _tmp107_;
1687 					ValaCCodeFile* _tmp108_;
1688 					ValaCCodeDeclaration* _tmp109_;
1689 					ValaParameter* _tmp110_;
1690 					ValaParameterDirection _tmp111_;
1691 					ValaParameterDirection _tmp112_;
1692 					_param_index = _param_index + 1;
1693 					_tmp32_ = _param_index;
1694 					_tmp33_ = _param_size;
1695 					if (!(_tmp32_ < _tmp33_)) {
1696 						break;
1697 					}
1698 					_tmp34_ = _param_list;
1699 					_tmp35_ = vala_list_get (_tmp34_, _param_index);
1700 					param = (ValaParameter*) _tmp35_;
1701 					_tmp37_ = param;
1702 					_tmp38_ = vala_variable_get_variable_type ((ValaVariable*) _tmp37_);
1703 					_tmp39_ = _tmp38_;
1704 					if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp39_, VALA_TYPE_OBJECT_TYPE)) {
1705 						ValaParameter* _tmp40_;
1706 						ValaDataType* _tmp41_;
1707 						ValaDataType* _tmp42_;
1708 						ValaTypeSymbol* _tmp43_;
1709 						ValaTypeSymbol* _tmp44_;
1710 						gchar* _tmp45_;
1711 						gchar* _tmp46_;
1712 						_tmp40_ = param;
1713 						_tmp41_ = vala_variable_get_variable_type ((ValaVariable*) _tmp40_);
1714 						_tmp42_ = _tmp41_;
1715 						_tmp43_ = vala_data_type_get_type_symbol (_tmp42_);
1716 						_tmp44_ = _tmp43_;
1717 						_tmp45_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp44_);
1718 						_tmp46_ = _tmp45_;
1719 						_tmp36_ = g_strcmp0 (_tmp46_, "GLib.Cancellable") == 0;
1720 						_g_free0 (_tmp46_);
1721 					} else {
1722 						_tmp36_ = FALSE;
1723 					}
1724 					if (_tmp36_) {
1725 						_vala_code_node_unref0 (param);
1726 						continue;
1727 					}
1728 					_tmp48_ = param;
1729 					_tmp49_ = vala_variable_get_variable_type ((ValaVariable*) _tmp48_);
1730 					_tmp50_ = _tmp49_;
1731 					if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp50_, VALA_TYPE_OBJECT_TYPE)) {
1732 						ValaParameter* _tmp51_;
1733 						ValaDataType* _tmp52_;
1734 						ValaDataType* _tmp53_;
1735 						ValaTypeSymbol* _tmp54_;
1736 						ValaTypeSymbol* _tmp55_;
1737 						gchar* _tmp56_;
1738 						gchar* _tmp57_;
1739 						_tmp51_ = param;
1740 						_tmp52_ = vala_variable_get_variable_type ((ValaVariable*) _tmp51_);
1741 						_tmp53_ = _tmp52_;
1742 						_tmp54_ = vala_data_type_get_type_symbol (_tmp53_);
1743 						_tmp55_ = _tmp54_;
1744 						_tmp56_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp55_);
1745 						_tmp57_ = _tmp56_;
1746 						_tmp47_ = g_strcmp0 (_tmp57_, "GLib.BusName") == 0;
1747 						_g_free0 (_tmp57_);
1748 					} else {
1749 						_tmp47_ = FALSE;
1750 					}
1751 					if (_tmp47_) {
1752 						_vala_code_node_unref0 (param);
1753 						continue;
1754 					}
1755 					_tmp58_ = vala_ccode_initializer_list_new ();
1756 					info = _tmp58_;
1757 					_tmp59_ = info;
1758 					_tmp60_ = vala_ccode_constant_new ("-1");
1759 					_tmp61_ = _tmp60_;
1760 					vala_ccode_initializer_list_append (_tmp59_, (ValaCCodeExpression*) _tmp61_);
1761 					_vala_ccode_node_unref0 (_tmp61_);
1762 					_tmp62_ = info;
1763 					_tmp63_ = param;
1764 					_tmp64_ = vala_symbol_get_name ((ValaSymbol*) _tmp63_);
1765 					_tmp65_ = _tmp64_;
1766 					_tmp66_ = g_strdup_printf ("\"%s\"", _tmp65_);
1767 					_tmp67_ = _tmp66_;
1768 					_tmp68_ = vala_ccode_constant_new (_tmp67_);
1769 					_tmp69_ = _tmp68_;
1770 					vala_ccode_initializer_list_append (_tmp62_, (ValaCCodeExpression*) _tmp69_);
1771 					_vala_ccode_node_unref0 (_tmp69_);
1772 					_g_free0 (_tmp67_);
1773 					_tmp70_ = info;
1774 					_tmp71_ = param;
1775 					_tmp72_ = vala_variable_get_variable_type ((ValaVariable*) _tmp71_);
1776 					_tmp73_ = _tmp72_;
1777 					_tmp74_ = param;
1778 					_tmp75_ = vala_data_type_get_type_signature (_tmp73_, (ValaSymbol*) _tmp74_);
1779 					_tmp76_ = _tmp75_;
1780 					_tmp77_ = g_strdup_printf ("\"%s\"", _tmp76_);
1781 					_tmp78_ = _tmp77_;
1782 					_tmp79_ = vala_ccode_constant_new (_tmp78_);
1783 					_tmp80_ = _tmp79_;
1784 					vala_ccode_initializer_list_append (_tmp70_, (ValaCCodeExpression*) _tmp80_);
1785 					_vala_ccode_node_unref0 (_tmp80_);
1786 					_g_free0 (_tmp78_);
1787 					_g_free0 (_tmp76_);
1788 					_tmp81_ = info;
1789 					_tmp82_ = vala_ccode_constant_new ("NULL");
1790 					_tmp83_ = _tmp82_;
1791 					vala_ccode_initializer_list_append (_tmp81_, (ValaCCodeExpression*) _tmp83_);
1792 					_vala_ccode_node_unref0 (_tmp83_);
1793 					_tmp84_ = vala_ccode_declaration_new ("const GDBusArgInfo");
1794 					_cdecl_ = _tmp84_;
1795 					_tmp85_ = _cdecl_;
1796 					_tmp86_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
1797 					_tmp87_ = _tmp86_;
1798 					_tmp88_ = g_strconcat ("_", _tmp87_, NULL);
1799 					_tmp89_ = _tmp88_;
1800 					_tmp90_ = g_strconcat (_tmp89_, "dbus_arg_info_", NULL);
1801 					_tmp91_ = _tmp90_;
1802 					_tmp92_ = m;
1803 					_tmp93_ = vala_symbol_get_name ((ValaSymbol*) _tmp92_);
1804 					_tmp94_ = _tmp93_;
1805 					_tmp95_ = g_strconcat (_tmp91_, _tmp94_, NULL);
1806 					_tmp96_ = _tmp95_;
1807 					_tmp97_ = g_strconcat (_tmp96_, "_", NULL);
1808 					_tmp98_ = _tmp97_;
1809 					_tmp99_ = param;
1810 					_tmp100_ = vala_symbol_get_name ((ValaSymbol*) _tmp99_);
1811 					_tmp101_ = _tmp100_;
1812 					_tmp102_ = g_strconcat (_tmp98_, _tmp101_, NULL);
1813 					_tmp103_ = _tmp102_;
1814 					_tmp104_ = info;
1815 					_tmp105_ = vala_ccode_variable_declarator_new (_tmp103_, (ValaCCodeExpression*) _tmp104_, NULL);
1816 					_tmp106_ = _tmp105_;
1817 					vala_ccode_declaration_add_declarator (_tmp85_, (ValaCCodeDeclarator*) _tmp106_);
1818 					_vala_ccode_node_unref0 (_tmp106_);
1819 					_g_free0 (_tmp103_);
1820 					_g_free0 (_tmp98_);
1821 					_g_free0 (_tmp96_);
1822 					_g_free0 (_tmp91_);
1823 					_g_free0 (_tmp89_);
1824 					_g_free0 (_tmp87_);
1825 					_tmp107_ = _cdecl_;
1826 					vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp107_, VALA_CCODE_MODIFIERS_STATIC);
1827 					_tmp108_ = ((ValaCCodeBaseModule*) self)->cfile;
1828 					_tmp109_ = _cdecl_;
1829 					vala_ccode_file_add_constant_declaration (_tmp108_, (ValaCCodeNode*) _tmp109_);
1830 					_tmp110_ = param;
1831 					_tmp111_ = vala_parameter_get_direction (_tmp110_);
1832 					_tmp112_ = _tmp111_;
1833 					if (_tmp112_ == VALA_PARAMETER_DIRECTION_IN) {
1834 						ValaCCodeInitializerList* _tmp113_;
1835 						gchar* _tmp114_;
1836 						gchar* _tmp115_;
1837 						gchar* _tmp116_;
1838 						gchar* _tmp117_;
1839 						gchar* _tmp118_;
1840 						gchar* _tmp119_;
1841 						ValaMethod* _tmp120_;
1842 						const gchar* _tmp121_;
1843 						const gchar* _tmp122_;
1844 						gchar* _tmp123_;
1845 						gchar* _tmp124_;
1846 						gchar* _tmp125_;
1847 						gchar* _tmp126_;
1848 						ValaParameter* _tmp127_;
1849 						const gchar* _tmp128_;
1850 						const gchar* _tmp129_;
1851 						gchar* _tmp130_;
1852 						gchar* _tmp131_;
1853 						ValaCCodeIdentifier* _tmp132_;
1854 						ValaCCodeIdentifier* _tmp133_;
1855 						ValaCCodeUnaryExpression* _tmp134_;
1856 						ValaCCodeUnaryExpression* _tmp135_;
1857 						_tmp113_ = in_args_info;
1858 						_tmp114_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
1859 						_tmp115_ = _tmp114_;
1860 						_tmp116_ = g_strconcat ("_", _tmp115_, NULL);
1861 						_tmp117_ = _tmp116_;
1862 						_tmp118_ = g_strconcat (_tmp117_, "dbus_arg_info_", NULL);
1863 						_tmp119_ = _tmp118_;
1864 						_tmp120_ = m;
1865 						_tmp121_ = vala_symbol_get_name ((ValaSymbol*) _tmp120_);
1866 						_tmp122_ = _tmp121_;
1867 						_tmp123_ = g_strconcat (_tmp119_, _tmp122_, NULL);
1868 						_tmp124_ = _tmp123_;
1869 						_tmp125_ = g_strconcat (_tmp124_, "_", NULL);
1870 						_tmp126_ = _tmp125_;
1871 						_tmp127_ = param;
1872 						_tmp128_ = vala_symbol_get_name ((ValaSymbol*) _tmp127_);
1873 						_tmp129_ = _tmp128_;
1874 						_tmp130_ = g_strconcat (_tmp126_, _tmp129_, NULL);
1875 						_tmp131_ = _tmp130_;
1876 						_tmp132_ = vala_ccode_identifier_new (_tmp131_);
1877 						_tmp133_ = _tmp132_;
1878 						_tmp134_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp133_);
1879 						_tmp135_ = _tmp134_;
1880 						vala_ccode_initializer_list_append (_tmp113_, (ValaCCodeExpression*) _tmp135_);
1881 						_vala_ccode_node_unref0 (_tmp135_);
1882 						_vala_ccode_node_unref0 (_tmp133_);
1883 						_g_free0 (_tmp131_);
1884 						_g_free0 (_tmp126_);
1885 						_g_free0 (_tmp124_);
1886 						_g_free0 (_tmp119_);
1887 						_g_free0 (_tmp117_);
1888 						_g_free0 (_tmp115_);
1889 					} else {
1890 						ValaCCodeInitializerList* _tmp136_;
1891 						gchar* _tmp137_;
1892 						gchar* _tmp138_;
1893 						gchar* _tmp139_;
1894 						gchar* _tmp140_;
1895 						gchar* _tmp141_;
1896 						gchar* _tmp142_;
1897 						ValaMethod* _tmp143_;
1898 						const gchar* _tmp144_;
1899 						const gchar* _tmp145_;
1900 						gchar* _tmp146_;
1901 						gchar* _tmp147_;
1902 						gchar* _tmp148_;
1903 						gchar* _tmp149_;
1904 						ValaParameter* _tmp150_;
1905 						const gchar* _tmp151_;
1906 						const gchar* _tmp152_;
1907 						gchar* _tmp153_;
1908 						gchar* _tmp154_;
1909 						ValaCCodeIdentifier* _tmp155_;
1910 						ValaCCodeIdentifier* _tmp156_;
1911 						ValaCCodeUnaryExpression* _tmp157_;
1912 						ValaCCodeUnaryExpression* _tmp158_;
1913 						_tmp136_ = out_args_info;
1914 						_tmp137_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
1915 						_tmp138_ = _tmp137_;
1916 						_tmp139_ = g_strconcat ("_", _tmp138_, NULL);
1917 						_tmp140_ = _tmp139_;
1918 						_tmp141_ = g_strconcat (_tmp140_, "dbus_arg_info_", NULL);
1919 						_tmp142_ = _tmp141_;
1920 						_tmp143_ = m;
1921 						_tmp144_ = vala_symbol_get_name ((ValaSymbol*) _tmp143_);
1922 						_tmp145_ = _tmp144_;
1923 						_tmp146_ = g_strconcat (_tmp142_, _tmp145_, NULL);
1924 						_tmp147_ = _tmp146_;
1925 						_tmp148_ = g_strconcat (_tmp147_, "_", NULL);
1926 						_tmp149_ = _tmp148_;
1927 						_tmp150_ = param;
1928 						_tmp151_ = vala_symbol_get_name ((ValaSymbol*) _tmp150_);
1929 						_tmp152_ = _tmp151_;
1930 						_tmp153_ = g_strconcat (_tmp149_, _tmp152_, NULL);
1931 						_tmp154_ = _tmp153_;
1932 						_tmp155_ = vala_ccode_identifier_new (_tmp154_);
1933 						_tmp156_ = _tmp155_;
1934 						_tmp157_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp156_);
1935 						_tmp158_ = _tmp157_;
1936 						vala_ccode_initializer_list_append (_tmp136_, (ValaCCodeExpression*) _tmp158_);
1937 						_vala_ccode_node_unref0 (_tmp158_);
1938 						_vala_ccode_node_unref0 (_tmp156_);
1939 						_g_free0 (_tmp154_);
1940 						_g_free0 (_tmp149_);
1941 						_g_free0 (_tmp147_);
1942 						_g_free0 (_tmp142_);
1943 						_g_free0 (_tmp140_);
1944 						_g_free0 (_tmp138_);
1945 					}
1946 					_vala_ccode_node_unref0 (_cdecl_);
1947 					_vala_ccode_node_unref0 (info);
1948 					_vala_code_node_unref0 (param);
1949 				}
1950 				_vala_iterable_unref0 (_param_list);
1951 			}
1952 			_tmp159_ = m;
1953 			_tmp160_ = vala_callable_get_return_type ((ValaCallable*) _tmp159_);
1954 			_tmp161_ = _tmp160_;
1955 			if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp161_, VALA_TYPE_VOID_TYPE)) {
1956 				ValaCCodeInitializerList* info = NULL;
1957 				ValaCCodeInitializerList* _tmp162_;
1958 				ValaCCodeInitializerList* _tmp163_;
1959 				ValaCCodeConstant* _tmp164_;
1960 				ValaCCodeConstant* _tmp165_;
1961 				ValaCCodeInitializerList* _tmp166_;
1962 				ValaMethod* _tmp167_;
1963 				gchar* _tmp168_;
1964 				gchar* _tmp169_;
1965 				gchar* _tmp170_;
1966 				gchar* _tmp171_;
1967 				ValaCCodeConstant* _tmp172_;
1968 				ValaCCodeConstant* _tmp173_;
1969 				ValaCCodeInitializerList* _tmp174_;
1970 				ValaMethod* _tmp175_;
1971 				ValaDataType* _tmp176_;
1972 				ValaDataType* _tmp177_;
1973 				ValaMethod* _tmp178_;
1974 				gchar* _tmp179_;
1975 				gchar* _tmp180_;
1976 				gchar* _tmp181_;
1977 				gchar* _tmp182_;
1978 				ValaCCodeConstant* _tmp183_;
1979 				ValaCCodeConstant* _tmp184_;
1980 				ValaCCodeInitializerList* _tmp185_;
1981 				ValaCCodeConstant* _tmp186_;
1982 				ValaCCodeConstant* _tmp187_;
1983 				ValaCCodeDeclaration* _cdecl_ = NULL;
1984 				ValaCCodeDeclaration* _tmp188_;
1985 				ValaCCodeDeclaration* _tmp189_;
1986 				gchar* _tmp190_;
1987 				gchar* _tmp191_;
1988 				gchar* _tmp192_;
1989 				gchar* _tmp193_;
1990 				gchar* _tmp194_;
1991 				gchar* _tmp195_;
1992 				ValaMethod* _tmp196_;
1993 				const gchar* _tmp197_;
1994 				const gchar* _tmp198_;
1995 				gchar* _tmp199_;
1996 				gchar* _tmp200_;
1997 				gchar* _tmp201_;
1998 				gchar* _tmp202_;
1999 				ValaCCodeInitializerList* _tmp203_;
2000 				ValaCCodeVariableDeclarator* _tmp204_;
2001 				ValaCCodeVariableDeclarator* _tmp205_;
2002 				ValaCCodeDeclaration* _tmp206_;
2003 				ValaCCodeFile* _tmp207_;
2004 				ValaCCodeDeclaration* _tmp208_;
2005 				ValaCCodeInitializerList* _tmp209_;
2006 				gchar* _tmp210_;
2007 				gchar* _tmp211_;
2008 				gchar* _tmp212_;
2009 				gchar* _tmp213_;
2010 				gchar* _tmp214_;
2011 				gchar* _tmp215_;
2012 				ValaMethod* _tmp216_;
2013 				const gchar* _tmp217_;
2014 				const gchar* _tmp218_;
2015 				gchar* _tmp219_;
2016 				gchar* _tmp220_;
2017 				gchar* _tmp221_;
2018 				gchar* _tmp222_;
2019 				ValaCCodeIdentifier* _tmp223_;
2020 				ValaCCodeIdentifier* _tmp224_;
2021 				ValaCCodeUnaryExpression* _tmp225_;
2022 				ValaCCodeUnaryExpression* _tmp226_;
2023 				_tmp162_ = vala_ccode_initializer_list_new ();
2024 				info = _tmp162_;
2025 				_tmp163_ = info;
2026 				_tmp164_ = vala_ccode_constant_new ("-1");
2027 				_tmp165_ = _tmp164_;
2028 				vala_ccode_initializer_list_append (_tmp163_, (ValaCCodeExpression*) _tmp165_);
2029 				_vala_ccode_node_unref0 (_tmp165_);
2030 				_tmp166_ = info;
2031 				_tmp167_ = m;
2032 				_tmp168_ = vala_gd_bus_module_dbus_result_name (_tmp167_);
2033 				_tmp169_ = _tmp168_;
2034 				_tmp170_ = g_strdup_printf ("\"%s\"", _tmp169_);
2035 				_tmp171_ = _tmp170_;
2036 				_tmp172_ = vala_ccode_constant_new (_tmp171_);
2037 				_tmp173_ = _tmp172_;
2038 				vala_ccode_initializer_list_append (_tmp166_, (ValaCCodeExpression*) _tmp173_);
2039 				_vala_ccode_node_unref0 (_tmp173_);
2040 				_g_free0 (_tmp171_);
2041 				_g_free0 (_tmp169_);
2042 				_tmp174_ = info;
2043 				_tmp175_ = m;
2044 				_tmp176_ = vala_callable_get_return_type ((ValaCallable*) _tmp175_);
2045 				_tmp177_ = _tmp176_;
2046 				_tmp178_ = m;
2047 				_tmp179_ = vala_data_type_get_type_signature (_tmp177_, (ValaSymbol*) _tmp178_);
2048 				_tmp180_ = _tmp179_;
2049 				_tmp181_ = g_strdup_printf ("\"%s\"", _tmp180_);
2050 				_tmp182_ = _tmp181_;
2051 				_tmp183_ = vala_ccode_constant_new (_tmp182_);
2052 				_tmp184_ = _tmp183_;
2053 				vala_ccode_initializer_list_append (_tmp174_, (ValaCCodeExpression*) _tmp184_);
2054 				_vala_ccode_node_unref0 (_tmp184_);
2055 				_g_free0 (_tmp182_);
2056 				_g_free0 (_tmp180_);
2057 				_tmp185_ = info;
2058 				_tmp186_ = vala_ccode_constant_new ("NULL");
2059 				_tmp187_ = _tmp186_;
2060 				vala_ccode_initializer_list_append (_tmp185_, (ValaCCodeExpression*) _tmp187_);
2061 				_vala_ccode_node_unref0 (_tmp187_);
2062 				_tmp188_ = vala_ccode_declaration_new ("const GDBusArgInfo");
2063 				_cdecl_ = _tmp188_;
2064 				_tmp189_ = _cdecl_;
2065 				_tmp190_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2066 				_tmp191_ = _tmp190_;
2067 				_tmp192_ = g_strconcat ("_", _tmp191_, NULL);
2068 				_tmp193_ = _tmp192_;
2069 				_tmp194_ = g_strconcat (_tmp193_, "dbus_arg_info_", NULL);
2070 				_tmp195_ = _tmp194_;
2071 				_tmp196_ = m;
2072 				_tmp197_ = vala_symbol_get_name ((ValaSymbol*) _tmp196_);
2073 				_tmp198_ = _tmp197_;
2074 				_tmp199_ = g_strconcat (_tmp195_, _tmp198_, NULL);
2075 				_tmp200_ = _tmp199_;
2076 				_tmp201_ = g_strconcat (_tmp200_, "_result", NULL);
2077 				_tmp202_ = _tmp201_;
2078 				_tmp203_ = info;
2079 				_tmp204_ = vala_ccode_variable_declarator_new (_tmp202_, (ValaCCodeExpression*) _tmp203_, NULL);
2080 				_tmp205_ = _tmp204_;
2081 				vala_ccode_declaration_add_declarator (_tmp189_, (ValaCCodeDeclarator*) _tmp205_);
2082 				_vala_ccode_node_unref0 (_tmp205_);
2083 				_g_free0 (_tmp202_);
2084 				_g_free0 (_tmp200_);
2085 				_g_free0 (_tmp195_);
2086 				_g_free0 (_tmp193_);
2087 				_g_free0 (_tmp191_);
2088 				_tmp206_ = _cdecl_;
2089 				vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp206_, VALA_CCODE_MODIFIERS_STATIC);
2090 				_tmp207_ = ((ValaCCodeBaseModule*) self)->cfile;
2091 				_tmp208_ = _cdecl_;
2092 				vala_ccode_file_add_constant_declaration (_tmp207_, (ValaCCodeNode*) _tmp208_);
2093 				_tmp209_ = out_args_info;
2094 				_tmp210_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2095 				_tmp211_ = _tmp210_;
2096 				_tmp212_ = g_strconcat ("_", _tmp211_, NULL);
2097 				_tmp213_ = _tmp212_;
2098 				_tmp214_ = g_strconcat (_tmp213_, "dbus_arg_info_", NULL);
2099 				_tmp215_ = _tmp214_;
2100 				_tmp216_ = m;
2101 				_tmp217_ = vala_symbol_get_name ((ValaSymbol*) _tmp216_);
2102 				_tmp218_ = _tmp217_;
2103 				_tmp219_ = g_strconcat (_tmp215_, _tmp218_, NULL);
2104 				_tmp220_ = _tmp219_;
2105 				_tmp221_ = g_strconcat (_tmp220_, "_result", NULL);
2106 				_tmp222_ = _tmp221_;
2107 				_tmp223_ = vala_ccode_identifier_new (_tmp222_);
2108 				_tmp224_ = _tmp223_;
2109 				_tmp225_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp224_);
2110 				_tmp226_ = _tmp225_;
2111 				vala_ccode_initializer_list_append (_tmp209_, (ValaCCodeExpression*) _tmp226_);
2112 				_vala_ccode_node_unref0 (_tmp226_);
2113 				_vala_ccode_node_unref0 (_tmp224_);
2114 				_g_free0 (_tmp222_);
2115 				_g_free0 (_tmp220_);
2116 				_g_free0 (_tmp215_);
2117 				_g_free0 (_tmp213_);
2118 				_g_free0 (_tmp211_);
2119 				_vala_ccode_node_unref0 (_cdecl_);
2120 				_vala_ccode_node_unref0 (info);
2121 			}
2122 			_tmp227_ = in_args_info;
2123 			_tmp228_ = vala_ccode_constant_new ("NULL");
2124 			_tmp229_ = _tmp228_;
2125 			vala_ccode_initializer_list_append (_tmp227_, (ValaCCodeExpression*) _tmp229_);
2126 			_vala_ccode_node_unref0 (_tmp229_);
2127 			_tmp230_ = out_args_info;
2128 			_tmp231_ = vala_ccode_constant_new ("NULL");
2129 			_tmp232_ = _tmp231_;
2130 			vala_ccode_initializer_list_append (_tmp230_, (ValaCCodeExpression*) _tmp232_);
2131 			_vala_ccode_node_unref0 (_tmp232_);
2132 			_tmp233_ = vala_ccode_declaration_new ("const GDBusArgInfo * const");
2133 			_cdecl_ = _tmp233_;
2134 			_tmp234_ = _cdecl_;
2135 			_tmp235_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2136 			_tmp236_ = _tmp235_;
2137 			_tmp237_ = g_strconcat ("_", _tmp236_, NULL);
2138 			_tmp238_ = _tmp237_;
2139 			_tmp239_ = g_strconcat (_tmp238_, "dbus_arg_info_", NULL);
2140 			_tmp240_ = _tmp239_;
2141 			_tmp241_ = m;
2142 			_tmp242_ = vala_symbol_get_name ((ValaSymbol*) _tmp241_);
2143 			_tmp243_ = _tmp242_;
2144 			_tmp244_ = g_strconcat (_tmp240_, _tmp243_, NULL);
2145 			_tmp245_ = _tmp244_;
2146 			_tmp246_ = g_strconcat (_tmp245_, "_in[]", NULL);
2147 			_tmp247_ = _tmp246_;
2148 			_tmp248_ = in_args_info;
2149 			_tmp249_ = vala_ccode_variable_declarator_new (_tmp247_, (ValaCCodeExpression*) _tmp248_, NULL);
2150 			_tmp250_ = _tmp249_;
2151 			vala_ccode_declaration_add_declarator (_tmp234_, (ValaCCodeDeclarator*) _tmp250_);
2152 			_vala_ccode_node_unref0 (_tmp250_);
2153 			_g_free0 (_tmp247_);
2154 			_g_free0 (_tmp245_);
2155 			_g_free0 (_tmp240_);
2156 			_g_free0 (_tmp238_);
2157 			_g_free0 (_tmp236_);
2158 			_tmp251_ = _cdecl_;
2159 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp251_, VALA_CCODE_MODIFIERS_STATIC);
2160 			_tmp252_ = ((ValaCCodeBaseModule*) self)->cfile;
2161 			_tmp253_ = _cdecl_;
2162 			vala_ccode_file_add_constant_declaration (_tmp252_, (ValaCCodeNode*) _tmp253_);
2163 			_tmp254_ = vala_ccode_declaration_new ("const GDBusArgInfo * const");
2164 			_vala_ccode_node_unref0 (_cdecl_);
2165 			_cdecl_ = _tmp254_;
2166 			_tmp255_ = _cdecl_;
2167 			_tmp256_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2168 			_tmp257_ = _tmp256_;
2169 			_tmp258_ = g_strconcat ("_", _tmp257_, NULL);
2170 			_tmp259_ = _tmp258_;
2171 			_tmp260_ = g_strconcat (_tmp259_, "dbus_arg_info_", NULL);
2172 			_tmp261_ = _tmp260_;
2173 			_tmp262_ = m;
2174 			_tmp263_ = vala_symbol_get_name ((ValaSymbol*) _tmp262_);
2175 			_tmp264_ = _tmp263_;
2176 			_tmp265_ = g_strconcat (_tmp261_, _tmp264_, NULL);
2177 			_tmp266_ = _tmp265_;
2178 			_tmp267_ = g_strconcat (_tmp266_, "_out[]", NULL);
2179 			_tmp268_ = _tmp267_;
2180 			_tmp269_ = out_args_info;
2181 			_tmp270_ = vala_ccode_variable_declarator_new (_tmp268_, (ValaCCodeExpression*) _tmp269_, NULL);
2182 			_tmp271_ = _tmp270_;
2183 			vala_ccode_declaration_add_declarator (_tmp255_, (ValaCCodeDeclarator*) _tmp271_);
2184 			_vala_ccode_node_unref0 (_tmp271_);
2185 			_g_free0 (_tmp268_);
2186 			_g_free0 (_tmp266_);
2187 			_g_free0 (_tmp261_);
2188 			_g_free0 (_tmp259_);
2189 			_g_free0 (_tmp257_);
2190 			_tmp272_ = _cdecl_;
2191 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp272_, VALA_CCODE_MODIFIERS_STATIC);
2192 			_tmp273_ = ((ValaCCodeBaseModule*) self)->cfile;
2193 			_tmp274_ = _cdecl_;
2194 			vala_ccode_file_add_constant_declaration (_tmp273_, (ValaCCodeNode*) _tmp274_);
2195 			_tmp275_ = vala_ccode_initializer_list_new ();
2196 			info = _tmp275_;
2197 			_tmp276_ = info;
2198 			_tmp277_ = vala_ccode_constant_new ("-1");
2199 			_tmp278_ = _tmp277_;
2200 			vala_ccode_initializer_list_append (_tmp276_, (ValaCCodeExpression*) _tmp278_);
2201 			_vala_ccode_node_unref0 (_tmp278_);
2202 			_tmp279_ = info;
2203 			_tmp280_ = m;
2204 			_tmp281_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp280_);
2205 			_tmp282_ = _tmp281_;
2206 			_tmp283_ = g_strdup_printf ("\"%s\"", _tmp282_);
2207 			_tmp284_ = _tmp283_;
2208 			_tmp285_ = vala_ccode_constant_new (_tmp284_);
2209 			_tmp286_ = _tmp285_;
2210 			vala_ccode_initializer_list_append (_tmp279_, (ValaCCodeExpression*) _tmp286_);
2211 			_vala_ccode_node_unref0 (_tmp286_);
2212 			_g_free0 (_tmp284_);
2213 			_g_free0 (_tmp282_);
2214 			_tmp287_ = info;
2215 			_tmp288_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2216 			_tmp289_ = _tmp288_;
2217 			_tmp290_ = g_strconcat ("_", _tmp289_, NULL);
2218 			_tmp291_ = _tmp290_;
2219 			_tmp292_ = g_strconcat (_tmp291_, "dbus_arg_info_", NULL);
2220 			_tmp293_ = _tmp292_;
2221 			_tmp294_ = m;
2222 			_tmp295_ = vala_symbol_get_name ((ValaSymbol*) _tmp294_);
2223 			_tmp296_ = _tmp295_;
2224 			_tmp297_ = g_strconcat (_tmp293_, _tmp296_, NULL);
2225 			_tmp298_ = _tmp297_;
2226 			_tmp299_ = g_strconcat (_tmp298_, "_in", NULL);
2227 			_tmp300_ = _tmp299_;
2228 			_tmp301_ = vala_ccode_identifier_new (_tmp300_);
2229 			_tmp302_ = _tmp301_;
2230 			_tmp303_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp302_);
2231 			_tmp304_ = _tmp303_;
2232 			_tmp305_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp304_, "GDBusArgInfo **");
2233 			_tmp306_ = _tmp305_;
2234 			vala_ccode_initializer_list_append (_tmp287_, (ValaCCodeExpression*) _tmp306_);
2235 			_vala_ccode_node_unref0 (_tmp306_);
2236 			_vala_ccode_node_unref0 (_tmp304_);
2237 			_vala_ccode_node_unref0 (_tmp302_);
2238 			_g_free0 (_tmp300_);
2239 			_g_free0 (_tmp298_);
2240 			_g_free0 (_tmp293_);
2241 			_g_free0 (_tmp291_);
2242 			_g_free0 (_tmp289_);
2243 			_tmp307_ = info;
2244 			_tmp308_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2245 			_tmp309_ = _tmp308_;
2246 			_tmp310_ = g_strconcat ("_", _tmp309_, NULL);
2247 			_tmp311_ = _tmp310_;
2248 			_tmp312_ = g_strconcat (_tmp311_, "dbus_arg_info_", NULL);
2249 			_tmp313_ = _tmp312_;
2250 			_tmp314_ = m;
2251 			_tmp315_ = vala_symbol_get_name ((ValaSymbol*) _tmp314_);
2252 			_tmp316_ = _tmp315_;
2253 			_tmp317_ = g_strconcat (_tmp313_, _tmp316_, NULL);
2254 			_tmp318_ = _tmp317_;
2255 			_tmp319_ = g_strconcat (_tmp318_, "_out", NULL);
2256 			_tmp320_ = _tmp319_;
2257 			_tmp321_ = vala_ccode_identifier_new (_tmp320_);
2258 			_tmp322_ = _tmp321_;
2259 			_tmp323_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp322_);
2260 			_tmp324_ = _tmp323_;
2261 			_tmp325_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp324_, "GDBusArgInfo **");
2262 			_tmp326_ = _tmp325_;
2263 			vala_ccode_initializer_list_append (_tmp307_, (ValaCCodeExpression*) _tmp326_);
2264 			_vala_ccode_node_unref0 (_tmp326_);
2265 			_vala_ccode_node_unref0 (_tmp324_);
2266 			_vala_ccode_node_unref0 (_tmp322_);
2267 			_g_free0 (_tmp320_);
2268 			_g_free0 (_tmp318_);
2269 			_g_free0 (_tmp313_);
2270 			_g_free0 (_tmp311_);
2271 			_g_free0 (_tmp309_);
2272 			_tmp327_ = info;
2273 			_tmp328_ = vala_ccode_constant_new ("NULL");
2274 			_tmp329_ = _tmp328_;
2275 			vala_ccode_initializer_list_append (_tmp327_, (ValaCCodeExpression*) _tmp329_);
2276 			_vala_ccode_node_unref0 (_tmp329_);
2277 			_tmp330_ = vala_ccode_declaration_new ("const GDBusMethodInfo");
2278 			_vala_ccode_node_unref0 (_cdecl_);
2279 			_cdecl_ = _tmp330_;
2280 			_tmp331_ = _cdecl_;
2281 			_tmp332_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2282 			_tmp333_ = _tmp332_;
2283 			_tmp334_ = g_strconcat ("_", _tmp333_, NULL);
2284 			_tmp335_ = _tmp334_;
2285 			_tmp336_ = g_strconcat (_tmp335_, "dbus_method_info_", NULL);
2286 			_tmp337_ = _tmp336_;
2287 			_tmp338_ = m;
2288 			_tmp339_ = vala_symbol_get_name ((ValaSymbol*) _tmp338_);
2289 			_tmp340_ = _tmp339_;
2290 			_tmp341_ = g_strconcat (_tmp337_, _tmp340_, NULL);
2291 			_tmp342_ = _tmp341_;
2292 			_tmp343_ = info;
2293 			_tmp344_ = vala_ccode_variable_declarator_new (_tmp342_, (ValaCCodeExpression*) _tmp343_, NULL);
2294 			_tmp345_ = _tmp344_;
2295 			vala_ccode_declaration_add_declarator (_tmp331_, (ValaCCodeDeclarator*) _tmp345_);
2296 			_vala_ccode_node_unref0 (_tmp345_);
2297 			_g_free0 (_tmp342_);
2298 			_g_free0 (_tmp337_);
2299 			_g_free0 (_tmp335_);
2300 			_g_free0 (_tmp333_);
2301 			_tmp346_ = _cdecl_;
2302 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp346_, VALA_CCODE_MODIFIERS_STATIC);
2303 			_tmp347_ = ((ValaCCodeBaseModule*) self)->cfile;
2304 			_tmp348_ = _cdecl_;
2305 			vala_ccode_file_add_constant_declaration (_tmp347_, (ValaCCodeNode*) _tmp348_);
2306 			_tmp349_ = infos;
2307 			_tmp350_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2308 			_tmp351_ = _tmp350_;
2309 			_tmp352_ = g_strconcat ("_", _tmp351_, NULL);
2310 			_tmp353_ = _tmp352_;
2311 			_tmp354_ = g_strconcat (_tmp353_, "dbus_method_info_", NULL);
2312 			_tmp355_ = _tmp354_;
2313 			_tmp356_ = m;
2314 			_tmp357_ = vala_symbol_get_name ((ValaSymbol*) _tmp356_);
2315 			_tmp358_ = _tmp357_;
2316 			_tmp359_ = g_strconcat (_tmp355_, _tmp358_, NULL);
2317 			_tmp360_ = _tmp359_;
2318 			_tmp361_ = vala_ccode_identifier_new (_tmp360_);
2319 			_tmp362_ = _tmp361_;
2320 			_tmp363_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp362_);
2321 			_tmp364_ = _tmp363_;
2322 			vala_ccode_initializer_list_append (_tmp349_, (ValaCCodeExpression*) _tmp364_);
2323 			_vala_ccode_node_unref0 (_tmp364_);
2324 			_vala_ccode_node_unref0 (_tmp362_);
2325 			_g_free0 (_tmp360_);
2326 			_g_free0 (_tmp355_);
2327 			_g_free0 (_tmp353_);
2328 			_g_free0 (_tmp351_);
2329 			_vala_ccode_node_unref0 (info);
2330 			_vala_ccode_node_unref0 (_cdecl_);
2331 			_vala_ccode_node_unref0 (out_args_info);
2332 			_vala_ccode_node_unref0 (in_args_info);
2333 			_vala_code_node_unref0 (m);
2334 		}
2335 		_vala_iterable_unref0 (_m_list);
2336 	}
2337 	_tmp365_ = infos;
2338 	_tmp366_ = vala_ccode_constant_new ("NULL");
2339 	_tmp367_ = _tmp366_;
2340 	vala_ccode_initializer_list_append (_tmp365_, (ValaCCodeExpression*) _tmp367_);
2341 	_vala_ccode_node_unref0 (_tmp367_);
2342 	_tmp368_ = vala_ccode_declaration_new ("const GDBusMethodInfo * const");
2343 	_cdecl_ = _tmp368_;
2344 	_tmp369_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2345 	_tmp370_ = _tmp369_;
2346 	_tmp371_ = g_strconcat ("_", _tmp370_, NULL);
2347 	_tmp372_ = _tmp371_;
2348 	_tmp373_ = g_strconcat (_tmp372_, "dbus_method_info[]", NULL);
2349 	_tmp374_ = _tmp373_;
2350 	_tmp375_ = infos;
2351 	_tmp376_ = vala_ccode_variable_declarator_new (_tmp374_, (ValaCCodeExpression*) _tmp375_, NULL);
2352 	_tmp377_ = _tmp376_;
2353 	vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) _tmp377_);
2354 	_vala_ccode_node_unref0 (_tmp377_);
2355 	_g_free0 (_tmp374_);
2356 	_g_free0 (_tmp372_);
2357 	_g_free0 (_tmp370_);
2358 	vala_ccode_node_set_modifiers ((ValaCCodeNode*) _cdecl_, VALA_CCODE_MODIFIERS_STATIC);
2359 	_tmp378_ = ((ValaCCodeBaseModule*) self)->cfile;
2360 	vala_ccode_file_add_constant_declaration (_tmp378_, (ValaCCodeNode*) _cdecl_);
2361 	_tmp379_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2362 	_tmp380_ = _tmp379_;
2363 	_tmp381_ = g_strconcat ("_", _tmp380_, NULL);
2364 	_tmp382_ = _tmp381_;
2365 	_tmp383_ = g_strconcat (_tmp382_, "dbus_method_info", NULL);
2366 	_tmp384_ = _tmp383_;
2367 	_tmp385_ = vala_ccode_identifier_new (_tmp384_);
2368 	_tmp386_ = (ValaCCodeExpression*) _tmp385_;
2369 	_g_free0 (_tmp384_);
2370 	_g_free0 (_tmp382_);
2371 	_g_free0 (_tmp380_);
2372 	result = _tmp386_;
2373 	_vala_ccode_node_unref0 (_cdecl_);
2374 	_vala_ccode_node_unref0 (infos);
2375 	return result;
2376 }
2377 
2378 static ValaCCodeExpression*
vala_gd_bus_module_get_signal_info(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)2379 vala_gd_bus_module_get_signal_info (ValaGDBusModule* self,
2380                                     ValaObjectTypeSymbol* sym)
2381 {
2382 	ValaCCodeInitializerList* infos = NULL;
2383 	ValaCCodeInitializerList* _tmp0_;
2384 	ValaCCodeInitializerList* _tmp192_;
2385 	ValaCCodeConstant* _tmp193_;
2386 	ValaCCodeConstant* _tmp194_;
2387 	ValaCCodeDeclaration* _cdecl_ = NULL;
2388 	ValaCCodeDeclaration* _tmp195_;
2389 	gchar* _tmp196_;
2390 	gchar* _tmp197_;
2391 	gchar* _tmp198_;
2392 	gchar* _tmp199_;
2393 	gchar* _tmp200_;
2394 	gchar* _tmp201_;
2395 	ValaCCodeInitializerList* _tmp202_;
2396 	ValaCCodeVariableDeclarator* _tmp203_;
2397 	ValaCCodeVariableDeclarator* _tmp204_;
2398 	ValaCCodeFile* _tmp205_;
2399 	gchar* _tmp206_;
2400 	gchar* _tmp207_;
2401 	gchar* _tmp208_;
2402 	gchar* _tmp209_;
2403 	gchar* _tmp210_;
2404 	gchar* _tmp211_;
2405 	ValaCCodeIdentifier* _tmp212_;
2406 	ValaCCodeExpression* _tmp213_;
2407 	ValaCCodeExpression* result = NULL;
2408 	g_return_val_if_fail (self != NULL, NULL);
2409 	g_return_val_if_fail (sym != NULL, NULL);
2410 	_tmp0_ = vala_ccode_initializer_list_new ();
2411 	infos = _tmp0_;
2412 	{
2413 		ValaList* _sig_list = NULL;
2414 		ValaList* _tmp1_;
2415 		ValaList* _tmp2_;
2416 		gint _sig_size = 0;
2417 		ValaList* _tmp3_;
2418 		gint _tmp4_;
2419 		gint _tmp5_;
2420 		gint _sig_index = 0;
2421 		_tmp1_ = vala_object_type_symbol_get_signals (sym);
2422 		_tmp2_ = _vala_iterable_ref0 (_tmp1_);
2423 		_sig_list = _tmp2_;
2424 		_tmp3_ = _sig_list;
2425 		_tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_);
2426 		_tmp5_ = _tmp4_;
2427 		_sig_size = _tmp5_;
2428 		_sig_index = -1;
2429 		while (TRUE) {
2430 			gint _tmp6_;
2431 			gint _tmp7_;
2432 			ValaSignal* sig = NULL;
2433 			ValaList* _tmp8_;
2434 			gpointer _tmp9_;
2435 			ValaSignal* _tmp10_;
2436 			ValaSymbolAccessibility _tmp11_;
2437 			ValaSymbolAccessibility _tmp12_;
2438 			ValaSignal* _tmp13_;
2439 			ValaCCodeInitializerList* args_info = NULL;
2440 			ValaCCodeInitializerList* _tmp14_;
2441 			ValaCCodeInitializerList* _tmp100_;
2442 			ValaCCodeConstant* _tmp101_;
2443 			ValaCCodeConstant* _tmp102_;
2444 			ValaCCodeDeclaration* _cdecl_ = NULL;
2445 			ValaCCodeDeclaration* _tmp103_;
2446 			ValaCCodeDeclaration* _tmp104_;
2447 			gchar* _tmp105_;
2448 			gchar* _tmp106_;
2449 			gchar* _tmp107_;
2450 			gchar* _tmp108_;
2451 			gchar* _tmp109_;
2452 			gchar* _tmp110_;
2453 			ValaSignal* _tmp111_;
2454 			gchar* _tmp112_;
2455 			gchar* _tmp113_;
2456 			gchar* _tmp114_;
2457 			gchar* _tmp115_;
2458 			gchar* _tmp116_;
2459 			gchar* _tmp117_;
2460 			ValaCCodeInitializerList* _tmp118_;
2461 			ValaCCodeVariableDeclarator* _tmp119_;
2462 			ValaCCodeVariableDeclarator* _tmp120_;
2463 			ValaCCodeDeclaration* _tmp121_;
2464 			ValaCCodeFile* _tmp122_;
2465 			ValaCCodeDeclaration* _tmp123_;
2466 			ValaCCodeInitializerList* info = NULL;
2467 			ValaCCodeInitializerList* _tmp124_;
2468 			ValaCCodeInitializerList* _tmp125_;
2469 			ValaCCodeConstant* _tmp126_;
2470 			ValaCCodeConstant* _tmp127_;
2471 			ValaCCodeInitializerList* _tmp128_;
2472 			ValaSignal* _tmp129_;
2473 			gchar* _tmp130_;
2474 			gchar* _tmp131_;
2475 			gchar* _tmp132_;
2476 			gchar* _tmp133_;
2477 			ValaCCodeConstant* _tmp134_;
2478 			ValaCCodeConstant* _tmp135_;
2479 			ValaCCodeInitializerList* _tmp136_;
2480 			gchar* _tmp137_;
2481 			gchar* _tmp138_;
2482 			gchar* _tmp139_;
2483 			gchar* _tmp140_;
2484 			gchar* _tmp141_;
2485 			gchar* _tmp142_;
2486 			ValaSignal* _tmp143_;
2487 			gchar* _tmp144_;
2488 			gchar* _tmp145_;
2489 			gchar* _tmp146_;
2490 			gchar* _tmp147_;
2491 			ValaCCodeIdentifier* _tmp148_;
2492 			ValaCCodeIdentifier* _tmp149_;
2493 			ValaCCodeUnaryExpression* _tmp150_;
2494 			ValaCCodeUnaryExpression* _tmp151_;
2495 			ValaCCodeCastExpression* _tmp152_;
2496 			ValaCCodeCastExpression* _tmp153_;
2497 			ValaCCodeInitializerList* _tmp154_;
2498 			ValaCCodeConstant* _tmp155_;
2499 			ValaCCodeConstant* _tmp156_;
2500 			ValaCCodeDeclaration* _tmp157_;
2501 			ValaCCodeDeclaration* _tmp158_;
2502 			gchar* _tmp159_;
2503 			gchar* _tmp160_;
2504 			gchar* _tmp161_;
2505 			gchar* _tmp162_;
2506 			gchar* _tmp163_;
2507 			gchar* _tmp164_;
2508 			ValaSignal* _tmp165_;
2509 			gchar* _tmp166_;
2510 			gchar* _tmp167_;
2511 			gchar* _tmp168_;
2512 			gchar* _tmp169_;
2513 			ValaCCodeInitializerList* _tmp170_;
2514 			ValaCCodeVariableDeclarator* _tmp171_;
2515 			ValaCCodeVariableDeclarator* _tmp172_;
2516 			ValaCCodeDeclaration* _tmp173_;
2517 			ValaCCodeFile* _tmp174_;
2518 			ValaCCodeDeclaration* _tmp175_;
2519 			ValaCCodeInitializerList* _tmp176_;
2520 			gchar* _tmp177_;
2521 			gchar* _tmp178_;
2522 			gchar* _tmp179_;
2523 			gchar* _tmp180_;
2524 			gchar* _tmp181_;
2525 			gchar* _tmp182_;
2526 			ValaSignal* _tmp183_;
2527 			gchar* _tmp184_;
2528 			gchar* _tmp185_;
2529 			gchar* _tmp186_;
2530 			gchar* _tmp187_;
2531 			ValaCCodeIdentifier* _tmp188_;
2532 			ValaCCodeIdentifier* _tmp189_;
2533 			ValaCCodeUnaryExpression* _tmp190_;
2534 			ValaCCodeUnaryExpression* _tmp191_;
2535 			_sig_index = _sig_index + 1;
2536 			_tmp6_ = _sig_index;
2537 			_tmp7_ = _sig_size;
2538 			if (!(_tmp6_ < _tmp7_)) {
2539 				break;
2540 			}
2541 			_tmp8_ = _sig_list;
2542 			_tmp9_ = vala_list_get (_tmp8_, _sig_index);
2543 			sig = (ValaSignal*) _tmp9_;
2544 			_tmp10_ = sig;
2545 			_tmp11_ = vala_symbol_get_access ((ValaSymbol*) _tmp10_);
2546 			_tmp12_ = _tmp11_;
2547 			if (_tmp12_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC) {
2548 				_vala_code_node_unref0 (sig);
2549 				continue;
2550 			}
2551 			_tmp13_ = sig;
2552 			if (!vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp13_)) {
2553 				_vala_code_node_unref0 (sig);
2554 				continue;
2555 			}
2556 			_tmp14_ = vala_ccode_initializer_list_new ();
2557 			args_info = _tmp14_;
2558 			{
2559 				ValaList* _param_list = NULL;
2560 				ValaSignal* _tmp15_;
2561 				ValaList* _tmp16_;
2562 				ValaList* _tmp17_;
2563 				gint _param_size = 0;
2564 				ValaList* _tmp18_;
2565 				gint _tmp19_;
2566 				gint _tmp20_;
2567 				gint _param_index = 0;
2568 				_tmp15_ = sig;
2569 				_tmp16_ = vala_callable_get_parameters ((ValaCallable*) _tmp15_);
2570 				_tmp17_ = _vala_iterable_ref0 (_tmp16_);
2571 				_param_list = _tmp17_;
2572 				_tmp18_ = _param_list;
2573 				_tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_);
2574 				_tmp20_ = _tmp19_;
2575 				_param_size = _tmp20_;
2576 				_param_index = -1;
2577 				while (TRUE) {
2578 					gint _tmp21_;
2579 					gint _tmp22_;
2580 					ValaParameter* param = NULL;
2581 					ValaList* _tmp23_;
2582 					gpointer _tmp24_;
2583 					ValaCCodeInitializerList* info = NULL;
2584 					ValaCCodeInitializerList* _tmp25_;
2585 					ValaCCodeInitializerList* _tmp26_;
2586 					ValaCCodeConstant* _tmp27_;
2587 					ValaCCodeConstant* _tmp28_;
2588 					ValaCCodeInitializerList* _tmp29_;
2589 					ValaParameter* _tmp30_;
2590 					const gchar* _tmp31_;
2591 					const gchar* _tmp32_;
2592 					gchar* _tmp33_;
2593 					gchar* _tmp34_;
2594 					ValaCCodeConstant* _tmp35_;
2595 					ValaCCodeConstant* _tmp36_;
2596 					ValaCCodeInitializerList* _tmp37_;
2597 					ValaParameter* _tmp38_;
2598 					ValaDataType* _tmp39_;
2599 					ValaDataType* _tmp40_;
2600 					ValaParameter* _tmp41_;
2601 					gchar* _tmp42_;
2602 					gchar* _tmp43_;
2603 					gchar* _tmp44_;
2604 					gchar* _tmp45_;
2605 					ValaCCodeConstant* _tmp46_;
2606 					ValaCCodeConstant* _tmp47_;
2607 					ValaCCodeInitializerList* _tmp48_;
2608 					ValaCCodeConstant* _tmp49_;
2609 					ValaCCodeConstant* _tmp50_;
2610 					ValaCCodeDeclaration* _cdecl_ = NULL;
2611 					ValaCCodeDeclaration* _tmp51_;
2612 					ValaCCodeDeclaration* _tmp52_;
2613 					gchar* _tmp53_;
2614 					gchar* _tmp54_;
2615 					gchar* _tmp55_;
2616 					gchar* _tmp56_;
2617 					gchar* _tmp57_;
2618 					gchar* _tmp58_;
2619 					ValaSignal* _tmp59_;
2620 					gchar* _tmp60_;
2621 					gchar* _tmp61_;
2622 					gchar* _tmp62_;
2623 					gchar* _tmp63_;
2624 					gchar* _tmp64_;
2625 					gchar* _tmp65_;
2626 					ValaParameter* _tmp66_;
2627 					const gchar* _tmp67_;
2628 					const gchar* _tmp68_;
2629 					gchar* _tmp69_;
2630 					gchar* _tmp70_;
2631 					ValaCCodeInitializerList* _tmp71_;
2632 					ValaCCodeVariableDeclarator* _tmp72_;
2633 					ValaCCodeVariableDeclarator* _tmp73_;
2634 					ValaCCodeDeclaration* _tmp74_;
2635 					ValaCCodeFile* _tmp75_;
2636 					ValaCCodeDeclaration* _tmp76_;
2637 					ValaCCodeInitializerList* _tmp77_;
2638 					gchar* _tmp78_;
2639 					gchar* _tmp79_;
2640 					gchar* _tmp80_;
2641 					gchar* _tmp81_;
2642 					gchar* _tmp82_;
2643 					gchar* _tmp83_;
2644 					ValaSignal* _tmp84_;
2645 					gchar* _tmp85_;
2646 					gchar* _tmp86_;
2647 					gchar* _tmp87_;
2648 					gchar* _tmp88_;
2649 					gchar* _tmp89_;
2650 					gchar* _tmp90_;
2651 					ValaParameter* _tmp91_;
2652 					const gchar* _tmp92_;
2653 					const gchar* _tmp93_;
2654 					gchar* _tmp94_;
2655 					gchar* _tmp95_;
2656 					ValaCCodeIdentifier* _tmp96_;
2657 					ValaCCodeIdentifier* _tmp97_;
2658 					ValaCCodeUnaryExpression* _tmp98_;
2659 					ValaCCodeUnaryExpression* _tmp99_;
2660 					_param_index = _param_index + 1;
2661 					_tmp21_ = _param_index;
2662 					_tmp22_ = _param_size;
2663 					if (!(_tmp21_ < _tmp22_)) {
2664 						break;
2665 					}
2666 					_tmp23_ = _param_list;
2667 					_tmp24_ = vala_list_get (_tmp23_, _param_index);
2668 					param = (ValaParameter*) _tmp24_;
2669 					_tmp25_ = vala_ccode_initializer_list_new ();
2670 					info = _tmp25_;
2671 					_tmp26_ = info;
2672 					_tmp27_ = vala_ccode_constant_new ("-1");
2673 					_tmp28_ = _tmp27_;
2674 					vala_ccode_initializer_list_append (_tmp26_, (ValaCCodeExpression*) _tmp28_);
2675 					_vala_ccode_node_unref0 (_tmp28_);
2676 					_tmp29_ = info;
2677 					_tmp30_ = param;
2678 					_tmp31_ = vala_symbol_get_name ((ValaSymbol*) _tmp30_);
2679 					_tmp32_ = _tmp31_;
2680 					_tmp33_ = g_strdup_printf ("\"%s\"", _tmp32_);
2681 					_tmp34_ = _tmp33_;
2682 					_tmp35_ = vala_ccode_constant_new (_tmp34_);
2683 					_tmp36_ = _tmp35_;
2684 					vala_ccode_initializer_list_append (_tmp29_, (ValaCCodeExpression*) _tmp36_);
2685 					_vala_ccode_node_unref0 (_tmp36_);
2686 					_g_free0 (_tmp34_);
2687 					_tmp37_ = info;
2688 					_tmp38_ = param;
2689 					_tmp39_ = vala_variable_get_variable_type ((ValaVariable*) _tmp38_);
2690 					_tmp40_ = _tmp39_;
2691 					_tmp41_ = param;
2692 					_tmp42_ = vala_data_type_get_type_signature (_tmp40_, (ValaSymbol*) _tmp41_);
2693 					_tmp43_ = _tmp42_;
2694 					_tmp44_ = g_strdup_printf ("\"%s\"", _tmp43_);
2695 					_tmp45_ = _tmp44_;
2696 					_tmp46_ = vala_ccode_constant_new (_tmp45_);
2697 					_tmp47_ = _tmp46_;
2698 					vala_ccode_initializer_list_append (_tmp37_, (ValaCCodeExpression*) _tmp47_);
2699 					_vala_ccode_node_unref0 (_tmp47_);
2700 					_g_free0 (_tmp45_);
2701 					_g_free0 (_tmp43_);
2702 					_tmp48_ = info;
2703 					_tmp49_ = vala_ccode_constant_new ("NULL");
2704 					_tmp50_ = _tmp49_;
2705 					vala_ccode_initializer_list_append (_tmp48_, (ValaCCodeExpression*) _tmp50_);
2706 					_vala_ccode_node_unref0 (_tmp50_);
2707 					_tmp51_ = vala_ccode_declaration_new ("const GDBusArgInfo");
2708 					_cdecl_ = _tmp51_;
2709 					_tmp52_ = _cdecl_;
2710 					_tmp53_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2711 					_tmp54_ = _tmp53_;
2712 					_tmp55_ = g_strconcat ("_", _tmp54_, NULL);
2713 					_tmp56_ = _tmp55_;
2714 					_tmp57_ = g_strconcat (_tmp56_, "dbus_arg_info_", NULL);
2715 					_tmp58_ = _tmp57_;
2716 					_tmp59_ = sig;
2717 					_tmp60_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp59_, NULL);
2718 					_tmp61_ = _tmp60_;
2719 					_tmp62_ = g_strconcat (_tmp58_, _tmp61_, NULL);
2720 					_tmp63_ = _tmp62_;
2721 					_tmp64_ = g_strconcat (_tmp63_, "_", NULL);
2722 					_tmp65_ = _tmp64_;
2723 					_tmp66_ = param;
2724 					_tmp67_ = vala_symbol_get_name ((ValaSymbol*) _tmp66_);
2725 					_tmp68_ = _tmp67_;
2726 					_tmp69_ = g_strconcat (_tmp65_, _tmp68_, NULL);
2727 					_tmp70_ = _tmp69_;
2728 					_tmp71_ = info;
2729 					_tmp72_ = vala_ccode_variable_declarator_new (_tmp70_, (ValaCCodeExpression*) _tmp71_, NULL);
2730 					_tmp73_ = _tmp72_;
2731 					vala_ccode_declaration_add_declarator (_tmp52_, (ValaCCodeDeclarator*) _tmp73_);
2732 					_vala_ccode_node_unref0 (_tmp73_);
2733 					_g_free0 (_tmp70_);
2734 					_g_free0 (_tmp65_);
2735 					_g_free0 (_tmp63_);
2736 					_g_free0 (_tmp61_);
2737 					_g_free0 (_tmp58_);
2738 					_g_free0 (_tmp56_);
2739 					_g_free0 (_tmp54_);
2740 					_tmp74_ = _cdecl_;
2741 					vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp74_, VALA_CCODE_MODIFIERS_STATIC);
2742 					_tmp75_ = ((ValaCCodeBaseModule*) self)->cfile;
2743 					_tmp76_ = _cdecl_;
2744 					vala_ccode_file_add_constant_declaration (_tmp75_, (ValaCCodeNode*) _tmp76_);
2745 					_tmp77_ = args_info;
2746 					_tmp78_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2747 					_tmp79_ = _tmp78_;
2748 					_tmp80_ = g_strconcat ("_", _tmp79_, NULL);
2749 					_tmp81_ = _tmp80_;
2750 					_tmp82_ = g_strconcat (_tmp81_, "dbus_arg_info_", NULL);
2751 					_tmp83_ = _tmp82_;
2752 					_tmp84_ = sig;
2753 					_tmp85_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp84_, NULL);
2754 					_tmp86_ = _tmp85_;
2755 					_tmp87_ = g_strconcat (_tmp83_, _tmp86_, NULL);
2756 					_tmp88_ = _tmp87_;
2757 					_tmp89_ = g_strconcat (_tmp88_, "_", NULL);
2758 					_tmp90_ = _tmp89_;
2759 					_tmp91_ = param;
2760 					_tmp92_ = vala_symbol_get_name ((ValaSymbol*) _tmp91_);
2761 					_tmp93_ = _tmp92_;
2762 					_tmp94_ = g_strconcat (_tmp90_, _tmp93_, NULL);
2763 					_tmp95_ = _tmp94_;
2764 					_tmp96_ = vala_ccode_identifier_new (_tmp95_);
2765 					_tmp97_ = _tmp96_;
2766 					_tmp98_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp97_);
2767 					_tmp99_ = _tmp98_;
2768 					vala_ccode_initializer_list_append (_tmp77_, (ValaCCodeExpression*) _tmp99_);
2769 					_vala_ccode_node_unref0 (_tmp99_);
2770 					_vala_ccode_node_unref0 (_tmp97_);
2771 					_g_free0 (_tmp95_);
2772 					_g_free0 (_tmp90_);
2773 					_g_free0 (_tmp88_);
2774 					_g_free0 (_tmp86_);
2775 					_g_free0 (_tmp83_);
2776 					_g_free0 (_tmp81_);
2777 					_g_free0 (_tmp79_);
2778 					_vala_ccode_node_unref0 (_cdecl_);
2779 					_vala_ccode_node_unref0 (info);
2780 					_vala_code_node_unref0 (param);
2781 				}
2782 				_vala_iterable_unref0 (_param_list);
2783 			}
2784 			_tmp100_ = args_info;
2785 			_tmp101_ = vala_ccode_constant_new ("NULL");
2786 			_tmp102_ = _tmp101_;
2787 			vala_ccode_initializer_list_append (_tmp100_, (ValaCCodeExpression*) _tmp102_);
2788 			_vala_ccode_node_unref0 (_tmp102_);
2789 			_tmp103_ = vala_ccode_declaration_new ("const GDBusArgInfo * const");
2790 			_cdecl_ = _tmp103_;
2791 			_tmp104_ = _cdecl_;
2792 			_tmp105_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2793 			_tmp106_ = _tmp105_;
2794 			_tmp107_ = g_strconcat ("_", _tmp106_, NULL);
2795 			_tmp108_ = _tmp107_;
2796 			_tmp109_ = g_strconcat (_tmp108_, "dbus_arg_info_", NULL);
2797 			_tmp110_ = _tmp109_;
2798 			_tmp111_ = sig;
2799 			_tmp112_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp111_, NULL);
2800 			_tmp113_ = _tmp112_;
2801 			_tmp114_ = g_strconcat (_tmp110_, _tmp113_, NULL);
2802 			_tmp115_ = _tmp114_;
2803 			_tmp116_ = g_strconcat (_tmp115_, "[]", NULL);
2804 			_tmp117_ = _tmp116_;
2805 			_tmp118_ = args_info;
2806 			_tmp119_ = vala_ccode_variable_declarator_new (_tmp117_, (ValaCCodeExpression*) _tmp118_, NULL);
2807 			_tmp120_ = _tmp119_;
2808 			vala_ccode_declaration_add_declarator (_tmp104_, (ValaCCodeDeclarator*) _tmp120_);
2809 			_vala_ccode_node_unref0 (_tmp120_);
2810 			_g_free0 (_tmp117_);
2811 			_g_free0 (_tmp115_);
2812 			_g_free0 (_tmp113_);
2813 			_g_free0 (_tmp110_);
2814 			_g_free0 (_tmp108_);
2815 			_g_free0 (_tmp106_);
2816 			_tmp121_ = _cdecl_;
2817 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp121_, VALA_CCODE_MODIFIERS_STATIC);
2818 			_tmp122_ = ((ValaCCodeBaseModule*) self)->cfile;
2819 			_tmp123_ = _cdecl_;
2820 			vala_ccode_file_add_constant_declaration (_tmp122_, (ValaCCodeNode*) _tmp123_);
2821 			_tmp124_ = vala_ccode_initializer_list_new ();
2822 			info = _tmp124_;
2823 			_tmp125_ = info;
2824 			_tmp126_ = vala_ccode_constant_new ("-1");
2825 			_tmp127_ = _tmp126_;
2826 			vala_ccode_initializer_list_append (_tmp125_, (ValaCCodeExpression*) _tmp127_);
2827 			_vala_ccode_node_unref0 (_tmp127_);
2828 			_tmp128_ = info;
2829 			_tmp129_ = sig;
2830 			_tmp130_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp129_);
2831 			_tmp131_ = _tmp130_;
2832 			_tmp132_ = g_strdup_printf ("\"%s\"", _tmp131_);
2833 			_tmp133_ = _tmp132_;
2834 			_tmp134_ = vala_ccode_constant_new (_tmp133_);
2835 			_tmp135_ = _tmp134_;
2836 			vala_ccode_initializer_list_append (_tmp128_, (ValaCCodeExpression*) _tmp135_);
2837 			_vala_ccode_node_unref0 (_tmp135_);
2838 			_g_free0 (_tmp133_);
2839 			_g_free0 (_tmp131_);
2840 			_tmp136_ = info;
2841 			_tmp137_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2842 			_tmp138_ = _tmp137_;
2843 			_tmp139_ = g_strconcat ("_", _tmp138_, NULL);
2844 			_tmp140_ = _tmp139_;
2845 			_tmp141_ = g_strconcat (_tmp140_, "dbus_arg_info_", NULL);
2846 			_tmp142_ = _tmp141_;
2847 			_tmp143_ = sig;
2848 			_tmp144_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp143_, NULL);
2849 			_tmp145_ = _tmp144_;
2850 			_tmp146_ = g_strconcat (_tmp142_, _tmp145_, NULL);
2851 			_tmp147_ = _tmp146_;
2852 			_tmp148_ = vala_ccode_identifier_new (_tmp147_);
2853 			_tmp149_ = _tmp148_;
2854 			_tmp150_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp149_);
2855 			_tmp151_ = _tmp150_;
2856 			_tmp152_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp151_, "GDBusArgInfo **");
2857 			_tmp153_ = _tmp152_;
2858 			vala_ccode_initializer_list_append (_tmp136_, (ValaCCodeExpression*) _tmp153_);
2859 			_vala_ccode_node_unref0 (_tmp153_);
2860 			_vala_ccode_node_unref0 (_tmp151_);
2861 			_vala_ccode_node_unref0 (_tmp149_);
2862 			_g_free0 (_tmp147_);
2863 			_g_free0 (_tmp145_);
2864 			_g_free0 (_tmp142_);
2865 			_g_free0 (_tmp140_);
2866 			_g_free0 (_tmp138_);
2867 			_tmp154_ = info;
2868 			_tmp155_ = vala_ccode_constant_new ("NULL");
2869 			_tmp156_ = _tmp155_;
2870 			vala_ccode_initializer_list_append (_tmp154_, (ValaCCodeExpression*) _tmp156_);
2871 			_vala_ccode_node_unref0 (_tmp156_);
2872 			_tmp157_ = vala_ccode_declaration_new ("const GDBusSignalInfo");
2873 			_vala_ccode_node_unref0 (_cdecl_);
2874 			_cdecl_ = _tmp157_;
2875 			_tmp158_ = _cdecl_;
2876 			_tmp159_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2877 			_tmp160_ = _tmp159_;
2878 			_tmp161_ = g_strconcat ("_", _tmp160_, NULL);
2879 			_tmp162_ = _tmp161_;
2880 			_tmp163_ = g_strconcat (_tmp162_, "dbus_signal_info_", NULL);
2881 			_tmp164_ = _tmp163_;
2882 			_tmp165_ = sig;
2883 			_tmp166_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp165_, NULL);
2884 			_tmp167_ = _tmp166_;
2885 			_tmp168_ = g_strconcat (_tmp164_, _tmp167_, NULL);
2886 			_tmp169_ = _tmp168_;
2887 			_tmp170_ = info;
2888 			_tmp171_ = vala_ccode_variable_declarator_new (_tmp169_, (ValaCCodeExpression*) _tmp170_, NULL);
2889 			_tmp172_ = _tmp171_;
2890 			vala_ccode_declaration_add_declarator (_tmp158_, (ValaCCodeDeclarator*) _tmp172_);
2891 			_vala_ccode_node_unref0 (_tmp172_);
2892 			_g_free0 (_tmp169_);
2893 			_g_free0 (_tmp167_);
2894 			_g_free0 (_tmp164_);
2895 			_g_free0 (_tmp162_);
2896 			_g_free0 (_tmp160_);
2897 			_tmp173_ = _cdecl_;
2898 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp173_, VALA_CCODE_MODIFIERS_STATIC);
2899 			_tmp174_ = ((ValaCCodeBaseModule*) self)->cfile;
2900 			_tmp175_ = _cdecl_;
2901 			vala_ccode_file_add_constant_declaration (_tmp174_, (ValaCCodeNode*) _tmp175_);
2902 			_tmp176_ = infos;
2903 			_tmp177_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2904 			_tmp178_ = _tmp177_;
2905 			_tmp179_ = g_strconcat ("_", _tmp178_, NULL);
2906 			_tmp180_ = _tmp179_;
2907 			_tmp181_ = g_strconcat (_tmp180_, "dbus_signal_info_", NULL);
2908 			_tmp182_ = _tmp181_;
2909 			_tmp183_ = sig;
2910 			_tmp184_ = vala_get_ccode_lower_case_name ((ValaCodeNode*) _tmp183_, NULL);
2911 			_tmp185_ = _tmp184_;
2912 			_tmp186_ = g_strconcat (_tmp182_, _tmp185_, NULL);
2913 			_tmp187_ = _tmp186_;
2914 			_tmp188_ = vala_ccode_identifier_new (_tmp187_);
2915 			_tmp189_ = _tmp188_;
2916 			_tmp190_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp189_);
2917 			_tmp191_ = _tmp190_;
2918 			vala_ccode_initializer_list_append (_tmp176_, (ValaCCodeExpression*) _tmp191_);
2919 			_vala_ccode_node_unref0 (_tmp191_);
2920 			_vala_ccode_node_unref0 (_tmp189_);
2921 			_g_free0 (_tmp187_);
2922 			_g_free0 (_tmp185_);
2923 			_g_free0 (_tmp182_);
2924 			_g_free0 (_tmp180_);
2925 			_g_free0 (_tmp178_);
2926 			_vala_ccode_node_unref0 (info);
2927 			_vala_ccode_node_unref0 (_cdecl_);
2928 			_vala_ccode_node_unref0 (args_info);
2929 			_vala_code_node_unref0 (sig);
2930 		}
2931 		_vala_iterable_unref0 (_sig_list);
2932 	}
2933 	_tmp192_ = infos;
2934 	_tmp193_ = vala_ccode_constant_new ("NULL");
2935 	_tmp194_ = _tmp193_;
2936 	vala_ccode_initializer_list_append (_tmp192_, (ValaCCodeExpression*) _tmp194_);
2937 	_vala_ccode_node_unref0 (_tmp194_);
2938 	_tmp195_ = vala_ccode_declaration_new ("const GDBusSignalInfo * const");
2939 	_cdecl_ = _tmp195_;
2940 	_tmp196_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2941 	_tmp197_ = _tmp196_;
2942 	_tmp198_ = g_strconcat ("_", _tmp197_, NULL);
2943 	_tmp199_ = _tmp198_;
2944 	_tmp200_ = g_strconcat (_tmp199_, "dbus_signal_info[]", NULL);
2945 	_tmp201_ = _tmp200_;
2946 	_tmp202_ = infos;
2947 	_tmp203_ = vala_ccode_variable_declarator_new (_tmp201_, (ValaCCodeExpression*) _tmp202_, NULL);
2948 	_tmp204_ = _tmp203_;
2949 	vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) _tmp204_);
2950 	_vala_ccode_node_unref0 (_tmp204_);
2951 	_g_free0 (_tmp201_);
2952 	_g_free0 (_tmp199_);
2953 	_g_free0 (_tmp197_);
2954 	vala_ccode_node_set_modifiers ((ValaCCodeNode*) _cdecl_, VALA_CCODE_MODIFIERS_STATIC);
2955 	_tmp205_ = ((ValaCCodeBaseModule*) self)->cfile;
2956 	vala_ccode_file_add_constant_declaration (_tmp205_, (ValaCCodeNode*) _cdecl_);
2957 	_tmp206_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
2958 	_tmp207_ = _tmp206_;
2959 	_tmp208_ = g_strconcat ("_", _tmp207_, NULL);
2960 	_tmp209_ = _tmp208_;
2961 	_tmp210_ = g_strconcat (_tmp209_, "dbus_signal_info", NULL);
2962 	_tmp211_ = _tmp210_;
2963 	_tmp212_ = vala_ccode_identifier_new (_tmp211_);
2964 	_tmp213_ = (ValaCCodeExpression*) _tmp212_;
2965 	_g_free0 (_tmp211_);
2966 	_g_free0 (_tmp209_);
2967 	_g_free0 (_tmp207_);
2968 	result = _tmp213_;
2969 	_vala_ccode_node_unref0 (_cdecl_);
2970 	_vala_ccode_node_unref0 (infos);
2971 	return result;
2972 }
2973 
2974 static ValaCCodeExpression*
vala_gd_bus_module_get_property_info(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)2975 vala_gd_bus_module_get_property_info (ValaGDBusModule* self,
2976                                       ValaObjectTypeSymbol* sym)
2977 {
2978 	ValaCCodeInitializerList* infos = NULL;
2979 	ValaCCodeInitializerList* _tmp0_;
2980 	ValaCCodeInitializerList* _tmp108_;
2981 	ValaCCodeConstant* _tmp109_;
2982 	ValaCCodeConstant* _tmp110_;
2983 	ValaCCodeDeclaration* _cdecl_ = NULL;
2984 	ValaCCodeDeclaration* _tmp111_;
2985 	gchar* _tmp112_;
2986 	gchar* _tmp113_;
2987 	gchar* _tmp114_;
2988 	gchar* _tmp115_;
2989 	gchar* _tmp116_;
2990 	gchar* _tmp117_;
2991 	ValaCCodeInitializerList* _tmp118_;
2992 	ValaCCodeVariableDeclarator* _tmp119_;
2993 	ValaCCodeVariableDeclarator* _tmp120_;
2994 	ValaCCodeFile* _tmp121_;
2995 	gchar* _tmp122_;
2996 	gchar* _tmp123_;
2997 	gchar* _tmp124_;
2998 	gchar* _tmp125_;
2999 	gchar* _tmp126_;
3000 	gchar* _tmp127_;
3001 	ValaCCodeIdentifier* _tmp128_;
3002 	ValaCCodeExpression* _tmp129_;
3003 	ValaCCodeExpression* result = NULL;
3004 	g_return_val_if_fail (self != NULL, NULL);
3005 	g_return_val_if_fail (sym != NULL, NULL);
3006 	_tmp0_ = vala_ccode_initializer_list_new ();
3007 	infos = _tmp0_;
3008 	{
3009 		ValaList* _prop_list = NULL;
3010 		ValaList* _tmp1_;
3011 		ValaList* _tmp2_;
3012 		gint _prop_size = 0;
3013 		ValaList* _tmp3_;
3014 		gint _tmp4_;
3015 		gint _tmp5_;
3016 		gint _prop_index = 0;
3017 		_tmp1_ = vala_object_type_symbol_get_properties (sym);
3018 		_tmp2_ = _vala_iterable_ref0 (_tmp1_);
3019 		_prop_list = _tmp2_;
3020 		_tmp3_ = _prop_list;
3021 		_tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_);
3022 		_tmp5_ = _tmp4_;
3023 		_prop_size = _tmp5_;
3024 		_prop_index = -1;
3025 		while (TRUE) {
3026 			gint _tmp6_;
3027 			gint _tmp7_;
3028 			ValaProperty* prop = NULL;
3029 			ValaList* _tmp8_;
3030 			gpointer _tmp9_;
3031 			gboolean _tmp10_ = FALSE;
3032 			gboolean _tmp11_ = FALSE;
3033 			ValaProperty* _tmp12_;
3034 			ValaMemberBinding _tmp13_;
3035 			ValaMemberBinding _tmp14_;
3036 			ValaProperty* _tmp21_;
3037 			ValaCCodeInitializerList* info = NULL;
3038 			ValaCCodeInitializerList* _tmp22_;
3039 			ValaCCodeInitializerList* _tmp23_;
3040 			ValaCCodeConstant* _tmp24_;
3041 			ValaCCodeConstant* _tmp25_;
3042 			ValaCCodeInitializerList* _tmp26_;
3043 			ValaProperty* _tmp27_;
3044 			gchar* _tmp28_;
3045 			gchar* _tmp29_;
3046 			gchar* _tmp30_;
3047 			gchar* _tmp31_;
3048 			ValaCCodeConstant* _tmp32_;
3049 			ValaCCodeConstant* _tmp33_;
3050 			ValaCCodeInitializerList* _tmp34_;
3051 			ValaProperty* _tmp35_;
3052 			ValaDataType* _tmp36_;
3053 			ValaDataType* _tmp37_;
3054 			ValaProperty* _tmp38_;
3055 			gchar* _tmp39_;
3056 			gchar* _tmp40_;
3057 			gchar* _tmp41_;
3058 			gchar* _tmp42_;
3059 			ValaCCodeConstant* _tmp43_;
3060 			ValaCCodeConstant* _tmp44_;
3061 			gboolean _tmp45_ = FALSE;
3062 			ValaProperty* _tmp46_;
3063 			ValaPropertyAccessor* _tmp47_;
3064 			ValaPropertyAccessor* _tmp48_;
3065 			ValaCCodeInitializerList* _tmp70_;
3066 			ValaCCodeConstant* _tmp71_;
3067 			ValaCCodeConstant* _tmp72_;
3068 			ValaCCodeDeclaration* _cdecl_ = NULL;
3069 			ValaCCodeDeclaration* _tmp73_;
3070 			ValaCCodeDeclaration* _tmp74_;
3071 			gchar* _tmp75_;
3072 			gchar* _tmp76_;
3073 			gchar* _tmp77_;
3074 			gchar* _tmp78_;
3075 			gchar* _tmp79_;
3076 			gchar* _tmp80_;
3077 			ValaProperty* _tmp81_;
3078 			const gchar* _tmp82_;
3079 			const gchar* _tmp83_;
3080 			gchar* _tmp84_;
3081 			gchar* _tmp85_;
3082 			ValaCCodeInitializerList* _tmp86_;
3083 			ValaCCodeVariableDeclarator* _tmp87_;
3084 			ValaCCodeVariableDeclarator* _tmp88_;
3085 			ValaCCodeDeclaration* _tmp89_;
3086 			ValaCCodeFile* _tmp90_;
3087 			ValaCCodeDeclaration* _tmp91_;
3088 			ValaCCodeInitializerList* _tmp92_;
3089 			gchar* _tmp93_;
3090 			gchar* _tmp94_;
3091 			gchar* _tmp95_;
3092 			gchar* _tmp96_;
3093 			gchar* _tmp97_;
3094 			gchar* _tmp98_;
3095 			ValaProperty* _tmp99_;
3096 			const gchar* _tmp100_;
3097 			const gchar* _tmp101_;
3098 			gchar* _tmp102_;
3099 			gchar* _tmp103_;
3100 			ValaCCodeIdentifier* _tmp104_;
3101 			ValaCCodeIdentifier* _tmp105_;
3102 			ValaCCodeUnaryExpression* _tmp106_;
3103 			ValaCCodeUnaryExpression* _tmp107_;
3104 			_prop_index = _prop_index + 1;
3105 			_tmp6_ = _prop_index;
3106 			_tmp7_ = _prop_size;
3107 			if (!(_tmp6_ < _tmp7_)) {
3108 				break;
3109 			}
3110 			_tmp8_ = _prop_list;
3111 			_tmp9_ = vala_list_get (_tmp8_, _prop_index);
3112 			prop = (ValaProperty*) _tmp9_;
3113 			_tmp12_ = prop;
3114 			_tmp13_ = vala_property_get_binding (_tmp12_);
3115 			_tmp14_ = _tmp13_;
3116 			if (_tmp14_ != VALA_MEMBER_BINDING_INSTANCE) {
3117 				_tmp11_ = TRUE;
3118 			} else {
3119 				ValaProperty* _tmp15_;
3120 				gboolean _tmp16_;
3121 				gboolean _tmp17_;
3122 				_tmp15_ = prop;
3123 				_tmp16_ = vala_property_get_overrides (_tmp15_);
3124 				_tmp17_ = _tmp16_;
3125 				_tmp11_ = _tmp17_;
3126 			}
3127 			if (_tmp11_) {
3128 				_tmp10_ = TRUE;
3129 			} else {
3130 				ValaProperty* _tmp18_;
3131 				ValaSymbolAccessibility _tmp19_;
3132 				ValaSymbolAccessibility _tmp20_;
3133 				_tmp18_ = prop;
3134 				_tmp19_ = vala_symbol_get_access ((ValaSymbol*) _tmp18_);
3135 				_tmp20_ = _tmp19_;
3136 				_tmp10_ = _tmp20_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC;
3137 			}
3138 			if (_tmp10_) {
3139 				_vala_code_node_unref0 (prop);
3140 				continue;
3141 			}
3142 			_tmp21_ = prop;
3143 			if (!vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp21_)) {
3144 				_vala_code_node_unref0 (prop);
3145 				continue;
3146 			}
3147 			_tmp22_ = vala_ccode_initializer_list_new ();
3148 			info = _tmp22_;
3149 			_tmp23_ = info;
3150 			_tmp24_ = vala_ccode_constant_new ("-1");
3151 			_tmp25_ = _tmp24_;
3152 			vala_ccode_initializer_list_append (_tmp23_, (ValaCCodeExpression*) _tmp25_);
3153 			_vala_ccode_node_unref0 (_tmp25_);
3154 			_tmp26_ = info;
3155 			_tmp27_ = prop;
3156 			_tmp28_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp27_);
3157 			_tmp29_ = _tmp28_;
3158 			_tmp30_ = g_strdup_printf ("\"%s\"", _tmp29_);
3159 			_tmp31_ = _tmp30_;
3160 			_tmp32_ = vala_ccode_constant_new (_tmp31_);
3161 			_tmp33_ = _tmp32_;
3162 			vala_ccode_initializer_list_append (_tmp26_, (ValaCCodeExpression*) _tmp33_);
3163 			_vala_ccode_node_unref0 (_tmp33_);
3164 			_g_free0 (_tmp31_);
3165 			_g_free0 (_tmp29_);
3166 			_tmp34_ = info;
3167 			_tmp35_ = prop;
3168 			_tmp36_ = vala_property_get_property_type (_tmp35_);
3169 			_tmp37_ = _tmp36_;
3170 			_tmp38_ = prop;
3171 			_tmp39_ = vala_data_type_get_type_signature (_tmp37_, (ValaSymbol*) _tmp38_);
3172 			_tmp40_ = _tmp39_;
3173 			_tmp41_ = g_strdup_printf ("\"%s\"", _tmp40_);
3174 			_tmp42_ = _tmp41_;
3175 			_tmp43_ = vala_ccode_constant_new (_tmp42_);
3176 			_tmp44_ = _tmp43_;
3177 			vala_ccode_initializer_list_append (_tmp34_, (ValaCCodeExpression*) _tmp44_);
3178 			_vala_ccode_node_unref0 (_tmp44_);
3179 			_g_free0 (_tmp42_);
3180 			_g_free0 (_tmp40_);
3181 			_tmp46_ = prop;
3182 			_tmp47_ = vala_property_get_get_accessor (_tmp46_);
3183 			_tmp48_ = _tmp47_;
3184 			if (_tmp48_ != NULL) {
3185 				ValaProperty* _tmp49_;
3186 				ValaPropertyAccessor* _tmp50_;
3187 				ValaPropertyAccessor* _tmp51_;
3188 				_tmp49_ = prop;
3189 				_tmp50_ = vala_property_get_set_accessor (_tmp49_);
3190 				_tmp51_ = _tmp50_;
3191 				_tmp45_ = _tmp51_ != NULL;
3192 			} else {
3193 				_tmp45_ = FALSE;
3194 			}
3195 			if (_tmp45_) {
3196 				ValaCCodeInitializerList* _tmp52_;
3197 				ValaCCodeConstant* _tmp53_;
3198 				ValaCCodeConstant* _tmp54_;
3199 				_tmp52_ = info;
3200 				_tmp53_ = vala_ccode_constant_new ("G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITA" \
3201 "BLE");
3202 				_tmp54_ = _tmp53_;
3203 				vala_ccode_initializer_list_append (_tmp52_, (ValaCCodeExpression*) _tmp54_);
3204 				_vala_ccode_node_unref0 (_tmp54_);
3205 			} else {
3206 				ValaProperty* _tmp55_;
3207 				ValaPropertyAccessor* _tmp56_;
3208 				ValaPropertyAccessor* _tmp57_;
3209 				_tmp55_ = prop;
3210 				_tmp56_ = vala_property_get_get_accessor (_tmp55_);
3211 				_tmp57_ = _tmp56_;
3212 				if (_tmp57_ != NULL) {
3213 					ValaCCodeInitializerList* _tmp58_;
3214 					ValaCCodeConstant* _tmp59_;
3215 					ValaCCodeConstant* _tmp60_;
3216 					_tmp58_ = info;
3217 					_tmp59_ = vala_ccode_constant_new ("G_DBUS_PROPERTY_INFO_FLAGS_READABLE");
3218 					_tmp60_ = _tmp59_;
3219 					vala_ccode_initializer_list_append (_tmp58_, (ValaCCodeExpression*) _tmp60_);
3220 					_vala_ccode_node_unref0 (_tmp60_);
3221 				} else {
3222 					ValaProperty* _tmp61_;
3223 					ValaPropertyAccessor* _tmp62_;
3224 					ValaPropertyAccessor* _tmp63_;
3225 					_tmp61_ = prop;
3226 					_tmp62_ = vala_property_get_set_accessor (_tmp61_);
3227 					_tmp63_ = _tmp62_;
3228 					if (_tmp63_ != NULL) {
3229 						ValaCCodeInitializerList* _tmp64_;
3230 						ValaCCodeConstant* _tmp65_;
3231 						ValaCCodeConstant* _tmp66_;
3232 						_tmp64_ = info;
3233 						_tmp65_ = vala_ccode_constant_new ("G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE");
3234 						_tmp66_ = _tmp65_;
3235 						vala_ccode_initializer_list_append (_tmp64_, (ValaCCodeExpression*) _tmp66_);
3236 						_vala_ccode_node_unref0 (_tmp66_);
3237 					} else {
3238 						ValaCCodeInitializerList* _tmp67_;
3239 						ValaCCodeConstant* _tmp68_;
3240 						ValaCCodeConstant* _tmp69_;
3241 						_tmp67_ = info;
3242 						_tmp68_ = vala_ccode_constant_new ("G_DBUS_PROPERTY_INFO_FLAGS_NONE");
3243 						_tmp69_ = _tmp68_;
3244 						vala_ccode_initializer_list_append (_tmp67_, (ValaCCodeExpression*) _tmp69_);
3245 						_vala_ccode_node_unref0 (_tmp69_);
3246 					}
3247 				}
3248 			}
3249 			_tmp70_ = info;
3250 			_tmp71_ = vala_ccode_constant_new ("NULL");
3251 			_tmp72_ = _tmp71_;
3252 			vala_ccode_initializer_list_append (_tmp70_, (ValaCCodeExpression*) _tmp72_);
3253 			_vala_ccode_node_unref0 (_tmp72_);
3254 			_tmp73_ = vala_ccode_declaration_new ("const GDBusPropertyInfo");
3255 			_cdecl_ = _tmp73_;
3256 			_tmp74_ = _cdecl_;
3257 			_tmp75_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3258 			_tmp76_ = _tmp75_;
3259 			_tmp77_ = g_strconcat ("_", _tmp76_, NULL);
3260 			_tmp78_ = _tmp77_;
3261 			_tmp79_ = g_strconcat (_tmp78_, "dbus_property_info_", NULL);
3262 			_tmp80_ = _tmp79_;
3263 			_tmp81_ = prop;
3264 			_tmp82_ = vala_symbol_get_name ((ValaSymbol*) _tmp81_);
3265 			_tmp83_ = _tmp82_;
3266 			_tmp84_ = g_strconcat (_tmp80_, _tmp83_, NULL);
3267 			_tmp85_ = _tmp84_;
3268 			_tmp86_ = info;
3269 			_tmp87_ = vala_ccode_variable_declarator_new (_tmp85_, (ValaCCodeExpression*) _tmp86_, NULL);
3270 			_tmp88_ = _tmp87_;
3271 			vala_ccode_declaration_add_declarator (_tmp74_, (ValaCCodeDeclarator*) _tmp88_);
3272 			_vala_ccode_node_unref0 (_tmp88_);
3273 			_g_free0 (_tmp85_);
3274 			_g_free0 (_tmp80_);
3275 			_g_free0 (_tmp78_);
3276 			_g_free0 (_tmp76_);
3277 			_tmp89_ = _cdecl_;
3278 			vala_ccode_node_set_modifiers ((ValaCCodeNode*) _tmp89_, VALA_CCODE_MODIFIERS_STATIC);
3279 			_tmp90_ = ((ValaCCodeBaseModule*) self)->cfile;
3280 			_tmp91_ = _cdecl_;
3281 			vala_ccode_file_add_constant_declaration (_tmp90_, (ValaCCodeNode*) _tmp91_);
3282 			_tmp92_ = infos;
3283 			_tmp93_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3284 			_tmp94_ = _tmp93_;
3285 			_tmp95_ = g_strconcat ("_", _tmp94_, NULL);
3286 			_tmp96_ = _tmp95_;
3287 			_tmp97_ = g_strconcat (_tmp96_, "dbus_property_info_", NULL);
3288 			_tmp98_ = _tmp97_;
3289 			_tmp99_ = prop;
3290 			_tmp100_ = vala_symbol_get_name ((ValaSymbol*) _tmp99_);
3291 			_tmp101_ = _tmp100_;
3292 			_tmp102_ = g_strconcat (_tmp98_, _tmp101_, NULL);
3293 			_tmp103_ = _tmp102_;
3294 			_tmp104_ = vala_ccode_identifier_new (_tmp103_);
3295 			_tmp105_ = _tmp104_;
3296 			_tmp106_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp105_);
3297 			_tmp107_ = _tmp106_;
3298 			vala_ccode_initializer_list_append (_tmp92_, (ValaCCodeExpression*) _tmp107_);
3299 			_vala_ccode_node_unref0 (_tmp107_);
3300 			_vala_ccode_node_unref0 (_tmp105_);
3301 			_g_free0 (_tmp103_);
3302 			_g_free0 (_tmp98_);
3303 			_g_free0 (_tmp96_);
3304 			_g_free0 (_tmp94_);
3305 			_vala_ccode_node_unref0 (_cdecl_);
3306 			_vala_ccode_node_unref0 (info);
3307 			_vala_code_node_unref0 (prop);
3308 		}
3309 		_vala_iterable_unref0 (_prop_list);
3310 	}
3311 	_tmp108_ = infos;
3312 	_tmp109_ = vala_ccode_constant_new ("NULL");
3313 	_tmp110_ = _tmp109_;
3314 	vala_ccode_initializer_list_append (_tmp108_, (ValaCCodeExpression*) _tmp110_);
3315 	_vala_ccode_node_unref0 (_tmp110_);
3316 	_tmp111_ = vala_ccode_declaration_new ("const GDBusPropertyInfo * const");
3317 	_cdecl_ = _tmp111_;
3318 	_tmp112_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3319 	_tmp113_ = _tmp112_;
3320 	_tmp114_ = g_strconcat ("_", _tmp113_, NULL);
3321 	_tmp115_ = _tmp114_;
3322 	_tmp116_ = g_strconcat (_tmp115_, "dbus_property_info[]", NULL);
3323 	_tmp117_ = _tmp116_;
3324 	_tmp118_ = infos;
3325 	_tmp119_ = vala_ccode_variable_declarator_new (_tmp117_, (ValaCCodeExpression*) _tmp118_, NULL);
3326 	_tmp120_ = _tmp119_;
3327 	vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) _tmp120_);
3328 	_vala_ccode_node_unref0 (_tmp120_);
3329 	_g_free0 (_tmp117_);
3330 	_g_free0 (_tmp115_);
3331 	_g_free0 (_tmp113_);
3332 	vala_ccode_node_set_modifiers ((ValaCCodeNode*) _cdecl_, VALA_CCODE_MODIFIERS_STATIC);
3333 	_tmp121_ = ((ValaCCodeBaseModule*) self)->cfile;
3334 	vala_ccode_file_add_constant_declaration (_tmp121_, (ValaCCodeNode*) _cdecl_);
3335 	_tmp122_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3336 	_tmp123_ = _tmp122_;
3337 	_tmp124_ = g_strconcat ("_", _tmp123_, NULL);
3338 	_tmp125_ = _tmp124_;
3339 	_tmp126_ = g_strconcat (_tmp125_, "dbus_property_info", NULL);
3340 	_tmp127_ = _tmp126_;
3341 	_tmp128_ = vala_ccode_identifier_new (_tmp127_);
3342 	_tmp129_ = (ValaCCodeExpression*) _tmp128_;
3343 	_g_free0 (_tmp127_);
3344 	_g_free0 (_tmp125_);
3345 	_g_free0 (_tmp123_);
3346 	result = _tmp129_;
3347 	_vala_ccode_node_unref0 (_cdecl_);
3348 	_vala_ccode_node_unref0 (infos);
3349 	return result;
3350 }
3351 
3352 static void
vala_gd_bus_module_declare_interface_info(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)3353 vala_gd_bus_module_declare_interface_info (ValaGDBusModule* self,
3354                                            ValaObjectTypeSymbol* sym)
3355 {
3356 	ValaCCodeInitializerList* info = NULL;
3357 	ValaCCodeInitializerList* _tmp0_;
3358 	ValaCCodeConstant* _tmp1_;
3359 	ValaCCodeConstant* _tmp2_;
3360 	gchar* _tmp3_;
3361 	gchar* _tmp4_;
3362 	gchar* _tmp5_;
3363 	gchar* _tmp6_;
3364 	ValaCCodeConstant* _tmp7_;
3365 	ValaCCodeConstant* _tmp8_;
3366 	ValaCCodeExpression* _tmp9_;
3367 	ValaCCodeExpression* _tmp10_;
3368 	ValaCCodeUnaryExpression* _tmp11_;
3369 	ValaCCodeUnaryExpression* _tmp12_;
3370 	ValaCCodeCastExpression* _tmp13_;
3371 	ValaCCodeCastExpression* _tmp14_;
3372 	ValaCCodeExpression* _tmp15_;
3373 	ValaCCodeExpression* _tmp16_;
3374 	ValaCCodeUnaryExpression* _tmp17_;
3375 	ValaCCodeUnaryExpression* _tmp18_;
3376 	ValaCCodeCastExpression* _tmp19_;
3377 	ValaCCodeCastExpression* _tmp20_;
3378 	ValaCCodeExpression* _tmp21_;
3379 	ValaCCodeExpression* _tmp22_;
3380 	ValaCCodeUnaryExpression* _tmp23_;
3381 	ValaCCodeUnaryExpression* _tmp24_;
3382 	ValaCCodeCastExpression* _tmp25_;
3383 	ValaCCodeCastExpression* _tmp26_;
3384 	ValaCCodeConstant* _tmp27_;
3385 	ValaCCodeConstant* _tmp28_;
3386 	ValaCCodeDeclaration* _cdecl_ = NULL;
3387 	ValaCCodeDeclaration* _tmp29_;
3388 	gchar* _tmp30_;
3389 	gchar* _tmp31_;
3390 	gchar* _tmp32_;
3391 	gchar* _tmp33_;
3392 	gchar* _tmp34_;
3393 	gchar* _tmp35_;
3394 	ValaCCodeVariableDeclarator* _tmp36_;
3395 	ValaCCodeVariableDeclarator* _tmp37_;
3396 	ValaCCodeFile* _tmp38_;
3397 	g_return_if_fail (self != NULL);
3398 	g_return_if_fail (sym != NULL);
3399 	_tmp0_ = vala_ccode_initializer_list_new ();
3400 	info = _tmp0_;
3401 	_tmp1_ = vala_ccode_constant_new ("-1");
3402 	_tmp2_ = _tmp1_;
3403 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp2_);
3404 	_vala_ccode_node_unref0 (_tmp2_);
3405 	_tmp3_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) sym);
3406 	_tmp4_ = _tmp3_;
3407 	_tmp5_ = g_strdup_printf ("\"%s\"", _tmp4_);
3408 	_tmp6_ = _tmp5_;
3409 	_tmp7_ = vala_ccode_constant_new (_tmp6_);
3410 	_tmp8_ = _tmp7_;
3411 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp8_);
3412 	_vala_ccode_node_unref0 (_tmp8_);
3413 	_g_free0 (_tmp6_);
3414 	_g_free0 (_tmp4_);
3415 	_tmp9_ = vala_gd_bus_module_get_method_info (self, sym);
3416 	_tmp10_ = _tmp9_;
3417 	_tmp11_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp10_);
3418 	_tmp12_ = _tmp11_;
3419 	_tmp13_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp12_, "GDBusMethodInfo **");
3420 	_tmp14_ = _tmp13_;
3421 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp14_);
3422 	_vala_ccode_node_unref0 (_tmp14_);
3423 	_vala_ccode_node_unref0 (_tmp12_);
3424 	_vala_ccode_node_unref0 (_tmp10_);
3425 	_tmp15_ = vala_gd_bus_module_get_signal_info (self, sym);
3426 	_tmp16_ = _tmp15_;
3427 	_tmp17_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp16_);
3428 	_tmp18_ = _tmp17_;
3429 	_tmp19_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp18_, "GDBusSignalInfo **");
3430 	_tmp20_ = _tmp19_;
3431 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp20_);
3432 	_vala_ccode_node_unref0 (_tmp20_);
3433 	_vala_ccode_node_unref0 (_tmp18_);
3434 	_vala_ccode_node_unref0 (_tmp16_);
3435 	_tmp21_ = vala_gd_bus_module_get_property_info (self, sym);
3436 	_tmp22_ = _tmp21_;
3437 	_tmp23_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp22_);
3438 	_tmp24_ = _tmp23_;
3439 	_tmp25_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp24_, "GDBusPropertyInfo **");
3440 	_tmp26_ = _tmp25_;
3441 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp26_);
3442 	_vala_ccode_node_unref0 (_tmp26_);
3443 	_vala_ccode_node_unref0 (_tmp24_);
3444 	_vala_ccode_node_unref0 (_tmp22_);
3445 	_tmp27_ = vala_ccode_constant_new ("NULL");
3446 	_tmp28_ = _tmp27_;
3447 	vala_ccode_initializer_list_append (info, (ValaCCodeExpression*) _tmp28_);
3448 	_vala_ccode_node_unref0 (_tmp28_);
3449 	_tmp29_ = vala_ccode_declaration_new ("const GDBusInterfaceInfo");
3450 	_cdecl_ = _tmp29_;
3451 	_tmp30_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3452 	_tmp31_ = _tmp30_;
3453 	_tmp32_ = g_strconcat ("_", _tmp31_, NULL);
3454 	_tmp33_ = _tmp32_;
3455 	_tmp34_ = g_strconcat (_tmp33_, "dbus_interface_info", NULL);
3456 	_tmp35_ = _tmp34_;
3457 	_tmp36_ = vala_ccode_variable_declarator_new (_tmp35_, (ValaCCodeExpression*) info, NULL);
3458 	_tmp37_ = _tmp36_;
3459 	vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) _tmp37_);
3460 	_vala_ccode_node_unref0 (_tmp37_);
3461 	_g_free0 (_tmp35_);
3462 	_g_free0 (_tmp33_);
3463 	_g_free0 (_tmp31_);
3464 	vala_ccode_node_set_modifiers ((ValaCCodeNode*) _cdecl_, VALA_CCODE_MODIFIERS_STATIC);
3465 	_tmp38_ = ((ValaCCodeBaseModule*) self)->cfile;
3466 	vala_ccode_file_add_constant_declaration (_tmp38_, (ValaCCodeNode*) _cdecl_);
3467 	_vala_ccode_node_unref0 (_cdecl_);
3468 	_vala_ccode_node_unref0 (info);
3469 }
3470 
3471 ValaCCodeExpression*
vala_gd_bus_module_get_interface_info(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)3472 vala_gd_bus_module_get_interface_info (ValaGDBusModule* self,
3473                                        ValaObjectTypeSymbol* sym)
3474 {
3475 	gchar* _tmp0_;
3476 	gchar* _tmp1_;
3477 	gchar* _tmp2_;
3478 	gchar* _tmp3_;
3479 	gchar* _tmp4_;
3480 	gchar* _tmp5_;
3481 	ValaCCodeIdentifier* _tmp6_;
3482 	ValaCCodeExpression* _tmp7_;
3483 	ValaCCodeExpression* result = NULL;
3484 	g_return_val_if_fail (self != NULL, NULL);
3485 	g_return_val_if_fail (sym != NULL, NULL);
3486 	_tmp0_ = vala_get_ccode_lower_case_prefix ((ValaSymbol*) sym);
3487 	_tmp1_ = _tmp0_;
3488 	_tmp2_ = g_strconcat ("_", _tmp1_, NULL);
3489 	_tmp3_ = _tmp2_;
3490 	_tmp4_ = g_strconcat (_tmp3_, "dbus_interface_info", NULL);
3491 	_tmp5_ = _tmp4_;
3492 	_tmp6_ = vala_ccode_identifier_new (_tmp5_);
3493 	_tmp7_ = (ValaCCodeExpression*) _tmp6_;
3494 	_g_free0 (_tmp5_);
3495 	_g_free0 (_tmp3_);
3496 	_g_free0 (_tmp1_);
3497 	result = _tmp7_;
3498 	return result;
3499 }
3500 
3501 static void
vala_gd_bus_module_real_visit_class(ValaCodeVisitor * base,ValaClass * cl)3502 vala_gd_bus_module_real_visit_class (ValaCodeVisitor* base,
3503                                      ValaClass* cl)
3504 {
3505 	ValaGDBusModule * self;
3506 	self = (ValaGDBusModule*) base;
3507 	g_return_if_fail (cl != NULL);
3508 	VALA_CODE_VISITOR_CLASS (vala_gd_bus_module_parent_class)->visit_class ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GVARIANT_MODULE, ValaGVariantModule), cl);
3509 	vala_gd_bus_module_visit_object_type_symbol (self, (ValaObjectTypeSymbol*) cl);
3510 }
3511 
3512 static void
vala_gd_bus_module_real_visit_interface(ValaCodeVisitor * base,ValaInterface * iface)3513 vala_gd_bus_module_real_visit_interface (ValaCodeVisitor* base,
3514                                          ValaInterface* iface)
3515 {
3516 	ValaGDBusModule * self;
3517 	self = (ValaGDBusModule*) base;
3518 	g_return_if_fail (iface != NULL);
3519 	VALA_CODE_VISITOR_CLASS (vala_gd_bus_module_parent_class)->visit_interface ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GVARIANT_MODULE, ValaGVariantModule), iface);
3520 	vala_gd_bus_module_visit_object_type_symbol (self, (ValaObjectTypeSymbol*) iface);
3521 }
3522 
3523 static void
vala_gd_bus_module_visit_object_type_symbol(ValaGDBusModule * self,ValaObjectTypeSymbol * sym)3524 vala_gd_bus_module_visit_object_type_symbol (ValaGDBusModule* self,
3525                                              ValaObjectTypeSymbol* sym)
3526 {
3527 	gchar* _tmp0_;
3528 	gchar* _tmp1_;
3529 	gboolean _tmp2_;
3530 	g_return_if_fail (self != NULL);
3531 	g_return_if_fail (sym != NULL);
3532 	_tmp0_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) sym);
3533 	_tmp1_ = _tmp0_;
3534 	_tmp2_ = _tmp1_ == NULL;
3535 	_g_free0 (_tmp1_);
3536 	if (_tmp2_) {
3537 		return;
3538 	}
3539 	vala_gd_bus_module_declare_interface_info (self, sym);
3540 }
3541 
3542 ValaGDBusModule*
vala_gd_bus_module_construct(GType object_type)3543 vala_gd_bus_module_construct (GType object_type)
3544 {
3545 	ValaGDBusModule* self = NULL;
3546 	self = (ValaGDBusModule*) vala_gvariant_module_construct (object_type);
3547 	return self;
3548 }
3549 
3550 ValaGDBusModule*
vala_gd_bus_module_new(void)3551 vala_gd_bus_module_new (void)
3552 {
3553 	return vala_gd_bus_module_construct (VALA_TYPE_GD_BUS_MODULE);
3554 }
3555 
3556 static void
vala_gd_bus_module_class_init(ValaGDBusModuleClass * klass,gpointer klass_data)3557 vala_gd_bus_module_class_init (ValaGDBusModuleClass * klass,
3558                                gpointer klass_data)
3559 {
3560 	vala_gd_bus_module_parent_class = g_type_class_peek_parent (klass);
3561 	((ValaCodeVisitorClass *) klass)->visit_error_domain = (void (*) (ValaCodeVisitor*, ValaErrorDomain*)) vala_gd_bus_module_real_visit_error_domain;
3562 	((ValaCodeVisitorClass *) klass)->visit_class = (void (*) (ValaCodeVisitor*, ValaClass*)) vala_gd_bus_module_real_visit_class;
3563 	((ValaCodeVisitorClass *) klass)->visit_interface = (void (*) (ValaCodeVisitor*, ValaInterface*)) vala_gd_bus_module_real_visit_interface;
3564 }
3565 
3566 static void
vala_gd_bus_module_instance_init(ValaGDBusModule * self,gpointer klass)3567 vala_gd_bus_module_instance_init (ValaGDBusModule * self,
3568                                   gpointer klass)
3569 {
3570 }
3571 
3572 static GType
vala_gd_bus_module_get_type_once(void)3573 vala_gd_bus_module_get_type_once (void)
3574 {
3575 	static const GTypeInfo g_define_type_info = { sizeof (ValaGDBusModuleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_gd_bus_module_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaGDBusModule), 0, (GInstanceInitFunc) vala_gd_bus_module_instance_init, NULL };
3576 	GType vala_gd_bus_module_type_id;
3577 	vala_gd_bus_module_type_id = g_type_register_static (VALA_TYPE_GVARIANT_MODULE, "ValaGDBusModule", &g_define_type_info, 0);
3578 	return vala_gd_bus_module_type_id;
3579 }
3580 
3581 GType
vala_gd_bus_module_get_type(void)3582 vala_gd_bus_module_get_type (void)
3583 {
3584 	static volatile gsize vala_gd_bus_module_type_id__volatile = 0;
3585 	if (g_once_init_enter (&vala_gd_bus_module_type_id__volatile)) {
3586 		GType vala_gd_bus_module_type_id;
3587 		vala_gd_bus_module_type_id = vala_gd_bus_module_get_type_once ();
3588 		g_once_init_leave (&vala_gd_bus_module_type_id__volatile, vala_gd_bus_module_type_id);
3589 	}
3590 	return vala_gd_bus_module_type_id__volatile;
3591 }
3592 
3593