~ubuntu-branches/ubuntu/quantal/vala/quantal

« back to all changes in this revision

Viewing changes to codegen/valagdbusclientmodule.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Terry
  • Date: 2011-01-18 09:51:15 UTC
  • mfrom: (1.5.14 upstream)
  • Revision ID: james.westby@ubuntu.com-20110118095115-r2jr7c63lr0jzj0y
Tags: 0.11.4-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
/* valagdbusclientmodule.vala
5
5
 *
6
 
 * Copyright (C) 2010  Jürg Billeter
 
6
 * Copyright (C) 2010-2011  Jürg Billeter
7
7
 *
8
8
 * This library is free software; you can redistribute it and/or
9
9
 * modify it under the terms of the GNU Lesser General Public
166
166
typedef struct _ValaGTypeModuleClass ValaGTypeModuleClass;
167
167
typedef struct _ValaGTypeModulePrivate ValaGTypeModulePrivate;
168
168
 
169
 
#define VALA_TYPE_TYPEREGISTER_FUNCTION (vala_typeregister_function_get_type ())
170
 
#define VALA_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunction))
171
 
#define VALA_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass))
172
 
#define VALA_IS_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION))
173
 
#define VALA_IS_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION))
174
 
#define VALA_TYPEREGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass))
175
 
 
176
 
typedef struct _ValaTypeRegisterFunction ValaTypeRegisterFunction;
177
 
typedef struct _ValaTypeRegisterFunctionClass ValaTypeRegisterFunctionClass;
178
 
 
179
169
#define VALA_TYPE_GOBJECT_MODULE (vala_gobject_module_get_type ())
180
170
#define VALA_GOBJECT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModule))
181
171
#define VALA_GOBJECT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModuleClass))
307
297
        ValaTypeSymbol* gbytearray_type;
308
298
        ValaTypeSymbol* gptrarray_type;
309
299
        ValaTypeSymbol* gthreadpool_type;
 
300
        ValaDataType* gdestroynotify_type;
310
301
        ValaDataType* gquark_type;
311
302
        ValaStruct* gvalue_type;
312
303
        ValaClass* gvariant_type;
336
327
        ValaCCodeExpression* (*get_dup_func_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
337
328
        gchar* (*append_struct_array_free) (ValaCCodeBaseModule* self, ValaStruct* st);
338
329
        ValaCCodeExpression* (*destroy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, gboolean is_macro_definition);
339
 
        void (*append_local_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, gboolean stop_at_loop);
 
330
        void (*append_local_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, gboolean stop_at_loop, ValaCodeNode* stop_at);
340
331
        gchar* (*get_delegate_target_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
341
332
        ValaCCodeExpression* (*get_delegate_target_cexpression) (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression** delegate_target_destroy_notify);
342
333
        ValaCCodeExpression* (*get_delegate_target_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
347
338
        void (*generate_interface_declaration) (ValaCCodeBaseModule* self, ValaInterface* iface, ValaCCodeFile* decl_space);
348
339
        void (*generate_method_declaration) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space);
349
340
        void (*generate_error_domain_declaration) (ValaCCodeBaseModule* self, ValaErrorDomain* edomain, ValaCCodeFile* decl_space);
350
 
        ValaCCodeExpression* (*deserialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr);
 
341
        ValaCCodeExpression* (*deserialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
351
342
        ValaCCodeExpression* (*serialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* expr);
352
343
        ValaCCodeExpression* (*get_implicit_cast_expression) (ValaCCodeBaseModule* self, ValaCCodeExpression* source_cexpr, ValaDataType* expression_type, ValaDataType* target_type, ValaExpression* expr);
353
344
        gboolean (*is_gobject_property) (ValaCCodeBaseModule* self, ValaProperty* prop);
356
347
        gboolean (*method_has_wrapper) (ValaCCodeBaseModule* self, ValaMethod* method);
357
348
        ValaCCodeFunctionCall* (*get_param_spec) (ValaCCodeBaseModule* self, ValaProperty* prop);
358
349
        ValaCCodeFunctionCall* (*get_signal_creation) (ValaCCodeBaseModule* self, ValaSignal* sig, ValaTypeSymbol* type);
359
 
        void (*register_dbus_info) (ValaCCodeBaseModule* self, ValaObjectTypeSymbol* bindable);
 
350
        void (*register_dbus_info) (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable);
360
351
        gchar* (*get_dynamic_property_getter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
361
352
        gchar* (*get_dynamic_property_setter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
362
353
        gchar* (*get_dynamic_signal_cname) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
467
458
        ValaGErrorModuleClass parent_class;
468
459
        void (*generate_virtual_method_declaration) (ValaGTypeModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeStruct* type_struct);
469
460
        void (*generate_class_init) (ValaGTypeModule* self, ValaClass* cl);
470
 
        ValaTypeRegisterFunction* (*create_interface_register_function) (ValaGTypeModule* self, ValaInterface* iface);
471
461
};
472
462
 
473
463
struct _ValaGObjectModule {
553
543
GType vala_ccode_delegate_module_get_type (void) G_GNUC_CONST;
554
544
GType vala_gerror_module_get_type (void) G_GNUC_CONST;
555
545
GType vala_gtype_module_get_type (void) G_GNUC_CONST;
556
 
gpointer vala_typeregister_function_ref (gpointer instance);
557
 
void vala_typeregister_function_unref (gpointer instance);
558
 
GParamSpec* vala_param_spec_typeregister_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
559
 
void vala_value_set_typeregister_function (GValue* value, gpointer v_object);
560
 
void vala_value_take_typeregister_function (GValue* value, gpointer v_object);
561
 
gpointer vala_value_get_typeregister_function (const GValue* value);
562
 
GType vala_typeregister_function_get_type (void) G_GNUC_CONST;
563
546
GType vala_gobject_module_get_type (void) G_GNUC_CONST;
564
547
GType vala_gsignal_module_get_type (void) G_GNUC_CONST;
565
548
GType vala_gasync_module_get_type (void) G_GNUC_CONST;
590
573
static void vala_gd_bus_client_module_real_visit_interface (ValaCodeVisitor* base, ValaInterface* iface);
591
574
static void vala_gd_bus_client_module_generate_signal_handler_function (ValaGDBusClientModule* self, ValaObjectTypeSymbol* sym);
592
575
static void vala_gd_bus_client_module_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr);
 
576
ValaCCodeExpression* vala_ccode_base_module_get_type_id_expression (ValaCCodeBaseModule* self, ValaDataType* type, gboolean is_chainup);
593
577
void vala_ccode_base_module_set_current_method_inner_error (ValaCCodeBaseModule* self, gboolean value);
594
578
ValaCCodeExpression* vala_ccode_base_module_get_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr);
595
579
gchar* vala_ccode_base_module_generate_ready_function (ValaCCodeBaseModule* self, ValaMethod* m);
602
586
static gchar* vala_gd_bus_client_module_generate_dbus_signal_handler (ValaGDBusClientModule* self, ValaSignal* sig, ValaObjectTypeSymbol* sym);
603
587
ValaCCodeExpression* vala_ccode_base_module_default_value_for_type (ValaCCodeBaseModule* self, ValaDataType* type, gboolean initializer_expression);
604
588
gchar* vala_ccode_base_module_get_parameter_array_length_cname (ValaCCodeBaseModule* self, ValaParameter* param, gint dim);
605
 
void vala_gvariant_module_read_expression (ValaGVariantModule* self, ValaDataType* type, ValaCCodeExpression* iter_expr, ValaCCodeExpression* target_expr, ValaSymbol* sym);
 
589
void vala_gvariant_module_read_expression (ValaGVariantModule* self, ValaDataType* type, ValaCCodeExpression* iter_expr, ValaCCodeExpression* target_expr, ValaSymbol* sym, ValaCCodeExpression* error_expr, gboolean* may_fail);
606
590
gboolean vala_ccode_base_module_requires_destroy (ValaCCodeBaseModule* self, ValaDataType* type);
607
591
ValaCCodeExpression* vala_ccode_base_module_get_unref_expression (ValaCCodeBaseModule* self, ValaCCodeExpression* cvar, ValaDataType* type, ValaExpression* expr, gboolean is_macro_definition);
608
592
gchar* vala_gd_bus_module_get_dbus_name_for_member (ValaSymbol* symbol);
610
594
void vala_gd_bus_module_send_dbus_value (ValaGDBusModule* self, ValaDataType* type, ValaCCodeExpression* builder_expr, ValaCCodeExpression* expr, ValaSymbol* sym);
611
595
gchar* vala_gasync_module_generate_async_callback_wrapper (ValaGAsyncModule* self);
612
596
void vala_ccode_base_module_return_default_value (ValaCCodeBaseModule* self, ValaDataType* return_type);
613
 
void vala_gd_bus_module_receive_dbus_value (ValaGDBusModule* self, ValaDataType* type, ValaCCodeExpression* message_expr, ValaCCodeExpression* iter_expr, ValaCCodeExpression* target_expr, ValaSymbol* sym);
 
597
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);
614
598
gboolean vala_gd_bus_module_is_dbus_no_reply (ValaMethod* m);
615
599
gint vala_ccode_base_module_get_param_pos (ValaCCodeBaseModule* self, gdouble param_pos, gboolean ellipsis);
616
600
void vala_gvariant_module_write_expression (ValaGVariantModule* self, ValaDataType* type, ValaCCodeExpression* builder_expr, ValaCCodeExpression* expr, ValaSymbol* sym);
617
 
ValaCCodeExpression* vala_ccode_base_module_deserialize_expression (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr);
 
601
ValaCCodeExpression* vala_ccode_base_module_deserialize_expression (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
 
602
static void vala_gd_bus_client_module_real_register_dbus_info (ValaCCodeBaseModule* base, ValaCCodeBlock* block, ValaObjectTypeSymbol* sym);
618
603
ValaGDBusClientModule* vala_gd_bus_client_module_new (void);
619
604
ValaGDBusClientModule* vala_gd_bus_client_module_construct (GType object_type);
620
605
ValaGDBusModule* vala_gd_bus_module_new (void);
1414
1399
}
1415
1400
 
1416
1401
 
 
1402
static gpointer _vala_ccode_node_ref0 (gpointer self) {
 
1403
        return self ? vala_ccode_node_ref (self) : NULL;
 
1404
}
 
1405
 
 
1406
 
1417
1407
static void vala_gd_bus_client_module_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr) {
1418
1408
        ValaGDBusClientModule * self;
1419
1409
        ValaExpression* _tmp0_ = NULL;
1438
1428
        ValaList* _tmp25_ = NULL;
1439
1429
        ValaList* _tmp26_;
1440
1430
        gpointer _tmp27_ = NULL;
1441
 
        ValaObjectType* _tmp28_;
1442
 
        ValaObjectType* type_arg;
1443
 
        ValaObjectTypeSymbol* _tmp29_ = NULL;
1444
 
        ValaInterface* _tmp30_;
1445
 
        ValaInterface* iface;
1446
 
        gchar* _tmp31_ = NULL;
1447
 
        gchar* dbus_iface_name;
 
1431
        ValaDataType* _tmp28_;
 
1432
        ValaDataType* type_arg;
 
1433
        ValaCCodeExpression* proxy_type;
 
1434
        ValaCCodeExpression* dbus_iface_name;
 
1435
        ValaDataType* _tmp29_;
 
1436
        ValaObjectType* _tmp30_;
 
1437
        ValaObjectType* object_type;
1448
1438
        gint base_arg_index;
1449
 
        gboolean _tmp37_ = FALSE;
1450
 
        ValaList* _tmp38_ = NULL;
 
1439
        gboolean _tmp83_ = FALSE;
 
1440
        ValaList* _tmp84_ = NULL;
1451
1441
        ValaList* args;
1452
 
        gpointer _tmp39_ = NULL;
 
1442
        gpointer _tmp85_ = NULL;
1453
1443
        ValaExpression* name;
1454
 
        gpointer _tmp40_ = NULL;
 
1444
        gpointer _tmp86_ = NULL;
1455
1445
        ValaExpression* object_path;
1456
 
        gpointer _tmp41_ = NULL;
 
1446
        gpointer _tmp87_ = NULL;
1457
1447
        ValaExpression* flags;
1458
 
        gpointer _tmp42_ = NULL;
 
1448
        gpointer _tmp88_ = NULL;
1459
1449
        ValaExpression* cancellable;
1460
1450
        ValaCCodeFunctionCall* ccall;
1461
 
        gboolean _tmp43_ = FALSE;
1462
 
        gchar* _tmp52_ = NULL;
1463
 
        gchar* _tmp53_;
1464
 
        gchar* _tmp54_ = NULL;
1465
 
        gchar* _tmp55_;
1466
 
        ValaCCodeIdentifier* _tmp56_ = NULL;
1467
 
        ValaCCodeIdentifier* _tmp57_;
1468
 
        gboolean _tmp58_ = FALSE;
1469
 
        ValaCCodeExpression* _tmp61_ = NULL;
1470
 
        ValaCCodeExpression* _tmp62_;
1471
 
        gboolean _tmp63_ = FALSE;
1472
 
        ValaCCodeConstant* _tmp76_ = NULL;
1473
 
        ValaCCodeConstant* _tmp77_;
1474
 
        ValaCCodeExpression* _tmp78_ = NULL;
1475
 
        ValaCCodeExpression* _tmp79_;
1476
 
        ValaCCodeConstant* _tmp80_ = NULL;
1477
 
        ValaCCodeConstant* _tmp81_;
1478
 
        ValaCCodeExpression* _tmp82_ = NULL;
1479
 
        ValaCCodeExpression* _tmp83_;
1480
 
        gboolean _tmp84_ = FALSE;
1481
 
        ValaCCodeConstant* _tmp97_ = NULL;
1482
 
        ValaCCodeConstant* _tmp98_;
1483
 
        ValaCCodeExpression* _tmp99_ = NULL;
1484
 
        ValaCCodeExpression* _tmp100_;
1485
 
        ValaCCodeConstant* _tmp101_ = NULL;
1486
 
        ValaCCodeConstant* _tmp102_;
1487
 
        gchar* _tmp103_ = NULL;
1488
 
        gchar* _tmp104_;
1489
 
        gchar* _tmp105_ = NULL;
1490
 
        gchar* _tmp106_;
1491
 
        ValaCCodeConstant* _tmp107_ = NULL;
1492
 
        ValaCCodeConstant* _tmp108_;
1493
 
        ValaCCodeConstant* _tmp109_ = NULL;
1494
 
        ValaCCodeConstant* _tmp110_;
1495
 
        gboolean _tmp111_ = FALSE;
1496
 
        ValaDataType* _tmp148_ = NULL;
1497
 
        ValaDataType* _tmp149_ = NULL;
1498
 
        gboolean _tmp150_;
1499
 
        ValaLocalVariable* _tmp151_ = NULL;
 
1451
        gboolean _tmp89_ = FALSE;
 
1452
        gboolean _tmp98_ = FALSE;
 
1453
        ValaCCodeExpression* _tmp101_ = NULL;
 
1454
        ValaCCodeExpression* _tmp102_;
 
1455
        gboolean _tmp103_ = FALSE;
 
1456
        ValaCCodeConstant* _tmp116_ = NULL;
 
1457
        ValaCCodeConstant* _tmp117_;
 
1458
        ValaCCodeExpression* _tmp118_ = NULL;
 
1459
        ValaCCodeExpression* _tmp119_;
 
1460
        ValaCCodeConstant* _tmp120_ = NULL;
 
1461
        ValaCCodeConstant* _tmp121_;
 
1462
        ValaCCodeExpression* _tmp122_ = NULL;
 
1463
        ValaCCodeExpression* _tmp123_;
 
1464
        gboolean _tmp124_ = FALSE;
 
1465
        ValaCCodeConstant* _tmp137_ = NULL;
 
1466
        ValaCCodeConstant* _tmp138_;
 
1467
        ValaCCodeExpression* _tmp139_ = NULL;
 
1468
        ValaCCodeExpression* _tmp140_;
 
1469
        ValaCCodeConstant* _tmp141_ = NULL;
 
1470
        ValaCCodeConstant* _tmp142_;
 
1471
        ValaCCodeConstant* _tmp143_ = NULL;
 
1472
        ValaCCodeConstant* _tmp144_;
 
1473
        gboolean _tmp145_ = FALSE;
 
1474
        ValaDataType* _tmp182_ = NULL;
 
1475
        ValaDataType* _tmp183_ = NULL;
 
1476
        gboolean _tmp184_;
 
1477
        ValaLocalVariable* _tmp185_ = NULL;
1500
1478
        ValaLocalVariable* temp_var;
1501
 
        const gchar* _tmp152_ = NULL;
1502
 
        ValaCCodeExpression* _tmp153_ = NULL;
 
1479
        const gchar* _tmp186_ = NULL;
 
1480
        ValaCCodeExpression* _tmp187_ = NULL;
1503
1481
        ValaCCodeExpression* temp_ref;
1504
 
        ValaCCodeFunction* _tmp154_ = NULL;
1505
 
        ValaCCodeAssignment* _tmp155_ = NULL;
1506
 
        ValaCCodeAssignment* _tmp156_;
 
1482
        ValaCCodeFunction* _tmp188_ = NULL;
 
1483
        ValaCCodeAssignment* _tmp189_ = NULL;
 
1484
        ValaCCodeAssignment* _tmp190_;
1507
1485
        self = (ValaGDBusClientModule*) base;
1508
1486
        g_return_if_fail (expr != NULL);
1509
1487
        _tmp0_ = vala_method_call_get_call (expr);
1588
1566
        _tmp25_ = vala_member_access_get_type_arguments (ma);
1589
1567
        _tmp26_ = _tmp25_;
1590
1568
        _tmp27_ = vala_list_get (_tmp26_, 0);
1591
 
        type_arg = (_tmp28_ = VALA_OBJECT_TYPE ((ValaDataType*) _tmp27_), _vala_iterable_unref0 (_tmp26_), _tmp28_);
1592
 
        _tmp29_ = vala_object_type_get_type_symbol (type_arg);
1593
 
        _tmp30_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp29_));
1594
 
        iface = _tmp30_;
1595
 
        _tmp31_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) iface);
1596
 
        dbus_iface_name = _tmp31_;
1597
 
        if (dbus_iface_name == NULL) {
1598
 
                ValaSourceReference* _tmp32_ = NULL;
 
1569
        type_arg = (_tmp28_ = (ValaDataType*) _tmp27_, _vala_iterable_unref0 (_tmp26_), _tmp28_);
 
1570
        proxy_type = NULL;
 
1571
        dbus_iface_name = NULL;
 
1572
        _tmp30_ = _vala_code_node_ref0 ((_tmp29_ = type_arg, VALA_IS_OBJECT_TYPE (_tmp29_) ? ((ValaObjectType*) _tmp29_) : NULL));
 
1573
        object_type = _tmp30_;
 
1574
        if (object_type != NULL) {
 
1575
                ValaObjectTypeSymbol* _tmp31_ = NULL;
 
1576
                ValaInterface* _tmp32_;
 
1577
                ValaInterface* iface;
1599
1578
                gchar* _tmp33_ = NULL;
1600
1579
                gchar* _tmp34_;
1601
 
                gchar* _tmp35_ = NULL;
1602
 
                gchar* _tmp36_;
1603
 
                _tmp32_ = vala_code_node_get_source_reference ((ValaCodeNode*) expr);
1604
 
                _tmp33_ = vala_symbol_get_full_name ((ValaSymbol*) iface);
 
1580
                gboolean _tmp35_;
 
1581
                gchar* _tmp41_ = NULL;
 
1582
                gchar* _tmp42_;
 
1583
                gchar* _tmp43_ = NULL;
 
1584
                gchar* _tmp44_;
 
1585
                ValaCCodeIdentifier* _tmp45_ = NULL;
 
1586
                ValaCCodeExpression* _tmp46_;
 
1587
                gchar* _tmp47_ = NULL;
 
1588
                gchar* _tmp48_;
 
1589
                gchar* _tmp49_ = NULL;
 
1590
                gchar* _tmp50_;
 
1591
                ValaCCodeConstant* _tmp51_ = NULL;
 
1592
                ValaCCodeExpression* _tmp52_;
 
1593
                _tmp31_ = vala_object_type_get_type_symbol (object_type);
 
1594
                _tmp32_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp31_));
 
1595
                iface = _tmp32_;
 
1596
                _tmp33_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) iface);
1605
1597
                _tmp34_ = _tmp33_;
1606
 
                _tmp35_ = g_strdup_printf ("`%s' is not a D-Bus interface", _tmp34_);
1607
 
                _tmp36_ = _tmp35_;
1608
 
                vala_report_error (_tmp32_, _tmp36_);
1609
 
                _g_free0 (_tmp36_);
1610
 
                _g_free0 (_tmp34_);
1611
 
                _g_free0 (dbus_iface_name);
 
1598
                if ((_tmp35_ = _tmp34_ == NULL, _g_free0 (_tmp34_), _tmp35_)) {
 
1599
                        ValaSourceReference* _tmp36_ = NULL;
 
1600
                        gchar* _tmp37_ = NULL;
 
1601
                        gchar* _tmp38_;
 
1602
                        gchar* _tmp39_ = NULL;
 
1603
                        gchar* _tmp40_;
 
1604
                        _tmp36_ = vala_code_node_get_source_reference ((ValaCodeNode*) expr);
 
1605
                        _tmp37_ = vala_symbol_get_full_name ((ValaSymbol*) iface);
 
1606
                        _tmp38_ = _tmp37_;
 
1607
                        _tmp39_ = g_strdup_printf ("`%s' is not a D-Bus interface", _tmp38_);
 
1608
                        _tmp40_ = _tmp39_;
 
1609
                        vala_report_error (_tmp36_, _tmp40_);
 
1610
                        _g_free0 (_tmp40_);
 
1611
                        _g_free0 (_tmp38_);
 
1612
                        _vala_code_node_unref0 (iface);
 
1613
                        _vala_code_node_unref0 (object_type);
 
1614
                        _vala_ccode_node_unref0 (dbus_iface_name);
 
1615
                        _vala_ccode_node_unref0 (proxy_type);
 
1616
                        _vala_code_node_unref0 (type_arg);
 
1617
                        _vala_code_node_unref0 (ma);
 
1618
                        _vala_code_node_unref0 (mtype);
 
1619
                        return;
 
1620
                }
 
1621
                _tmp41_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
 
1622
                _tmp42_ = _tmp41_;
 
1623
                _tmp43_ = g_strdup_printf ("%s_PROXY", _tmp42_);
 
1624
                _tmp44_ = _tmp43_;
 
1625
                _tmp45_ = vala_ccode_identifier_new (_tmp44_);
 
1626
                _tmp46_ = (ValaCCodeExpression*) _tmp45_;
 
1627
                _vala_ccode_node_unref0 (proxy_type);
 
1628
                proxy_type = _tmp46_;
 
1629
                _g_free0 (_tmp44_);
 
1630
                _g_free0 (_tmp42_);
 
1631
                _tmp47_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) iface);
 
1632
                _tmp48_ = _tmp47_;
 
1633
                _tmp49_ = g_strdup_printf ("\"%s\"", _tmp48_);
 
1634
                _tmp50_ = _tmp49_;
 
1635
                _tmp51_ = vala_ccode_constant_new (_tmp50_);
 
1636
                _tmp52_ = (ValaCCodeExpression*) _tmp51_;
 
1637
                _vala_ccode_node_unref0 (dbus_iface_name);
 
1638
                dbus_iface_name = _tmp52_;
 
1639
                _g_free0 (_tmp50_);
 
1640
                _g_free0 (_tmp48_);
1612
1641
                _vala_code_node_unref0 (iface);
1613
 
                _vala_code_node_unref0 (type_arg);
1614
 
                _vala_code_node_unref0 (ma);
1615
 
                _vala_code_node_unref0 (mtype);
1616
 
                return;
 
1642
        } else {
 
1643
                ValaCCodeIdentifier* _tmp53_ = NULL;
 
1644
                ValaCCodeIdentifier* _tmp54_;
 
1645
                ValaCCodeFunctionCall* _tmp55_ = NULL;
 
1646
                ValaCCodeFunctionCall* _tmp56_;
 
1647
                ValaCCodeFunctionCall* quark;
 
1648
                ValaCCodeConstant* _tmp57_ = NULL;
 
1649
                ValaCCodeConstant* _tmp58_;
 
1650
                ValaCCodeIdentifier* _tmp59_ = NULL;
 
1651
                ValaCCodeIdentifier* _tmp60_;
 
1652
                ValaCCodeFunctionCall* _tmp61_ = NULL;
 
1653
                ValaCCodeFunctionCall* _tmp62_;
 
1654
                ValaCCodeFunctionCall* get_qdata;
 
1655
                ValaCCodeExpression* _tmp63_ = NULL;
 
1656
                ValaCCodeExpression* _tmp64_;
 
1657
                ValaCCodeCastExpression* _tmp65_ = NULL;
 
1658
                ValaCCodeCastExpression* _tmp66_;
 
1659
                ValaCCodeFunctionCall* _tmp67_ = NULL;
 
1660
                ValaCCodeExpression* _tmp68_;
 
1661
                ValaCCodeIdentifier* _tmp69_ = NULL;
 
1662
                ValaCCodeIdentifier* _tmp70_;
 
1663
                ValaCCodeFunctionCall* _tmp71_ = NULL;
 
1664
                ValaCCodeFunctionCall* _tmp72_;
 
1665
                ValaCCodeConstant* _tmp73_ = NULL;
 
1666
                ValaCCodeConstant* _tmp74_;
 
1667
                ValaCCodeIdentifier* _tmp75_ = NULL;
 
1668
                ValaCCodeIdentifier* _tmp76_;
 
1669
                ValaCCodeFunctionCall* _tmp77_ = NULL;
 
1670
                ValaCCodeFunctionCall* _tmp78_;
 
1671
                ValaCCodeExpression* _tmp79_ = NULL;
 
1672
                ValaCCodeExpression* _tmp80_;
 
1673
                ValaCCodeExpression* _tmp81_;
 
1674
                ValaCCodeExpression* _tmp82_;
 
1675
                _tmp53_ = vala_ccode_identifier_new ("g_quark_from_static_string");
 
1676
                _tmp54_ = _tmp53_;
 
1677
                _tmp55_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp54_);
 
1678
                quark = (_tmp56_ = _tmp55_, _vala_ccode_node_unref0 (_tmp54_), _tmp56_);
 
1679
                _tmp57_ = vala_ccode_constant_new ("\"vala-dbus-proxy-type\"");
 
1680
                _tmp58_ = _tmp57_;
 
1681
                vala_ccode_function_call_add_argument (quark, (ValaCCodeExpression*) _tmp58_);
 
1682
                _vala_ccode_node_unref0 (_tmp58_);
 
1683
                _tmp59_ = vala_ccode_identifier_new ("g_type_get_qdata");
 
1684
                _tmp60_ = _tmp59_;
 
1685
                _tmp61_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp60_);
 
1686
                get_qdata = (_tmp62_ = _tmp61_, _vala_ccode_node_unref0 (_tmp60_), _tmp62_);
 
1687
                _tmp63_ = vala_ccode_base_module_get_type_id_expression ((ValaCCodeBaseModule*) self, type_arg, FALSE);
 
1688
                _tmp64_ = _tmp63_;
 
1689
                vala_ccode_function_call_add_argument (get_qdata, _tmp64_);
 
1690
                _vala_ccode_node_unref0 (_tmp64_);
 
1691
                vala_ccode_function_call_add_argument (get_qdata, (ValaCCodeExpression*) quark);
 
1692
                _tmp65_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) get_qdata, "GType (*) (void)");
 
1693
                _tmp66_ = _tmp65_;
 
1694
                _tmp67_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp66_);
 
1695
                _tmp68_ = (ValaCCodeExpression*) _tmp67_;
 
1696
                _vala_ccode_node_unref0 (proxy_type);
 
1697
                proxy_type = _tmp68_;
 
1698
                _vala_ccode_node_unref0 (_tmp66_);
 
1699
                _tmp69_ = vala_ccode_identifier_new ("g_quark_from_static_string");
 
1700
                _tmp70_ = _tmp69_;
 
1701
                _tmp71_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp70_);
 
1702
                _tmp72_ = _tmp71_;
 
1703
                _vala_ccode_node_unref0 (quark);
 
1704
                quark = _tmp72_;
 
1705
                _vala_ccode_node_unref0 (_tmp70_);
 
1706
                _tmp73_ = vala_ccode_constant_new ("\"vala-dbus-interface-name\"");
 
1707
                _tmp74_ = _tmp73_;
 
1708
                vala_ccode_function_call_add_argument (quark, (ValaCCodeExpression*) _tmp74_);
 
1709
                _vala_ccode_node_unref0 (_tmp74_);
 
1710
                _tmp75_ = vala_ccode_identifier_new ("g_type_get_qdata");
 
1711
                _tmp76_ = _tmp75_;
 
1712
                _tmp77_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp76_);
 
1713
                _tmp78_ = _tmp77_;
 
1714
                _vala_ccode_node_unref0 (get_qdata);
 
1715
                get_qdata = _tmp78_;
 
1716
                _vala_ccode_node_unref0 (_tmp76_);
 
1717
                _tmp79_ = vala_ccode_base_module_get_type_id_expression ((ValaCCodeBaseModule*) self, type_arg, FALSE);
 
1718
                _tmp80_ = _tmp79_;
 
1719
                vala_ccode_function_call_add_argument (get_qdata, _tmp80_);
 
1720
                _vala_ccode_node_unref0 (_tmp80_);
 
1721
                vala_ccode_function_call_add_argument (get_qdata, (ValaCCodeExpression*) quark);
 
1722
                _tmp81_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) get_qdata);
 
1723
                _tmp82_ = _tmp81_;
 
1724
                _vala_ccode_node_unref0 (dbus_iface_name);
 
1725
                dbus_iface_name = _tmp82_;
 
1726
                _vala_ccode_node_unref0 (get_qdata);
 
1727
                _vala_ccode_node_unref0 (quark);
1617
1728
        }
1618
1729
        base_arg_index = 0;
1619
1730
        if (bus_get_proxy_async) {
1620
 
                _tmp37_ = TRUE;
 
1731
                _tmp83_ = TRUE;
1621
1732
        } else {
1622
 
                _tmp37_ = bus_get_proxy_sync;
 
1733
                _tmp83_ = bus_get_proxy_sync;
1623
1734
        }
1624
 
        if (_tmp37_) {
 
1735
        if (_tmp83_) {
1625
1736
                base_arg_index = 1;
1626
1737
        }
1627
 
        _tmp38_ = vala_method_call_get_argument_list (expr);
1628
 
        args = _tmp38_;
1629
 
        _tmp39_ = vala_list_get (args, base_arg_index + 0);
1630
 
        name = (ValaExpression*) _tmp39_;
1631
 
        _tmp40_ = vala_list_get (args, base_arg_index + 1);
1632
 
        object_path = (ValaExpression*) _tmp40_;
1633
 
        _tmp41_ = vala_list_get (args, base_arg_index + 2);
1634
 
        flags = (ValaExpression*) _tmp41_;
1635
 
        _tmp42_ = vala_list_get (args, base_arg_index + 3);
1636
 
        cancellable = (ValaExpression*) _tmp42_;
 
1738
        _tmp84_ = vala_method_call_get_argument_list (expr);
 
1739
        args = _tmp84_;
 
1740
        _tmp85_ = vala_list_get (args, base_arg_index + 0);
 
1741
        name = (ValaExpression*) _tmp85_;
 
1742
        _tmp86_ = vala_list_get (args, base_arg_index + 1);
 
1743
        object_path = (ValaExpression*) _tmp86_;
 
1744
        _tmp87_ = vala_list_get (args, base_arg_index + 2);
 
1745
        flags = (ValaExpression*) _tmp87_;
 
1746
        _tmp88_ = vala_list_get (args, base_arg_index + 3);
 
1747
        cancellable = (ValaExpression*) _tmp88_;
1637
1748
        vala_ccode_base_module_set_current_method_inner_error ((ValaCCodeBaseModule*) self, TRUE);
1638
1749
        ccall = NULL;
1639
1750
        if (bus_get_proxy_async) {
1640
 
                _tmp43_ = TRUE;
1641
 
        } else {
1642
 
                _tmp43_ = conn_get_proxy_async;
1643
 
        }
1644
 
        if (_tmp43_) {
1645
 
                ValaCCodeIdentifier* _tmp44_ = NULL;
1646
 
                ValaCCodeIdentifier* _tmp45_;
1647
 
                ValaCCodeFunctionCall* _tmp46_ = NULL;
1648
 
                ValaCCodeFunctionCall* _tmp47_;
1649
 
                _tmp44_ = vala_ccode_identifier_new ("g_async_initable_new_async");
1650
 
                _tmp45_ = _tmp44_;
1651
 
                _tmp46_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp45_);
1652
 
                _tmp47_ = _tmp46_;
1653
 
                _vala_ccode_node_unref0 (ccall);
1654
 
                ccall = _tmp47_;
1655
 
                _vala_ccode_node_unref0 (_tmp45_);
1656
 
        } else {
1657
 
                ValaCCodeIdentifier* _tmp48_ = NULL;
1658
 
                ValaCCodeIdentifier* _tmp49_;
1659
 
                ValaCCodeFunctionCall* _tmp50_ = NULL;
1660
 
                ValaCCodeFunctionCall* _tmp51_;
1661
 
                _tmp48_ = vala_ccode_identifier_new ("g_initable_new");
1662
 
                _tmp49_ = _tmp48_;
1663
 
                _tmp50_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp49_);
1664
 
                _tmp51_ = _tmp50_;
1665
 
                _vala_ccode_node_unref0 (ccall);
1666
 
                ccall = _tmp51_;
1667
 
                _vala_ccode_node_unref0 (_tmp49_);
1668
 
        }
1669
 
        _tmp52_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
1670
 
        _tmp53_ = _tmp52_;
1671
 
        _tmp54_ = g_strdup_printf ("%s_PROXY", _tmp53_);
1672
 
        _tmp55_ = _tmp54_;
1673
 
        _tmp56_ = vala_ccode_identifier_new (_tmp55_);
1674
 
        _tmp57_ = _tmp56_;
1675
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp57_);
1676
 
        _vala_ccode_node_unref0 (_tmp57_);
1677
 
        _g_free0 (_tmp55_);
1678
 
        _g_free0 (_tmp53_);
 
1751
                _tmp89_ = TRUE;
 
1752
        } else {
 
1753
                _tmp89_ = conn_get_proxy_async;
 
1754
        }
 
1755
        if (_tmp89_) {
 
1756
                ValaCCodeIdentifier* _tmp90_ = NULL;
 
1757
                ValaCCodeIdentifier* _tmp91_;
 
1758
                ValaCCodeFunctionCall* _tmp92_ = NULL;
 
1759
                ValaCCodeFunctionCall* _tmp93_;
 
1760
                _tmp90_ = vala_ccode_identifier_new ("g_async_initable_new_async");
 
1761
                _tmp91_ = _tmp90_;
 
1762
                _tmp92_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp91_);
 
1763
                _tmp93_ = _tmp92_;
 
1764
                _vala_ccode_node_unref0 (ccall);
 
1765
                ccall = _tmp93_;
 
1766
                _vala_ccode_node_unref0 (_tmp91_);
 
1767
        } else {
 
1768
                ValaCCodeIdentifier* _tmp94_ = NULL;
 
1769
                ValaCCodeIdentifier* _tmp95_;
 
1770
                ValaCCodeFunctionCall* _tmp96_ = NULL;
 
1771
                ValaCCodeFunctionCall* _tmp97_;
 
1772
                _tmp94_ = vala_ccode_identifier_new ("g_initable_new");
 
1773
                _tmp95_ = _tmp94_;
 
1774
                _tmp96_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp95_);
 
1775
                _tmp97_ = _tmp96_;
 
1776
                _vala_ccode_node_unref0 (ccall);
 
1777
                ccall = _tmp97_;
 
1778
                _vala_ccode_node_unref0 (_tmp95_);
 
1779
        }
 
1780
        vala_ccode_function_call_add_argument (ccall, proxy_type);
1679
1781
        if (bus_get_proxy_async) {
1680
 
                _tmp58_ = TRUE;
 
1782
                _tmp98_ = TRUE;
1681
1783
        } else {
1682
 
                _tmp58_ = conn_get_proxy_async;
 
1784
                _tmp98_ = conn_get_proxy_async;
1683
1785
        }
1684
 
        if (_tmp58_) {
1685
 
                ValaCCodeConstant* _tmp59_ = NULL;
1686
 
                ValaCCodeConstant* _tmp60_;
1687
 
                _tmp59_ = vala_ccode_constant_new ("0");
1688
 
                _tmp60_ = _tmp59_;
1689
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp60_);
1690
 
                _vala_ccode_node_unref0 (_tmp60_);
 
1786
        if (_tmp98_) {
 
1787
                ValaCCodeConstant* _tmp99_ = NULL;
 
1788
                ValaCCodeConstant* _tmp100_;
 
1789
                _tmp99_ = vala_ccode_constant_new ("0");
 
1790
                _tmp100_ = _tmp99_;
 
1791
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp100_);
 
1792
                _vala_ccode_node_unref0 (_tmp100_);
1691
1793
        }
1692
1794
        vala_code_node_emit ((ValaCodeNode*) cancellable, (ValaCodeGenerator*) self);
1693
 
        _tmp61_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, cancellable);
1694
 
        _tmp62_ = _tmp61_;
1695
 
        vala_ccode_function_call_add_argument (ccall, _tmp62_);
1696
 
        _vala_ccode_node_unref0 (_tmp62_);
 
1795
        _tmp101_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, cancellable);
 
1796
        _tmp102_ = _tmp101_;
 
1797
        vala_ccode_function_call_add_argument (ccall, _tmp102_);
 
1798
        _vala_ccode_node_unref0 (_tmp102_);
1697
1799
        if (bus_get_proxy_async) {
1698
 
                _tmp63_ = TRUE;
 
1800
                _tmp103_ = TRUE;
1699
1801
        } else {
1700
 
                _tmp63_ = conn_get_proxy_async;
 
1802
                _tmp103_ = conn_get_proxy_async;
1701
1803
        }
1702
 
        if (_tmp63_) {
1703
 
                gboolean _tmp64_;
1704
 
                _tmp64_ = vala_method_call_get_is_yield_expression (expr);
1705
 
                if (_tmp64_) {
1706
 
                        ValaMethod* _tmp65_ = NULL;
1707
 
                        gchar* _tmp66_ = NULL;
1708
 
                        gchar* _tmp67_;
1709
 
                        ValaCCodeIdentifier* _tmp68_ = NULL;
1710
 
                        ValaCCodeIdentifier* _tmp69_;
1711
 
                        ValaCCodeIdentifier* _tmp70_ = NULL;
1712
 
                        ValaCCodeIdentifier* _tmp71_;
1713
 
                        _tmp65_ = vala_ccode_base_module_get_current_method ((ValaCCodeBaseModule*) self);
1714
 
                        _tmp66_ = vala_ccode_base_module_generate_ready_function ((ValaCCodeBaseModule*) self, _tmp65_);
1715
 
                        _tmp67_ = _tmp66_;
1716
 
                        _tmp68_ = vala_ccode_identifier_new (_tmp67_);
1717
 
                        _tmp69_ = _tmp68_;
1718
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp69_);
1719
 
                        _vala_ccode_node_unref0 (_tmp69_);
1720
 
                        _g_free0 (_tmp67_);
1721
 
                        _tmp70_ = vala_ccode_identifier_new ("data");
1722
 
                        _tmp71_ = _tmp70_;
1723
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp71_);
1724
 
                        _vala_ccode_node_unref0 (_tmp71_);
 
1804
        if (_tmp103_) {
 
1805
                gboolean _tmp104_;
 
1806
                _tmp104_ = vala_method_call_get_is_yield_expression (expr);
 
1807
                if (_tmp104_) {
 
1808
                        ValaMethod* _tmp105_ = NULL;
 
1809
                        gchar* _tmp106_ = NULL;
 
1810
                        gchar* _tmp107_;
 
1811
                        ValaCCodeIdentifier* _tmp108_ = NULL;
 
1812
                        ValaCCodeIdentifier* _tmp109_;
 
1813
                        ValaCCodeIdentifier* _tmp110_ = NULL;
 
1814
                        ValaCCodeIdentifier* _tmp111_;
 
1815
                        _tmp105_ = vala_ccode_base_module_get_current_method ((ValaCCodeBaseModule*) self);
 
1816
                        _tmp106_ = vala_ccode_base_module_generate_ready_function ((ValaCCodeBaseModule*) self, _tmp105_);
 
1817
                        _tmp107_ = _tmp106_;
 
1818
                        _tmp108_ = vala_ccode_identifier_new (_tmp107_);
 
1819
                        _tmp109_ = _tmp108_;
 
1820
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp109_);
 
1821
                        _vala_ccode_node_unref0 (_tmp109_);
 
1822
                        _g_free0 (_tmp107_);
 
1823
                        _tmp110_ = vala_ccode_identifier_new ("data");
 
1824
                        _tmp111_ = _tmp110_;
 
1825
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp111_);
 
1826
                        _vala_ccode_node_unref0 (_tmp111_);
1725
1827
                }
1726
1828
        } else {
1727
 
                ValaCCodeExpression* _tmp72_ = NULL;
1728
 
                ValaCCodeExpression* _tmp73_;
1729
 
                ValaCCodeUnaryExpression* _tmp74_ = NULL;
1730
 
                ValaCCodeUnaryExpression* _tmp75_;
1731
 
                _tmp72_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_");
1732
 
                _tmp73_ = _tmp72_;
1733
 
                _tmp74_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp73_);
1734
 
                _tmp75_ = _tmp74_;
1735
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp75_);
1736
 
                _vala_ccode_node_unref0 (_tmp75_);
1737
 
                _vala_ccode_node_unref0 (_tmp73_);
 
1829
                ValaCCodeExpression* _tmp112_ = NULL;
 
1830
                ValaCCodeExpression* _tmp113_;
 
1831
                ValaCCodeUnaryExpression* _tmp114_ = NULL;
 
1832
                ValaCCodeUnaryExpression* _tmp115_;
 
1833
                _tmp112_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_");
 
1834
                _tmp113_ = _tmp112_;
 
1835
                _tmp114_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp113_);
 
1836
                _tmp115_ = _tmp114_;
 
1837
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp115_);
 
1838
                _vala_ccode_node_unref0 (_tmp115_);
 
1839
                _vala_ccode_node_unref0 (_tmp113_);
1738
1840
        }
1739
 
        _tmp76_ = vala_ccode_constant_new ("\"g-flags\"");
1740
 
        _tmp77_ = _tmp76_;
1741
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp77_);
1742
 
        _vala_ccode_node_unref0 (_tmp77_);
1743
 
        _tmp78_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, flags);
1744
 
        _tmp79_ = _tmp78_;
1745
 
        vala_ccode_function_call_add_argument (ccall, _tmp79_);
1746
 
        _vala_ccode_node_unref0 (_tmp79_);
1747
 
        _tmp80_ = vala_ccode_constant_new ("\"g-name\"");
1748
 
        _tmp81_ = _tmp80_;
1749
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp81_);
1750
 
        _vala_ccode_node_unref0 (_tmp81_);
 
1841
        _tmp116_ = vala_ccode_constant_new ("\"g-flags\"");
 
1842
        _tmp117_ = _tmp116_;
 
1843
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp117_);
 
1844
        _vala_ccode_node_unref0 (_tmp117_);
 
1845
        _tmp118_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, flags);
 
1846
        _tmp119_ = _tmp118_;
 
1847
        vala_ccode_function_call_add_argument (ccall, _tmp119_);
 
1848
        _vala_ccode_node_unref0 (_tmp119_);
 
1849
        _tmp120_ = vala_ccode_constant_new ("\"g-name\"");
 
1850
        _tmp121_ = _tmp120_;
 
1851
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp121_);
 
1852
        _vala_ccode_node_unref0 (_tmp121_);
1751
1853
        vala_code_node_emit ((ValaCodeNode*) name, (ValaCodeGenerator*) self);
1752
 
        _tmp82_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, name);
1753
 
        _tmp83_ = _tmp82_;
1754
 
        vala_ccode_function_call_add_argument (ccall, _tmp83_);
1755
 
        _vala_ccode_node_unref0 (_tmp83_);
 
1854
        _tmp122_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, name);
 
1855
        _tmp123_ = _tmp122_;
 
1856
        vala_ccode_function_call_add_argument (ccall, _tmp123_);
 
1857
        _vala_ccode_node_unref0 (_tmp123_);
1756
1858
        if (bus_get_proxy_async) {
1757
 
                _tmp84_ = TRUE;
 
1859
                _tmp124_ = TRUE;
1758
1860
        } else {
1759
 
                _tmp84_ = bus_get_proxy_sync;
 
1861
                _tmp124_ = bus_get_proxy_sync;
1760
1862
        }
1761
 
        if (_tmp84_) {
1762
 
                gpointer _tmp85_ = NULL;
 
1863
        if (_tmp124_) {
 
1864
                gpointer _tmp125_ = NULL;
1763
1865
                ValaExpression* bus_type;
1764
 
                ValaCCodeConstant* _tmp86_ = NULL;
1765
 
                ValaCCodeConstant* _tmp87_;
1766
 
                ValaCCodeExpression* _tmp88_ = NULL;
1767
 
                ValaCCodeExpression* _tmp89_;
1768
 
                _tmp85_ = vala_list_get (args, 0);
1769
 
                bus_type = (ValaExpression*) _tmp85_;
1770
 
                _tmp86_ = vala_ccode_constant_new ("\"g-bus-type\"");
1771
 
                _tmp87_ = _tmp86_;
1772
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp87_);
1773
 
                _vala_ccode_node_unref0 (_tmp87_);
 
1866
                ValaCCodeConstant* _tmp126_ = NULL;
 
1867
                ValaCCodeConstant* _tmp127_;
 
1868
                ValaCCodeExpression* _tmp128_ = NULL;
 
1869
                ValaCCodeExpression* _tmp129_;
 
1870
                _tmp125_ = vala_list_get (args, 0);
 
1871
                bus_type = (ValaExpression*) _tmp125_;
 
1872
                _tmp126_ = vala_ccode_constant_new ("\"g-bus-type\"");
 
1873
                _tmp127_ = _tmp126_;
 
1874
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp127_);
 
1875
                _vala_ccode_node_unref0 (_tmp127_);
1774
1876
                vala_code_node_emit ((ValaCodeNode*) bus_type, (ValaCodeGenerator*) self);
1775
 
                _tmp88_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, bus_type);
1776
 
                _tmp89_ = _tmp88_;
1777
 
                vala_ccode_function_call_add_argument (ccall, _tmp89_);
1778
 
                _vala_ccode_node_unref0 (_tmp89_);
 
1877
                _tmp128_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, bus_type);
 
1878
                _tmp129_ = _tmp128_;
 
1879
                vala_ccode_function_call_add_argument (ccall, _tmp129_);
 
1880
                _vala_ccode_node_unref0 (_tmp129_);
1779
1881
                _vala_code_node_unref0 (bus_type);
1780
1882
        } else {
1781
 
                ValaExpression* _tmp90_ = NULL;
1782
 
                ValaExpression* _tmp91_ = NULL;
1783
 
                ValaExpression* _tmp92_;
 
1883
                ValaExpression* _tmp130_ = NULL;
 
1884
                ValaExpression* _tmp131_ = NULL;
 
1885
                ValaExpression* _tmp132_;
1784
1886
                ValaExpression* connection;
1785
 
                ValaCCodeConstant* _tmp93_ = NULL;
1786
 
                ValaCCodeConstant* _tmp94_;
1787
 
                ValaCCodeExpression* _tmp95_ = NULL;
1788
 
                ValaCCodeExpression* _tmp96_;
1789
 
                _tmp90_ = vala_method_call_get_call (expr);
1790
 
                _tmp91_ = vala_member_access_get_inner (VALA_MEMBER_ACCESS (_tmp90_));
1791
 
                _tmp92_ = _vala_code_node_ref0 (_tmp91_);
1792
 
                connection = _tmp92_;
1793
 
                _tmp93_ = vala_ccode_constant_new ("\"g-connection\"");
1794
 
                _tmp94_ = _tmp93_;
1795
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp94_);
1796
 
                _vala_ccode_node_unref0 (_tmp94_);
 
1887
                ValaCCodeConstant* _tmp133_ = NULL;
 
1888
                ValaCCodeConstant* _tmp134_;
 
1889
                ValaCCodeExpression* _tmp135_ = NULL;
 
1890
                ValaCCodeExpression* _tmp136_;
 
1891
                _tmp130_ = vala_method_call_get_call (expr);
 
1892
                _tmp131_ = vala_member_access_get_inner (VALA_MEMBER_ACCESS (_tmp130_));
 
1893
                _tmp132_ = _vala_code_node_ref0 (_tmp131_);
 
1894
                connection = _tmp132_;
 
1895
                _tmp133_ = vala_ccode_constant_new ("\"g-connection\"");
 
1896
                _tmp134_ = _tmp133_;
 
1897
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp134_);
 
1898
                _vala_ccode_node_unref0 (_tmp134_);
1797
1899
                vala_code_node_emit ((ValaCodeNode*) connection, (ValaCodeGenerator*) self);
1798
 
                _tmp95_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, connection);
1799
 
                _tmp96_ = _tmp95_;
1800
 
                vala_ccode_function_call_add_argument (ccall, _tmp96_);
1801
 
                _vala_ccode_node_unref0 (_tmp96_);
 
1900
                _tmp135_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, connection);
 
1901
                _tmp136_ = _tmp135_;
 
1902
                vala_ccode_function_call_add_argument (ccall, _tmp136_);
 
1903
                _vala_ccode_node_unref0 (_tmp136_);
1802
1904
                _vala_code_node_unref0 (connection);
1803
1905
        }
1804
 
        _tmp97_ = vala_ccode_constant_new ("\"g-object-path\"");
1805
 
        _tmp98_ = _tmp97_;
1806
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp98_);
1807
 
        _vala_ccode_node_unref0 (_tmp98_);
 
1906
        _tmp137_ = vala_ccode_constant_new ("\"g-object-path\"");
 
1907
        _tmp138_ = _tmp137_;
 
1908
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp138_);
 
1909
        _vala_ccode_node_unref0 (_tmp138_);
1808
1910
        vala_code_node_emit ((ValaCodeNode*) object_path, (ValaCodeGenerator*) self);
1809
 
        _tmp99_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, object_path);
1810
 
        _tmp100_ = _tmp99_;
1811
 
        vala_ccode_function_call_add_argument (ccall, _tmp100_);
1812
 
        _vala_ccode_node_unref0 (_tmp100_);
1813
 
        _tmp101_ = vala_ccode_constant_new ("\"g-interface-name\"");
1814
 
        _tmp102_ = _tmp101_;
1815
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp102_);
1816
 
        _vala_ccode_node_unref0 (_tmp102_);
1817
 
        _tmp103_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) iface);
1818
 
        _tmp104_ = _tmp103_;
1819
 
        _tmp105_ = g_strdup_printf ("\"%s\"", _tmp104_);
1820
 
        _tmp106_ = _tmp105_;
1821
 
        _tmp107_ = vala_ccode_constant_new (_tmp106_);
1822
 
        _tmp108_ = _tmp107_;
1823
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp108_);
1824
 
        _vala_ccode_node_unref0 (_tmp108_);
1825
 
        _g_free0 (_tmp106_);
1826
 
        _g_free0 (_tmp104_);
1827
 
        _tmp109_ = vala_ccode_constant_new ("NULL");
1828
 
        _tmp110_ = _tmp109_;
1829
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp110_);
1830
 
        _vala_ccode_node_unref0 (_tmp110_);
 
1911
        _tmp139_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, object_path);
 
1912
        _tmp140_ = _tmp139_;
 
1913
        vala_ccode_function_call_add_argument (ccall, _tmp140_);
 
1914
        _vala_ccode_node_unref0 (_tmp140_);
 
1915
        _tmp141_ = vala_ccode_constant_new ("\"g-interface-name\"");
 
1916
        _tmp142_ = _tmp141_;
 
1917
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp142_);
 
1918
        _vala_ccode_node_unref0 (_tmp142_);
 
1919
        vala_ccode_function_call_add_argument (ccall, dbus_iface_name);
 
1920
        _tmp143_ = vala_ccode_constant_new ("NULL");
 
1921
        _tmp144_ = _tmp143_;
 
1922
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp144_);
 
1923
        _vala_ccode_node_unref0 (_tmp144_);
1831
1924
        if (bus_get_proxy_async) {
1832
 
                _tmp111_ = TRUE;
 
1925
                _tmp145_ = TRUE;
1833
1926
        } else {
1834
 
                _tmp111_ = conn_get_proxy_async;
 
1927
                _tmp145_ = conn_get_proxy_async;
1835
1928
        }
1836
 
        if (_tmp111_) {
1837
 
                gboolean _tmp112_;
1838
 
                _tmp112_ = vala_method_call_get_is_yield_expression (expr);
1839
 
                if (_tmp112_) {
1840
 
                        gint _tmp113_;
 
1929
        if (_tmp145_) {
 
1930
                gboolean _tmp146_;
 
1931
                _tmp146_ = vala_method_call_get_is_yield_expression (expr);
 
1932
                if (_tmp146_) {
 
1933
                        gint _tmp147_;
1841
1934
                        gint state;
1842
 
                        ValaCCodeFunction* _tmp114_ = NULL;
1843
 
                        ValaCCodeIdentifier* _tmp115_ = NULL;
1844
 
                        ValaCCodeIdentifier* _tmp116_;
1845
 
                        ValaCCodeMemberAccess* _tmp117_ = NULL;
1846
 
                        ValaCCodeMemberAccess* _tmp118_;
1847
 
                        gchar* _tmp119_ = NULL;
1848
 
                        gchar* _tmp120_;
1849
 
                        ValaCCodeConstant* _tmp121_ = NULL;
1850
 
                        ValaCCodeConstant* _tmp122_;
1851
 
                        ValaCCodeAssignment* _tmp123_ = NULL;
1852
 
                        ValaCCodeAssignment* _tmp124_;
1853
 
                        ValaCCodeFunction* _tmp125_ = NULL;
1854
 
                        ValaCCodeFunction* _tmp126_ = NULL;
1855
 
                        ValaCCodeConstant* _tmp127_ = NULL;
1856
 
                        ValaCCodeConstant* _tmp128_;
1857
 
                        ValaCCodeFunction* _tmp129_ = NULL;
1858
 
                        gchar* _tmp130_ = NULL;
1859
 
                        gchar* _tmp131_;
1860
 
                        ValaCCodeIdentifier* _tmp132_ = NULL;
1861
 
                        ValaCCodeIdentifier* _tmp133_;
1862
 
                        ValaCCodeFunctionCall* _tmp134_ = NULL;
1863
 
                        ValaCCodeFunctionCall* _tmp135_;
1864
 
                        ValaCCodeIdentifier* _tmp136_ = NULL;
1865
 
                        ValaCCodeIdentifier* _tmp137_;
1866
 
                        ValaCCodeMemberAccess* _tmp138_ = NULL;
1867
 
                        ValaCCodeMemberAccess* _tmp139_;
1868
 
                        ValaCCodeIdentifier* _tmp140_ = NULL;
1869
 
                        ValaCCodeIdentifier* _tmp141_;
1870
 
                        ValaCCodeMemberAccess* _tmp142_ = NULL;
1871
 
                        ValaCCodeMemberAccess* _tmp143_;
1872
 
                        ValaCCodeExpression* _tmp144_ = NULL;
1873
 
                        ValaCCodeExpression* _tmp145_;
1874
 
                        ValaCCodeUnaryExpression* _tmp146_ = NULL;
1875
 
                        ValaCCodeUnaryExpression* _tmp147_;
1876
 
                        _tmp113_ = ((ValaCCodeBaseModule*) self)->next_coroutine_state;
1877
 
                        ((ValaCCodeBaseModule*) self)->next_coroutine_state = _tmp113_ + 1;
1878
 
                        state = _tmp113_;
1879
 
                        _tmp114_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1880
 
                        _tmp115_ = vala_ccode_identifier_new ("data");
1881
 
                        _tmp116_ = _tmp115_;
1882
 
                        _tmp117_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp116_, "_state_");
1883
 
                        _tmp118_ = _tmp117_;
1884
 
                        _tmp119_ = g_strdup_printf ("%i", state);
1885
 
                        _tmp120_ = _tmp119_;
1886
 
                        _tmp121_ = vala_ccode_constant_new (_tmp120_);
1887
 
                        _tmp122_ = _tmp121_;
1888
 
                        _tmp123_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp118_, (ValaCCodeExpression*) _tmp122_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1889
 
                        _tmp124_ = _tmp123_;
1890
 
                        vala_ccode_function_add_expression (_tmp114_, (ValaCCodeExpression*) _tmp124_);
1891
 
                        _vala_ccode_node_unref0 (_tmp124_);
1892
 
                        _vala_ccode_node_unref0 (_tmp122_);
1893
 
                        _g_free0 (_tmp120_);
1894
 
                        _vala_ccode_node_unref0 (_tmp118_);
1895
 
                        _vala_ccode_node_unref0 (_tmp116_);
1896
 
                        _tmp125_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1897
 
                        vala_ccode_function_add_expression (_tmp125_, (ValaCCodeExpression*) ccall);
1898
 
                        _tmp126_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1899
 
                        _tmp127_ = vala_ccode_constant_new ("FALSE");
1900
 
                        _tmp128_ = _tmp127_;
1901
 
                        vala_ccode_function_add_return (_tmp126_, (ValaCCodeExpression*) _tmp128_);
1902
 
                        _vala_ccode_node_unref0 (_tmp128_);
1903
 
                        _tmp129_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1904
 
                        _tmp130_ = g_strdup_printf ("_state_%d", state);
1905
 
                        _tmp131_ = _tmp130_;
1906
 
                        vala_ccode_function_add_label (_tmp129_, _tmp131_);
1907
 
                        _g_free0 (_tmp131_);
1908
 
                        _tmp132_ = vala_ccode_identifier_new ("g_async_initable_new_finish");
1909
 
                        _tmp133_ = _tmp132_;
1910
 
                        _tmp134_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp133_);
1911
 
                        _tmp135_ = _tmp134_;
 
1935
                        ValaCCodeFunction* _tmp148_ = NULL;
 
1936
                        ValaCCodeIdentifier* _tmp149_ = NULL;
 
1937
                        ValaCCodeIdentifier* _tmp150_;
 
1938
                        ValaCCodeMemberAccess* _tmp151_ = NULL;
 
1939
                        ValaCCodeMemberAccess* _tmp152_;
 
1940
                        gchar* _tmp153_ = NULL;
 
1941
                        gchar* _tmp154_;
 
1942
                        ValaCCodeConstant* _tmp155_ = NULL;
 
1943
                        ValaCCodeConstant* _tmp156_;
 
1944
                        ValaCCodeAssignment* _tmp157_ = NULL;
 
1945
                        ValaCCodeAssignment* _tmp158_;
 
1946
                        ValaCCodeFunction* _tmp159_ = NULL;
 
1947
                        ValaCCodeFunction* _tmp160_ = NULL;
 
1948
                        ValaCCodeConstant* _tmp161_ = NULL;
 
1949
                        ValaCCodeConstant* _tmp162_;
 
1950
                        ValaCCodeFunction* _tmp163_ = NULL;
 
1951
                        gchar* _tmp164_ = NULL;
 
1952
                        gchar* _tmp165_;
 
1953
                        ValaCCodeIdentifier* _tmp166_ = NULL;
 
1954
                        ValaCCodeIdentifier* _tmp167_;
 
1955
                        ValaCCodeFunctionCall* _tmp168_ = NULL;
 
1956
                        ValaCCodeFunctionCall* _tmp169_;
 
1957
                        ValaCCodeIdentifier* _tmp170_ = NULL;
 
1958
                        ValaCCodeIdentifier* _tmp171_;
 
1959
                        ValaCCodeMemberAccess* _tmp172_ = NULL;
 
1960
                        ValaCCodeMemberAccess* _tmp173_;
 
1961
                        ValaCCodeIdentifier* _tmp174_ = NULL;
 
1962
                        ValaCCodeIdentifier* _tmp175_;
 
1963
                        ValaCCodeMemberAccess* _tmp176_ = NULL;
 
1964
                        ValaCCodeMemberAccess* _tmp177_;
 
1965
                        ValaCCodeExpression* _tmp178_ = NULL;
 
1966
                        ValaCCodeExpression* _tmp179_;
 
1967
                        ValaCCodeUnaryExpression* _tmp180_ = NULL;
 
1968
                        ValaCCodeUnaryExpression* _tmp181_;
 
1969
                        _tmp147_ = ((ValaCCodeBaseModule*) self)->next_coroutine_state;
 
1970
                        ((ValaCCodeBaseModule*) self)->next_coroutine_state = _tmp147_ + 1;
 
1971
                        state = _tmp147_;
 
1972
                        _tmp148_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
1973
                        _tmp149_ = vala_ccode_identifier_new ("data");
 
1974
                        _tmp150_ = _tmp149_;
 
1975
                        _tmp151_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp150_, "_state_");
 
1976
                        _tmp152_ = _tmp151_;
 
1977
                        _tmp153_ = g_strdup_printf ("%i", state);
 
1978
                        _tmp154_ = _tmp153_;
 
1979
                        _tmp155_ = vala_ccode_constant_new (_tmp154_);
 
1980
                        _tmp156_ = _tmp155_;
 
1981
                        _tmp157_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp152_, (ValaCCodeExpression*) _tmp156_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1982
                        _tmp158_ = _tmp157_;
 
1983
                        vala_ccode_function_add_expression (_tmp148_, (ValaCCodeExpression*) _tmp158_);
 
1984
                        _vala_ccode_node_unref0 (_tmp158_);
 
1985
                        _vala_ccode_node_unref0 (_tmp156_);
 
1986
                        _g_free0 (_tmp154_);
 
1987
                        _vala_ccode_node_unref0 (_tmp152_);
 
1988
                        _vala_ccode_node_unref0 (_tmp150_);
 
1989
                        _tmp159_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
1990
                        vala_ccode_function_add_expression (_tmp159_, (ValaCCodeExpression*) ccall);
 
1991
                        _tmp160_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
1992
                        _tmp161_ = vala_ccode_constant_new ("FALSE");
 
1993
                        _tmp162_ = _tmp161_;
 
1994
                        vala_ccode_function_add_return (_tmp160_, (ValaCCodeExpression*) _tmp162_);
 
1995
                        _vala_ccode_node_unref0 (_tmp162_);
 
1996
                        _tmp163_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
1997
                        _tmp164_ = g_strdup_printf ("_state_%d", state);
 
1998
                        _tmp165_ = _tmp164_;
 
1999
                        vala_ccode_function_add_label (_tmp163_, _tmp165_);
 
2000
                        _g_free0 (_tmp165_);
 
2001
                        _tmp166_ = vala_ccode_identifier_new ("g_async_initable_new_finish");
 
2002
                        _tmp167_ = _tmp166_;
 
2003
                        _tmp168_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp167_);
 
2004
                        _tmp169_ = _tmp168_;
1912
2005
                        _vala_ccode_node_unref0 (ccall);
1913
 
                        ccall = _tmp135_;
1914
 
                        _vala_ccode_node_unref0 (_tmp133_);
1915
 
                        _tmp136_ = vala_ccode_identifier_new ("data");
1916
 
                        _tmp137_ = _tmp136_;
1917
 
                        _tmp138_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp137_, "_source_object_");
1918
 
                        _tmp139_ = _tmp138_;
1919
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp139_);
1920
 
                        _vala_ccode_node_unref0 (_tmp139_);
1921
 
                        _vala_ccode_node_unref0 (_tmp137_);
1922
 
                        _tmp140_ = vala_ccode_identifier_new ("data");
1923
 
                        _tmp141_ = _tmp140_;
1924
 
                        _tmp142_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp141_, "_res_");
1925
 
                        _tmp143_ = _tmp142_;
1926
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp143_);
1927
 
                        _vala_ccode_node_unref0 (_tmp143_);
1928
 
                        _vala_ccode_node_unref0 (_tmp141_);
1929
 
                        _tmp144_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_");
1930
 
                        _tmp145_ = _tmp144_;
1931
 
                        _tmp146_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp145_);
1932
 
                        _tmp147_ = _tmp146_;
1933
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp147_);
1934
 
                        _vala_ccode_node_unref0 (_tmp147_);
1935
 
                        _vala_ccode_node_unref0 (_tmp145_);
 
2006
                        ccall = _tmp169_;
 
2007
                        _vala_ccode_node_unref0 (_tmp167_);
 
2008
                        _tmp170_ = vala_ccode_identifier_new ("data");
 
2009
                        _tmp171_ = _tmp170_;
 
2010
                        _tmp172_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp171_, "_source_object_");
 
2011
                        _tmp173_ = _tmp172_;
 
2012
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp173_);
 
2013
                        _vala_ccode_node_unref0 (_tmp173_);
 
2014
                        _vala_ccode_node_unref0 (_tmp171_);
 
2015
                        _tmp174_ = vala_ccode_identifier_new ("data");
 
2016
                        _tmp175_ = _tmp174_;
 
2017
                        _tmp176_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp175_, "_res_");
 
2018
                        _tmp177_ = _tmp176_;
 
2019
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp177_);
 
2020
                        _vala_ccode_node_unref0 (_tmp177_);
 
2021
                        _vala_ccode_node_unref0 (_tmp175_);
 
2022
                        _tmp178_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_");
 
2023
                        _tmp179_ = _tmp178_;
 
2024
                        _tmp180_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp179_);
 
2025
                        _tmp181_ = _tmp180_;
 
2026
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp181_);
 
2027
                        _vala_ccode_node_unref0 (_tmp181_);
 
2028
                        _vala_ccode_node_unref0 (_tmp179_);
1936
2029
                }
1937
2030
        }
1938
 
        _tmp148_ = vala_expression_get_value_type ((ValaExpression*) expr);
1939
 
        _tmp149_ = vala_expression_get_value_type ((ValaExpression*) expr);
1940
 
        _tmp150_ = vala_data_type_get_value_owned (_tmp149_);
1941
 
        _tmp151_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, _tmp148_, _tmp150_, NULL, TRUE);
1942
 
        temp_var = _tmp151_;
1943
 
        _tmp152_ = vala_symbol_get_name ((ValaSymbol*) temp_var);
1944
 
        _tmp153_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp152_);
1945
 
        temp_ref = _tmp153_;
 
2031
        _tmp182_ = vala_expression_get_value_type ((ValaExpression*) expr);
 
2032
        _tmp183_ = vala_expression_get_value_type ((ValaExpression*) expr);
 
2033
        _tmp184_ = vala_data_type_get_value_owned (_tmp183_);
 
2034
        _tmp185_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, _tmp182_, _tmp184_, NULL, TRUE);
 
2035
        temp_var = _tmp185_;
 
2036
        _tmp186_ = vala_symbol_get_name ((ValaSymbol*) temp_var);
 
2037
        _tmp187_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp186_);
 
2038
        temp_ref = _tmp187_;
1946
2039
        vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, temp_var);
1947
 
        _tmp154_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1948
 
        _tmp155_ = vala_ccode_assignment_new (temp_ref, (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1949
 
        _tmp156_ = _tmp155_;
1950
 
        vala_ccode_function_add_expression (_tmp154_, (ValaCCodeExpression*) _tmp156_);
1951
 
        _vala_ccode_node_unref0 (_tmp156_);
 
2040
        _tmp188_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
2041
        _tmp189_ = vala_ccode_assignment_new (temp_ref, (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
2042
        _tmp190_ = _tmp189_;
 
2043
        vala_ccode_function_add_expression (_tmp188_, (ValaCCodeExpression*) _tmp190_);
 
2044
        _vala_ccode_node_unref0 (_tmp190_);
1952
2045
        vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) expr, temp_ref);
1953
2046
        _vala_ccode_node_unref0 (temp_ref);
1954
2047
        _vala_code_node_unref0 (temp_var);
1958
2051
        _vala_code_node_unref0 (object_path);
1959
2052
        _vala_code_node_unref0 (name);
1960
2053
        _vala_iterable_unref0 (args);
1961
 
        _g_free0 (dbus_iface_name);
1962
 
        _vala_code_node_unref0 (iface);
 
2054
        _vala_code_node_unref0 (object_type);
 
2055
        _vala_ccode_node_unref0 (dbus_iface_name);
 
2056
        _vala_ccode_node_unref0 (proxy_type);
1963
2057
        _vala_code_node_unref0 (type_arg);
1964
2058
        _vala_code_node_unref0 (ma);
1965
2059
        _vala_code_node_unref0 (mtype);
2225
2319
                        _tmp80_ = vala_symbol_get_name ((ValaSymbol*) param);
2226
2320
                        _tmp81_ = vala_ccode_identifier_new (_tmp80_);
2227
2321
                        _tmp82_ = _tmp81_;
2228
 
                        vala_gvariant_module_read_expression ((ValaGVariantModule*) self, _tmp77_, (ValaCCodeExpression*) _tmp79_, (ValaCCodeExpression*) _tmp82_, (ValaSymbol*) param);
 
2322
                        vala_gvariant_module_read_expression ((ValaGVariantModule*) self, _tmp77_, (ValaCCodeExpression*) _tmp79_, (ValaCCodeExpression*) _tmp82_, (ValaSymbol*) param, NULL, NULL);
2229
2323
                        _vala_ccode_node_unref0 (_tmp82_);
2230
2324
                        _vala_ccode_node_unref0 (_tmp79_);
2231
2325
                        _vala_code_node_unref0 (st);
2322
2416
}
2323
2417
 
2324
2418
 
2325
 
static gpointer _vala_ccode_node_ref0 (gpointer self) {
2326
 
        return self ? vala_ccode_node_ref (self) : NULL;
2327
 
}
2328
 
 
2329
 
 
2330
2419
static void vala_gd_bus_client_module_generate_signal_handler_function (ValaGDBusClientModule* self, ValaObjectTypeSymbol* sym) {
2331
2420
        gchar* _tmp0_ = NULL;
2332
2421
        gchar* _tmp1_;
3307
3396
                ValaCCodeFunction* _tmp273_ = NULL;
3308
3397
                ValaDataType* _tmp274_ = NULL;
3309
3398
                gboolean has_result;
3310
 
                ValaCCodeFunction* _tmp423_ = NULL;
3311
 
                gboolean _tmp424_ = FALSE;
3312
 
                ValaDataType* _tmp425_ = NULL;
 
3399
                ValaCCodeFunction* _tmp453_ = NULL;
 
3400
                gboolean _tmp454_ = FALSE;
 
3401
                ValaDataType* _tmp455_ = NULL;
3313
3402
                _tmp246_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3314
3403
                _tmp247_ = vala_ccode_variable_declarator_new ("*_reply_message", NULL, NULL);
3315
3404
                _tmp248_ = _tmp247_;
3429
3518
                        ValaCCodeIdentifier* _tmp309_ = NULL;
3430
3519
                        ValaCCodeIdentifier* _tmp310_;
3431
3520
                        ValaCCodeFunction* _tmp311_ = NULL;
3432
 
                        ValaDataType* _tmp371_ = NULL;
 
3521
                        ValaDataType* _tmp386_ = NULL;
3433
3522
                        _tmp284_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3434
3523
                        _tmp285_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL);
3435
3524
                        _tmp286_ = _tmp285_;
3516
3605
                                                ValaCCodeIdentifier* _tmp339_ = NULL;
3517
3606
                                                ValaCCodeIdentifier* _tmp340_;
3518
3607
                                                ValaCCodeIdentifier* target;
 
3608
                                                gboolean may_fail = FALSE;
3519
3609
                                                ValaDataType* _tmp341_ = NULL;
3520
3610
                                                ValaCCodeIdentifier* _tmp342_ = NULL;
3521
3611
                                                ValaCCodeIdentifier* _tmp343_;
3522
3612
                                                ValaCCodeIdentifier* _tmp344_ = NULL;
3523
3613
                                                ValaCCodeIdentifier* _tmp345_;
3524
 
                                                ValaCCodeFunction* _tmp346_ = NULL;
3525
 
                                                const gchar* _tmp347_ = NULL;
3526
 
                                                ValaCCodeIdentifier* _tmp348_ = NULL;
3527
 
                                                ValaCCodeIdentifier* _tmp349_;
3528
 
                                                ValaCCodeUnaryExpression* _tmp350_ = NULL;
3529
 
                                                ValaCCodeUnaryExpression* _tmp351_;
3530
 
                                                ValaCCodeAssignment* _tmp352_ = NULL;
3531
 
                                                ValaCCodeAssignment* _tmp353_;
 
3614
                                                ValaCCodeIdentifier* _tmp346_ = NULL;
 
3615
                                                ValaCCodeIdentifier* _tmp347_;
 
3616
                                                gboolean _tmp348_;
 
3617
                                                ValaCCodeFunction* _tmp349_ = NULL;
 
3618
                                                const gchar* _tmp350_ = NULL;
 
3619
                                                ValaCCodeIdentifier* _tmp351_ = NULL;
 
3620
                                                ValaCCodeIdentifier* _tmp352_;
 
3621
                                                ValaCCodeUnaryExpression* _tmp353_ = NULL;
 
3622
                                                ValaCCodeUnaryExpression* _tmp354_;
 
3623
                                                ValaCCodeAssignment* _tmp355_ = NULL;
 
3624
                                                ValaCCodeAssignment* _tmp356_;
3532
3625
                                                _tmp316_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3533
3626
                                                _tmp317_ = vala_variable_get_variable_type ((ValaVariable*) param);
3534
3627
                                                _tmp318_ = vala_data_type_get_cname (_tmp317_);
3594
3687
                                                _tmp343_ = _tmp342_;
3595
3688
                                                _tmp344_ = vala_ccode_identifier_new ("_reply_iter");
3596
3689
                                                _tmp345_ = _tmp344_;
3597
 
                                                vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp341_, (ValaCCodeExpression*) _tmp343_, (ValaCCodeExpression*) _tmp345_, (ValaCCodeExpression*) target, (ValaSymbol*) param);
 
3690
                                                _tmp346_ = vala_ccode_identifier_new ("error");
 
3691
                                                _tmp347_ = _tmp346_;
 
3692
                                                vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp341_, (ValaCCodeExpression*) _tmp343_, (ValaCCodeExpression*) _tmp345_, (ValaCCodeExpression*) target, (ValaSymbol*) param, (ValaCCodeExpression*) _tmp347_, &_tmp348_);
 
3693
                                                may_fail = _tmp348_;
 
3694
                                                _vala_ccode_node_unref0 (_tmp347_);
3598
3695
                                                _vala_ccode_node_unref0 (_tmp345_);
3599
3696
                                                _vala_ccode_node_unref0 (_tmp343_);
3600
 
                                                _tmp346_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3601
 
                                                _tmp347_ = vala_symbol_get_name ((ValaSymbol*) param);
3602
 
                                                _tmp348_ = vala_ccode_identifier_new (_tmp347_);
3603
 
                                                _tmp349_ = _tmp348_;
3604
 
                                                _tmp350_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp349_);
3605
 
                                                _tmp351_ = _tmp350_;
3606
 
                                                _tmp352_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp351_, (ValaCCodeExpression*) target, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
3607
 
                                                _tmp353_ = _tmp352_;
3608
 
                                                vala_ccode_function_add_expression (_tmp346_, (ValaCCodeExpression*) _tmp353_);
3609
 
                                                _vala_ccode_node_unref0 (_tmp353_);
3610
 
                                                _vala_ccode_node_unref0 (_tmp351_);
3611
 
                                                _vala_ccode_node_unref0 (_tmp349_);
 
3697
                                                _tmp349_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3698
                                                _tmp350_ = vala_symbol_get_name ((ValaSymbol*) param);
 
3699
                                                _tmp351_ = vala_ccode_identifier_new (_tmp350_);
 
3700
                                                _tmp352_ = _tmp351_;
 
3701
                                                _tmp353_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp352_);
 
3702
                                                _tmp354_ = _tmp353_;
 
3703
                                                _tmp355_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp354_, (ValaCCodeExpression*) target, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
3704
                                                _tmp356_ = _tmp355_;
 
3705
                                                vala_ccode_function_add_expression (_tmp349_, (ValaCCodeExpression*) _tmp356_);
 
3706
                                                _vala_ccode_node_unref0 (_tmp356_);
 
3707
                                                _vala_ccode_node_unref0 (_tmp354_);
 
3708
                                                _vala_ccode_node_unref0 (_tmp352_);
3612
3709
                                                if (array_type != NULL) {
3613
3710
                                                        {
3614
3711
                                                                gint dim;
3615
3712
                                                                dim = 1;
3616
3713
                                                                {
3617
 
                                                                        gboolean _tmp354_;
3618
 
                                                                        _tmp354_ = TRUE;
 
3714
                                                                        gboolean _tmp357_;
 
3715
                                                                        _tmp357_ = TRUE;
3619
3716
                                                                        while (TRUE) {
3620
 
                                                                                gint _tmp355_;
3621
 
                                                                                ValaCCodeFunction* _tmp356_ = NULL;
3622
 
                                                                                const gchar* _tmp357_ = NULL;
3623
 
                                                                                gchar* _tmp358_ = NULL;
3624
 
                                                                                gchar* _tmp359_;
3625
 
                                                                                ValaCCodeIdentifier* _tmp360_ = NULL;
3626
 
                                                                                ValaCCodeIdentifier* _tmp361_;
3627
 
                                                                                ValaCCodeUnaryExpression* _tmp362_ = NULL;
3628
 
                                                                                ValaCCodeUnaryExpression* _tmp363_;
3629
 
                                                                                const gchar* _tmp364_ = NULL;
3630
 
                                                                                gchar* _tmp365_ = NULL;
3631
 
                                                                                gchar* _tmp366_;
3632
 
                                                                                ValaCCodeIdentifier* _tmp367_ = NULL;
3633
 
                                                                                ValaCCodeIdentifier* _tmp368_;
3634
 
                                                                                ValaCCodeAssignment* _tmp369_ = NULL;
3635
 
                                                                                ValaCCodeAssignment* _tmp370_;
3636
 
                                                                                if (!_tmp354_) {
 
3717
                                                                                gint _tmp358_;
 
3718
                                                                                ValaCCodeFunction* _tmp359_ = NULL;
 
3719
                                                                                const gchar* _tmp360_ = NULL;
 
3720
                                                                                gchar* _tmp361_ = NULL;
 
3721
                                                                                gchar* _tmp362_;
 
3722
                                                                                ValaCCodeIdentifier* _tmp363_ = NULL;
 
3723
                                                                                ValaCCodeIdentifier* _tmp364_;
 
3724
                                                                                ValaCCodeUnaryExpression* _tmp365_ = NULL;
 
3725
                                                                                ValaCCodeUnaryExpression* _tmp366_;
 
3726
                                                                                const gchar* _tmp367_ = NULL;
 
3727
                                                                                gchar* _tmp368_ = NULL;
 
3728
                                                                                gchar* _tmp369_;
 
3729
                                                                                ValaCCodeIdentifier* _tmp370_ = NULL;
 
3730
                                                                                ValaCCodeIdentifier* _tmp371_;
 
3731
                                                                                ValaCCodeAssignment* _tmp372_ = NULL;
 
3732
                                                                                ValaCCodeAssignment* _tmp373_;
 
3733
                                                                                if (!_tmp357_) {
3637
3734
                                                                                        dim++;
3638
3735
                                                                                }
3639
 
                                                                                _tmp354_ = FALSE;
3640
 
                                                                                _tmp355_ = vala_array_type_get_rank (array_type);
3641
 
                                                                                if (!(dim <= _tmp355_)) {
 
3736
                                                                                _tmp357_ = FALSE;
 
3737
                                                                                _tmp358_ = vala_array_type_get_rank (array_type);
 
3738
                                                                                if (!(dim <= _tmp358_)) {
3642
3739
                                                                                        break;
3643
3740
                                                                                }
3644
 
                                                                                _tmp356_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3645
 
                                                                                _tmp357_ = vala_symbol_get_name ((ValaSymbol*) param);
3646
 
                                                                                _tmp358_ = g_strdup_printf ("%s_length%d", _tmp357_, dim);
3647
 
                                                                                _tmp359_ = _tmp358_;
3648
 
                                                                                _tmp360_ = vala_ccode_identifier_new (_tmp359_);
3649
 
                                                                                _tmp361_ = _tmp360_;
3650
 
                                                                                _tmp362_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp361_);
3651
 
                                                                                _tmp363_ = _tmp362_;
3652
 
                                                                                _tmp364_ = vala_symbol_get_name ((ValaSymbol*) param);
3653
 
                                                                                _tmp365_ = g_strdup_printf ("_%s_length%d", _tmp364_, dim);
 
3741
                                                                                _tmp359_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3742
                                                                                _tmp360_ = vala_symbol_get_name ((ValaSymbol*) param);
 
3743
                                                                                _tmp361_ = g_strdup_printf ("%s_length%d", _tmp360_, dim);
 
3744
                                                                                _tmp362_ = _tmp361_;
 
3745
                                                                                _tmp363_ = vala_ccode_identifier_new (_tmp362_);
 
3746
                                                                                _tmp364_ = _tmp363_;
 
3747
                                                                                _tmp365_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp364_);
3654
3748
                                                                                _tmp366_ = _tmp365_;
3655
 
                                                                                _tmp367_ = vala_ccode_identifier_new (_tmp366_);
3656
 
                                                                                _tmp368_ = _tmp367_;
3657
 
                                                                                _tmp369_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp363_, (ValaCCodeExpression*) _tmp368_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
3658
 
                                                                                _tmp370_ = _tmp369_;
3659
 
                                                                                vala_ccode_function_add_expression (_tmp356_, (ValaCCodeExpression*) _tmp370_);
3660
 
                                                                                _vala_ccode_node_unref0 (_tmp370_);
3661
 
                                                                                _vala_ccode_node_unref0 (_tmp368_);
3662
 
                                                                                _g_free0 (_tmp366_);
3663
 
                                                                                _vala_ccode_node_unref0 (_tmp363_);
3664
 
                                                                                _vala_ccode_node_unref0 (_tmp361_);
3665
 
                                                                                _g_free0 (_tmp359_);
 
3749
                                                                                _tmp367_ = vala_symbol_get_name ((ValaSymbol*) param);
 
3750
                                                                                _tmp368_ = g_strdup_printf ("_%s_length%d", _tmp367_, dim);
 
3751
                                                                                _tmp369_ = _tmp368_;
 
3752
                                                                                _tmp370_ = vala_ccode_identifier_new (_tmp369_);
 
3753
                                                                                _tmp371_ = _tmp370_;
 
3754
                                                                                _tmp372_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp366_, (ValaCCodeExpression*) _tmp371_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
3755
                                                                                _tmp373_ = _tmp372_;
 
3756
                                                                                vala_ccode_function_add_expression (_tmp359_, (ValaCCodeExpression*) _tmp373_);
 
3757
                                                                                _vala_ccode_node_unref0 (_tmp373_);
 
3758
                                                                                _vala_ccode_node_unref0 (_tmp371_);
 
3759
                                                                                _g_free0 (_tmp369_);
 
3760
                                                                                _vala_ccode_node_unref0 (_tmp366_);
 
3761
                                                                                _vala_ccode_node_unref0 (_tmp364_);
 
3762
                                                                                _g_free0 (_tmp362_);
3666
3763
                                                                        }
3667
3764
                                                                }
3668
3765
                                                        }
3669
3766
                                                }
 
3767
                                                if (may_fail) {
 
3768
                                                        ValaCCodeFunction* _tmp374_ = NULL;
 
3769
                                                        ValaCCodeIdentifier* _tmp375_ = NULL;
 
3770
                                                        ValaCCodeIdentifier* _tmp376_;
 
3771
                                                        ValaCCodeIdentifier* _tmp377_ = NULL;
 
3772
                                                        ValaCCodeIdentifier* _tmp378_;
 
3773
                                                        ValaCCodeUnaryExpression* _tmp379_ = NULL;
 
3774
                                                        ValaCCodeUnaryExpression* _tmp380_;
 
3775
                                                        ValaCCodeBinaryExpression* _tmp381_ = NULL;
 
3776
                                                        ValaCCodeBinaryExpression* _tmp382_;
 
3777
                                                        ValaCCodeFunction* _tmp383_ = NULL;
 
3778
                                                        ValaDataType* _tmp384_ = NULL;
 
3779
                                                        ValaCCodeFunction* _tmp385_ = NULL;
 
3780
                                                        _tmp374_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3781
                                                        _tmp375_ = vala_ccode_identifier_new ("error");
 
3782
                                                        _tmp376_ = _tmp375_;
 
3783
                                                        _tmp377_ = vala_ccode_identifier_new ("error");
 
3784
                                                        _tmp378_ = _tmp377_;
 
3785
                                                        _tmp379_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp378_);
 
3786
                                                        _tmp380_ = _tmp379_;
 
3787
                                                        _tmp381_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_AND, (ValaCCodeExpression*) _tmp376_, (ValaCCodeExpression*) _tmp380_);
 
3788
                                                        _tmp382_ = _tmp381_;
 
3789
                                                        vala_ccode_function_open_if (_tmp374_, (ValaCCodeExpression*) _tmp382_);
 
3790
                                                        _vala_ccode_node_unref0 (_tmp382_);
 
3791
                                                        _vala_ccode_node_unref0 (_tmp380_);
 
3792
                                                        _vala_ccode_node_unref0 (_tmp378_);
 
3793
                                                        _vala_ccode_node_unref0 (_tmp376_);
 
3794
                                                        _tmp383_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3795
                                                        vala_ccode_function_add_expression (_tmp383_, (ValaCCodeExpression*) unref_reply);
 
3796
                                                        _tmp384_ = vala_method_get_return_type (m);
 
3797
                                                        vala_ccode_base_module_return_default_value ((ValaCCodeBaseModule*) self, _tmp384_);
 
3798
                                                        _tmp385_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3799
                                                        vala_ccode_function_close (_tmp385_);
 
3800
                                                }
3670
3801
                                                _vala_ccode_node_unref0 (target);
3671
3802
                                                _vala_code_node_unref0 (array_type);
3672
3803
                                        }
3674
3805
                                }
3675
3806
                                _vala_iterable_unref0 (_param_list);
3676
3807
                        }
3677
 
                        _tmp371_ = vala_method_get_return_type (m);
3678
 
                        if (!VALA_IS_VOID_TYPE (_tmp371_)) {
3679
 
                                ValaDataType* _tmp372_ = NULL;
3680
 
                                gboolean _tmp373_;
3681
 
                                _tmp372_ = vala_method_get_return_type (m);
3682
 
                                _tmp373_ = vala_data_type_is_real_non_null_struct_type (_tmp372_);
3683
 
                                if (_tmp373_) {
3684
 
                                        ValaCCodeIdentifier* _tmp374_ = NULL;
3685
 
                                        ValaCCodeIdentifier* _tmp375_;
3686
 
                                        ValaCCodeUnaryExpression* _tmp376_ = NULL;
3687
 
                                        ValaCCodeUnaryExpression* _tmp377_;
 
3808
                        _tmp386_ = vala_method_get_return_type (m);
 
3809
                        if (!VALA_IS_VOID_TYPE (_tmp386_)) {
 
3810
                                ValaDataType* _tmp387_ = NULL;
 
3811
                                gboolean _tmp388_;
 
3812
                                _tmp387_ = vala_method_get_return_type (m);
 
3813
                                _tmp388_ = vala_data_type_is_real_non_null_struct_type (_tmp387_);
 
3814
                                if (_tmp388_) {
 
3815
                                        ValaCCodeIdentifier* _tmp389_ = NULL;
 
3816
                                        ValaCCodeIdentifier* _tmp390_;
 
3817
                                        ValaCCodeUnaryExpression* _tmp391_ = NULL;
 
3818
                                        ValaCCodeUnaryExpression* _tmp392_;
3688
3819
                                        ValaCCodeUnaryExpression* target;
3689
 
                                        ValaDataType* _tmp378_ = NULL;
3690
 
                                        ValaCCodeIdentifier* _tmp379_ = NULL;
3691
 
                                        ValaCCodeIdentifier* _tmp380_;
3692
 
                                        ValaCCodeIdentifier* _tmp381_ = NULL;
3693
 
                                        ValaCCodeIdentifier* _tmp382_;
3694
 
                                        _tmp374_ = vala_ccode_identifier_new ("result");
3695
 
                                        _tmp375_ = _tmp374_;
3696
 
                                        _tmp376_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp375_);
3697
 
                                        target = (_tmp377_ = _tmp376_, _vala_ccode_node_unref0 (_tmp375_), _tmp377_);
3698
 
                                        _tmp378_ = vala_method_get_return_type (m);
3699
 
                                        _tmp379_ = vala_ccode_identifier_new ("_reply_message");
3700
 
                                        _tmp380_ = _tmp379_;
3701
 
                                        _tmp381_ = vala_ccode_identifier_new ("_reply_iter");
3702
 
                                        _tmp382_ = _tmp381_;
3703
 
                                        vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp378_, (ValaCCodeExpression*) _tmp380_, (ValaCCodeExpression*) _tmp382_, (ValaCCodeExpression*) target, (ValaSymbol*) m);
3704
 
                                        _vala_ccode_node_unref0 (_tmp382_);
3705
 
                                        _vala_ccode_node_unref0 (_tmp380_);
 
3820
                                        ValaDataType* _tmp393_ = NULL;
 
3821
                                        ValaCCodeIdentifier* _tmp394_ = NULL;
 
3822
                                        ValaCCodeIdentifier* _tmp395_;
 
3823
                                        ValaCCodeIdentifier* _tmp396_ = NULL;
 
3824
                                        ValaCCodeIdentifier* _tmp397_;
 
3825
                                        _tmp389_ = vala_ccode_identifier_new ("result");
 
3826
                                        _tmp390_ = _tmp389_;
 
3827
                                        _tmp391_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp390_);
 
3828
                                        target = (_tmp392_ = _tmp391_, _vala_ccode_node_unref0 (_tmp390_), _tmp392_);
 
3829
                                        _tmp393_ = vala_method_get_return_type (m);
 
3830
                                        _tmp394_ = vala_ccode_identifier_new ("_reply_message");
 
3831
                                        _tmp395_ = _tmp394_;
 
3832
                                        _tmp396_ = vala_ccode_identifier_new ("_reply_iter");
 
3833
                                        _tmp397_ = _tmp396_;
 
3834
                                        vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp393_, (ValaCCodeExpression*) _tmp395_, (ValaCCodeExpression*) _tmp397_, (ValaCCodeExpression*) target, (ValaSymbol*) m, NULL, NULL);
 
3835
                                        _vala_ccode_node_unref0 (_tmp397_);
 
3836
                                        _vala_ccode_node_unref0 (_tmp395_);
3706
3837
                                        _vala_ccode_node_unref0 (target);
3707
3838
                                } else {
3708
 
                                        ValaCCodeFunction* _tmp383_ = NULL;
3709
 
                                        ValaDataType* _tmp384_ = NULL;
3710
 
                                        gchar* _tmp385_ = NULL;
3711
 
                                        gchar* _tmp386_;
3712
 
                                        ValaCCodeVariableDeclarator* _tmp387_ = NULL;
3713
 
                                        ValaCCodeVariableDeclarator* _tmp388_;
3714
 
                                        ValaDataType* _tmp389_ = NULL;
3715
 
                                        ValaDataType* _tmp390_;
3716
 
                                        ValaArrayType* _tmp391_;
 
3839
                                        ValaCCodeFunction* _tmp398_ = NULL;
 
3840
                                        ValaDataType* _tmp399_ = NULL;
 
3841
                                        gchar* _tmp400_ = NULL;
 
3842
                                        gchar* _tmp401_;
 
3843
                                        ValaCCodeVariableDeclarator* _tmp402_ = NULL;
 
3844
                                        ValaCCodeVariableDeclarator* _tmp403_;
 
3845
                                        ValaDataType* _tmp404_ = NULL;
 
3846
                                        ValaDataType* _tmp405_;
 
3847
                                        ValaArrayType* _tmp406_;
3717
3848
                                        ValaArrayType* array_type;
3718
 
                                        ValaDataType* _tmp401_ = NULL;
3719
 
                                        ValaCCodeIdentifier* _tmp402_ = NULL;
3720
 
                                        ValaCCodeIdentifier* _tmp403_;
3721
 
                                        ValaCCodeIdentifier* _tmp404_ = NULL;
3722
 
                                        ValaCCodeIdentifier* _tmp405_;
3723
 
                                        ValaCCodeIdentifier* _tmp406_ = NULL;
3724
 
                                        ValaCCodeIdentifier* _tmp407_;
3725
 
                                        _tmp383_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3726
 
                                        _tmp384_ = vala_method_get_return_type (m);
3727
 
                                        _tmp385_ = vala_data_type_get_cname (_tmp384_);
3728
 
                                        _tmp386_ = _tmp385_;
3729
 
                                        _tmp387_ = vala_ccode_variable_declarator_new ("_result", NULL, NULL);
3730
 
                                        _tmp388_ = _tmp387_;
3731
 
                                        vala_ccode_function_add_declaration (_tmp383_, _tmp386_, (ValaCCodeDeclarator*) _tmp388_, 0);
3732
 
                                        _vala_ccode_node_unref0 (_tmp388_);
3733
 
                                        _g_free0 (_tmp386_);
3734
 
                                        _tmp389_ = vala_method_get_return_type (m);
3735
 
                                        _tmp391_ = _vala_code_node_ref0 ((_tmp390_ = _tmp389_, VALA_IS_ARRAY_TYPE (_tmp390_) ? ((ValaArrayType*) _tmp390_) : NULL));
3736
 
                                        array_type = _tmp391_;
3737
 
                                        if (array_type != NULL) {
3738
 
                                                {
3739
 
                                                        gint dim;
3740
 
                                                        dim = 1;
3741
 
                                                        {
3742
 
                                                                gboolean _tmp392_;
3743
 
                                                                _tmp392_ = TRUE;
3744
 
                                                                while (TRUE) {
3745
 
                                                                        gint _tmp393_;
3746
 
                                                                        ValaCCodeFunction* _tmp394_ = NULL;
3747
 
                                                                        gchar* _tmp395_ = NULL;
3748
 
                                                                        gchar* _tmp396_;
3749
 
                                                                        ValaCCodeConstant* _tmp397_ = NULL;
3750
 
                                                                        ValaCCodeConstant* _tmp398_;
3751
 
                                                                        ValaCCodeVariableDeclarator* _tmp399_ = NULL;
3752
 
                                                                        ValaCCodeVariableDeclarator* _tmp400_;
3753
 
                                                                        if (!_tmp392_) {
3754
 
                                                                                dim++;
3755
 
                                                                        }
3756
 
                                                                        _tmp392_ = FALSE;
3757
 
                                                                        _tmp393_ = vala_array_type_get_rank (array_type);
3758
 
                                                                        if (!(dim <= _tmp393_)) {
3759
 
                                                                                break;
3760
 
                                                                        }
3761
 
                                                                        _tmp394_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3762
 
                                                                        _tmp395_ = g_strdup_printf ("_result_length%d", dim);
3763
 
                                                                        _tmp396_ = _tmp395_;
3764
 
                                                                        _tmp397_ = vala_ccode_constant_new ("0");
3765
 
                                                                        _tmp398_ = _tmp397_;
3766
 
                                                                        _tmp399_ = vala_ccode_variable_declarator_new (_tmp396_, (ValaCCodeExpression*) _tmp398_, NULL);
3767
 
                                                                        _tmp400_ = _tmp399_;
3768
 
                                                                        vala_ccode_function_add_declaration (_tmp394_, "int", (ValaCCodeDeclarator*) _tmp400_, 0);
3769
 
                                                                        _vala_ccode_node_unref0 (_tmp400_);
3770
 
                                                                        _vala_ccode_node_unref0 (_tmp398_);
3771
 
                                                                        _g_free0 (_tmp396_);
3772
 
                                                                }
3773
 
                                                        }
3774
 
                                                }
3775
 
                                        }
3776
 
                                        _tmp401_ = vala_method_get_return_type (m);
3777
 
                                        _tmp402_ = vala_ccode_identifier_new ("_reply_message");
 
3849
                                        gboolean may_fail = FALSE;
 
3850
                                        ValaDataType* _tmp416_ = NULL;
 
3851
                                        ValaCCodeIdentifier* _tmp417_ = NULL;
 
3852
                                        ValaCCodeIdentifier* _tmp418_;
 
3853
                                        ValaCCodeIdentifier* _tmp419_ = NULL;
 
3854
                                        ValaCCodeIdentifier* _tmp420_;
 
3855
                                        ValaCCodeIdentifier* _tmp421_ = NULL;
 
3856
                                        ValaCCodeIdentifier* _tmp422_;
 
3857
                                        ValaCCodeIdentifier* _tmp423_ = NULL;
 
3858
                                        ValaCCodeIdentifier* _tmp424_;
 
3859
                                        gboolean _tmp425_;
 
3860
                                        _tmp398_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3861
                                        _tmp399_ = vala_method_get_return_type (m);
 
3862
                                        _tmp400_ = vala_data_type_get_cname (_tmp399_);
 
3863
                                        _tmp401_ = _tmp400_;
 
3864
                                        _tmp402_ = vala_ccode_variable_declarator_new ("_result", NULL, NULL);
3778
3865
                                        _tmp403_ = _tmp402_;
3779
 
                                        _tmp404_ = vala_ccode_identifier_new ("_reply_iter");
3780
 
                                        _tmp405_ = _tmp404_;
3781
 
                                        _tmp406_ = vala_ccode_identifier_new ("_result");
3782
 
                                        _tmp407_ = _tmp406_;
3783
 
                                        vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp401_, (ValaCCodeExpression*) _tmp403_, (ValaCCodeExpression*) _tmp405_, (ValaCCodeExpression*) _tmp407_, (ValaSymbol*) m);
3784
 
                                        _vala_ccode_node_unref0 (_tmp407_);
3785
 
                                        _vala_ccode_node_unref0 (_tmp405_);
 
3866
                                        vala_ccode_function_add_declaration (_tmp398_, _tmp401_, (ValaCCodeDeclarator*) _tmp403_, 0);
3786
3867
                                        _vala_ccode_node_unref0 (_tmp403_);
3787
 
                                        if (array_type != NULL) {
3788
 
                                                {
3789
 
                                                        gint dim;
3790
 
                                                        dim = 1;
3791
 
                                                        {
3792
 
                                                                gboolean _tmp408_;
3793
 
                                                                _tmp408_ = TRUE;
3794
 
                                                                while (TRUE) {
3795
 
                                                                        gint _tmp409_;
3796
 
                                                                        ValaCCodeFunction* _tmp410_ = NULL;
3797
 
                                                                        gchar* _tmp411_ = NULL;
3798
 
                                                                        gchar* _tmp412_;
3799
 
                                                                        ValaCCodeIdentifier* _tmp413_ = NULL;
3800
 
                                                                        ValaCCodeIdentifier* _tmp414_;
3801
 
                                                                        ValaCCodeUnaryExpression* _tmp415_ = NULL;
3802
 
                                                                        ValaCCodeUnaryExpression* _tmp416_;
3803
 
                                                                        gchar* _tmp417_ = NULL;
3804
 
                                                                        gchar* _tmp418_;
3805
 
                                                                        ValaCCodeIdentifier* _tmp419_ = NULL;
3806
 
                                                                        ValaCCodeIdentifier* _tmp420_;
3807
 
                                                                        ValaCCodeAssignment* _tmp421_ = NULL;
3808
 
                                                                        ValaCCodeAssignment* _tmp422_;
3809
 
                                                                        if (!_tmp408_) {
3810
 
                                                                                dim++;
3811
 
                                                                        }
3812
 
                                                                        _tmp408_ = FALSE;
3813
 
                                                                        _tmp409_ = vala_array_type_get_rank (array_type);
3814
 
                                                                        if (!(dim <= _tmp409_)) {
3815
 
                                                                                break;
3816
 
                                                                        }
3817
 
                                                                        _tmp410_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3818
 
                                                                        _tmp411_ = g_strdup_printf ("result_length%d", dim);
3819
 
                                                                        _tmp412_ = _tmp411_;
3820
 
                                                                        _tmp413_ = vala_ccode_identifier_new (_tmp412_);
3821
 
                                                                        _tmp414_ = _tmp413_;
3822
 
                                                                        _tmp415_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp414_);
3823
 
                                                                        _tmp416_ = _tmp415_;
3824
 
                                                                        _tmp417_ = g_strdup_printf ("_result_length%d", dim);
3825
 
                                                                        _tmp418_ = _tmp417_;
3826
 
                                                                        _tmp419_ = vala_ccode_identifier_new (_tmp418_);
3827
 
                                                                        _tmp420_ = _tmp419_;
3828
 
                                                                        _tmp421_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp416_, (ValaCCodeExpression*) _tmp420_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
3829
 
                                                                        _tmp422_ = _tmp421_;
3830
 
                                                                        vala_ccode_function_add_expression (_tmp410_, (ValaCCodeExpression*) _tmp422_);
3831
 
                                                                        _vala_ccode_node_unref0 (_tmp422_);
3832
 
                                                                        _vala_ccode_node_unref0 (_tmp420_);
3833
 
                                                                        _g_free0 (_tmp418_);
3834
 
                                                                        _vala_ccode_node_unref0 (_tmp416_);
3835
 
                                                                        _vala_ccode_node_unref0 (_tmp414_);
3836
 
                                                                        _g_free0 (_tmp412_);
3837
 
                                                                }
3838
 
                                                        }
3839
 
                                                }
 
3868
                                        _g_free0 (_tmp401_);
 
3869
                                        _tmp404_ = vala_method_get_return_type (m);
 
3870
                                        _tmp406_ = _vala_code_node_ref0 ((_tmp405_ = _tmp404_, VALA_IS_ARRAY_TYPE (_tmp405_) ? ((ValaArrayType*) _tmp405_) : NULL));
 
3871
                                        array_type = _tmp406_;
 
3872
                                        if (array_type != NULL) {
 
3873
                                                {
 
3874
                                                        gint dim;
 
3875
                                                        dim = 1;
 
3876
                                                        {
 
3877
                                                                gboolean _tmp407_;
 
3878
                                                                _tmp407_ = TRUE;
 
3879
                                                                while (TRUE) {
 
3880
                                                                        gint _tmp408_;
 
3881
                                                                        ValaCCodeFunction* _tmp409_ = NULL;
 
3882
                                                                        gchar* _tmp410_ = NULL;
 
3883
                                                                        gchar* _tmp411_;
 
3884
                                                                        ValaCCodeConstant* _tmp412_ = NULL;
 
3885
                                                                        ValaCCodeConstant* _tmp413_;
 
3886
                                                                        ValaCCodeVariableDeclarator* _tmp414_ = NULL;
 
3887
                                                                        ValaCCodeVariableDeclarator* _tmp415_;
 
3888
                                                                        if (!_tmp407_) {
 
3889
                                                                                dim++;
 
3890
                                                                        }
 
3891
                                                                        _tmp407_ = FALSE;
 
3892
                                                                        _tmp408_ = vala_array_type_get_rank (array_type);
 
3893
                                                                        if (!(dim <= _tmp408_)) {
 
3894
                                                                                break;
 
3895
                                                                        }
 
3896
                                                                        _tmp409_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3897
                                                                        _tmp410_ = g_strdup_printf ("_result_length%d", dim);
 
3898
                                                                        _tmp411_ = _tmp410_;
 
3899
                                                                        _tmp412_ = vala_ccode_constant_new ("0");
 
3900
                                                                        _tmp413_ = _tmp412_;
 
3901
                                                                        _tmp414_ = vala_ccode_variable_declarator_new (_tmp411_, (ValaCCodeExpression*) _tmp413_, NULL);
 
3902
                                                                        _tmp415_ = _tmp414_;
 
3903
                                                                        vala_ccode_function_add_declaration (_tmp409_, "int", (ValaCCodeDeclarator*) _tmp415_, 0);
 
3904
                                                                        _vala_ccode_node_unref0 (_tmp415_);
 
3905
                                                                        _vala_ccode_node_unref0 (_tmp413_);
 
3906
                                                                        _g_free0 (_tmp411_);
 
3907
                                                                }
 
3908
                                                        }
 
3909
                                                }
 
3910
                                        }
 
3911
                                        _tmp416_ = vala_method_get_return_type (m);
 
3912
                                        _tmp417_ = vala_ccode_identifier_new ("_reply_message");
 
3913
                                        _tmp418_ = _tmp417_;
 
3914
                                        _tmp419_ = vala_ccode_identifier_new ("_reply_iter");
 
3915
                                        _tmp420_ = _tmp419_;
 
3916
                                        _tmp421_ = vala_ccode_identifier_new ("_result");
 
3917
                                        _tmp422_ = _tmp421_;
 
3918
                                        _tmp423_ = vala_ccode_identifier_new ("error");
 
3919
                                        _tmp424_ = _tmp423_;
 
3920
                                        vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp416_, (ValaCCodeExpression*) _tmp418_, (ValaCCodeExpression*) _tmp420_, (ValaCCodeExpression*) _tmp422_, (ValaSymbol*) m, (ValaCCodeExpression*) _tmp424_, &_tmp425_);
 
3921
                                        may_fail = _tmp425_;
 
3922
                                        _vala_ccode_node_unref0 (_tmp424_);
 
3923
                                        _vala_ccode_node_unref0 (_tmp422_);
 
3924
                                        _vala_ccode_node_unref0 (_tmp420_);
 
3925
                                        _vala_ccode_node_unref0 (_tmp418_);
 
3926
                                        if (array_type != NULL) {
 
3927
                                                {
 
3928
                                                        gint dim;
 
3929
                                                        dim = 1;
 
3930
                                                        {
 
3931
                                                                gboolean _tmp426_;
 
3932
                                                                _tmp426_ = TRUE;
 
3933
                                                                while (TRUE) {
 
3934
                                                                        gint _tmp427_;
 
3935
                                                                        ValaCCodeFunction* _tmp428_ = NULL;
 
3936
                                                                        gchar* _tmp429_ = NULL;
 
3937
                                                                        gchar* _tmp430_;
 
3938
                                                                        ValaCCodeIdentifier* _tmp431_ = NULL;
 
3939
                                                                        ValaCCodeIdentifier* _tmp432_;
 
3940
                                                                        ValaCCodeUnaryExpression* _tmp433_ = NULL;
 
3941
                                                                        ValaCCodeUnaryExpression* _tmp434_;
 
3942
                                                                        gchar* _tmp435_ = NULL;
 
3943
                                                                        gchar* _tmp436_;
 
3944
                                                                        ValaCCodeIdentifier* _tmp437_ = NULL;
 
3945
                                                                        ValaCCodeIdentifier* _tmp438_;
 
3946
                                                                        ValaCCodeAssignment* _tmp439_ = NULL;
 
3947
                                                                        ValaCCodeAssignment* _tmp440_;
 
3948
                                                                        if (!_tmp426_) {
 
3949
                                                                                dim++;
 
3950
                                                                        }
 
3951
                                                                        _tmp426_ = FALSE;
 
3952
                                                                        _tmp427_ = vala_array_type_get_rank (array_type);
 
3953
                                                                        if (!(dim <= _tmp427_)) {
 
3954
                                                                                break;
 
3955
                                                                        }
 
3956
                                                                        _tmp428_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3957
                                                                        _tmp429_ = g_strdup_printf ("result_length%d", dim);
 
3958
                                                                        _tmp430_ = _tmp429_;
 
3959
                                                                        _tmp431_ = vala_ccode_identifier_new (_tmp430_);
 
3960
                                                                        _tmp432_ = _tmp431_;
 
3961
                                                                        _tmp433_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp432_);
 
3962
                                                                        _tmp434_ = _tmp433_;
 
3963
                                                                        _tmp435_ = g_strdup_printf ("_result_length%d", dim);
 
3964
                                                                        _tmp436_ = _tmp435_;
 
3965
                                                                        _tmp437_ = vala_ccode_identifier_new (_tmp436_);
 
3966
                                                                        _tmp438_ = _tmp437_;
 
3967
                                                                        _tmp439_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp434_, (ValaCCodeExpression*) _tmp438_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
3968
                                                                        _tmp440_ = _tmp439_;
 
3969
                                                                        vala_ccode_function_add_expression (_tmp428_, (ValaCCodeExpression*) _tmp440_);
 
3970
                                                                        _vala_ccode_node_unref0 (_tmp440_);
 
3971
                                                                        _vala_ccode_node_unref0 (_tmp438_);
 
3972
                                                                        _g_free0 (_tmp436_);
 
3973
                                                                        _vala_ccode_node_unref0 (_tmp434_);
 
3974
                                                                        _vala_ccode_node_unref0 (_tmp432_);
 
3975
                                                                        _g_free0 (_tmp430_);
 
3976
                                                                }
 
3977
                                                        }
 
3978
                                                }
 
3979
                                        }
 
3980
                                        if (may_fail) {
 
3981
                                                ValaCCodeFunction* _tmp441_ = NULL;
 
3982
                                                ValaCCodeIdentifier* _tmp442_ = NULL;
 
3983
                                                ValaCCodeIdentifier* _tmp443_;
 
3984
                                                ValaCCodeIdentifier* _tmp444_ = NULL;
 
3985
                                                ValaCCodeIdentifier* _tmp445_;
 
3986
                                                ValaCCodeUnaryExpression* _tmp446_ = NULL;
 
3987
                                                ValaCCodeUnaryExpression* _tmp447_;
 
3988
                                                ValaCCodeBinaryExpression* _tmp448_ = NULL;
 
3989
                                                ValaCCodeBinaryExpression* _tmp449_;
 
3990
                                                ValaCCodeFunction* _tmp450_ = NULL;
 
3991
                                                ValaDataType* _tmp451_ = NULL;
 
3992
                                                ValaCCodeFunction* _tmp452_ = NULL;
 
3993
                                                _tmp441_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3994
                                                _tmp442_ = vala_ccode_identifier_new ("error");
 
3995
                                                _tmp443_ = _tmp442_;
 
3996
                                                _tmp444_ = vala_ccode_identifier_new ("error");
 
3997
                                                _tmp445_ = _tmp444_;
 
3998
                                                _tmp446_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp445_);
 
3999
                                                _tmp447_ = _tmp446_;
 
4000
                                                _tmp448_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_AND, (ValaCCodeExpression*) _tmp443_, (ValaCCodeExpression*) _tmp447_);
 
4001
                                                _tmp449_ = _tmp448_;
 
4002
                                                vala_ccode_function_open_if (_tmp441_, (ValaCCodeExpression*) _tmp449_);
 
4003
                                                _vala_ccode_node_unref0 (_tmp449_);
 
4004
                                                _vala_ccode_node_unref0 (_tmp447_);
 
4005
                                                _vala_ccode_node_unref0 (_tmp445_);
 
4006
                                                _vala_ccode_node_unref0 (_tmp443_);
 
4007
                                                _tmp450_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
4008
                                                vala_ccode_function_add_expression (_tmp450_, (ValaCCodeExpression*) unref_reply);
 
4009
                                                _tmp451_ = vala_method_get_return_type (m);
 
4010
                                                vala_ccode_base_module_return_default_value ((ValaCCodeBaseModule*) self, _tmp451_);
 
4011
                                                _tmp452_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
4012
                                                vala_ccode_function_close (_tmp452_);
3840
4013
                                        }
3841
4014
                                        _vala_code_node_unref0 (array_type);
3842
4015
                                }
3843
4016
                        }
3844
4017
                        _vala_ccode_node_unref0 (iter_init);
3845
4018
                }
3846
 
                _tmp423_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3847
 
                vala_ccode_function_add_expression (_tmp423_, (ValaCCodeExpression*) unref_reply);
3848
 
                _tmp425_ = vala_method_get_return_type (m);
3849
 
                if (VALA_IS_VOID_TYPE (_tmp425_)) {
3850
 
                        _tmp424_ = TRUE;
 
4019
                _tmp453_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
4020
                vala_ccode_function_add_expression (_tmp453_, (ValaCCodeExpression*) unref_reply);
 
4021
                _tmp455_ = vala_method_get_return_type (m);
 
4022
                if (VALA_IS_VOID_TYPE (_tmp455_)) {
 
4023
                        _tmp454_ = TRUE;
3851
4024
                } else {
3852
 
                        ValaDataType* _tmp426_ = NULL;
3853
 
                        gboolean _tmp427_;
3854
 
                        _tmp426_ = vala_method_get_return_type (m);
3855
 
                        _tmp427_ = vala_data_type_is_real_non_null_struct_type (_tmp426_);
3856
 
                        _tmp424_ = _tmp427_;
 
4025
                        ValaDataType* _tmp456_ = NULL;
 
4026
                        gboolean _tmp457_;
 
4027
                        _tmp456_ = vala_method_get_return_type (m);
 
4028
                        _tmp457_ = vala_data_type_is_real_non_null_struct_type (_tmp456_);
 
4029
                        _tmp454_ = _tmp457_;
3857
4030
                }
3858
 
                if (!_tmp424_) {
3859
 
                        ValaCCodeFunction* _tmp428_ = NULL;
3860
 
                        ValaCCodeIdentifier* _tmp429_ = NULL;
3861
 
                        ValaCCodeIdentifier* _tmp430_;
3862
 
                        _tmp428_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3863
 
                        _tmp429_ = vala_ccode_identifier_new ("_result");
3864
 
                        _tmp430_ = _tmp429_;
3865
 
                        vala_ccode_function_add_return (_tmp428_, (ValaCCodeExpression*) _tmp430_);
3866
 
                        _vala_ccode_node_unref0 (_tmp430_);
 
4031
                if (!_tmp454_) {
 
4032
                        ValaCCodeFunction* _tmp458_ = NULL;
 
4033
                        ValaCCodeIdentifier* _tmp459_ = NULL;
 
4034
                        ValaCCodeIdentifier* _tmp460_;
 
4035
                        _tmp458_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
4036
                        _tmp459_ = vala_ccode_identifier_new ("_result");
 
4037
                        _tmp460_ = _tmp459_;
 
4038
                        vala_ccode_function_add_return (_tmp458_, (ValaCCodeExpression*) _tmp460_);
 
4039
                        _vala_ccode_node_unref0 (_tmp460_);
3867
4040
                }
3868
4041
                _vala_ccode_node_unref0 (ccall);
3869
4042
                _vala_ccode_node_unref0 (reply_is_null);
4574
4747
                _tmp182_ = vala_property_accessor_get_value_type (_tmp181_);
4575
4748
                _tmp183_ = vala_ccode_identifier_new ("_inner_reply");
4576
4749
                _tmp184_ = _tmp183_;
4577
 
                _tmp185_ = vala_ccode_base_module_deserialize_expression ((ValaCCodeBaseModule*) self, _tmp182_, (ValaCCodeExpression*) _tmp184_, (ValaCCodeExpression*) target);
 
4750
                _tmp185_ = vala_ccode_base_module_deserialize_expression ((ValaCCodeBaseModule*) self, _tmp182_, (ValaCCodeExpression*) _tmp184_, (ValaCCodeExpression*) target, NULL, NULL);
4578
4751
                _result_ = (_tmp186_ = _tmp185_, _vala_ccode_node_unref0 (_tmp184_), _tmp186_);
4579
4752
                _tmp187_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4580
4753
                _tmp188_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, _result_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
4660
4833
                _tmp209_ = _tmp208_;
4661
4834
                _tmp210_ = vala_ccode_identifier_new ("_result");
4662
4835
                _tmp211_ = _tmp210_;
4663
 
                _tmp212_ = vala_ccode_base_module_deserialize_expression ((ValaCCodeBaseModule*) self, _tmp207_, (ValaCCodeExpression*) _tmp209_, (ValaCCodeExpression*) _tmp211_);
 
4836
                _tmp212_ = vala_ccode_base_module_deserialize_expression ((ValaCCodeBaseModule*) self, _tmp207_, (ValaCCodeExpression*) _tmp209_, (ValaCCodeExpression*) _tmp211_, NULL, NULL);
4664
4837
                _result_ = (_tmp213_ = _tmp212_, _vala_ccode_node_unref0 (_tmp211_), _vala_ccode_node_unref0 (_tmp209_), _tmp213_);
4665
4838
                _tmp214_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4666
4839
                _tmp215_ = vala_ccode_identifier_new ("_result");
5238
5411
}
5239
5412
 
5240
5413
 
 
5414
static void vala_gd_bus_client_module_real_register_dbus_info (ValaCCodeBaseModule* base, ValaCCodeBlock* block, ValaObjectTypeSymbol* sym) {
 
5415
        ValaGDBusClientModule * self;
 
5416
        gchar* _tmp0_ = NULL;
 
5417
        gchar* dbus_iface_name;
 
5418
        ValaCCodeIdentifier* _tmp1_ = NULL;
 
5419
        ValaCCodeIdentifier* _tmp2_;
 
5420
        ValaCCodeFunctionCall* _tmp3_ = NULL;
 
5421
        ValaCCodeFunctionCall* _tmp4_;
 
5422
        ValaCCodeFunctionCall* quark;
 
5423
        ValaCCodeConstant* _tmp5_ = NULL;
 
5424
        ValaCCodeConstant* _tmp6_;
 
5425
        gchar* _tmp7_ = NULL;
 
5426
        gchar* _tmp8_;
 
5427
        gchar* _tmp9_;
 
5428
        ValaCCodeIdentifier* _tmp10_ = NULL;
 
5429
        ValaCCodeIdentifier* _tmp11_;
 
5430
        ValaCCodeIdentifier* proxy_type;
 
5431
        ValaCCodeIdentifier* _tmp12_ = NULL;
 
5432
        ValaCCodeIdentifier* _tmp13_;
 
5433
        ValaCCodeFunctionCall* _tmp14_ = NULL;
 
5434
        ValaCCodeFunctionCall* _tmp15_;
 
5435
        ValaCCodeFunctionCall* set_qdata;
 
5436
        gchar* _tmp16_ = NULL;
 
5437
        gchar* _tmp17_;
 
5438
        gchar* _tmp18_ = NULL;
 
5439
        gchar* _tmp19_;
 
5440
        ValaCCodeIdentifier* _tmp20_ = NULL;
 
5441
        ValaCCodeIdentifier* _tmp21_;
 
5442
        ValaCCodeCastExpression* _tmp22_ = NULL;
 
5443
        ValaCCodeCastExpression* _tmp23_;
 
5444
        ValaCCodeExpressionStatement* _tmp24_ = NULL;
 
5445
        ValaCCodeExpressionStatement* _tmp25_;
 
5446
        ValaCCodeIdentifier* _tmp26_ = NULL;
 
5447
        ValaCCodeIdentifier* _tmp27_;
 
5448
        ValaCCodeFunctionCall* _tmp28_ = NULL;
 
5449
        ValaCCodeFunctionCall* _tmp29_;
 
5450
        ValaCCodeConstant* _tmp30_ = NULL;
 
5451
        ValaCCodeConstant* _tmp31_;
 
5452
        ValaCCodeIdentifier* _tmp32_ = NULL;
 
5453
        ValaCCodeIdentifier* _tmp33_;
 
5454
        ValaCCodeFunctionCall* _tmp34_ = NULL;
 
5455
        ValaCCodeFunctionCall* _tmp35_;
 
5456
        gchar* _tmp36_ = NULL;
 
5457
        gchar* _tmp37_;
 
5458
        gchar* _tmp38_ = NULL;
 
5459
        gchar* _tmp39_;
 
5460
        ValaCCodeIdentifier* _tmp40_ = NULL;
 
5461
        ValaCCodeIdentifier* _tmp41_;
 
5462
        gchar* _tmp42_ = NULL;
 
5463
        gchar* _tmp43_;
 
5464
        ValaCCodeConstant* _tmp44_ = NULL;
 
5465
        ValaCCodeConstant* _tmp45_;
 
5466
        ValaCCodeExpressionStatement* _tmp46_ = NULL;
 
5467
        ValaCCodeExpressionStatement* _tmp47_;
 
5468
        self = (ValaGDBusClientModule*) base;
 
5469
        g_return_if_fail (block != NULL);
 
5470
        g_return_if_fail (sym != NULL);
 
5471
        if (!VALA_IS_INTERFACE (sym)) {
 
5472
                return;
 
5473
        }
 
5474
        _tmp0_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) sym);
 
5475
        dbus_iface_name = _tmp0_;
 
5476
        if (dbus_iface_name == NULL) {
 
5477
                _g_free0 (dbus_iface_name);
 
5478
                return;
 
5479
        }
 
5480
        _tmp1_ = vala_ccode_identifier_new ("g_quark_from_static_string");
 
5481
        _tmp2_ = _tmp1_;
 
5482
        _tmp3_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp2_);
 
5483
        quark = (_tmp4_ = _tmp3_, _vala_ccode_node_unref0 (_tmp2_), _tmp4_);
 
5484
        _tmp5_ = vala_ccode_constant_new ("\"vala-dbus-proxy-type\"");
 
5485
        _tmp6_ = _tmp5_;
 
5486
        vala_ccode_function_call_add_argument (quark, (ValaCCodeExpression*) _tmp6_);
 
5487
        _vala_ccode_node_unref0 (_tmp6_);
 
5488
        _tmp7_ = vala_symbol_get_lower_case_cprefix ((ValaSymbol*) sym);
 
5489
        _tmp8_ = _tmp7_;
 
5490
        _tmp9_ = g_strconcat (_tmp8_, "proxy_get_type", NULL);
 
5491
        _tmp10_ = vala_ccode_identifier_new (_tmp9_);
 
5492
        proxy_type = (_tmp11_ = _tmp10_, _g_free0 (_tmp9_), _g_free0 (_tmp8_), _tmp11_);
 
5493
        _tmp12_ = vala_ccode_identifier_new ("g_type_set_qdata");
 
5494
        _tmp13_ = _tmp12_;
 
5495
        _tmp14_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp13_);
 
5496
        set_qdata = (_tmp15_ = _tmp14_, _vala_ccode_node_unref0 (_tmp13_), _tmp15_);
 
5497
        _tmp16_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) sym, NULL);
 
5498
        _tmp17_ = _tmp16_;
 
5499
        _tmp18_ = g_strdup_printf ("%s_type_id", _tmp17_);
 
5500
        _tmp19_ = _tmp18_;
 
5501
        _tmp20_ = vala_ccode_identifier_new (_tmp19_);
 
5502
        _tmp21_ = _tmp20_;
 
5503
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) _tmp21_);
 
5504
        _vala_ccode_node_unref0 (_tmp21_);
 
5505
        _g_free0 (_tmp19_);
 
5506
        _g_free0 (_tmp17_);
 
5507
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) quark);
 
5508
        _tmp22_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) proxy_type, "void*");
 
5509
        _tmp23_ = _tmp22_;
 
5510
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) _tmp23_);
 
5511
        _vala_ccode_node_unref0 (_tmp23_);
 
5512
        _tmp24_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_qdata);
 
5513
        _tmp25_ = _tmp24_;
 
5514
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _tmp25_);
 
5515
        _vala_ccode_node_unref0 (_tmp25_);
 
5516
        _tmp26_ = vala_ccode_identifier_new ("g_quark_from_static_string");
 
5517
        _tmp27_ = _tmp26_;
 
5518
        _tmp28_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp27_);
 
5519
        _tmp29_ = _tmp28_;
 
5520
        _vala_ccode_node_unref0 (quark);
 
5521
        quark = _tmp29_;
 
5522
        _vala_ccode_node_unref0 (_tmp27_);
 
5523
        _tmp30_ = vala_ccode_constant_new ("\"vala-dbus-interface-name\"");
 
5524
        _tmp31_ = _tmp30_;
 
5525
        vala_ccode_function_call_add_argument (quark, (ValaCCodeExpression*) _tmp31_);
 
5526
        _vala_ccode_node_unref0 (_tmp31_);
 
5527
        _tmp32_ = vala_ccode_identifier_new ("g_type_set_qdata");
 
5528
        _tmp33_ = _tmp32_;
 
5529
        _tmp34_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp33_);
 
5530
        _tmp35_ = _tmp34_;
 
5531
        _vala_ccode_node_unref0 (set_qdata);
 
5532
        set_qdata = _tmp35_;
 
5533
        _vala_ccode_node_unref0 (_tmp33_);
 
5534
        _tmp36_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) sym, NULL);
 
5535
        _tmp37_ = _tmp36_;
 
5536
        _tmp38_ = g_strdup_printf ("%s_type_id", _tmp37_);
 
5537
        _tmp39_ = _tmp38_;
 
5538
        _tmp40_ = vala_ccode_identifier_new (_tmp39_);
 
5539
        _tmp41_ = _tmp40_;
 
5540
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) _tmp41_);
 
5541
        _vala_ccode_node_unref0 (_tmp41_);
 
5542
        _g_free0 (_tmp39_);
 
5543
        _g_free0 (_tmp37_);
 
5544
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) quark);
 
5545
        _tmp42_ = g_strdup_printf ("\"%s\"", dbus_iface_name);
 
5546
        _tmp43_ = _tmp42_;
 
5547
        _tmp44_ = vala_ccode_constant_new (_tmp43_);
 
5548
        _tmp45_ = _tmp44_;
 
5549
        vala_ccode_function_call_add_argument (set_qdata, (ValaCCodeExpression*) _tmp45_);
 
5550
        _vala_ccode_node_unref0 (_tmp45_);
 
5551
        _g_free0 (_tmp43_);
 
5552
        _tmp46_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_qdata);
 
5553
        _tmp47_ = _tmp46_;
 
5554
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _tmp47_);
 
5555
        _vala_ccode_node_unref0 (_tmp47_);
 
5556
        _vala_ccode_node_unref0 (set_qdata);
 
5557
        _vala_ccode_node_unref0 (proxy_type);
 
5558
        _vala_ccode_node_unref0 (quark);
 
5559
        _g_free0 (dbus_iface_name);
 
5560
}
 
5561
 
 
5562
 
5241
5563
ValaGDBusClientModule* vala_gd_bus_client_module_construct (GType object_type) {
5242
5564
        ValaGDBusClientModule* self = NULL;
5243
5565
        self = (ValaGDBusClientModule*) vala_gd_bus_module_construct (object_type);
5256
5578
        VALA_CCODE_BASE_MODULE_CLASS (klass)->generate_interface_declaration = vala_gd_bus_client_module_real_generate_interface_declaration;
5257
5579
        VALA_CODE_VISITOR_CLASS (klass)->visit_interface = vala_gd_bus_client_module_real_visit_interface;
5258
5580
        VALA_CODE_VISITOR_CLASS (klass)->visit_method_call = vala_gd_bus_client_module_real_visit_method_call;
 
5581
        VALA_CCODE_BASE_MODULE_CLASS (klass)->register_dbus_info = vala_gd_bus_client_module_real_register_dbus_info;
5259
5582
}
5260
5583
 
5261
5584