~ubuntu-branches/ubuntu/maverick/vala/maverick

« back to all changes in this revision

Viewing changes to codegen/valadbusclientmodule.c

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-04-02 10:10:55 UTC
  • mfrom: (1.4.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20100402101055-qbx3okzv0tnp3wpp
Tags: 0.8.0-0ubuntu1
* New upstream release:
  - Infer type arguments when calling generic methods.
  - Support `in' operator for arrays.
  - Add experimental support for regular expression literals.
  - Add experimental support for chained relational expressions.
  - Add va_list support.
  - Add clutter-gtk-0.10 bindings (Gordon Allott).
  - Add gdl-1.0 bindings (Nicolas Joseph).
  - Add gstreamer-app-0.10 bindings (Sebastian Dröge).
  - Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
  - Add gudev-1.0 bindings (Jim Nelson).
  - Add libgda-report-4.0 bindings (Shawn Ferris).
  - Add libgvc (graphviz) bindings (Martin Olsson).
  - Add purple bindings (Adrien Bustany).
  - Many bug fixes and binding updates.
* debian/patches/99_ltmain_as-needed.patch: refreshed

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
/* valadbusclientmodule.vala
5
5
 *
6
 
 * Copyright (C) 2007-2009  Jürg Billeter
 
6
 * Copyright (C) 2007-2010  Jürg Billeter
7
7
*  Copyright (C) 2008  Philip Van Hoof
8
8
 *
9
9
 * This library is free software; you can redistribute it and/or
252
252
 
253
253
typedef struct _ValaCCodeGenerator ValaCCodeGenerator;
254
254
typedef struct _ValaCCodeGeneratorClass ValaCCodeGeneratorClass;
 
255
#define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
255
256
#define _g_free0(var) (var = (g_free (var), NULL))
256
 
#define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
257
257
#define _vala_collection_object_unref0(var) ((var == NULL) ? NULL : (var = (vala_collection_object_unref (var), NULL)))
258
258
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
259
259
 
326
326
        void (*visit_try_statement) (ValaCCodeModule* self, ValaTryStatement* stmt);
327
327
        void (*visit_catch_clause) (ValaCCodeModule* self, ValaCatchClause* clause);
328
328
        void (*visit_lock_statement) (ValaCCodeModule* self, ValaLockStatement* stmt);
 
329
        void (*visit_unlock_statement) (ValaCCodeModule* self, ValaUnlockStatement* stmt);
329
330
        void (*visit_delete_statement) (ValaCCodeModule* self, ValaDeleteStatement* stmt);
330
331
        void (*visit_expression) (ValaCCodeModule* self, ValaExpression* expr);
331
332
        void (*visit_array_creation_expression) (ValaCCodeModule* self, ValaArrayCreationExpression* expr);
334
335
        void (*visit_integer_literal) (ValaCCodeModule* self, ValaIntegerLiteral* expr);
335
336
        void (*visit_real_literal) (ValaCCodeModule* self, ValaRealLiteral* expr);
336
337
        void (*visit_string_literal) (ValaCCodeModule* self, ValaStringLiteral* expr);
 
338
        void (*visit_list_literal) (ValaCCodeModule* self, ValaListLiteral* expr);
 
339
        void (*visit_set_literal) (ValaCCodeModule* self, ValaSetLiteral* expr);
 
340
        void (*visit_map_literal) (ValaCCodeModule* self, ValaMapLiteral* expr);
 
341
        void (*visit_tuple) (ValaCCodeModule* self, ValaTuple* expr);
 
342
        void (*visit_regex_literal) (ValaCCodeModule* self, ValaRegexLiteral* re);
337
343
        void (*visit_null_literal) (ValaCCodeModule* self, ValaNullLiteral* expr);
338
344
        void (*visit_member_access) (ValaCCodeModule* self, ValaMemberAccess* expr);
339
345
        void (*visit_method_call) (ValaCCodeModule* self, ValaMethodCall* expr);
358
364
        void (*generate_dynamic_method_wrapper) (ValaCCodeModule* self, ValaDynamicMethod* method);
359
365
        gboolean (*method_has_wrapper) (ValaCCodeModule* self, ValaMethod* method);
360
366
        ValaCCodeIdentifier* (*get_value_setter_function) (ValaCCodeModule* self, ValaDataType* type_reference);
 
367
        ValaCCodeIdentifier* (*get_value_taker_function) (ValaCCodeModule* self, ValaDataType* type_reference);
361
368
        ValaCCodeExpression* (*get_construct_property_assignment) (ValaCCodeModule* self, ValaCCodeConstant* canonical_cconstant, ValaDataType* property_type, ValaCCodeExpression* value);
362
369
        ValaCCodeFunctionCall* (*get_param_spec) (ValaCCodeModule* self, ValaProperty* prop);
363
370
        ValaCCodeFunctionCall* (*get_signal_creation) (ValaCCodeModule* self, ValaSignal* sig, ValaTypeSymbol* type);
366
373
        char* (*get_dynamic_property_setter_cname) (ValaCCodeModule* self, ValaDynamicProperty* node);
367
374
        char* (*get_dynamic_signal_cname) (ValaCCodeModule* self, ValaDynamicSignal* node);
368
375
        char* (*get_dynamic_signal_connect_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
 
376
        char* (*get_dynamic_signal_connect_after_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
369
377
        char* (*get_dynamic_signal_disconnect_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
370
378
        void (*generate_marshaller) (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, gboolean dbus);
371
379
        char* (*get_marshaller_function) (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, const char* prefix, gboolean dbus);
373
381
        ValaCCodeExpression* (*get_array_length_cexpression) (ValaCCodeModule* self, ValaExpression* array_expr, gint dim);
374
382
        char* (*get_array_size_cname) (ValaCCodeModule* self, const char* array_cname);
375
383
        ValaCCodeExpression* (*get_array_size_cexpression) (ValaCCodeModule* self, ValaExpression* array_expr);
376
 
        void (*add_simple_check) (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag);
 
384
        void (*add_simple_check) (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag, gboolean always_fails);
377
385
};
378
386
 
379
387
struct _ValaCCodeBaseModule {
399
407
        ValaCCodeEnum* prop_enum;
400
408
        ValaCCodeFunction* function;
401
409
        ValaCCodeFragment* pre_statement_fragment;
 
410
        ValaCCodeSwitchStatement* state_switch_statement;
402
411
        ValaArrayList* temp_vars;
403
412
        ValaArrayList* temp_ref_vars;
404
413
        ValaSet* user_marshal_set;
405
414
        ValaSet* predefined_marshal_set;
406
415
        gint next_temp_var_id;
 
416
        gint next_regex_id;
407
417
        gboolean in_constructor;
408
418
        gboolean in_static_or_class_context;
409
419
        gboolean current_method_inner_error;
428
438
        ValaDataType* int64_type;
429
439
        ValaDataType* uint64_type;
430
440
        ValaDataType* string_type;
 
441
        ValaDataType* regex_type;
431
442
        ValaDataType* float_type;
432
443
        ValaDataType* double_type;
433
444
        ValaTypeSymbol* gtype_type;
442
453
        ValaTypeSymbol* gptrarray_type;
443
454
        ValaTypeSymbol* gthreadpool_type;
444
455
        ValaDataType* gquark_type;
 
456
        ValaDataType* genumvalue_type;
445
457
        ValaStruct* gvalue_type;
446
458
        ValaStruct* mutex_type;
447
459
        ValaTypeSymbol* type_module_type;
639
651
void vala_ccode_module_unref (gpointer instance);
640
652
GParamSpec* vala_param_spec_ccode_module (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
641
653
void vala_value_set_ccode_module (GValue* value, gpointer v_object);
 
654
void vala_value_take_ccode_module (GValue* value, gpointer v_object);
642
655
gpointer vala_value_get_ccode_module (const GValue* value);
643
656
GType vala_ccode_module_get_type (void);
644
657
GType vala_ccode_base_module_get_type (void);
646
659
void vala_ccode_declaration_space_unref (gpointer instance);
647
660
GParamSpec* vala_param_spec_ccode_declaration_space (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
648
661
void vala_value_set_ccode_declaration_space (GValue* value, gpointer v_object);
 
662
void vala_value_take_ccode_declaration_space (GValue* value, gpointer v_object);
649
663
gpointer vala_value_get_ccode_declaration_space (const GValue* value);
650
664
GType vala_ccode_declaration_space_get_type (void);
651
665
GType vala_ccode_struct_module_get_type (void);
662
676
void vala_typeregister_function_unref (gpointer instance);
663
677
GParamSpec* vala_param_spec_typeregister_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
664
678
void vala_value_set_typeregister_function (GValue* value, gpointer v_object);
 
679
void vala_value_take_typeregister_function (GValue* value, gpointer v_object);
665
680
gpointer vala_value_get_typeregister_function (const GValue* value);
666
681
GType vala_typeregister_function_get_type (void);
667
682
GType vala_gobject_module_get_type (void);
680
695
ValaDBusClientModule* vala_dbus_client_module_construct (GType object_type, ValaCCodeGenerator* codegen, ValaCCodeModule* next);
681
696
ValaCodeContext* vala_ccode_base_module_get_context (ValaCCodeBaseModule* self);
682
697
static char* vala_dbus_client_module_get_dynamic_dbus_name (ValaDBusClientModule* self, const char* vala_name);
 
698
ValaCCodeConstant* vala_dbus_client_module_get_dbus_timeout (ValaDBusClientModule* self, ValaSymbol* symbol);
683
699
static gboolean vala_dbus_client_module_has_dbus_error (ValaDBusClientModule* self, ValaList* error_types);
684
700
void vala_ccode_base_module_generate_cparameters (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeDeclarationSpace* decl_space, ValaMap* cparam_map, ValaCCodeFunction* func, ValaCCodeFunctionDeclarator* vdeclarator, ValaMap* carg_map, ValaCCodeFunctionCall* vcall, gint direction);
685
701
static void vala_dbus_client_module_generate_dbus_method_wrapper (ValaDBusClientModule* self, ValaMethod* method, ValaCCodeBlock* block);
736
752
ValaDBusInterfaceRegisterFunction* vala_dbus_interface_register_function_construct (GType object_type, ValaInterface* iface, ValaCodeContext* context);
737
753
GType vala_dbus_interface_register_function_get_type (void);
738
754
static ValaTypeRegisterFunction* vala_dbus_client_module_real_create_interface_register_function (ValaGTypeModule* base, ValaInterface* iface);
 
755
gboolean vala_ccode_base_module_add_wrapper (ValaCCodeBaseModule* self, const char* wrapper_name);
 
756
static void vala_dbus_client_module_generate_marshalling (ValaDBusClientModule* self, ValaMethod* m, const char* dbus_iface_name, ValaCCodeFragment* prefragment, ValaCCodeFragment* postfragment);
 
757
static void vala_dbus_client_module_check_error_reply (ValaDBusClientModule* self, ValaMethod* m, ValaCCodeBlock* block);
 
758
static void vala_dbus_client_module_check_reply_signature (ValaDBusClientModule* self, ValaMethod* m, ValaCCodeBlock* block);
 
759
static char* vala_dbus_client_module_generate_get_all_function (ValaDBusClientModule* self, ValaMethod* m);
739
760
void vala_ccode_module_visit_method_call (ValaCCodeModule* self, ValaMethodCall* expr);
 
761
ValaCCodeExpression* vala_ccode_base_module_get_variable_cexpression (ValaCCodeBaseModule* self, const char* name);
740
762
static void vala_dbus_client_module_real_visit_method_call (ValaCCodeModule* base, ValaMethodCall* expr);
741
763
static void vala_dbus_client_module_handle_signals (ValaDBusClientModule* self, ValaInterface* iface, ValaCCodeBlock* block);
742
764
ValaCCodeExpression* vala_dbus_module_read_expression (ValaDBusModule* self, ValaCCodeFragment* fragment, ValaDataType* type, ValaCCodeExpression* iter_expr, ValaCCodeExpression* expr);
 
765
gboolean vala_ccode_base_module_requires_destroy (ValaCCodeBaseModule* self, ValaDataType* type);
 
766
ValaCCodeExpression* vala_ccode_base_module_get_unref_expression (ValaCCodeBaseModule* self, ValaCCodeExpression* cvar, ValaDataType* type, ValaExpression* expr, gboolean is_macro_definition);
743
767
static char* vala_dbus_client_module_generate_dbus_signal_handler (ValaDBusClientModule* self, ValaSignal* sig, ValaObjectTypeSymbol* sym);
744
768
static void vala_dbus_client_module_handle_signal (ValaDBusClientModule* self, const char* dbus_iface_name, const char* dbus_signal_name, const char* handler_name, ValaCCodeBlock* block, ValaCCodeIfStatement** clastif);
745
769
char* vala_dbus_module_get_dbus_name_for_member (ValaDBusModule* self, ValaSymbol* symbol);
746
770
void vala_dbus_module_write_expression (ValaDBusModule* self, ValaCCodeFragment* fragment, ValaDataType* type, ValaCCodeExpression* iter_expr, ValaCCodeExpression* expr);
747
 
static void vala_dbus_client_module_generate_marshalling (ValaDBusClientModule* self, ValaMethod* m, const char* dbus_iface_name, ValaCCodeFragment* prefragment, ValaCCodeFragment* postfragment);
748
771
static void vala_dbus_client_module_generate_client_error_cases (ValaDBusClientModule* self, ValaCCodeBlock* error_block, ValaList* error_types, ValaCCodeExpression* dbus_error_name, ValaCCodeExpression* result_edomain, ValaCCodeExpression* result_ecode);
749
 
static void vala_dbus_client_module_check_error_reply (ValaDBusClientModule* self, ValaMethod* m, ValaCCodeBlock* block);
750
 
static void vala_dbus_client_module_check_reply_signature (ValaDBusClientModule* self, ValaMethod* m, ValaCCodeBlock* block);
751
772
gint vala_ccode_base_module_get_param_pos (ValaCCodeBaseModule* self, double param_pos, gboolean ellipsis);
752
773
static ValaCCodeConstant* vala_dbus_client_module_get_reply_signature (ValaDBusClientModule* self, ValaMethod* m);
 
774
static void vala_dbus_client_module_check_property_error_reply (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeBlock* block);
 
775
static ValaCCodeConstant* vala_dbus_client_module_get_property_reply_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc);
 
776
static ValaCCodeConstant* vala_dbus_client_module_get_property_inner_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc);
 
777
static void vala_dbus_client_module_check_property_reply_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeBlock* block);
 
778
static void vala_dbus_client_module_check_property_inner_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeFragment* fragment);
753
779
static void vala_dbus_client_module_finalize (ValaCCodeModule* obj);
754
780
static int _vala_strcmp0 (const char * str1, const char * str2);
755
781
 
769
795
 
770
796
 
771
797
static char* vala_dbus_client_module_get_dynamic_dbus_name (ValaDBusClientModule* self, const char* vala_name) {
772
 
        char* result;
 
798
        char* result = NULL;
773
799
        g_return_val_if_fail (self != NULL, NULL);
774
800
        g_return_val_if_fail (vala_name != NULL, NULL);
775
801
        if (vala_code_context_get_dbus_transformation (vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self))) {
782
808
}
783
809
 
784
810
 
 
811
ValaCCodeConstant* vala_dbus_client_module_get_dbus_timeout (ValaDBusClientModule* self, ValaSymbol* symbol) {
 
812
        ValaCCodeConstant* result = NULL;
 
813
        gint timeout;
 
814
        ValaAttribute* dbus;
 
815
        gboolean _tmp0_ = FALSE;
 
816
        char* _tmp1_;
 
817
        ValaCCodeConstant* _tmp2_;
 
818
        g_return_val_if_fail (self != NULL, NULL);
 
819
        g_return_val_if_fail (symbol != NULL, NULL);
 
820
        timeout = -1;
 
821
        dbus = vala_code_node_get_attribute ((ValaCodeNode*) symbol, "DBus");
 
822
        if (dbus != NULL) {
 
823
                _tmp0_ = vala_attribute_has_argument (dbus, "timeout");
 
824
        } else {
 
825
                _tmp0_ = FALSE;
 
826
        }
 
827
        if (_tmp0_) {
 
828
                timeout = vala_attribute_get_integer (dbus, "timeout");
 
829
        } else {
 
830
                if (vala_symbol_get_parent_symbol (symbol) != NULL) {
 
831
                        result = vala_dbus_client_module_get_dbus_timeout (self, vala_symbol_get_parent_symbol (symbol));
 
832
                        _vala_code_node_unref0 (dbus);
 
833
                        return result;
 
834
                }
 
835
        }
 
836
        result = (_tmp2_ = vala_ccode_constant_new (_tmp1_ = g_strdup_printf ("%i", timeout)), _g_free0 (_tmp1_), _tmp2_);
 
837
        _vala_code_node_unref0 (dbus);
 
838
        return result;
 
839
        _vala_code_node_unref0 (dbus);
 
840
}
 
841
 
 
842
 
785
843
static gboolean vala_dbus_client_module_has_dbus_error (ValaDBusClientModule* self, ValaList* error_types) {
786
 
        gboolean result;
 
844
        gboolean result = FALSE;
787
845
        g_return_val_if_fail (self != NULL, FALSE);
788
846
        g_return_val_if_fail (error_types != NULL, FALSE);
789
847
        {
873
931
        ValaCCodeConstant* _tmp10_;
874
932
        char* _tmp9_;
875
933
        char* _tmp8_;
876
 
        ValaCCodeIdentifier* _tmp148_;
 
934
        ValaCCodeIdentifier* _tmp150_;
877
935
        ValaCCodeFragment* out_marshalling_fragment;
878
936
        g_return_if_fail (self != NULL);
879
937
        g_return_if_fail (method != NULL);
953
1011
                                                _tmp7_ = found_out;
954
1012
                                        }
955
1013
                                        if (_tmp7_) {
956
 
                                                vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) expr), "in argument must not follow out argument or reply callback in invocation of DBus method");
 
1014
                                                vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) expr), "in argument must not follow out argument or reply callback in invocati" \
 
1015
"on of DBus method");
957
1016
                                                vala_code_node_set_error ((ValaCodeNode*) expr, TRUE);
958
1017
                                                _vala_code_node_unref0 (arg);
959
1018
                                                _vala_collection_object_unref0 (_arg_it);
999
1058
                gint _tmp28_;
1000
1059
                gint param_count;
1001
1060
                gint i;
1002
 
                ValaCCodeIdentifier* _tmp54_;
1003
 
                ValaCCodeExpressionStatement* _tmp55_;
1004
1061
                ValaCCodeIdentifier* _tmp56_;
1005
1062
                ValaCCodeExpressionStatement* _tmp57_;
1006
1063
                ValaCCodeIdentifier* _tmp58_;
1007
 
                ValaCCodeConstant* _tmp60_;
1008
 
                char* _tmp59_;
1009
 
                ValaCCodeConstant* _tmp61_;
 
1064
                ValaCCodeExpressionStatement* _tmp59_;
 
1065
                ValaCCodeIdentifier* _tmp60_;
 
1066
                ValaCCodeConstant* _tmp62_;
 
1067
                char* _tmp61_;
 
1068
                ValaCCodeConstant* _tmp63_;
1010
1069
                reply_method = _vala_code_node_ref0 (VALA_METHOD (vala_expression_get_symbol_reference (callback)));
1011
1070
                cb_fun = (_tmp13_ = vala_ccode_function_new (_tmp12_ = g_strdup_printf ("_%s_cb", _tmp11_ = vala_method_get_cname (reply_method)), "void"), _g_free0 (_tmp12_), _g_free0 (_tmp11_), _tmp13_);
1012
1071
                vala_ccode_function_set_modifiers (cb_fun, VALA_CCODE_MODIFIERS_STATIC);
1083
1142
                                        ValaCCodeUnaryExpression* _tmp37_;
1084
1143
                                        ValaCCodeIdentifier* _tmp36_;
1085
1144
                                        const char* _tmp38_;
 
1145
                                        ValaCCodeCastExpression* _tmp42_;
 
1146
                                        char* _tmp41_;
1086
1147
                                        ValaCCodeMemberAccess* _tmp40_;
1087
1148
                                        ValaCCodeIdentifier* _tmp39_;
1088
 
                                        ValaCCodeMemberAccess* _tmp42_;
1089
 
                                        ValaCCodeIdentifier* _tmp41_;
 
1149
                                        ValaCCodeMemberAccess* _tmp44_;
 
1150
                                        ValaCCodeIdentifier* _tmp43_;
1090
1151
                                        array_type = _vala_code_node_ref0 (VALA_ARRAY_TYPE (vala_formal_parameter_get_parameter_type (param)));
1091
1152
                                        _cdecl_ = NULL;
1092
1153
                                        if (vala_dbus_client_module_dbus_use_ptr_array (self, array_type)) {
1110
1171
                                        } else {
1111
1172
                                                _tmp38_ = "data";
1112
1173
                                        }
1113
 
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp40_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp39_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), _tmp38_)));
 
1174
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp42_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp40_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp39_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), _tmp38_)), _tmp41_ = vala_data_type_get_cname ((ValaDataType*) array_type))));
 
1175
                                        _vala_ccode_node_unref0 (_tmp42_);
 
1176
                                        _g_free0 (_tmp41_);
1114
1177
                                        _vala_ccode_node_unref0 (_tmp40_);
1115
1178
                                        _vala_ccode_node_unref0 (_tmp39_);
1116
 
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp42_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp41_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), "len")));
1117
 
                                        _vala_ccode_node_unref0 (_tmp42_);
1118
 
                                        _vala_ccode_node_unref0 (_tmp41_);
 
1179
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp44_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp43_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), "len")));
 
1180
                                        _vala_ccode_node_unref0 (_tmp44_);
 
1181
                                        _vala_ccode_node_unref0 (_tmp43_);
1119
1182
                                        _vala_code_node_unref0 (array_type);
1120
1183
                                        _vala_ccode_node_unref0 (_cdecl_);
1121
1184
                                } else {
1122
 
                                        char* _tmp43_;
1123
 
                                        ValaCCodeDeclaration* _tmp44_;
 
1185
                                        char* _tmp45_;
 
1186
                                        ValaCCodeDeclaration* _tmp46_;
1124
1187
                                        ValaCCodeDeclaration* _cdecl_;
1125
 
                                        ValaCCodeVariableDeclarator* _tmp45_;
1126
 
                                        ValaCCodeExpression* _tmp46_;
1127
 
                                        ValaCCodeUnaryExpression* _tmp48_;
1128
 
                                        ValaCCodeIdentifier* _tmp47_;
 
1188
                                        ValaCCodeVariableDeclarator* _tmp47_;
 
1189
                                        ValaCCodeExpression* _tmp48_;
 
1190
                                        ValaCCodeUnaryExpression* _tmp50_;
1129
1191
                                        ValaCCodeIdentifier* _tmp49_;
1130
 
                                        gboolean _tmp50_ = FALSE;
1131
 
                                        _cdecl_ = (_tmp44_ = vala_ccode_declaration_new (_tmp43_ = vala_data_type_get_cname (vala_formal_parameter_get_parameter_type (param))), _g_free0 (_tmp43_), _tmp44_);
1132
 
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp45_ = vala_ccode_variable_declarator_new (vala_symbol_get_name ((ValaSymbol*) param), NULL, NULL)));
1133
 
                                        _vala_ccode_node_unref0 (_tmp45_);
 
1192
                                        ValaCCodeIdentifier* _tmp51_;
 
1193
                                        gboolean _tmp52_ = FALSE;
 
1194
                                        _cdecl_ = (_tmp46_ = vala_ccode_declaration_new (_tmp45_ = vala_data_type_get_cname (vala_formal_parameter_get_parameter_type (param))), _g_free0 (_tmp45_), _tmp46_);
 
1195
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp47_ = vala_ccode_variable_declarator_new (vala_symbol_get_name ((ValaSymbol*) param), NULL, NULL)));
 
1196
                                        _vala_ccode_node_unref0 (_tmp47_);
1134
1197
                                        vala_ccode_block_add_statement (vala_ccode_function_get_block (cb_fun), (ValaCCodeNode*) _cdecl_);
1135
 
                                        vala_ccode_function_call_add_argument (cend_call, _tmp46_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1136
 
                                        _vala_ccode_node_unref0 (_tmp46_);
1137
 
                                        vala_ccode_function_call_add_argument (cend_call, (ValaCCodeExpression*) (_tmp48_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp47_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))))));
 
1198
                                        vala_ccode_function_call_add_argument (cend_call, _tmp48_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1138
1199
                                        _vala_ccode_node_unref0 (_tmp48_);
1139
 
                                        _vala_ccode_node_unref0 (_tmp47_);
1140
 
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp49_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1200
                                        vala_ccode_function_call_add_argument (cend_call, (ValaCCodeExpression*) (_tmp50_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp49_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))))));
 
1201
                                        _vala_ccode_node_unref0 (_tmp50_);
1141
1202
                                        _vala_ccode_node_unref0 (_tmp49_);
 
1203
                                        vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp51_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1204
                                        _vala_ccode_node_unref0 (_tmp51_);
1142
1205
                                        if (VALA_IS_ARRAY_TYPE (vala_formal_parameter_get_parameter_type (param))) {
1143
 
                                                _tmp50_ = vala_data_type_get_data_type (vala_array_type_get_element_type (VALA_ARRAY_TYPE (vala_formal_parameter_get_parameter_type (param)))) == vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
 
1206
                                                _tmp52_ = vala_data_type_get_data_type (vala_array_type_get_element_type (VALA_ARRAY_TYPE (vala_formal_parameter_get_parameter_type (param)))) == vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
1144
1207
                                        } else {
1145
 
                                                _tmp50_ = FALSE;
 
1208
                                                _tmp52_ = FALSE;
1146
1209
                                        }
1147
 
                                        if (_tmp50_) {
1148
 
                                                ValaCCodeIdentifier* _tmp51_;
1149
 
                                                ValaCCodeFunctionCall* _tmp52_;
 
1210
                                        if (_tmp52_) {
 
1211
                                                ValaCCodeIdentifier* _tmp53_;
 
1212
                                                ValaCCodeFunctionCall* _tmp54_;
1150
1213
                                                ValaCCodeFunctionCall* cstrvlen;
1151
 
                                                ValaCCodeIdentifier* _tmp53_;
1152
 
                                                cstrvlen = (_tmp52_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp51_ = vala_ccode_identifier_new ("g_strv_length"))), _vala_ccode_node_unref0 (_tmp51_), _tmp52_);
1153
 
                                                vala_ccode_function_call_add_argument (cstrvlen, (ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1154
 
                                                _vala_ccode_node_unref0 (_tmp53_);
 
1214
                                                ValaCCodeIdentifier* _tmp55_;
 
1215
                                                cstrvlen = (_tmp54_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new ("g_strv_length"))), _vala_ccode_node_unref0 (_tmp53_), _tmp54_);
 
1216
                                                vala_ccode_function_call_add_argument (cstrvlen, (ValaCCodeExpression*) (_tmp55_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1217
                                                _vala_ccode_node_unref0 (_tmp55_);
1155
1218
                                                vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) cstrvlen);
1156
1219
                                                _vala_ccode_node_unref0 (cstrvlen);
1157
1220
                                        }
1161
1224
                        }
1162
1225
                        _vala_collection_object_unref0 (_param_it);
1163
1226
                }
1164
 
                vala_ccode_function_call_add_argument (cend_call, (ValaCCodeExpression*) (_tmp54_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1165
 
                _vala_ccode_node_unref0 (_tmp54_);
1166
 
                vala_ccode_block_add_statement (vala_ccode_function_get_block (cb_fun), (ValaCCodeNode*) (_tmp55_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cend_call)));
1167
 
                _vala_ccode_node_unref0 (_tmp55_);
1168
 
                vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("error")));
 
1227
                vala_ccode_function_call_add_argument (cend_call, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1169
1228
                _vala_ccode_node_unref0 (_tmp56_);
1170
 
                vala_ccode_block_add_statement (vala_ccode_function_get_block (cb_fun), (ValaCCodeNode*) (_tmp57_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) creply_call)));
 
1229
                vala_ccode_block_add_statement (vala_ccode_function_get_block (cb_fun), (ValaCCodeNode*) (_tmp57_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cend_call)));
1171
1230
                _vala_ccode_node_unref0 (_tmp57_);
 
1231
                vala_ccode_function_call_add_argument (creply_call, (ValaCCodeExpression*) (_tmp58_ = vala_ccode_identifier_new ("error")));
 
1232
                _vala_ccode_node_unref0 (_tmp58_);
 
1233
                vala_ccode_block_add_statement (vala_ccode_function_get_block (cb_fun), (ValaCCodeNode*) (_tmp59_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) creply_call)));
 
1234
                _vala_ccode_node_unref0 (_tmp59_);
1172
1235
                if (!vala_ccode_declaration_space_add_declaration (((ValaCCodeBaseModule*) self)->source_declarations, vala_ccode_function_get_name (cb_fun))) {
1173
1236
                        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) cb_fun);
1174
1237
                }
1175
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp58_ = vala_ccode_identifier_new (vala_ccode_function_get_name (cb_fun))));
1176
 
                _vala_ccode_node_unref0 (_tmp58_);
1177
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp60_ = vala_ccode_constant_new (_tmp59_ = g_strdup_printf ("param%d_target", callback_index))));
 
1238
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp60_ = vala_ccode_identifier_new (vala_ccode_function_get_name (cb_fun))));
1178
1239
                _vala_ccode_node_unref0 (_tmp60_);
1179
 
                _g_free0 (_tmp59_);
1180
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp61_ = vala_ccode_constant_new ("NULL")));
1181
 
                _vala_ccode_node_unref0 (_tmp61_);
 
1240
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp62_ = vala_ccode_constant_new (_tmp61_ = g_strdup_printf ("param%d_target", callback_index))));
 
1241
                _vala_ccode_node_unref0 (_tmp62_);
 
1242
                _g_free0 (_tmp61_);
 
1243
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp63_ = vala_ccode_constant_new ("NULL")));
 
1244
                _vala_ccode_node_unref0 (_tmp63_);
1182
1245
                _vala_code_node_unref0 (reply_method);
1183
1246
                _vala_ccode_node_unref0 (cb_fun);
1184
1247
                _vala_ccode_node_unref0 (cerrdecl);
1185
1248
                _vala_ccode_node_unref0 (cend_call);
1186
1249
                _vala_ccode_node_unref0 (creply_call);
1187
1250
        } else {
1188
 
                ValaCCodeIdentifier* _tmp62_;
1189
 
                ValaCCodeIdentifier* _tmp63_;
1190
 
                vala_ccode_function_call_set_call (ccall, (ValaCCodeExpression*) (_tmp62_ = vala_ccode_identifier_new ("dbus_g_proxy_call")));
1191
 
                _vala_ccode_node_unref0 (_tmp62_);
1192
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp63_ = vala_ccode_identifier_new ("error")));
1193
 
                _vala_ccode_node_unref0 (_tmp63_);
 
1251
                ValaCCodeIdentifier* _tmp64_;
 
1252
                ValaCCodeIdentifier* _tmp65_;
 
1253
                vala_ccode_function_call_set_call (ccall, (ValaCCodeExpression*) (_tmp64_ = vala_ccode_identifier_new ("dbus_g_proxy_call")));
 
1254
                _vala_ccode_node_unref0 (_tmp64_);
 
1255
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp65_ = vala_ccode_identifier_new ("error")));
 
1256
                _vala_ccode_node_unref0 (_tmp65_);
1194
1257
        }
1195
1258
        {
1196
 
                ValaList* _tmp64_;
1197
 
                ValaIterator* _tmp65_;
 
1259
                ValaList* _tmp66_;
 
1260
                ValaIterator* _tmp67_;
1198
1261
                ValaIterator* _param_it;
1199
 
                _param_it = (_tmp65_ = vala_iterable_iterator ((ValaIterable*) (_tmp64_ = vala_method_get_parameters (method))), _vala_collection_object_unref0 (_tmp64_), _tmp65_);
 
1262
                _param_it = (_tmp67_ = vala_iterable_iterator ((ValaIterable*) (_tmp66_ = vala_method_get_parameters (method))), _vala_collection_object_unref0 (_tmp66_), _tmp67_);
1200
1263
                while (TRUE) {
1201
1264
                        ValaFormalParameter* param;
1202
 
                        gboolean _tmp66_ = FALSE;
1203
 
                        ValaDataType* _tmp67_;
 
1265
                        gboolean _tmp68_ = FALSE;
 
1266
                        ValaDataType* _tmp69_;
1204
1267
                        ValaArrayType* array_type;
1205
1268
                        if (!vala_iterator_next (_param_it)) {
1206
1269
                                break;
1207
1270
                        }
1208
1271
                        param = (ValaFormalParameter*) vala_iterator_get (_param_it);
1209
1272
                        if (VALA_IS_METHOD_TYPE (vala_formal_parameter_get_parameter_type (param))) {
1210
 
                                _tmp66_ = TRUE;
 
1273
                                _tmp68_ = TRUE;
1211
1274
                        } else {
1212
 
                                _tmp66_ = VALA_IS_DELEGATE_TYPE (vala_formal_parameter_get_parameter_type (param));
 
1275
                                _tmp68_ = VALA_IS_DELEGATE_TYPE (vala_formal_parameter_get_parameter_type (param));
1213
1276
                        }
1214
 
                        if (_tmp66_) {
 
1277
                        if (_tmp68_) {
1215
1278
                                _vala_code_node_unref0 (param);
1216
1279
                                break;
1217
1280
                        }
1219
1282
                                _vala_code_node_unref0 (param);
1220
1283
                                continue;
1221
1284
                        }
1222
 
                        array_type = _vala_code_node_ref0 ((_tmp67_ = vala_formal_parameter_get_parameter_type (param), VALA_IS_ARRAY_TYPE (_tmp67_) ? ((ValaArrayType*) _tmp67_) : NULL));
 
1285
                        array_type = _vala_code_node_ref0 ((_tmp69_ = vala_formal_parameter_get_parameter_type (param), VALA_IS_ARRAY_TYPE (_tmp69_) ? ((ValaArrayType*) _tmp69_) : NULL));
1223
1286
                        if (array_type != NULL) {
1224
1287
                                if (vala_data_type_get_data_type (vala_array_type_get_element_type (array_type)) != vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type)) {
1225
 
                                        ValaCCodeExpression* _tmp68_;
1226
 
                                        ValaCCodeIdentifier* _tmp69_;
1227
 
                                        ValaCCodeFunctionCall* _tmp70_;
 
1288
                                        ValaCCodeExpression* _tmp70_;
 
1289
                                        ValaCCodeIdentifier* _tmp71_;
 
1290
                                        ValaCCodeFunctionCall* _tmp72_;
1228
1291
                                        ValaCCodeFunctionCall* sizeof_call;
1229
 
                                        ValaCCodeIdentifier* _tmp72_;
1230
 
                                        char* _tmp71_;
 
1292
                                        ValaCCodeIdentifier* _tmp74_;
 
1293
                                        char* _tmp73_;
1231
1294
                                        ValaCCodeDeclaration* _cdecl_;
1232
1295
                                        ValaCCodeFunctionCall* array_construct;
1233
 
                                        ValaCCodeVariableDeclarator* _tmp84_;
1234
 
                                        char* _tmp83_;
1235
 
                                        ValaCCodeIdentifier* _tmp111_;
1236
 
                                        char* _tmp110_;
1237
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp68_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, (ValaDataType*) array_type));
1238
 
                                        _vala_ccode_node_unref0 (_tmp68_);
1239
 
                                        sizeof_call = (_tmp70_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp69_ = vala_ccode_identifier_new ("sizeof"))), _vala_ccode_node_unref0 (_tmp69_), _tmp70_);
1240
 
                                        vala_ccode_function_call_add_argument (sizeof_call, (ValaCCodeExpression*) (_tmp72_ = vala_ccode_identifier_new (_tmp71_ = vala_data_type_get_cname (vala_array_type_get_element_type (array_type)))));
1241
 
                                        _vala_ccode_node_unref0 (_tmp72_);
1242
 
                                        _g_free0 (_tmp71_);
 
1296
                                        ValaCCodeVariableDeclarator* _tmp86_;
 
1297
                                        char* _tmp85_;
 
1298
                                        ValaCCodeIdentifier* _tmp113_;
 
1299
                                        char* _tmp112_;
 
1300
                                        vala_ccode_function_call_add_argument (ccall, _tmp70_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, (ValaDataType*) array_type));
 
1301
                                        _vala_ccode_node_unref0 (_tmp70_);
 
1302
                                        sizeof_call = (_tmp72_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp71_ = vala_ccode_identifier_new ("sizeof"))), _vala_ccode_node_unref0 (_tmp71_), _tmp72_);
 
1303
                                        vala_ccode_function_call_add_argument (sizeof_call, (ValaCCodeExpression*) (_tmp74_ = vala_ccode_identifier_new (_tmp73_ = vala_data_type_get_cname (vala_array_type_get_element_type (array_type)))));
 
1304
                                        _vala_ccode_node_unref0 (_tmp74_);
 
1305
                                        _g_free0 (_tmp73_);
1243
1306
                                        _cdecl_ = NULL;
1244
1307
                                        array_construct = NULL;
1245
1308
                                        if (vala_dbus_client_module_dbus_use_ptr_array (self, array_type)) {
1246
 
                                                ValaCCodeDeclaration* _tmp73_;
1247
 
                                                ValaCCodeFunctionCall* _tmp75_;
1248
 
                                                ValaCCodeIdentifier* _tmp74_;
1249
 
                                                ValaCCodeIdentifier* _tmp77_;
1250
 
                                                char* _tmp76_;
1251
 
                                                _cdecl_ = (_tmp73_ = vala_ccode_declaration_new ("GPtrArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp73_);
1252
 
                                                array_construct = (_tmp75_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp74_ = vala_ccode_identifier_new ("g_ptr_array_sized_new"))), _vala_ccode_node_unref0 (array_construct), _tmp75_);
1253
 
                                                _vala_ccode_node_unref0 (_tmp74_);
1254
 
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp77_ = vala_ccode_identifier_new (_tmp76_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))));
1255
 
                                                _vala_ccode_node_unref0 (_tmp77_);
1256
 
                                                _g_free0 (_tmp76_);
1257
 
                                        } else {
1258
 
                                                ValaCCodeDeclaration* _tmp78_;
1259
 
                                                ValaCCodeFunctionCall* _tmp80_;
 
1309
                                                ValaCCodeDeclaration* _tmp75_;
 
1310
                                                ValaCCodeFunctionCall* _tmp77_;
 
1311
                                                ValaCCodeIdentifier* _tmp76_;
1260
1312
                                                ValaCCodeIdentifier* _tmp79_;
1261
 
                                                ValaCCodeConstant* _tmp81_;
1262
 
                                                ValaCCodeConstant* _tmp82_;
1263
 
                                                _cdecl_ = (_tmp78_ = vala_ccode_declaration_new ("GArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp78_);
1264
 
                                                array_construct = (_tmp80_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp79_ = vala_ccode_identifier_new ("g_array_new"))), _vala_ccode_node_unref0 (array_construct), _tmp80_);
 
1313
                                                char* _tmp78_;
 
1314
                                                _cdecl_ = (_tmp75_ = vala_ccode_declaration_new ("GPtrArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp75_);
 
1315
                                                array_construct = (_tmp77_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp76_ = vala_ccode_identifier_new ("g_ptr_array_sized_new"))), _vala_ccode_node_unref0 (array_construct), _tmp77_);
 
1316
                                                _vala_ccode_node_unref0 (_tmp76_);
 
1317
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp79_ = vala_ccode_identifier_new (_tmp78_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))));
1265
1318
                                                _vala_ccode_node_unref0 (_tmp79_);
1266
 
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp81_ = vala_ccode_constant_new ("TRUE")));
 
1319
                                                _g_free0 (_tmp78_);
 
1320
                                        } else {
 
1321
                                                ValaCCodeDeclaration* _tmp80_;
 
1322
                                                ValaCCodeFunctionCall* _tmp82_;
 
1323
                                                ValaCCodeIdentifier* _tmp81_;
 
1324
                                                ValaCCodeConstant* _tmp83_;
 
1325
                                                ValaCCodeConstant* _tmp84_;
 
1326
                                                _cdecl_ = (_tmp80_ = vala_ccode_declaration_new ("GArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp80_);
 
1327
                                                array_construct = (_tmp82_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp81_ = vala_ccode_identifier_new ("g_array_new"))), _vala_ccode_node_unref0 (array_construct), _tmp82_);
1267
1328
                                                _vala_ccode_node_unref0 (_tmp81_);
1268
 
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp82_ = vala_ccode_constant_new ("TRUE")));
1269
 
                                                _vala_ccode_node_unref0 (_tmp82_);
 
1329
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp83_ = vala_ccode_constant_new ("TRUE")));
 
1330
                                                _vala_ccode_node_unref0 (_tmp83_);
 
1331
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp84_ = vala_ccode_constant_new ("TRUE")));
 
1332
                                                _vala_ccode_node_unref0 (_tmp84_);
1270
1333
                                                vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) sizeof_call);
1271
1334
                                        }
1272
 
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp84_ = vala_ccode_variable_declarator_new (_tmp83_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), (ValaCCodeExpression*) array_construct, NULL)));
1273
 
                                        _vala_ccode_node_unref0 (_tmp84_);
1274
 
                                        _g_free0 (_tmp83_);
 
1335
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp86_ = vala_ccode_variable_declarator_new (_tmp85_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), (ValaCCodeExpression*) array_construct, NULL)));
 
1336
                                        _vala_ccode_node_unref0 (_tmp86_);
 
1337
                                        _g_free0 (_tmp85_);
1275
1338
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1276
1339
                                        if (vala_dbus_client_module_dbus_use_ptr_array (self, array_type)) {
1277
 
                                                ValaCCodeIdentifier* _tmp85_;
1278
 
                                                ValaCCodeFunctionCall* _tmp86_;
 
1340
                                                ValaCCodeIdentifier* _tmp87_;
 
1341
                                                ValaCCodeFunctionCall* _tmp88_;
1279
1342
                                                ValaCCodeFunctionCall* memcpy_call;
1280
 
                                                ValaCCodeMemberAccess* _tmp89_;
1281
 
                                                ValaCCodeIdentifier* _tmp88_;
1282
 
                                                char* _tmp87_;
 
1343
                                                ValaCCodeMemberAccess* _tmp91_;
1283
1344
                                                ValaCCodeIdentifier* _tmp90_;
1284
 
                                                ValaCCodeBinaryExpression* _tmp93_;
 
1345
                                                char* _tmp89_;
1285
1346
                                                ValaCCodeIdentifier* _tmp92_;
1286
 
                                                char* _tmp91_;
1287
 
                                                ValaCCodeExpressionStatement* _tmp94_;
1288
 
                                                ValaCCodeIdentifier* _tmp99_;
1289
 
                                                char* _tmp98_;
1290
 
                                                ValaCCodeMemberAccess* _tmp97_;
1291
 
                                                ValaCCodeIdentifier* _tmp96_;
1292
 
                                                char* _tmp95_;
1293
 
                                                ValaCCodeAssignment* _tmp100_;
 
1347
                                                ValaCCodeBinaryExpression* _tmp95_;
 
1348
                                                ValaCCodeIdentifier* _tmp94_;
 
1349
                                                char* _tmp93_;
 
1350
                                                ValaCCodeExpressionStatement* _tmp96_;
 
1351
                                                ValaCCodeIdentifier* _tmp101_;
 
1352
                                                char* _tmp100_;
 
1353
                                                ValaCCodeMemberAccess* _tmp99_;
 
1354
                                                ValaCCodeIdentifier* _tmp98_;
 
1355
                                                char* _tmp97_;
 
1356
                                                ValaCCodeAssignment* _tmp102_;
1294
1357
                                                ValaCCodeAssignment* len_assignment;
1295
 
                                                ValaCCodeExpressionStatement* _tmp101_;
 
1358
                                                ValaCCodeExpressionStatement* _tmp103_;
1296
1359
                                                vala_ccode_declaration_space_add_include (((ValaCCodeBaseModule*) self)->source_declarations, "string.h", FALSE);
1297
 
                                                memcpy_call = (_tmp86_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp85_ = vala_ccode_identifier_new ("memcpy"))), _vala_ccode_node_unref0 (_tmp85_), _tmp86_);
1298
 
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp89_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp88_ = vala_ccode_identifier_new (_tmp87_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "pdata")));
1299
 
                                                _vala_ccode_node_unref0 (_tmp89_);
1300
 
                                                _vala_ccode_node_unref0 (_tmp88_);
1301
 
                                                _g_free0 (_tmp87_);
1302
 
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp90_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1360
                                                memcpy_call = (_tmp88_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp87_ = vala_ccode_identifier_new ("memcpy"))), _vala_ccode_node_unref0 (_tmp87_), _tmp88_);
 
1361
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp91_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp90_ = vala_ccode_identifier_new (_tmp89_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "pdata")));
 
1362
                                                _vala_ccode_node_unref0 (_tmp91_);
1303
1363
                                                _vala_ccode_node_unref0 (_tmp90_);
1304
 
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp93_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_MUL, (ValaCCodeExpression*) (_tmp92_ = vala_ccode_identifier_new (_tmp91_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))), (ValaCCodeExpression*) sizeof_call)));
1305
 
                                                _vala_ccode_node_unref0 (_tmp93_);
 
1364
                                                _g_free0 (_tmp89_);
 
1365
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp92_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1306
1366
                                                _vala_ccode_node_unref0 (_tmp92_);
1307
 
                                                _g_free0 (_tmp91_);
1308
 
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp94_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) memcpy_call)));
 
1367
                                                vala_ccode_function_call_add_argument (memcpy_call, (ValaCCodeExpression*) (_tmp95_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_MUL, (ValaCCodeExpression*) (_tmp94_ = vala_ccode_identifier_new (_tmp93_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))), (ValaCCodeExpression*) sizeof_call)));
 
1368
                                                _vala_ccode_node_unref0 (_tmp95_);
1309
1369
                                                _vala_ccode_node_unref0 (_tmp94_);
1310
 
                                                len_assignment = (_tmp100_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp97_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp96_ = vala_ccode_identifier_new (_tmp95_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "len")), (ValaCCodeExpression*) (_tmp99_ = vala_ccode_identifier_new (_tmp98_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))), VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp99_), _g_free0 (_tmp98_), _vala_ccode_node_unref0 (_tmp97_), _vala_ccode_node_unref0 (_tmp96_), _g_free0 (_tmp95_), _tmp100_);
1311
 
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp101_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) len_assignment)));
1312
 
                                                _vala_ccode_node_unref0 (_tmp101_);
 
1370
                                                _g_free0 (_tmp93_);
 
1371
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp96_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) memcpy_call)));
 
1372
                                                _vala_ccode_node_unref0 (_tmp96_);
 
1373
                                                len_assignment = (_tmp102_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp99_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp98_ = vala_ccode_identifier_new (_tmp97_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "len")), (ValaCCodeExpression*) (_tmp101_ = vala_ccode_identifier_new (_tmp100_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))), VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp101_), _g_free0 (_tmp100_), _vala_ccode_node_unref0 (_tmp99_), _vala_ccode_node_unref0 (_tmp98_), _g_free0 (_tmp97_), _tmp102_);
 
1374
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp103_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) len_assignment)));
 
1375
                                                _vala_ccode_node_unref0 (_tmp103_);
1313
1376
                                                _vala_ccode_node_unref0 (memcpy_call);
1314
1377
                                                _vala_ccode_node_unref0 (len_assignment);
1315
1378
                                        } else {
1316
 
                                                ValaCCodeIdentifier* _tmp102_;
1317
 
                                                ValaCCodeFunctionCall* _tmp103_;
 
1379
                                                ValaCCodeIdentifier* _tmp104_;
 
1380
                                                ValaCCodeFunctionCall* _tmp105_;
1318
1381
                                                ValaCCodeFunctionCall* cappend_call;
1319
 
                                                ValaCCodeIdentifier* _tmp105_;
1320
 
                                                char* _tmp104_;
1321
 
                                                ValaCCodeIdentifier* _tmp106_;
 
1382
                                                ValaCCodeIdentifier* _tmp107_;
 
1383
                                                char* _tmp106_;
1322
1384
                                                ValaCCodeIdentifier* _tmp108_;
1323
 
                                                char* _tmp107_;
1324
 
                                                ValaCCodeExpressionStatement* _tmp109_;
1325
 
                                                cappend_call = (_tmp103_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp102_ = vala_ccode_identifier_new ("g_array_append_vals"))), _vala_ccode_node_unref0 (_tmp102_), _tmp103_);
1326
 
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp105_ = vala_ccode_identifier_new (_tmp104_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
1327
 
                                                _vala_ccode_node_unref0 (_tmp105_);
1328
 
                                                _g_free0 (_tmp104_);
1329
 
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp106_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1330
 
                                                _vala_ccode_node_unref0 (_tmp106_);
1331
 
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp108_ = vala_ccode_identifier_new (_tmp107_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))));
 
1385
                                                ValaCCodeIdentifier* _tmp110_;
 
1386
                                                char* _tmp109_;
 
1387
                                                ValaCCodeExpressionStatement* _tmp111_;
 
1388
                                                cappend_call = (_tmp105_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp104_ = vala_ccode_identifier_new ("g_array_append_vals"))), _vala_ccode_node_unref0 (_tmp104_), _tmp105_);
 
1389
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp107_ = vala_ccode_identifier_new (_tmp106_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
 
1390
                                                _vala_ccode_node_unref0 (_tmp107_);
 
1391
                                                _g_free0 (_tmp106_);
 
1392
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp108_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1332
1393
                                                _vala_ccode_node_unref0 (_tmp108_);
1333
 
                                                _g_free0 (_tmp107_);
1334
 
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp109_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cappend_call)));
1335
 
                                                _vala_ccode_node_unref0 (_tmp109_);
 
1394
                                                vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp110_ = vala_ccode_identifier_new (_tmp109_ = vala_ccode_module_get_array_length_cname (vala_ccode_module_get_head ((ValaCCodeModule*) self), vala_symbol_get_name ((ValaSymbol*) param), 1))));
 
1395
                                                _vala_ccode_node_unref0 (_tmp110_);
 
1396
                                                _g_free0 (_tmp109_);
 
1397
                                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp111_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cappend_call)));
 
1398
                                                _vala_ccode_node_unref0 (_tmp111_);
1336
1399
                                                _vala_ccode_node_unref0 (cappend_call);
1337
1400
                                        }
1338
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp111_ = vala_ccode_identifier_new (_tmp110_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
1339
 
                                        _vala_ccode_node_unref0 (_tmp111_);
1340
 
                                        _g_free0 (_tmp110_);
 
1401
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp113_ = vala_ccode_identifier_new (_tmp112_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
 
1402
                                        _vala_ccode_node_unref0 (_tmp113_);
 
1403
                                        _g_free0 (_tmp112_);
1341
1404
                                        _vala_ccode_node_unref0 (sizeof_call);
1342
1405
                                        _vala_ccode_node_unref0 (_cdecl_);
1343
1406
                                        _vala_ccode_node_unref0 (array_construct);
1344
1407
                                } else {
1345
 
                                        ValaCCodeIdentifier* _tmp112_;
1346
 
                                        ValaCCodeIdentifier* _tmp113_;
1347
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp112_ = vala_ccode_identifier_new ("G_TYPE_STRV")));
1348
 
                                        _vala_ccode_node_unref0 (_tmp112_);
1349
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp113_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1350
 
                                        _vala_ccode_node_unref0 (_tmp113_);
 
1408
                                        ValaCCodeIdentifier* _tmp114_;
 
1409
                                        ValaCCodeIdentifier* _tmp115_;
 
1410
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp114_ = vala_ccode_identifier_new ("G_TYPE_STRV")));
 
1411
                                        _vala_ccode_node_unref0 (_tmp114_);
 
1412
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp115_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1413
                                        _vala_ccode_node_unref0 (_tmp115_);
1351
1414
                                }
1352
1415
                        } else {
1353
 
                                char* _tmp114_;
1354
 
                                gboolean _tmp115_;
1355
 
                                if ((_tmp115_ = g_str_has_prefix (_tmp114_ = vala_dbus_module_get_type_signature (vala_formal_parameter_get_parameter_type (param)), "("), _g_free0 (_tmp114_), _tmp115_)) {
 
1416
                                char* _tmp116_;
 
1417
                                gboolean _tmp117_;
 
1418
                                if ((_tmp117_ = g_str_has_prefix (_tmp116_ = vala_dbus_module_get_type_signature (vala_formal_parameter_get_parameter_type (param)), "("), _g_free0 (_tmp116_), _tmp117_)) {
1356
1419
                                        ValaStruct* st;
1357
 
                                        ValaCCodeIdentifier* _tmp116_;
1358
 
                                        ValaCCodeFunctionCall* _tmp117_;
 
1420
                                        ValaCCodeIdentifier* _tmp118_;
 
1421
                                        ValaCCodeFunctionCall* _tmp119_;
1359
1422
                                        ValaCCodeFunctionCall* array_construct;
1360
 
                                        ValaCCodeConstant* _tmp118_;
 
1423
                                        ValaCCodeConstant* _tmp120_;
1361
1424
                                        ValaCCodeDeclaration* _cdecl_;
1362
 
                                        ValaCCodeVariableDeclarator* _tmp120_;
1363
 
                                        char* _tmp119_;
1364
 
                                        ValaCCodeExpression* _tmp143_;
1365
 
                                        ValaCCodeIdentifier* _tmp145_;
1366
 
                                        char* _tmp144_;
 
1425
                                        ValaCCodeVariableDeclarator* _tmp122_;
 
1426
                                        char* _tmp121_;
 
1427
                                        ValaCCodeExpression* _tmp145_;
 
1428
                                        ValaCCodeIdentifier* _tmp147_;
 
1429
                                        char* _tmp146_;
1367
1430
                                        st = _vala_code_node_ref0 (VALA_STRUCT (vala_data_type_get_data_type (vala_formal_parameter_get_parameter_type (param))));
1368
 
                                        array_construct = (_tmp117_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp116_ = vala_ccode_identifier_new ("g_value_array_new"))), _vala_ccode_node_unref0 (_tmp116_), _tmp117_);
1369
 
                                        vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp118_ = vala_ccode_constant_new ("0")));
1370
 
                                        _vala_ccode_node_unref0 (_tmp118_);
1371
 
                                        _cdecl_ = vala_ccode_declaration_new ("GValueArray*");
1372
 
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp120_ = vala_ccode_variable_declarator_new (_tmp119_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), (ValaCCodeExpression*) array_construct, NULL)));
 
1431
                                        array_construct = (_tmp119_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp118_ = vala_ccode_identifier_new ("g_value_array_new"))), _vala_ccode_node_unref0 (_tmp118_), _tmp119_);
 
1432
                                        vala_ccode_function_call_add_argument (array_construct, (ValaCCodeExpression*) (_tmp120_ = vala_ccode_constant_new ("0")));
1373
1433
                                        _vala_ccode_node_unref0 (_tmp120_);
1374
 
                                        _g_free0 (_tmp119_);
 
1434
                                        _cdecl_ = vala_ccode_declaration_new ("GValueArray*");
 
1435
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp122_ = vala_ccode_variable_declarator_new (_tmp121_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), (ValaCCodeExpression*) array_construct, NULL)));
 
1436
                                        _vala_ccode_node_unref0 (_tmp122_);
 
1437
                                        _g_free0 (_tmp121_);
1375
1438
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1376
1439
                                        {
1377
 
                                                ValaList* _tmp121_;
1378
 
                                                ValaIterator* _tmp122_;
 
1440
                                                ValaList* _tmp123_;
 
1441
                                                ValaIterator* _tmp124_;
1379
1442
                                                ValaIterator* _f_it;
1380
 
                                                _f_it = (_tmp122_ = vala_iterable_iterator ((ValaIterable*) (_tmp121_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp121_), _tmp122_);
 
1443
                                                _f_it = (_tmp124_ = vala_iterable_iterator ((ValaIterable*) (_tmp123_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp123_), _tmp124_);
1381
1444
                                                while (TRUE) {
1382
1445
                                                        ValaField* f;
1383
1446
                                                        char* val_name;
1384
1447
                                                        ValaCCodeInitializerList* cvalinit;
1385
 
                                                        ValaCCodeConstant* _tmp123_;
 
1448
                                                        ValaCCodeConstant* _tmp125_;
1386
1449
                                                        ValaCCodeDeclaration* cval_decl;
1387
 
                                                        ValaCCodeVariableDeclarator* _tmp124_;
1388
 
                                                        ValaCCodeIdentifier* _tmp125_;
1389
 
                                                        ValaCCodeUnaryExpression* _tmp126_;
 
1450
                                                        ValaCCodeVariableDeclarator* _tmp126_;
 
1451
                                                        ValaCCodeIdentifier* _tmp127_;
 
1452
                                                        ValaCCodeUnaryExpression* _tmp128_;
1390
1453
                                                        ValaCCodeUnaryExpression* val_ptr;
1391
 
                                                        ValaCCodeIdentifier* _tmp127_;
1392
 
                                                        ValaCCodeFunctionCall* _tmp128_;
 
1454
                                                        ValaCCodeIdentifier* _tmp129_;
 
1455
                                                        ValaCCodeFunctionCall* _tmp130_;
1393
1456
                                                        ValaCCodeFunctionCall* cinit_call;
1394
 
                                                        ValaCCodeIdentifier* _tmp130_;
1395
 
                                                        char* _tmp129_;
1396
 
                                                        ValaCCodeExpressionStatement* _tmp131_;
1397
 
                                                        ValaCCodeIdentifier* _tmp133_;
1398
 
                                                        char* _tmp132_;
1399
 
                                                        ValaCCodeFunctionCall* _tmp134_;
 
1457
                                                        ValaCCodeIdentifier* _tmp132_;
 
1458
                                                        char* _tmp131_;
 
1459
                                                        ValaCCodeExpressionStatement* _tmp133_;
 
1460
                                                        ValaCCodeIdentifier* _tmp135_;
 
1461
                                                        char* _tmp134_;
 
1462
                                                        ValaCCodeFunctionCall* _tmp136_;
1400
1463
                                                        ValaCCodeFunctionCall* cset_call;
1401
 
                                                        ValaCCodeMemberAccess* _tmp136_;
1402
 
                                                        ValaCCodeIdentifier* _tmp135_;
1403
 
                                                        ValaCCodeExpressionStatement* _tmp137_;
1404
 
                                                        ValaCCodeIdentifier* _tmp138_;
1405
 
                                                        ValaCCodeFunctionCall* _tmp139_;
 
1464
                                                        ValaCCodeMemberAccess* _tmp138_;
 
1465
                                                        ValaCCodeIdentifier* _tmp137_;
 
1466
                                                        ValaCCodeExpressionStatement* _tmp139_;
 
1467
                                                        ValaCCodeIdentifier* _tmp140_;
 
1468
                                                        ValaCCodeFunctionCall* _tmp141_;
1406
1469
                                                        ValaCCodeFunctionCall* cappend_call;
1407
 
                                                        ValaCCodeIdentifier* _tmp141_;
1408
 
                                                        char* _tmp140_;
1409
 
                                                        ValaCCodeExpressionStatement* _tmp142_;
 
1470
                                                        ValaCCodeIdentifier* _tmp143_;
 
1471
                                                        char* _tmp142_;
 
1472
                                                        ValaCCodeExpressionStatement* _tmp144_;
1410
1473
                                                        if (!vala_iterator_next (_f_it)) {
1411
1474
                                                                break;
1412
1475
                                                        }
1417
1480
                                                        }
1418
1481
                                                        val_name = g_strdup_printf ("val_%s_%s", vala_symbol_get_name ((ValaSymbol*) param), vala_symbol_get_name ((ValaSymbol*) f));
1419
1482
                                                        cvalinit = vala_ccode_initializer_list_new ();
1420
 
                                                        vala_ccode_initializer_list_append (cvalinit, (ValaCCodeExpression*) (_tmp123_ = vala_ccode_constant_new ("0")));
1421
 
                                                        _vala_ccode_node_unref0 (_tmp123_);
 
1483
                                                        vala_ccode_initializer_list_append (cvalinit, (ValaCCodeExpression*) (_tmp125_ = vala_ccode_constant_new ("0")));
 
1484
                                                        _vala_ccode_node_unref0 (_tmp125_);
1422
1485
                                                        cval_decl = vala_ccode_declaration_new ("GValue");
1423
 
                                                        vala_ccode_declaration_add_declarator (cval_decl, (ValaCCodeDeclarator*) (_tmp124_ = vala_ccode_variable_declarator_new_zero (val_name, (ValaCCodeExpression*) cvalinit, NULL)));
1424
 
                                                        _vala_ccode_node_unref0 (_tmp124_);
 
1486
                                                        vala_ccode_declaration_add_declarator (cval_decl, (ValaCCodeDeclarator*) (_tmp126_ = vala_ccode_variable_declarator_new_zero (val_name, (ValaCCodeExpression*) cvalinit, NULL)));
 
1487
                                                        _vala_ccode_node_unref0 (_tmp126_);
1425
1488
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) cval_decl);
1426
 
                                                        val_ptr = (_tmp126_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp125_ = vala_ccode_identifier_new (val_name))), _vala_ccode_node_unref0 (_tmp125_), _tmp126_);
1427
 
                                                        cinit_call = (_tmp128_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp127_ = vala_ccode_identifier_new ("g_value_init"))), _vala_ccode_node_unref0 (_tmp127_), _tmp128_);
 
1489
                                                        val_ptr = (_tmp128_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp127_ = vala_ccode_identifier_new (val_name))), _vala_ccode_node_unref0 (_tmp127_), _tmp128_);
 
1490
                                                        cinit_call = (_tmp130_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp129_ = vala_ccode_identifier_new ("g_value_init"))), _vala_ccode_node_unref0 (_tmp129_), _tmp130_);
1428
1491
                                                        vala_ccode_function_call_add_argument (cinit_call, (ValaCCodeExpression*) val_ptr);
1429
 
                                                        vala_ccode_function_call_add_argument (cinit_call, (ValaCCodeExpression*) (_tmp130_ = vala_ccode_identifier_new (_tmp129_ = vala_typesymbol_get_type_id (vala_data_type_get_data_type (vala_field_get_field_type (f))))));
1430
 
                                                        _vala_ccode_node_unref0 (_tmp130_);
1431
 
                                                        _g_free0 (_tmp129_);
1432
 
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp131_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cinit_call)));
1433
 
                                                        _vala_ccode_node_unref0 (_tmp131_);
1434
 
                                                        cset_call = (_tmp134_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp133_ = vala_ccode_identifier_new (_tmp132_ = vala_typesymbol_get_set_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp133_), _g_free0 (_tmp132_), _tmp134_);
 
1492
                                                        vala_ccode_function_call_add_argument (cinit_call, (ValaCCodeExpression*) (_tmp132_ = vala_ccode_identifier_new (_tmp131_ = vala_typesymbol_get_type_id (vala_data_type_get_data_type (vala_field_get_field_type (f))))));
 
1493
                                                        _vala_ccode_node_unref0 (_tmp132_);
 
1494
                                                        _g_free0 (_tmp131_);
 
1495
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp133_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cinit_call)));
 
1496
                                                        _vala_ccode_node_unref0 (_tmp133_);
 
1497
                                                        cset_call = (_tmp136_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp135_ = vala_ccode_identifier_new (_tmp134_ = vala_typesymbol_get_set_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp135_), _g_free0 (_tmp134_), _tmp136_);
1435
1498
                                                        vala_ccode_function_call_add_argument (cset_call, (ValaCCodeExpression*) val_ptr);
1436
 
                                                        vala_ccode_function_call_add_argument (cset_call, (ValaCCodeExpression*) (_tmp136_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp135_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), vala_symbol_get_name ((ValaSymbol*) f))));
1437
 
                                                        _vala_ccode_node_unref0 (_tmp136_);
1438
 
                                                        _vala_ccode_node_unref0 (_tmp135_);
1439
 
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp137_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cset_call)));
 
1499
                                                        vala_ccode_function_call_add_argument (cset_call, (ValaCCodeExpression*) (_tmp138_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp137_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), vala_symbol_get_name ((ValaSymbol*) f))));
 
1500
                                                        _vala_ccode_node_unref0 (_tmp138_);
1440
1501
                                                        _vala_ccode_node_unref0 (_tmp137_);
1441
 
                                                        cappend_call = (_tmp139_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp138_ = vala_ccode_identifier_new ("g_value_array_append"))), _vala_ccode_node_unref0 (_tmp138_), _tmp139_);
1442
 
                                                        vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp141_ = vala_ccode_identifier_new (_tmp140_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
1443
 
                                                        _vala_ccode_node_unref0 (_tmp141_);
1444
 
                                                        _g_free0 (_tmp140_);
 
1502
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp139_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cset_call)));
 
1503
                                                        _vala_ccode_node_unref0 (_tmp139_);
 
1504
                                                        cappend_call = (_tmp141_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp140_ = vala_ccode_identifier_new ("g_value_array_append"))), _vala_ccode_node_unref0 (_tmp140_), _tmp141_);
 
1505
                                                        vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) (_tmp143_ = vala_ccode_identifier_new (_tmp142_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
 
1506
                                                        _vala_ccode_node_unref0 (_tmp143_);
 
1507
                                                        _g_free0 (_tmp142_);
1445
1508
                                                        vala_ccode_function_call_add_argument (cappend_call, (ValaCCodeExpression*) val_ptr);
1446
 
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp142_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cappend_call)));
1447
 
                                                        _vala_ccode_node_unref0 (_tmp142_);
 
1509
                                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp144_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cappend_call)));
 
1510
                                                        _vala_ccode_node_unref0 (_tmp144_);
1448
1511
                                                        _vala_code_node_unref0 (f);
1449
1512
                                                        _g_free0 (val_name);
1450
1513
                                                        _vala_ccode_node_unref0 (cvalinit);
1456
1519
                                                }
1457
1520
                                                _vala_collection_object_unref0 (_f_it);
1458
1521
                                        }
1459
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp143_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1460
 
                                        _vala_ccode_node_unref0 (_tmp143_);
1461
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp145_ = vala_ccode_identifier_new (_tmp144_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
 
1522
                                        vala_ccode_function_call_add_argument (ccall, _tmp145_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1462
1523
                                        _vala_ccode_node_unref0 (_tmp145_);
1463
 
                                        _g_free0 (_tmp144_);
 
1524
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp147_ = vala_ccode_identifier_new (_tmp146_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))));
 
1525
                                        _vala_ccode_node_unref0 (_tmp147_);
 
1526
                                        _g_free0 (_tmp146_);
1464
1527
                                        _vala_code_node_unref0 (st);
1465
1528
                                        _vala_ccode_node_unref0 (array_construct);
1466
1529
                                        _vala_ccode_node_unref0 (_cdecl_);
1467
1530
                                } else {
1468
 
                                        ValaCCodeExpression* _tmp146_;
1469
 
                                        ValaCCodeIdentifier* _tmp147_;
1470
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp146_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1471
 
                                        _vala_ccode_node_unref0 (_tmp146_);
1472
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp147_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1473
 
                                        _vala_ccode_node_unref0 (_tmp147_);
 
1531
                                        ValaCCodeExpression* _tmp148_;
 
1532
                                        ValaCCodeIdentifier* _tmp149_;
 
1533
                                        vala_ccode_function_call_add_argument (ccall, _tmp148_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
 
1534
                                        _vala_ccode_node_unref0 (_tmp148_);
 
1535
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp149_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1536
                                        _vala_ccode_node_unref0 (_tmp149_);
1474
1537
                                }
1475
1538
                        }
1476
1539
                        _vala_code_node_unref0 (param);
1478
1541
                }
1479
1542
                _vala_collection_object_unref0 (_param_it);
1480
1543
        }
1481
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp148_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1482
 
        _vala_ccode_node_unref0 (_tmp148_);
 
1544
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp150_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1545
        _vala_ccode_node_unref0 (_tmp150_);
1483
1546
        out_marshalling_fragment = vala_ccode_fragment_new ();
1484
1547
        {
1485
 
                ValaList* _tmp149_;
1486
 
                ValaIterator* _tmp150_;
 
1548
                ValaList* _tmp151_;
 
1549
                ValaIterator* _tmp152_;
1487
1550
                ValaIterator* _param_it;
1488
 
                _param_it = (_tmp150_ = vala_iterable_iterator ((ValaIterable*) (_tmp149_ = vala_method_get_parameters (method))), _vala_collection_object_unref0 (_tmp149_), _tmp150_);
 
1551
                _param_it = (_tmp152_ = vala_iterable_iterator ((ValaIterable*) (_tmp151_ = vala_method_get_parameters (method))), _vala_collection_object_unref0 (_tmp151_), _tmp152_);
1489
1552
                while (TRUE) {
1490
1553
                        ValaFormalParameter* param;
1491
 
                        char* _tmp151_;
1492
 
                        gboolean _tmp152_;
 
1554
                        char* _tmp153_;
 
1555
                        gboolean _tmp154_;
1493
1556
                        if (!vala_iterator_next (_param_it)) {
1494
1557
                                break;
1495
1558
                        }
1502
1565
                                _vala_code_node_unref0 (param);
1503
1566
                                continue;
1504
1567
                        }
1505
 
                        if ((_tmp152_ = g_str_has_prefix (_tmp151_ = vala_dbus_module_get_type_signature (vala_formal_parameter_get_parameter_type (param)), "("), _g_free0 (_tmp151_), _tmp152_)) {
 
1568
                        if ((_tmp154_ = g_str_has_prefix (_tmp153_ = vala_dbus_module_get_type_signature (vala_formal_parameter_get_parameter_type (param)), "("), _g_free0 (_tmp153_), _tmp154_)) {
1506
1569
                                ValaStruct* st;
1507
1570
                                ValaCCodeDeclaration* _cdecl_;
1508
 
                                ValaCCodeVariableDeclarator* _tmp154_;
1509
 
                                char* _tmp153_;
 
1571
                                ValaCCodeVariableDeclarator* _tmp156_;
 
1572
                                char* _tmp155_;
1510
1573
                                gint i;
1511
 
                                ValaCCodeExpression* _tmp172_;
1512
 
                                ValaCCodeUnaryExpression* _tmp175_;
1513
 
                                ValaCCodeIdentifier* _tmp174_;
1514
 
                                char* _tmp173_;
 
1574
                                ValaCCodeExpression* _tmp174_;
 
1575
                                ValaCCodeUnaryExpression* _tmp177_;
 
1576
                                ValaCCodeIdentifier* _tmp176_;
 
1577
                                char* _tmp175_;
1515
1578
                                st = _vala_code_node_ref0 (VALA_STRUCT (vala_data_type_get_data_type (vala_formal_parameter_get_parameter_type (param))));
1516
1579
                                _cdecl_ = vala_ccode_declaration_new ("GValueArray*");
1517
 
                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp154_ = vala_ccode_variable_declarator_new (_tmp153_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), NULL, NULL)));
1518
 
                                _vala_ccode_node_unref0 (_tmp154_);
1519
 
                                _g_free0 (_tmp153_);
 
1580
                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp156_ = vala_ccode_variable_declarator_new (_tmp155_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)), NULL, NULL)));
 
1581
                                _vala_ccode_node_unref0 (_tmp156_);
 
1582
                                _g_free0 (_tmp155_);
1520
1583
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1521
1584
                                i = 0;
1522
1585
                                {
1523
 
                                        ValaList* _tmp155_;
1524
 
                                        ValaIterator* _tmp156_;
 
1586
                                        ValaList* _tmp157_;
 
1587
                                        ValaIterator* _tmp158_;
1525
1588
                                        ValaIterator* _f_it;
1526
 
                                        _f_it = (_tmp156_ = vala_iterable_iterator ((ValaIterable*) (_tmp155_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp155_), _tmp156_);
 
1589
                                        _f_it = (_tmp158_ = vala_iterable_iterator ((ValaIterable*) (_tmp157_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp157_), _tmp158_);
1527
1590
                                        while (TRUE) {
1528
1591
                                                ValaField* f;
1529
 
                                                ValaCCodeIdentifier* _tmp158_;
1530
 
                                                char* _tmp157_;
1531
 
                                                ValaCCodeFunctionCall* _tmp159_;
 
1592
                                                ValaCCodeIdentifier* _tmp160_;
 
1593
                                                char* _tmp159_;
 
1594
                                                ValaCCodeFunctionCall* _tmp161_;
1532
1595
                                                ValaCCodeFunctionCall* cget_call;
1533
 
                                                ValaCCodeUnaryExpression* _tmp166_;
1534
 
                                                ValaCCodeElementAccess* _tmp165_;
1535
 
                                                ValaCCodeConstant* _tmp164_;
1536
 
                                                char* _tmp163_;
1537
 
                                                ValaCCodeMemberAccess* _tmp162_;
1538
 
                                                ValaCCodeIdentifier* _tmp161_;
1539
 
                                                char* _tmp160_;
 
1596
                                                ValaCCodeUnaryExpression* _tmp168_;
 
1597
                                                ValaCCodeElementAccess* _tmp167_;
 
1598
                                                ValaCCodeConstant* _tmp166_;
 
1599
                                                char* _tmp165_;
 
1600
                                                ValaCCodeMemberAccess* _tmp164_;
 
1601
                                                ValaCCodeIdentifier* _tmp163_;
 
1602
                                                char* _tmp162_;
1540
1603
                                                ValaCCodeFunctionCall* converted_value;
1541
 
                                                ValaCCodeMemberAccess* _tmp169_;
1542
 
                                                ValaCCodeIdentifier* _tmp168_;
1543
 
                                                ValaCCodeAssignment* _tmp170_;
 
1604
                                                ValaCCodeMemberAccess* _tmp171_;
 
1605
                                                ValaCCodeIdentifier* _tmp170_;
 
1606
                                                ValaCCodeAssignment* _tmp172_;
1544
1607
                                                ValaCCodeAssignment* assign;
1545
 
                                                ValaCCodeExpressionStatement* _tmp171_;
 
1608
                                                ValaCCodeExpressionStatement* _tmp173_;
1546
1609
                                                if (!vala_iterator_next (_f_it)) {
1547
1610
                                                        break;
1548
1611
                                                }
1551
1614
                                                        _vala_code_node_unref0 (f);
1552
1615
                                                        continue;
1553
1616
                                                }
1554
 
                                                cget_call = (_tmp159_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp158_ = vala_ccode_identifier_new (_tmp157_ = vala_typesymbol_get_get_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp158_), _g_free0 (_tmp157_), _tmp159_);
1555
 
                                                vala_ccode_function_call_add_argument (cget_call, (ValaCCodeExpression*) (_tmp166_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp165_ = vala_ccode_element_access_new ((ValaCCodeExpression*) (_tmp162_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp161_ = vala_ccode_identifier_new (_tmp160_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "values")), (ValaCCodeExpression*) (_tmp164_ = vala_ccode_constant_new (_tmp163_ = g_strdup_printf ("%i", i))))))));
 
1617
                                                cget_call = (_tmp161_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp160_ = vala_ccode_identifier_new (_tmp159_ = vala_typesymbol_get_get_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp160_), _g_free0 (_tmp159_), _tmp161_);
 
1618
                                                vala_ccode_function_call_add_argument (cget_call, (ValaCCodeExpression*) (_tmp168_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp167_ = vala_ccode_element_access_new ((ValaCCodeExpression*) (_tmp164_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp163_ = vala_ccode_identifier_new (_tmp162_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))), "values")), (ValaCCodeExpression*) (_tmp166_ = vala_ccode_constant_new (_tmp165_ = g_strdup_printf ("%i", i))))))));
 
1619
                                                _vala_ccode_node_unref0 (_tmp168_);
 
1620
                                                _vala_ccode_node_unref0 (_tmp167_);
1556
1621
                                                _vala_ccode_node_unref0 (_tmp166_);
1557
 
                                                _vala_ccode_node_unref0 (_tmp165_);
 
1622
                                                _g_free0 (_tmp165_);
1558
1623
                                                _vala_ccode_node_unref0 (_tmp164_);
1559
 
                                                _g_free0 (_tmp163_);
1560
 
                                                _vala_ccode_node_unref0 (_tmp162_);
1561
 
                                                _vala_ccode_node_unref0 (_tmp161_);
1562
 
                                                _g_free0 (_tmp160_);
 
1624
                                                _vala_ccode_node_unref0 (_tmp163_);
 
1625
                                                _g_free0 (_tmp162_);
1563
1626
                                                converted_value = _vala_ccode_node_ref0 (cget_call);
1564
1627
                                                if (vala_ccode_base_module_requires_copy ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f))) {
1565
1628
                                                        ValaCCodeExpression* dupexpr;
1566
 
                                                        ValaCCodeFunctionCall* _tmp167_;
 
1629
                                                        ValaCCodeFunctionCall* _tmp169_;
1567
1630
                                                        dupexpr = vala_ccode_base_module_get_dup_func_expression ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f), vala_code_node_get_source_reference ((ValaCodeNode*) expr), FALSE);
1568
 
                                                        converted_value = (_tmp167_ = vala_ccode_function_call_new (dupexpr), _vala_ccode_node_unref0 (converted_value), _tmp167_);
 
1631
                                                        converted_value = (_tmp169_ = vala_ccode_function_call_new (dupexpr), _vala_ccode_node_unref0 (converted_value), _tmp169_);
1569
1632
                                                        vala_ccode_function_call_add_argument (converted_value, (ValaCCodeExpression*) cget_call);
1570
1633
                                                        _vala_ccode_node_unref0 (dupexpr);
1571
1634
                                                }
1572
 
                                                assign = (_tmp170_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp169_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp168_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), vala_symbol_get_name ((ValaSymbol*) f))), (ValaCCodeExpression*) converted_value, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp169_), _vala_ccode_node_unref0 (_tmp168_), _tmp170_);
1573
 
                                                vala_ccode_fragment_append (out_marshalling_fragment, (ValaCCodeNode*) (_tmp171_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
1574
 
                                                _vala_ccode_node_unref0 (_tmp171_);
 
1635
                                                assign = (_tmp172_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp171_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp170_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), vala_symbol_get_name ((ValaSymbol*) f))), (ValaCCodeExpression*) converted_value, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp171_), _vala_ccode_node_unref0 (_tmp170_), _tmp172_);
 
1636
                                                vala_ccode_fragment_append (out_marshalling_fragment, (ValaCCodeNode*) (_tmp173_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
 
1637
                                                _vala_ccode_node_unref0 (_tmp173_);
1575
1638
                                                i++;
1576
1639
                                                _vala_code_node_unref0 (f);
1577
1640
                                                _vala_ccode_node_unref0 (cget_call);
1580
1643
                                        }
1581
1644
                                        _vala_collection_object_unref0 (_f_it);
1582
1645
                                }
1583
 
                                vala_ccode_function_call_add_argument (ccall, _tmp172_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1584
 
                                _vala_ccode_node_unref0 (_tmp172_);
1585
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp175_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp174_ = vala_ccode_identifier_new (_tmp173_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))))));
1586
 
                                _vala_ccode_node_unref0 (_tmp175_);
 
1646
                                vala_ccode_function_call_add_argument (ccall, _tmp174_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
1587
1647
                                _vala_ccode_node_unref0 (_tmp174_);
1588
 
                                _g_free0 (_tmp173_);
1589
 
                                _vala_code_node_unref0 (st);
1590
 
                                _vala_ccode_node_unref0 (_cdecl_);
1591
 
                        } else {
1592
 
                                ValaCCodeExpression* _tmp176_;
1593
 
                                ValaCCodeIdentifier* _tmp177_;
1594
 
                                vala_ccode_function_call_add_argument (ccall, _tmp176_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
 
1648
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp177_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp176_ = vala_ccode_identifier_new (_tmp175_ = g_strdup_printf ("dbus_%s", vala_symbol_get_name ((ValaSymbol*) param)))))));
 
1649
                                _vala_ccode_node_unref0 (_tmp177_);
1595
1650
                                _vala_ccode_node_unref0 (_tmp176_);
1596
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp177_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
1597
 
                                _vala_ccode_node_unref0 (_tmp177_);
 
1651
                                _g_free0 (_tmp175_);
 
1652
                                _vala_code_node_unref0 (st);
 
1653
                                _vala_ccode_node_unref0 (_cdecl_);
 
1654
                        } else {
 
1655
                                ValaCCodeExpression* _tmp178_;
 
1656
                                ValaCCodeIdentifier* _tmp179_;
 
1657
                                vala_ccode_function_call_add_argument (ccall, _tmp178_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_formal_parameter_get_parameter_type (param)));
 
1658
                                _vala_ccode_node_unref0 (_tmp178_);
 
1659
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp179_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))));
 
1660
                                _vala_ccode_node_unref0 (_tmp179_);
1598
1661
                        }
1599
1662
                        _vala_code_node_unref0 (param);
1600
1663
                }
1601
1664
                _vala_collection_object_unref0 (_param_it);
1602
1665
        }
1603
1666
        if (!VALA_IS_VOID_TYPE (vala_method_get_return_type (method))) {
1604
 
                ValaCCodeExpression* _tmp178_;
1605
 
                ValaDataType* _tmp179_;
 
1667
                ValaCCodeExpression* _tmp180_;
 
1668
                ValaDataType* _tmp181_;
1606
1669
                ValaArrayType* array_type;
1607
 
                gboolean _tmp180_ = FALSE;
1608
 
                vala_ccode_function_call_add_argument (ccall, _tmp178_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_method_get_return_type (method)));
1609
 
                _vala_ccode_node_unref0 (_tmp178_);
1610
 
                array_type = _vala_code_node_ref0 ((_tmp179_ = vala_method_get_return_type (method), VALA_IS_ARRAY_TYPE (_tmp179_) ? ((ValaArrayType*) _tmp179_) : NULL));
 
1670
                gboolean _tmp182_ = FALSE;
 
1671
                vala_ccode_function_call_add_argument (ccall, _tmp180_ = vala_gsignal_module_get_dbus_g_type ((ValaGSignalModule*) self, vala_method_get_return_type (method)));
 
1672
                _vala_ccode_node_unref0 (_tmp180_);
 
1673
                array_type = _vala_code_node_ref0 ((_tmp181_ = vala_method_get_return_type (method), VALA_IS_ARRAY_TYPE (_tmp181_) ? ((ValaArrayType*) _tmp181_) : NULL));
1611
1674
                if (array_type != NULL) {
1612
 
                        _tmp180_ = vala_data_type_get_data_type (vala_array_type_get_element_type (array_type)) != vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
 
1675
                        _tmp182_ = vala_data_type_get_data_type (vala_array_type_get_element_type (array_type)) != vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
1613
1676
                } else {
1614
 
                        _tmp180_ = FALSE;
 
1677
                        _tmp182_ = FALSE;
1615
1678
                }
1616
 
                if (_tmp180_) {
 
1679
                if (_tmp182_) {
1617
1680
                        ValaCCodeDeclaration* _cdecl_;
1618
 
                        ValaCCodeVariableDeclarator* _tmp183_;
1619
 
                        ValaCCodeUnaryExpression* _tmp185_;
1620
 
                        ValaCCodeIdentifier* _tmp184_;
 
1681
                        ValaCCodeVariableDeclarator* _tmp185_;
 
1682
                        ValaCCodeUnaryExpression* _tmp187_;
1621
1683
                        ValaCCodeIdentifier* _tmp186_;
1622
 
                        ValaCCodeExpressionStatement* _tmp187_;
 
1684
                        ValaCCodeIdentifier* _tmp188_;
 
1685
                        ValaCCodeExpressionStatement* _tmp189_;
1623
1686
                        ValaCCodeBlock* creturnblock;
1624
 
                        ValaCCodeReturnStatement* _tmp189_;
1625
 
                        ValaCCodeExpression* _tmp188_;
1626
 
                        ValaCCodeUnaryExpression* _tmp191_;
1627
 
                        ValaCCodeIdentifier* _tmp190_;
1628
 
                        ValaCCodeIfStatement* _tmp192_;
 
1687
                        ValaCCodeReturnStatement* _tmp191_;
 
1688
                        ValaCCodeExpression* _tmp190_;
 
1689
                        ValaCCodeUnaryExpression* _tmp193_;
 
1690
                        ValaCCodeIdentifier* _tmp192_;
 
1691
                        ValaCCodeIfStatement* _tmp194_;
1629
1692
                        ValaCCodeIfStatement* cerrorif;
1630
 
                        ValaCCodeIdentifier* _tmp193_;
1631
 
                        ValaCCodeMemberAccess* _tmp194_;
 
1693
                        ValaCCodeIdentifier* _tmp195_;
 
1694
                        ValaCCodeMemberAccess* _tmp196_;
1632
1695
                        ValaCCodeMemberAccess* garray_length;
1633
 
                        ValaCCodeIdentifier* _tmp195_;
1634
 
                        ValaCCodeUnaryExpression* _tmp196_;
 
1696
                        ValaCCodeIdentifier* _tmp197_;
 
1697
                        ValaCCodeUnaryExpression* _tmp198_;
1635
1698
                        ValaCCodeUnaryExpression* result_length;
1636
1699
                        ValaCCodeAssignment* assign;
1637
 
                        ValaCCodeExpressionStatement* _tmp197_;
1638
 
                        const char* _tmp198_;
1639
 
                        ValaCCodeReturnStatement* _tmp203_;
1640
 
                        ValaCCodeCastExpression* _tmp202_;
1641
 
                        char* _tmp201_;
1642
 
                        ValaCCodeMemberAccess* _tmp200_;
1643
 
                        ValaCCodeIdentifier* _tmp199_;
 
1700
                        ValaCCodeExpressionStatement* _tmp199_;
 
1701
                        const char* _tmp200_;
 
1702
                        ValaCCodeReturnStatement* _tmp205_;
 
1703
                        ValaCCodeCastExpression* _tmp204_;
 
1704
                        char* _tmp203_;
 
1705
                        ValaCCodeMemberAccess* _tmp202_;
 
1706
                        ValaCCodeIdentifier* _tmp201_;
1644
1707
                        _cdecl_ = NULL;
1645
1708
                        if (vala_dbus_client_module_dbus_use_ptr_array (self, array_type)) {
1646
 
                                ValaCCodeDeclaration* _tmp181_;
1647
 
                                _cdecl_ = (_tmp181_ = vala_ccode_declaration_new ("GPtrArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp181_);
 
1709
                                ValaCCodeDeclaration* _tmp183_;
 
1710
                                _cdecl_ = (_tmp183_ = vala_ccode_declaration_new ("GPtrArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp183_);
1648
1711
                        } else {
1649
 
                                ValaCCodeDeclaration* _tmp182_;
1650
 
                                _cdecl_ = (_tmp182_ = vala_ccode_declaration_new ("GArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp182_);
 
1712
                                ValaCCodeDeclaration* _tmp184_;
 
1713
                                _cdecl_ = (_tmp184_ = vala_ccode_declaration_new ("GArray*"), _vala_ccode_node_unref0 (_cdecl_), _tmp184_);
1651
1714
                        }
1652
 
                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp183_ = vala_ccode_variable_declarator_new ("result", NULL, NULL)));
1653
 
                        _vala_ccode_node_unref0 (_tmp183_);
 
1715
                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp185_ = vala_ccode_variable_declarator_new ("result", NULL, NULL)));
 
1716
                        _vala_ccode_node_unref0 (_tmp185_);
1654
1717
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1655
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp185_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp184_ = vala_ccode_identifier_new ("result")))));
1656
 
                        _vala_ccode_node_unref0 (_tmp185_);
1657
 
                        _vala_ccode_node_unref0 (_tmp184_);
1658
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp186_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1718
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp187_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp186_ = vala_ccode_identifier_new ("result")))));
 
1719
                        _vala_ccode_node_unref0 (_tmp187_);
1659
1720
                        _vala_ccode_node_unref0 (_tmp186_);
1660
 
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp187_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
1661
 
                        _vala_ccode_node_unref0 (_tmp187_);
 
1721
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp188_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1722
                        _vala_ccode_node_unref0 (_tmp188_);
 
1723
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp189_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
1724
                        _vala_ccode_node_unref0 (_tmp189_);
1662
1725
                        creturnblock = vala_ccode_block_new ();
1663
 
                        vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp189_ = vala_ccode_return_statement_new (_tmp188_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (method), FALSE))));
1664
 
                        _vala_ccode_node_unref0 (_tmp189_);
1665
 
                        _vala_ccode_node_unref0 (_tmp188_);
1666
 
                        cerrorif = (_tmp192_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp191_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp190_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp191_), _vala_ccode_node_unref0 (_tmp190_), _tmp192_);
 
1726
                        vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp191_ = vala_ccode_return_statement_new (_tmp190_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (method), FALSE))));
 
1727
                        _vala_ccode_node_unref0 (_tmp191_);
 
1728
                        _vala_ccode_node_unref0 (_tmp190_);
 
1729
                        cerrorif = (_tmp194_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp193_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp192_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp193_), _vala_ccode_node_unref0 (_tmp192_), _tmp194_);
1667
1730
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) cerrorif);
1668
1731
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) out_marshalling_fragment);
1669
 
                        garray_length = (_tmp194_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp193_ = vala_ccode_identifier_new ("result")), "len"), _vala_ccode_node_unref0 (_tmp193_), _tmp194_);
1670
 
                        result_length = (_tmp196_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp195_ = vala_ccode_identifier_new ("result_length1"))), _vala_ccode_node_unref0 (_tmp195_), _tmp196_);
 
1732
                        garray_length = (_tmp196_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp195_ = vala_ccode_identifier_new ("result")), "len"), _vala_ccode_node_unref0 (_tmp195_), _tmp196_);
 
1733
                        result_length = (_tmp198_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp197_ = vala_ccode_identifier_new ("result_length1"))), _vala_ccode_node_unref0 (_tmp197_), _tmp198_);
1671
1734
                        assign = vala_ccode_assignment_new ((ValaCCodeExpression*) result_length, (ValaCCodeExpression*) garray_length, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1672
 
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp197_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
1673
 
                        _vala_ccode_node_unref0 (_tmp197_);
1674
 
                        _tmp198_ = NULL;
 
1735
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp199_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
 
1736
                        _vala_ccode_node_unref0 (_tmp199_);
 
1737
                        _tmp200_ = NULL;
1675
1738
                        if (vala_dbus_client_module_dbus_use_ptr_array (self, array_type)) {
1676
 
                                _tmp198_ = "pdata";
 
1739
                                _tmp200_ = "pdata";
1677
1740
                        } else {
1678
 
                                _tmp198_ = "data";
 
1741
                                _tmp200_ = "data";
1679
1742
                        }
1680
 
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp203_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp202_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp200_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp199_ = vala_ccode_identifier_new ("result")), _tmp198_)), _tmp201_ = vala_data_type_get_cname (vala_method_get_return_type (method)))))));
1681
 
                        _vala_ccode_node_unref0 (_tmp203_);
 
1743
                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp205_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp204_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp202_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp201_ = vala_ccode_identifier_new ("result")), _tmp200_)), _tmp203_ = vala_data_type_get_cname (vala_method_get_return_type (method)))))));
 
1744
                        _vala_ccode_node_unref0 (_tmp205_);
 
1745
                        _vala_ccode_node_unref0 (_tmp204_);
 
1746
                        _g_free0 (_tmp203_);
1682
1747
                        _vala_ccode_node_unref0 (_tmp202_);
1683
 
                        _g_free0 (_tmp201_);
1684
 
                        _vala_ccode_node_unref0 (_tmp200_);
1685
 
                        _vala_ccode_node_unref0 (_tmp199_);
 
1748
                        _vala_ccode_node_unref0 (_tmp201_);
1686
1749
                        _vala_ccode_node_unref0 (_cdecl_);
1687
1750
                        _vala_ccode_node_unref0 (creturnblock);
1688
1751
                        _vala_ccode_node_unref0 (cerrorif);
1692
1755
                } else {
1693
1756
                        if (vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (method))) {
1694
1757
                                ValaStruct* st;
1695
 
                                ValaCCodeDeclaration* _cdecl_;
1696
 
                                ValaCCodeVariableDeclarator* _tmp204_;
1697
 
                                gint i;
1698
 
                                ValaCCodeUnaryExpression* _tmp222_;
1699
 
                                ValaCCodeIdentifier* _tmp221_;
1700
 
                                ValaCCodeIdentifier* _tmp223_;
1701
 
                                ValaCCodeExpressionStatement* _tmp224_;
 
1758
                                char* _tmp206_;
 
1759
                                gboolean _tmp207_;
1702
1760
                                ValaCCodeBlock* creturnblock;
1703
 
                                ValaCCodeReturnStatement* _tmp225_;
1704
 
                                ValaCCodeUnaryExpression* _tmp227_;
1705
 
                                ValaCCodeIdentifier* _tmp226_;
1706
 
                                ValaCCodeIfStatement* _tmp228_;
 
1761
                                ValaCCodeReturnStatement* _tmp232_;
 
1762
                                ValaCCodeUnaryExpression* _tmp234_;
 
1763
                                ValaCCodeIdentifier* _tmp233_;
 
1764
                                ValaCCodeIfStatement* _tmp235_;
1707
1765
                                ValaCCodeIfStatement* cerrorif;
1708
1766
                                st = _vala_code_node_ref0 (VALA_STRUCT (vala_data_type_get_data_type (vala_method_get_return_type (method))));
1709
 
                                _cdecl_ = vala_ccode_declaration_new ("GValueArray*");
1710
 
                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp204_ = vala_ccode_variable_declarator_new ("dbus_result", NULL, NULL)));
1711
 
                                _vala_ccode_node_unref0 (_tmp204_);
1712
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1713
 
                                i = 0;
1714
 
                                {
1715
 
                                        ValaList* _tmp205_;
1716
 
                                        ValaIterator* _tmp206_;
1717
 
                                        ValaIterator* _f_it;
1718
 
                                        _f_it = (_tmp206_ = vala_iterable_iterator ((ValaIterable*) (_tmp205_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp205_), _tmp206_);
1719
 
                                        while (TRUE) {
1720
 
                                                ValaField* f;
1721
 
                                                ValaCCodeIdentifier* _tmp208_;
1722
 
                                                char* _tmp207_;
1723
 
                                                ValaCCodeFunctionCall* _tmp209_;
1724
 
                                                ValaCCodeFunctionCall* cget_call;
1725
 
                                                ValaCCodeUnaryExpression* _tmp215_;
1726
 
                                                ValaCCodeElementAccess* _tmp214_;
1727
 
                                                ValaCCodeConstant* _tmp213_;
1728
 
                                                char* _tmp212_;
1729
 
                                                ValaCCodeMemberAccess* _tmp211_;
1730
 
                                                ValaCCodeIdentifier* _tmp210_;
1731
 
                                                ValaCCodeFunctionCall* converted_value;
1732
 
                                                ValaCCodeMemberAccess* _tmp218_;
1733
 
                                                ValaCCodeIdentifier* _tmp217_;
1734
 
                                                ValaCCodeAssignment* _tmp219_;
1735
 
                                                ValaCCodeAssignment* assign;
1736
 
                                                ValaCCodeExpressionStatement* _tmp220_;
1737
 
                                                if (!vala_iterator_next (_f_it)) {
1738
 
                                                        break;
1739
 
                                                }
1740
 
                                                f = (ValaField*) vala_iterator_get (_f_it);
1741
 
                                                if (vala_field_get_binding (f) != MEMBER_BINDING_INSTANCE) {
1742
 
                                                        _vala_code_node_unref0 (f);
1743
 
                                                        continue;
1744
 
                                                }
1745
 
                                                cget_call = (_tmp209_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp208_ = vala_ccode_identifier_new (_tmp207_ = vala_typesymbol_get_get_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp208_), _g_free0 (_tmp207_), _tmp209_);
1746
 
                                                vala_ccode_function_call_add_argument (cget_call, (ValaCCodeExpression*) (_tmp215_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp214_ = vala_ccode_element_access_new ((ValaCCodeExpression*) (_tmp211_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp210_ = vala_ccode_identifier_new ("dbus_result")), "values")), (ValaCCodeExpression*) (_tmp213_ = vala_ccode_constant_new (_tmp212_ = g_strdup_printf ("%i", i))))))));
1747
 
                                                _vala_ccode_node_unref0 (_tmp215_);
1748
 
                                                _vala_ccode_node_unref0 (_tmp214_);
1749
 
                                                _vala_ccode_node_unref0 (_tmp213_);
1750
 
                                                _g_free0 (_tmp212_);
1751
 
                                                _vala_ccode_node_unref0 (_tmp211_);
1752
 
                                                _vala_ccode_node_unref0 (_tmp210_);
1753
 
                                                converted_value = _vala_ccode_node_ref0 (cget_call);
1754
 
                                                if (vala_ccode_base_module_requires_copy ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f))) {
1755
 
                                                        ValaCCodeExpression* dupexpr;
 
1767
                                if ((_tmp207_ = _vala_strcmp0 (_tmp206_ = vala_symbol_get_full_name ((ValaSymbol*) st), "GLib.Value") == 0, _g_free0 (_tmp206_), _tmp207_)) {
 
1768
                                        ValaCCodeIdentifier* _tmp208_;
 
1769
                                        ValaCCodeIdentifier* _tmp209_;
 
1770
                                        ValaCCodeExpressionStatement* _tmp210_;
 
1771
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp208_ = vala_ccode_identifier_new ("result")));
 
1772
                                        _vala_ccode_node_unref0 (_tmp208_);
 
1773
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp209_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1774
                                        _vala_ccode_node_unref0 (_tmp209_);
 
1775
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp210_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
1776
                                        _vala_ccode_node_unref0 (_tmp210_);
 
1777
                                } else {
 
1778
                                        ValaCCodeDeclaration* _cdecl_;
 
1779
                                        ValaCCodeVariableDeclarator* _tmp211_;
 
1780
                                        gint i;
 
1781
                                        ValaCCodeUnaryExpression* _tmp229_;
 
1782
                                        ValaCCodeIdentifier* _tmp228_;
 
1783
                                        ValaCCodeIdentifier* _tmp230_;
 
1784
                                        ValaCCodeExpressionStatement* _tmp231_;
 
1785
                                        _cdecl_ = vala_ccode_declaration_new ("GValueArray*");
 
1786
                                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp211_ = vala_ccode_variable_declarator_new ("dbus_result", NULL, NULL)));
 
1787
                                        _vala_ccode_node_unref0 (_tmp211_);
 
1788
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
1789
                                        i = 0;
 
1790
                                        {
 
1791
                                                ValaList* _tmp212_;
 
1792
                                                ValaIterator* _tmp213_;
 
1793
                                                ValaIterator* _f_it;
 
1794
                                                _f_it = (_tmp213_ = vala_iterable_iterator ((ValaIterable*) (_tmp212_ = vala_struct_get_fields (st))), _vala_collection_object_unref0 (_tmp212_), _tmp213_);
 
1795
                                                while (TRUE) {
 
1796
                                                        ValaField* f;
 
1797
                                                        ValaCCodeIdentifier* _tmp215_;
 
1798
                                                        char* _tmp214_;
1756
1799
                                                        ValaCCodeFunctionCall* _tmp216_;
1757
 
                                                        dupexpr = vala_ccode_base_module_get_dup_func_expression ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f), vala_code_node_get_source_reference ((ValaCodeNode*) expr), FALSE);
1758
 
                                                        converted_value = (_tmp216_ = vala_ccode_function_call_new (dupexpr), _vala_ccode_node_unref0 (converted_value), _tmp216_);
1759
 
                                                        vala_ccode_function_call_add_argument (converted_value, (ValaCCodeExpression*) cget_call);
1760
 
                                                        _vala_ccode_node_unref0 (dupexpr);
 
1800
                                                        ValaCCodeFunctionCall* cget_call;
 
1801
                                                        ValaCCodeUnaryExpression* _tmp222_;
 
1802
                                                        ValaCCodeElementAccess* _tmp221_;
 
1803
                                                        ValaCCodeConstant* _tmp220_;
 
1804
                                                        char* _tmp219_;
 
1805
                                                        ValaCCodeMemberAccess* _tmp218_;
 
1806
                                                        ValaCCodeIdentifier* _tmp217_;
 
1807
                                                        ValaCCodeFunctionCall* converted_value;
 
1808
                                                        ValaCCodeMemberAccess* _tmp225_;
 
1809
                                                        ValaCCodeIdentifier* _tmp224_;
 
1810
                                                        ValaCCodeAssignment* _tmp226_;
 
1811
                                                        ValaCCodeAssignment* assign;
 
1812
                                                        ValaCCodeExpressionStatement* _tmp227_;
 
1813
                                                        if (!vala_iterator_next (_f_it)) {
 
1814
                                                                break;
 
1815
                                                        }
 
1816
                                                        f = (ValaField*) vala_iterator_get (_f_it);
 
1817
                                                        if (vala_field_get_binding (f) != MEMBER_BINDING_INSTANCE) {
 
1818
                                                                _vala_code_node_unref0 (f);
 
1819
                                                                continue;
 
1820
                                                        }
 
1821
                                                        cget_call = (_tmp216_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp215_ = vala_ccode_identifier_new (_tmp214_ = vala_typesymbol_get_get_value_function (vala_data_type_get_data_type (vala_field_get_field_type (f)))))), _vala_ccode_node_unref0 (_tmp215_), _g_free0 (_tmp214_), _tmp216_);
 
1822
                                                        vala_ccode_function_call_add_argument (cget_call, (ValaCCodeExpression*) (_tmp222_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp221_ = vala_ccode_element_access_new ((ValaCCodeExpression*) (_tmp218_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp217_ = vala_ccode_identifier_new ("dbus_result")), "values")), (ValaCCodeExpression*) (_tmp220_ = vala_ccode_constant_new (_tmp219_ = g_strdup_printf ("%i", i))))))));
 
1823
                                                        _vala_ccode_node_unref0 (_tmp222_);
 
1824
                                                        _vala_ccode_node_unref0 (_tmp221_);
 
1825
                                                        _vala_ccode_node_unref0 (_tmp220_);
 
1826
                                                        _g_free0 (_tmp219_);
 
1827
                                                        _vala_ccode_node_unref0 (_tmp218_);
 
1828
                                                        _vala_ccode_node_unref0 (_tmp217_);
 
1829
                                                        converted_value = _vala_ccode_node_ref0 (cget_call);
 
1830
                                                        if (vala_ccode_base_module_requires_copy ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f))) {
 
1831
                                                                ValaCCodeExpression* dupexpr;
 
1832
                                                                ValaCCodeFunctionCall* _tmp223_;
 
1833
                                                                dupexpr = vala_ccode_base_module_get_dup_func_expression ((ValaCCodeBaseModule*) self, vala_field_get_field_type (f), vala_code_node_get_source_reference ((ValaCodeNode*) expr), FALSE);
 
1834
                                                                converted_value = (_tmp223_ = vala_ccode_function_call_new (dupexpr), _vala_ccode_node_unref0 (converted_value), _tmp223_);
 
1835
                                                                vala_ccode_function_call_add_argument (converted_value, (ValaCCodeExpression*) cget_call);
 
1836
                                                                _vala_ccode_node_unref0 (dupexpr);
 
1837
                                                        }
 
1838
                                                        assign = (_tmp226_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp225_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp224_ = vala_ccode_identifier_new ("result")), vala_symbol_get_name ((ValaSymbol*) f))), (ValaCCodeExpression*) converted_value, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp225_), _vala_ccode_node_unref0 (_tmp224_), _tmp226_);
 
1839
                                                        vala_ccode_fragment_append (out_marshalling_fragment, (ValaCCodeNode*) (_tmp227_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
 
1840
                                                        _vala_ccode_node_unref0 (_tmp227_);
 
1841
                                                        i++;
 
1842
                                                        _vala_code_node_unref0 (f);
 
1843
                                                        _vala_ccode_node_unref0 (cget_call);
 
1844
                                                        _vala_ccode_node_unref0 (converted_value);
 
1845
                                                        _vala_ccode_node_unref0 (assign);
1761
1846
                                                }
1762
 
                                                assign = (_tmp219_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp218_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp217_ = vala_ccode_identifier_new ("result")), vala_symbol_get_name ((ValaSymbol*) f))), (ValaCCodeExpression*) converted_value, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE), _vala_ccode_node_unref0 (_tmp218_), _vala_ccode_node_unref0 (_tmp217_), _tmp219_);
1763
 
                                                vala_ccode_fragment_append (out_marshalling_fragment, (ValaCCodeNode*) (_tmp220_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
1764
 
                                                _vala_ccode_node_unref0 (_tmp220_);
1765
 
                                                i++;
1766
 
                                                _vala_code_node_unref0 (f);
1767
 
                                                _vala_ccode_node_unref0 (cget_call);
1768
 
                                                _vala_ccode_node_unref0 (converted_value);
1769
 
                                                _vala_ccode_node_unref0 (assign);
 
1847
                                                _vala_collection_object_unref0 (_f_it);
1770
1848
                                        }
1771
 
                                        _vala_collection_object_unref0 (_f_it);
 
1849
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp229_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp228_ = vala_ccode_identifier_new ("dbus_result")))));
 
1850
                                        _vala_ccode_node_unref0 (_tmp229_);
 
1851
                                        _vala_ccode_node_unref0 (_tmp228_);
 
1852
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp230_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1853
                                        _vala_ccode_node_unref0 (_tmp230_);
 
1854
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp231_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
1855
                                        _vala_ccode_node_unref0 (_tmp231_);
 
1856
                                        _vala_ccode_node_unref0 (_cdecl_);
1772
1857
                                }
1773
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp222_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp221_ = vala_ccode_identifier_new ("dbus_result")))));
1774
 
                                _vala_ccode_node_unref0 (_tmp222_);
1775
 
                                _vala_ccode_node_unref0 (_tmp221_);
1776
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp223_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1777
 
                                _vala_ccode_node_unref0 (_tmp223_);
1778
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp224_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
1779
 
                                _vala_ccode_node_unref0 (_tmp224_);
1780
1858
                                creturnblock = vala_ccode_block_new ();
1781
 
                                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp225_ = vala_ccode_return_statement_new (NULL)));
1782
 
                                _vala_ccode_node_unref0 (_tmp225_);
1783
 
                                cerrorif = (_tmp228_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp227_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp226_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp227_), _vala_ccode_node_unref0 (_tmp226_), _tmp228_);
1784
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) cerrorif);
1785
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) out_marshalling_fragment);
1786
 
                                _vala_code_node_unref0 (st);
1787
 
                                _vala_ccode_node_unref0 (_cdecl_);
1788
 
                                _vala_ccode_node_unref0 (creturnblock);
1789
 
                                _vala_ccode_node_unref0 (cerrorif);
1790
 
                        } else {
1791
 
                                char* _tmp229_;
1792
 
                                ValaCCodeDeclaration* _tmp230_;
1793
 
                                ValaCCodeDeclaration* _cdecl_;
1794
 
                                ValaCCodeVariableDeclarator* _tmp231_;
1795
 
                                ValaCCodeUnaryExpression* _tmp233_;
1796
 
                                ValaCCodeIdentifier* _tmp232_;
1797
 
                                ValaCCodeIdentifier* _tmp234_;
1798
 
                                ValaCCodeExpressionStatement* _tmp235_;
1799
 
                                ValaCCodeBlock* creturnblock;
1800
 
                                ValaCCodeReturnStatement* _tmp237_;
1801
 
                                ValaCCodeExpression* _tmp236_;
1802
 
                                ValaCCodeUnaryExpression* _tmp239_;
1803
 
                                ValaCCodeIdentifier* _tmp238_;
1804
 
                                ValaCCodeIfStatement* _tmp240_;
1805
 
                                ValaCCodeIfStatement* cerrorif;
1806
 
                                ValaCCodeReturnStatement* _tmp248_;
1807
 
                                ValaCCodeIdentifier* _tmp247_;
1808
 
                                _cdecl_ = (_tmp230_ = vala_ccode_declaration_new (_tmp229_ = vala_data_type_get_cname (vala_method_get_return_type (method))), _g_free0 (_tmp229_), _tmp230_);
1809
 
                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp231_ = vala_ccode_variable_declarator_new ("result", NULL, NULL)));
1810
 
                                _vala_ccode_node_unref0 (_tmp231_);
1811
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
1812
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp233_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp232_ = vala_ccode_identifier_new ("result")))));
1813
 
                                _vala_ccode_node_unref0 (_tmp233_);
 
1859
                                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp232_ = vala_ccode_return_statement_new (NULL)));
1814
1860
                                _vala_ccode_node_unref0 (_tmp232_);
1815
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp234_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1816
 
                                _vala_ccode_node_unref0 (_tmp234_);
1817
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp235_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
1818
 
                                _vala_ccode_node_unref0 (_tmp235_);
 
1861
                                cerrorif = (_tmp235_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp234_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp233_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp234_), _vala_ccode_node_unref0 (_tmp233_), _tmp235_);
 
1862
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) cerrorif);
 
1863
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) out_marshalling_fragment);
 
1864
                                _vala_code_node_unref0 (st);
 
1865
                                _vala_ccode_node_unref0 (creturnblock);
 
1866
                                _vala_ccode_node_unref0 (cerrorif);
 
1867
                        } else {
 
1868
                                char* _tmp236_;
 
1869
                                ValaCCodeDeclaration* _tmp237_;
 
1870
                                ValaCCodeDeclaration* _cdecl_;
 
1871
                                ValaCCodeVariableDeclarator* _tmp238_;
 
1872
                                ValaCCodeUnaryExpression* _tmp240_;
 
1873
                                ValaCCodeIdentifier* _tmp239_;
 
1874
                                ValaCCodeIdentifier* _tmp241_;
 
1875
                                ValaCCodeExpressionStatement* _tmp242_;
 
1876
                                ValaCCodeBlock* creturnblock;
 
1877
                                ValaCCodeReturnStatement* _tmp244_;
 
1878
                                ValaCCodeExpression* _tmp243_;
 
1879
                                ValaCCodeUnaryExpression* _tmp246_;
 
1880
                                ValaCCodeIdentifier* _tmp245_;
 
1881
                                ValaCCodeIfStatement* _tmp247_;
 
1882
                                ValaCCodeIfStatement* cerrorif;
 
1883
                                ValaCCodeReturnStatement* _tmp255_;
 
1884
                                ValaCCodeIdentifier* _tmp254_;
 
1885
                                _cdecl_ = (_tmp237_ = vala_ccode_declaration_new (_tmp236_ = vala_data_type_get_cname (vala_method_get_return_type (method))), _g_free0 (_tmp236_), _tmp237_);
 
1886
                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp238_ = vala_ccode_variable_declarator_new ("result", NULL, NULL)));
 
1887
                                _vala_ccode_node_unref0 (_tmp238_);
 
1888
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
1889
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp240_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp239_ = vala_ccode_identifier_new ("result")))));
 
1890
                                _vala_ccode_node_unref0 (_tmp240_);
 
1891
                                _vala_ccode_node_unref0 (_tmp239_);
 
1892
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp241_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1893
                                _vala_ccode_node_unref0 (_tmp241_);
 
1894
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp242_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
1895
                                _vala_ccode_node_unref0 (_tmp242_);
1819
1896
                                creturnblock = vala_ccode_block_new ();
1820
 
                                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp237_ = vala_ccode_return_statement_new (_tmp236_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (method), FALSE))));
1821
 
                                _vala_ccode_node_unref0 (_tmp237_);
1822
 
                                _vala_ccode_node_unref0 (_tmp236_);
1823
 
                                cerrorif = (_tmp240_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp239_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp238_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp239_), _vala_ccode_node_unref0 (_tmp238_), _tmp240_);
 
1897
                                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp244_ = vala_ccode_return_statement_new (_tmp243_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (method), FALSE))));
 
1898
                                _vala_ccode_node_unref0 (_tmp244_);
 
1899
                                _vala_ccode_node_unref0 (_tmp243_);
 
1900
                                cerrorif = (_tmp247_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp246_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp245_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp246_), _vala_ccode_node_unref0 (_tmp245_), _tmp247_);
1824
1901
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) cerrorif);
1825
1902
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) out_marshalling_fragment);
1826
1903
                                if (array_type != NULL) {
1827
 
                                        ValaCCodeIdentifier* _tmp241_;
1828
 
                                        ValaCCodeFunctionCall* _tmp242_;
 
1904
                                        ValaCCodeIdentifier* _tmp248_;
 
1905
                                        ValaCCodeFunctionCall* _tmp249_;
1829
1906
                                        ValaCCodeFunctionCall* cstrvlen;
1830
 
                                        ValaCCodeIdentifier* _tmp243_;
1831
 
                                        ValaCCodeIdentifier* _tmp244_;
1832
 
                                        ValaCCodeUnaryExpression* _tmp245_;
 
1907
                                        ValaCCodeIdentifier* _tmp250_;
 
1908
                                        ValaCCodeIdentifier* _tmp251_;
 
1909
                                        ValaCCodeUnaryExpression* _tmp252_;
1833
1910
                                        ValaCCodeUnaryExpression* result_length;
1834
1911
                                        ValaCCodeAssignment* assign;
1835
 
                                        ValaCCodeExpressionStatement* _tmp246_;
1836
 
                                        cstrvlen = (_tmp242_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp241_ = vala_ccode_identifier_new ("g_strv_length"))), _vala_ccode_node_unref0 (_tmp241_), _tmp242_);
1837
 
                                        vala_ccode_function_call_add_argument (cstrvlen, (ValaCCodeExpression*) (_tmp243_ = vala_ccode_identifier_new ("result")));
1838
 
                                        _vala_ccode_node_unref0 (_tmp243_);
1839
 
                                        result_length = (_tmp245_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp244_ = vala_ccode_identifier_new ("result_length1"))), _vala_ccode_node_unref0 (_tmp244_), _tmp245_);
 
1912
                                        ValaCCodeExpressionStatement* _tmp253_;
 
1913
                                        cstrvlen = (_tmp249_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp248_ = vala_ccode_identifier_new ("g_strv_length"))), _vala_ccode_node_unref0 (_tmp248_), _tmp249_);
 
1914
                                        vala_ccode_function_call_add_argument (cstrvlen, (ValaCCodeExpression*) (_tmp250_ = vala_ccode_identifier_new ("result")));
 
1915
                                        _vala_ccode_node_unref0 (_tmp250_);
 
1916
                                        result_length = (_tmp252_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp251_ = vala_ccode_identifier_new ("result_length1"))), _vala_ccode_node_unref0 (_tmp251_), _tmp252_);
1840
1917
                                        assign = vala_ccode_assignment_new ((ValaCCodeExpression*) result_length, (ValaCCodeExpression*) cstrvlen, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1841
 
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp246_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
1842
 
                                        _vala_ccode_node_unref0 (_tmp246_);
 
1918
                                        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp253_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) assign)));
 
1919
                                        _vala_ccode_node_unref0 (_tmp253_);
1843
1920
                                        _vala_ccode_node_unref0 (cstrvlen);
1844
1921
                                        _vala_ccode_node_unref0 (result_length);
1845
1922
                                        _vala_ccode_node_unref0 (assign);
1846
1923
                                }
1847
 
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp248_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp247_ = vala_ccode_identifier_new ("result")))));
1848
 
                                _vala_ccode_node_unref0 (_tmp248_);
1849
 
                                _vala_ccode_node_unref0 (_tmp247_);
 
1924
                                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp255_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp254_ = vala_ccode_identifier_new ("result")))));
 
1925
                                _vala_ccode_node_unref0 (_tmp255_);
 
1926
                                _vala_ccode_node_unref0 (_tmp254_);
1850
1927
                                _vala_ccode_node_unref0 (_cdecl_);
1851
1928
                                _vala_ccode_node_unref0 (creturnblock);
1852
1929
                                _vala_ccode_node_unref0 (cerrorif);
1854
1931
                }
1855
1932
                _vala_code_node_unref0 (array_type);
1856
1933
        } else {
1857
 
                ValaCCodeIdentifier* _tmp249_;
1858
 
                ValaCCodeExpressionStatement* _tmp250_;
 
1934
                ValaCCodeIdentifier* _tmp256_;
 
1935
                ValaCCodeExpressionStatement* _tmp257_;
1859
1936
                ValaCCodeBlock* creturnblock;
1860
 
                ValaCCodeReturnStatement* _tmp251_;
1861
 
                ValaCCodeUnaryExpression* _tmp253_;
1862
 
                ValaCCodeIdentifier* _tmp252_;
1863
 
                ValaCCodeIfStatement* _tmp254_;
 
1937
                ValaCCodeReturnStatement* _tmp258_;
 
1938
                ValaCCodeUnaryExpression* _tmp260_;
 
1939
                ValaCCodeIdentifier* _tmp259_;
 
1940
                ValaCCodeIfStatement* _tmp261_;
1864
1941
                ValaCCodeIfStatement* cerrorif;
1865
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp249_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
1866
 
                _vala_ccode_node_unref0 (_tmp249_);
1867
 
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp250_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
1868
 
                _vala_ccode_node_unref0 (_tmp250_);
 
1942
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp256_ = vala_ccode_identifier_new ("G_TYPE_INVALID")));
 
1943
                _vala_ccode_node_unref0 (_tmp256_);
 
1944
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp257_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
1945
                _vala_ccode_node_unref0 (_tmp257_);
1869
1946
                creturnblock = vala_ccode_block_new ();
1870
 
                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp251_ = vala_ccode_return_statement_new (NULL)));
1871
 
                _vala_ccode_node_unref0 (_tmp251_);
1872
 
                cerrorif = (_tmp254_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp253_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp252_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp253_), _vala_ccode_node_unref0 (_tmp252_), _tmp254_);
 
1947
                vala_ccode_block_add_statement (creturnblock, (ValaCCodeNode*) (_tmp258_ = vala_ccode_return_statement_new (NULL)));
 
1948
                _vala_ccode_node_unref0 (_tmp258_);
 
1949
                cerrorif = (_tmp261_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp260_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp259_ = vala_ccode_identifier_new ("error")))), (ValaCCodeStatement*) creturnblock, NULL), _vala_ccode_node_unref0 (_tmp260_), _vala_ccode_node_unref0 (_tmp259_), _tmp261_);
1873
1950
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) cerrorif);
1874
1951
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) out_marshalling_fragment);
1875
1952
                _vala_ccode_node_unref0 (creturnblock);
1885
1962
 
1886
1963
static ValaCCodeExpression* vala_dbus_client_module_real_get_dbus_g_type (ValaGSignalModule* base, ValaDataType* data_type) {
1887
1964
        ValaDBusClientModule * self;
1888
 
        ValaCCodeExpression* result;
 
1965
        ValaCCodeExpression* result = NULL;
1889
1966
        self = (ValaDBusClientModule*) base;
1890
1967
        g_return_val_if_fail (data_type != NULL, NULL);
1891
1968
        if (VALA_IS_ARRAY_TYPE (data_type)) {
1933
2010
                } else {
1934
2011
                        if (vala_data_type_get_data_type (data_type) == NULL) {
1935
2012
                                char* _tmp6_;
1936
 
                                g_critical ("valadbusclientmodule.vala:528: Internal error during DBus type generation with: %s", _tmp6_ = vala_code_node_to_string ((ValaCodeNode*) data_type));
 
2013
                                g_critical ("valadbusclientmodule.vala:548: Internal error during DBus type generat" \
 
2014
"ion with: %s", _tmp6_ = vala_code_node_to_string ((ValaCodeNode*) data_type));
1937
2015
                                _g_free0 (_tmp6_);
1938
2016
                                result = (ValaCCodeExpression*) vala_ccode_identifier_new ("G_TYPE_NONE");
1939
2017
                                return result;
2024
2102
 
2025
2103
 
2026
2104
gboolean vala_dbus_client_module_dbus_use_ptr_array (ValaDBusClientModule* self, ValaArrayType* array_type) {
2027
 
        gboolean result;
 
2105
        gboolean result = FALSE;
2028
2106
        g_return_val_if_fail (self != NULL, FALSE);
2029
2107
        g_return_val_if_fail (array_type != NULL, FALSE);
2030
2108
        if (vala_data_type_get_data_type (vala_array_type_get_element_type (array_type)) == vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type)) {
2122
2200
 
2123
2201
static char* vala_dbus_client_module_real_get_dynamic_property_getter_cname (ValaCCodeModule* base, ValaDynamicProperty* prop) {
2124
2202
        ValaDBusClientModule * self;
2125
 
        char* result;
 
2203
        char* result = NULL;
2126
2204
        char* getter_cname;
2127
2205
        char* _tmp0_;
2128
2206
        gboolean _tmp1_;
2169
2247
 
2170
2248
static char* vala_dbus_client_module_real_get_dynamic_property_setter_cname (ValaCCodeModule* base, ValaDynamicProperty* prop) {
2171
2249
        ValaDBusClientModule * self;
2172
 
        char* result;
 
2250
        char* result = NULL;
2173
2251
        char* setter_cname;
2174
2252
        char* _tmp0_;
2175
2253
        gboolean _tmp1_;
2475
2553
 
2476
2554
static char* vala_dbus_client_module_real_get_dynamic_signal_connect_wrapper_name (ValaCCodeModule* base, ValaDynamicSignal* sig) {
2477
2555
        ValaDBusClientModule * self;
2478
 
        char* result;
 
2556
        char* result = NULL;
2479
2557
        char* _tmp0_;
2480
2558
        char* _tmp1_;
2481
2559
        char* connect_wrapper_name;
2517
2595
 
2518
2596
static char* vala_dbus_client_module_real_get_dynamic_signal_disconnect_wrapper_name (ValaCCodeModule* base, ValaDynamicSignal* sig) {
2519
2597
        ValaDBusClientModule * self;
2520
 
        char* result;
 
2598
        char* result = NULL;
2521
2599
        char* _tmp0_;
2522
2600
        char* _tmp1_;
2523
2601
        char* disconnect_wrapper_name;
2937
3015
 
2938
3016
 
2939
3017
static char* vala_dbus_client_module_implement_interface (ValaDBusClientModule* self, ValaCCodeFunctionCall* define_type, ValaInterface* main_iface, ValaInterface* iface) {
2940
 
        char* result;
 
3018
        char* result = NULL;
2941
3019
        char* _result_;
2942
3020
        char* _tmp8_;
2943
3021
        char* _tmp7_;
3334
3412
        _vala_ccode_node_unref0 (_tmp8_);
3335
3413
        _g_free0 (_tmp7_);
3336
3414
        instance_struct = (_tmp11_ = vala_ccode_struct_new (_tmp10_ = g_strdup_printf ("_%s", cname)), _g_free0 (_tmp10_), _tmp11_);
3337
 
        vala_ccode_struct_add_field (instance_struct, "DBusGProxy", "parent_instance");
3338
 
        vala_ccode_struct_add_field (instance_struct, "gboolean", "disposed");
 
3415
        vala_ccode_struct_add_field (instance_struct, "DBusGProxy", "parent_instance", NULL);
 
3416
        vala_ccode_struct_add_field (instance_struct, "gboolean", "disposed", NULL);
3339
3417
        vala_ccode_declaration_space_add_type_definition (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) instance_struct);
3340
3418
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp13_ = vala_ccode_function_new (_tmp12_ = g_strconcat (lower_cname, "_get_type", NULL), "GType")));
3341
3419
        _vala_ccode_node_unref0 (_tmp13_);
3681
3759
 
3682
3760
static ValaTypeRegisterFunction* vala_dbus_client_module_real_create_interface_register_function (ValaGTypeModule* base, ValaInterface* iface) {
3683
3761
        ValaDBusClientModule * self;
3684
 
        ValaTypeRegisterFunction* result;
 
3762
        ValaTypeRegisterFunction* result = NULL;
3685
3763
        char* dbus_iface_name;
3686
3764
        self = (ValaDBusClientModule*) base;
3687
3765
        g_return_val_if_fail (iface != NULL, NULL);
3697
3775
}
3698
3776
 
3699
3777
 
 
3778
static char* vala_dbus_client_module_generate_get_all_function (ValaDBusClientModule* self, ValaMethod* m) {
 
3779
        char* result = NULL;
 
3780
        char* get_all_func;
 
3781
        ValaCCodeFunction* function;
 
3782
        ValaCCodeFormalParameter* _tmp0_;
 
3783
        ValaCCodeFormalParameter* _tmp1_;
 
3784
        ValaCCodeFormalParameter* _tmp2_;
 
3785
        ValaCCodeBlock* block;
 
3786
        ValaCCodeFragment* prefragment;
 
3787
        ValaCCodeFragment* postfragment;
 
3788
        ValaCCodeDeclaration* _cdecl_;
 
3789
        ValaCCodeVariableDeclarator* _tmp3_;
 
3790
        ValaCCodeIdentifier* _tmp4_;
 
3791
        ValaCCodeUnaryExpression* _tmp5_;
 
3792
        ValaCCodeUnaryExpression* dbus_error;
 
3793
        ValaCCodeDeclaration* _tmp6_;
 
3794
        ValaCCodeVariableDeclarator* _tmp7_;
 
3795
        ValaCCodeDeclaration* _tmp8_;
 
3796
        ValaCCodeVariableDeclarator* _tmp9_;
 
3797
        ValaCCodeVariableDeclarator* _tmp10_;
 
3798
        ValaCCodeDeclaration* _tmp11_;
 
3799
        ValaCCodeVariableDeclarator* _tmp12_;
 
3800
        ValaCCodeIdentifier* _tmp13_;
 
3801
        ValaCCodeFunctionCall* _tmp14_;
 
3802
        ValaCCodeFunctionCall* gconnection;
 
3803
        ValaCCodeIdentifier* _tmp15_;
 
3804
        ValaCCodeConstant* _tmp16_;
 
3805
        ValaCCodeUnaryExpression* _tmp18_;
 
3806
        ValaCCodeIdentifier* _tmp17_;
 
3807
        ValaCCodeConstant* _tmp19_;
 
3808
        ValaCCodeExpressionStatement* _tmp20_;
 
3809
        ValaCCodeIdentifier* _tmp21_;
 
3810
        ValaCCodeFunctionCall* _tmp22_;
 
3811
        ValaCCodeFunctionCall* dbus_error_init;
 
3812
        ValaCCodeExpressionStatement* _tmp23_;
 
3813
        ValaCCodeIdentifier* _tmp24_;
 
3814
        ValaCCodeFunctionCall* _tmp25_;
 
3815
        ValaCCodeFunctionCall* connection;
 
3816
        ValaCCodeIdentifier* _tmp26_;
 
3817
        ValaCCodeIdentifier* _tmp27_;
 
3818
        ValaCCodeFunctionCall* _tmp28_;
 
3819
        ValaCCodeFunctionCall* ccall;
 
3820
        ValaCCodeIdentifier* _tmp29_;
 
3821
        ValaCCodeConstant* _tmp30_;
 
3822
        ValaCCodeExpressionStatement* _tmp33_;
 
3823
        ValaCCodeAssignment* _tmp32_;
 
3824
        ValaCCodeIdentifier* _tmp31_;
 
3825
        ValaCCodeIdentifier* _tmp34_;
 
3826
        ValaCCodeFunctionCall* _tmp35_;
 
3827
        ValaCCodeFunctionCall* conn_unref;
 
3828
        ValaCCodeIdentifier* _tmp36_;
 
3829
        ValaCCodeExpressionStatement* _tmp37_;
 
3830
        ValaCCodeIdentifier* _tmp38_;
 
3831
        ValaCCodeFunctionCall* _tmp39_;
 
3832
        ValaCCodeFunctionCall* message_unref;
 
3833
        ValaCCodeIdentifier* _tmp40_;
 
3834
        ValaCCodeExpressionStatement* _tmp41_;
 
3835
        ValaCCodeIdentifier* _tmp42_;
 
3836
        ValaCCodeFunctionCall* _tmp43_;
 
3837
        ValaCCodeFunctionCall* reply_unref;
 
3838
        ValaCCodeIdentifier* _tmp44_;
 
3839
        ValaCCodeExpressionStatement* _tmp45_;
 
3840
        ValaCCodeReturnStatement* _tmp47_;
 
3841
        ValaCCodeIdentifier* _tmp46_;
 
3842
        ValaCCodeFunction* _tmp48_;
 
3843
        g_return_val_if_fail (self != NULL, NULL);
 
3844
        g_return_val_if_fail (m != NULL, NULL);
 
3845
        get_all_func = g_strdup ("_dbus_g_proxy_get_all");
 
3846
        if (!vala_ccode_base_module_add_wrapper ((ValaCCodeBaseModule*) self, get_all_func)) {
 
3847
                result = get_all_func;
 
3848
                return result;
 
3849
        }
 
3850
        function = vala_ccode_function_new (get_all_func, "GHashTable*");
 
3851
        vala_ccode_function_set_modifiers (function, VALA_CCODE_MODIFIERS_STATIC);
 
3852
        vala_ccode_function_add_parameter (function, _tmp0_ = vala_ccode_formal_parameter_new ("self", "DBusGProxy*"));
 
3853
        _vala_ccode_node_unref0 (_tmp0_);
 
3854
        vala_ccode_function_add_parameter (function, _tmp1_ = vala_ccode_formal_parameter_new ("interface_name", "const gchar*"));
 
3855
        _vala_ccode_node_unref0 (_tmp1_);
 
3856
        vala_ccode_function_add_parameter (function, _tmp2_ = vala_ccode_formal_parameter_new ("error", "GError**"));
 
3857
        _vala_ccode_node_unref0 (_tmp2_);
 
3858
        block = vala_ccode_block_new ();
 
3859
        prefragment = vala_ccode_fragment_new ();
 
3860
        postfragment = vala_ccode_fragment_new ();
 
3861
        _cdecl_ = vala_ccode_declaration_new ("DBusError");
 
3862
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp3_ = vala_ccode_variable_declarator_new ("_dbus_error", NULL, NULL)));
 
3863
        _vala_ccode_node_unref0 (_tmp3_);
 
3864
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
3865
        dbus_error = (_tmp5_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp4_ = vala_ccode_identifier_new ("_dbus_error"))), _vala_ccode_node_unref0 (_tmp4_), _tmp5_);
 
3866
        _cdecl_ = (_tmp6_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp6_);
 
3867
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp7_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
3868
        _vala_ccode_node_unref0 (_tmp7_);
 
3869
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
3870
        _cdecl_ = (_tmp8_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp8_);
 
3871
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp9_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
 
3872
        _vala_ccode_node_unref0 (_tmp9_);
 
3873
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp10_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
 
3874
        _vala_ccode_node_unref0 (_tmp10_);
 
3875
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
3876
        _cdecl_ = (_tmp11_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp11_);
 
3877
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp12_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
 
3878
        _vala_ccode_node_unref0 (_tmp12_);
 
3879
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
3880
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) prefragment);
 
3881
        vala_dbus_client_module_generate_marshalling (self, m, "org.freedesktop.DBus.Properties", prefragment, postfragment);
 
3882
        gconnection = (_tmp14_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp13_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp13_), _tmp14_);
 
3883
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp15_ = vala_ccode_identifier_new ("self")));
 
3884
        _vala_ccode_node_unref0 (_tmp15_);
 
3885
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp16_ = vala_ccode_constant_new ("\"connection\"")));
 
3886
        _vala_ccode_node_unref0 (_tmp16_);
 
3887
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp18_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp17_ = vala_ccode_identifier_new ("_connection")))));
 
3888
        _vala_ccode_node_unref0 (_tmp18_);
 
3889
        _vala_ccode_node_unref0 (_tmp17_);
 
3890
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp19_ = vala_ccode_constant_new ("NULL")));
 
3891
        _vala_ccode_node_unref0 (_tmp19_);
 
3892
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp20_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
3893
        _vala_ccode_node_unref0 (_tmp20_);
 
3894
        dbus_error_init = (_tmp22_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp21_ = vala_ccode_identifier_new ("dbus_error_init"))), _vala_ccode_node_unref0 (_tmp21_), _tmp22_);
 
3895
        vala_ccode_function_call_add_argument (dbus_error_init, (ValaCCodeExpression*) dbus_error);
 
3896
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp23_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_init)));
 
3897
        _vala_ccode_node_unref0 (_tmp23_);
 
3898
        connection = (_tmp25_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp24_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp24_), _tmp25_);
 
3899
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp26_ = vala_ccode_identifier_new ("_connection")));
 
3900
        _vala_ccode_node_unref0 (_tmp26_);
 
3901
        ccall = (_tmp28_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp27_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp27_), _tmp28_);
 
3902
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
 
3903
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp29_ = vala_ccode_identifier_new ("_message")));
 
3904
        _vala_ccode_node_unref0 (_tmp29_);
 
3905
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp30_ = vala_dbus_client_module_get_dbus_timeout (self, (ValaSymbol*) m)));
 
3906
        _vala_ccode_node_unref0 (_tmp30_);
 
3907
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) dbus_error);
 
3908
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp33_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp32_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp31_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
3909
        _vala_ccode_node_unref0 (_tmp33_);
 
3910
        _vala_ccode_node_unref0 (_tmp32_);
 
3911
        _vala_ccode_node_unref0 (_tmp31_);
 
3912
        conn_unref = (_tmp35_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp34_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp34_), _tmp35_);
 
3913
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_identifier_new ("_connection")));
 
3914
        _vala_ccode_node_unref0 (_tmp36_);
 
3915
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp37_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
3916
        _vala_ccode_node_unref0 (_tmp37_);
 
3917
        message_unref = (_tmp39_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp38_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp38_), _tmp39_);
 
3918
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp40_ = vala_ccode_identifier_new ("_message")));
 
3919
        _vala_ccode_node_unref0 (_tmp40_);
 
3920
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp41_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
 
3921
        _vala_ccode_node_unref0 (_tmp41_);
 
3922
        vala_dbus_client_module_check_error_reply (self, m, block);
 
3923
        vala_dbus_client_module_check_reply_signature (self, m, block);
 
3924
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) postfragment);
 
3925
        reply_unref = (_tmp43_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp42_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp42_), _tmp43_);
 
3926
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp44_ = vala_ccode_identifier_new ("_reply")));
 
3927
        _vala_ccode_node_unref0 (_tmp44_);
 
3928
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp45_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
3929
        _vala_ccode_node_unref0 (_tmp45_);
 
3930
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp47_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp46_ = vala_ccode_identifier_new ("_result")))));
 
3931
        _vala_ccode_node_unref0 (_tmp47_);
 
3932
        _vala_ccode_node_unref0 (_tmp46_);
 
3933
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp48_ = vala_ccode_function_copy (function)));
 
3934
        _vala_ccode_node_unref0 (_tmp48_);
 
3935
        vala_ccode_function_set_block (function, block);
 
3936
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
 
3937
        result = get_all_func;
 
3938
        _vala_ccode_node_unref0 (function);
 
3939
        _vala_ccode_node_unref0 (block);
 
3940
        _vala_ccode_node_unref0 (prefragment);
 
3941
        _vala_ccode_node_unref0 (postfragment);
 
3942
        _vala_ccode_node_unref0 (_cdecl_);
 
3943
        _vala_ccode_node_unref0 (dbus_error);
 
3944
        _vala_ccode_node_unref0 (gconnection);
 
3945
        _vala_ccode_node_unref0 (dbus_error_init);
 
3946
        _vala_ccode_node_unref0 (connection);
 
3947
        _vala_ccode_node_unref0 (ccall);
 
3948
        _vala_ccode_node_unref0 (conn_unref);
 
3949
        _vala_ccode_node_unref0 (message_unref);
 
3950
        _vala_ccode_node_unref0 (reply_unref);
 
3951
        return result;
 
3952
}
 
3953
 
 
3954
 
3700
3955
static void vala_dbus_client_module_real_visit_method_call (ValaCCodeModule* base, ValaMethodCall* expr) {
3701
3956
        ValaDBusClientModule * self;
3702
3957
        ValaDataType* _tmp0_;
3703
3958
        ValaMethodType* mtype;
3704
3959
        gboolean _tmp1_ = FALSE;
 
3960
        gboolean proxy_new_from_type;
 
3961
        gboolean _tmp3_ = FALSE;
 
3962
        gboolean proxy_get_all;
 
3963
        gboolean _tmp5_ = FALSE;
3705
3964
        ValaList* args;
3706
3965
        ValaExpression* connection;
3707
3966
        ValaExpression* bus_name;
3708
3967
        ValaExpression* object_path;
3709
3968
        ValaExpression* interface_name;
3710
3969
        ValaExpression* type;
3711
 
        ValaCCodeIdentifier* _tmp3_;
3712
 
        ValaCCodeFunctionCall* _tmp4_;
 
3970
        ValaCCodeIdentifier* _tmp12_;
 
3971
        ValaCCodeFunctionCall* _tmp13_;
3713
3972
        ValaCCodeFunctionCall* quark_call;
3714
 
        ValaCCodeConstant* _tmp5_;
3715
 
        ValaCCodeIdentifier* _tmp6_;
3716
 
        ValaCCodeFunctionCall* _tmp7_;
 
3973
        ValaCCodeConstant* _tmp14_;
 
3974
        ValaCCodeIdentifier* _tmp15_;
 
3975
        ValaCCodeFunctionCall* _tmp16_;
3717
3976
        ValaCCodeFunctionCall* qdata_call;
3718
 
        ValaCCodeCastExpression* _tmp8_;
3719
 
        ValaCCodeFunctionCall* _tmp9_;
 
3977
        ValaCCodeCastExpression* _tmp17_;
 
3978
        ValaCCodeFunctionCall* _tmp18_;
3720
3979
        ValaCCodeFunctionCall* get_type_call;
3721
 
        ValaCCodeIdentifier* _tmp10_;
3722
 
        ValaCCodeFunctionCall* _tmp11_;
 
3980
        ValaCCodeIdentifier* _tmp19_;
 
3981
        ValaCCodeFunctionCall* _tmp20_;
3723
3982
        ValaCCodeFunctionCall* ccall;
3724
 
        ValaCCodeConstant* _tmp12_;
3725
 
        ValaCCodeConstant* _tmp13_;
3726
 
        ValaCCodeConstant* _tmp14_;
3727
 
        ValaCCodeConstant* _tmp15_;
3728
 
        ValaCCodeConstant* _tmp16_;
 
3983
        ValaCCodeConstant* _tmp21_;
 
3984
        ValaCCodeConstant* _tmp22_;
 
3985
        ValaCCodeConstant* _tmp23_;
 
3986
        ValaCCodeConstant* _tmp24_;
 
3987
        ValaCCodeConstant* _tmp25_;
3729
3988
        self = (ValaDBusClientModule*) base;
3730
3989
        g_return_if_fail (expr != NULL);
3731
3990
        mtype = _vala_code_node_ref0 ((_tmp0_ = vala_expression_get_value_type (vala_method_call_get_call (expr)), VALA_IS_METHOD_TYPE (_tmp0_) ? ((ValaMethodType*) _tmp0_) : NULL));
3732
 
        if (mtype == NULL) {
3733
 
                _tmp1_ = TRUE;
3734
 
        } else {
 
3991
        if (mtype != NULL) {
3735
3992
                char* _tmp2_;
3736
 
                _tmp1_ = _vala_strcmp0 (_tmp2_ = vala_method_get_cname (vala_method_type_get_method_symbol (mtype)), "dbus_g_proxy_new_from_type") != 0;
 
3993
                _tmp1_ = _vala_strcmp0 (_tmp2_ = vala_method_get_cname (vala_method_type_get_method_symbol (mtype)), "dbus_g_proxy_new_from_type") == 0;
3737
3994
                _g_free0 (_tmp2_);
3738
 
        }
3739
 
        if (_tmp1_) {
 
3995
        } else {
 
3996
                _tmp1_ = FALSE;
 
3997
        }
 
3998
        proxy_new_from_type = _tmp1_;
 
3999
        if (mtype != NULL) {
 
4000
                char* _tmp4_;
 
4001
                _tmp3_ = _vala_strcmp0 (_tmp4_ = vala_method_get_cname (vala_method_type_get_method_symbol (mtype)), "dbus_g_proxy_get_all") == 0;
 
4002
                _g_free0 (_tmp4_);
 
4003
        } else {
 
4004
                _tmp3_ = FALSE;
 
4005
        }
 
4006
        proxy_get_all = _tmp3_;
 
4007
        if (!proxy_new_from_type) {
 
4008
                _tmp5_ = !proxy_get_all;
 
4009
        } else {
 
4010
                _tmp5_ = FALSE;
 
4011
        }
 
4012
        if (_tmp5_) {
3740
4013
                VALA_CCODE_MODULE_CLASS (vala_dbus_client_module_parent_class)->visit_method_call ((ValaCCodeModule*) VALA_DBUS_MODULE (self), expr);
3741
4014
                _vala_code_node_unref0 (mtype);
3742
4015
                return;
3743
4016
        }
 
4017
        if (proxy_get_all) {
 
4018
                ValaExpression* _tmp6_;
 
4019
                ValaMemberAccess* ma;
 
4020
                ValaExpression* instance;
 
4021
                ValaList* args;
 
4022
                ValaExpression* interface_name;
 
4023
                ValaCCodeIdentifier* _tmp8_;
 
4024
                char* _tmp7_;
 
4025
                ValaCCodeFunctionCall* _tmp9_;
 
4026
                ValaCCodeFunctionCall* ccall;
 
4027
                ValaCCodeUnaryExpression* _tmp11_;
 
4028
                ValaCCodeExpression* _tmp10_;
 
4029
                ma = _vala_code_node_ref0 ((_tmp6_ = vala_method_call_get_call (expr), VALA_IS_MEMBER_ACCESS (_tmp6_) ? ((ValaMemberAccess*) _tmp6_) : NULL));
 
4030
                instance = _vala_code_node_ref0 (vala_member_access_get_inner (ma));
 
4031
                vala_code_node_accept ((ValaCodeNode*) instance, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
 
4032
                args = vala_method_call_get_argument_list (expr);
 
4033
                interface_name = (ValaExpression*) vala_list_get (args, 0);
 
4034
                vala_code_node_accept ((ValaCodeNode*) interface_name, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
 
4035
                ccall = (_tmp9_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp8_ = vala_ccode_identifier_new (_tmp7_ = vala_dbus_client_module_generate_get_all_function (self, vala_method_type_get_method_symbol (mtype))))), _vala_ccode_node_unref0 (_tmp8_), _g_free0 (_tmp7_), _tmp9_);
 
4036
                vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) instance)));
 
4037
                vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) interface_name)));
 
4038
                ((ValaCCodeBaseModule*) self)->current_method_inner_error = TRUE;
 
4039
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp11_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp10_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_"))));
 
4040
                _vala_ccode_node_unref0 (_tmp11_);
 
4041
                _vala_ccode_node_unref0 (_tmp10_);
 
4042
                vala_code_node_set_ccodenode ((ValaCodeNode*) expr, (ValaCCodeNode*) ccall);
 
4043
                _vala_code_node_unref0 (ma);
 
4044
                _vala_code_node_unref0 (instance);
 
4045
                _vala_collection_object_unref0 (args);
 
4046
                _vala_code_node_unref0 (interface_name);
 
4047
                _vala_ccode_node_unref0 (ccall);
 
4048
                _vala_code_node_unref0 (mtype);
 
4049
                return;
 
4050
        }
3744
4051
        args = vala_method_call_get_argument_list (expr);
3745
4052
        connection = _vala_code_node_ref0 (vala_member_access_get_inner (VALA_MEMBER_ACCESS (vala_method_call_get_call (expr))));
3746
4053
        bus_name = (ValaExpression*) vala_list_get (args, 0);
3747
4054
        object_path = (ValaExpression*) vala_list_get (args, 1);
3748
4055
        interface_name = (ValaExpression*) vala_list_get (args, 2);
3749
4056
        type = (ValaExpression*) vala_list_get (args, 3);
3750
 
        quark_call = (_tmp4_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp3_ = vala_ccode_identifier_new ("g_quark_from_string"))), _vala_ccode_node_unref0 (_tmp3_), _tmp4_);
3751
 
        vala_ccode_function_call_add_argument (quark_call, (ValaCCodeExpression*) (_tmp5_ = vala_ccode_constant_new ("\"ValaDBusInterfaceProxyType\"")));
3752
 
        _vala_ccode_node_unref0 (_tmp5_);
3753
 
        qdata_call = (_tmp7_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp6_ = vala_ccode_identifier_new ("g_type_get_qdata"))), _vala_ccode_node_unref0 (_tmp6_), _tmp7_);
 
4057
        quark_call = (_tmp13_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp12_ = vala_ccode_identifier_new ("g_quark_from_string"))), _vala_ccode_node_unref0 (_tmp12_), _tmp13_);
 
4058
        vala_ccode_function_call_add_argument (quark_call, (ValaCCodeExpression*) (_tmp14_ = vala_ccode_constant_new ("\"ValaDBusInterfaceProxyType\"")));
 
4059
        _vala_ccode_node_unref0 (_tmp14_);
 
4060
        qdata_call = (_tmp16_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp15_ = vala_ccode_identifier_new ("g_type_get_qdata"))), _vala_ccode_node_unref0 (_tmp15_), _tmp16_);
3754
4061
        vala_code_node_accept ((ValaCodeNode*) type, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
3755
4062
        vala_ccode_function_call_add_argument (qdata_call, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) type)));
3756
4063
        vala_ccode_function_call_add_argument (qdata_call, (ValaCCodeExpression*) quark_call);
3757
 
        get_type_call = (_tmp9_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp8_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) qdata_call, "GType (*)(void)"))), _vala_ccode_node_unref0 (_tmp8_), _tmp9_);
3758
 
        ccall = (_tmp11_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp10_ = vala_ccode_identifier_new ("g_object_new"))), _vala_ccode_node_unref0 (_tmp10_), _tmp11_);
 
4064
        get_type_call = (_tmp18_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp17_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) qdata_call, "GType (*)(void)"))), _vala_ccode_node_unref0 (_tmp17_), _tmp18_);
 
4065
        ccall = (_tmp20_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp19_ = vala_ccode_identifier_new ("g_object_new"))), _vala_ccode_node_unref0 (_tmp19_), _tmp20_);
3759
4066
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) get_type_call);
3760
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp12_ = vala_ccode_constant_new ("\"connection\"")));
3761
 
        _vala_ccode_node_unref0 (_tmp12_);
 
4067
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp21_ = vala_ccode_constant_new ("\"connection\"")));
 
4068
        _vala_ccode_node_unref0 (_tmp21_);
3762
4069
        vala_code_node_accept ((ValaCodeNode*) connection, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
3763
4070
        vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) connection)));
3764
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp13_ = vala_ccode_constant_new ("\"name\"")));
3765
 
        _vala_ccode_node_unref0 (_tmp13_);
 
4071
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp22_ = vala_ccode_constant_new ("\"name\"")));
 
4072
        _vala_ccode_node_unref0 (_tmp22_);
3766
4073
        vala_code_node_accept ((ValaCodeNode*) bus_name, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
3767
4074
        vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) bus_name)));
3768
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp14_ = vala_ccode_constant_new ("\"path\"")));
3769
 
        _vala_ccode_node_unref0 (_tmp14_);
 
4075
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp23_ = vala_ccode_constant_new ("\"path\"")));
 
4076
        _vala_ccode_node_unref0 (_tmp23_);
3770
4077
        vala_code_node_accept ((ValaCodeNode*) object_path, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
3771
4078
        vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) object_path)));
3772
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp15_ = vala_ccode_constant_new ("\"interface\"")));
3773
 
        _vala_ccode_node_unref0 (_tmp15_);
 
4079
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp24_ = vala_ccode_constant_new ("\"interface\"")));
 
4080
        _vala_ccode_node_unref0 (_tmp24_);
3774
4081
        vala_code_node_accept ((ValaCodeNode*) interface_name, (ValaCodeVisitor*) vala_ccode_module_get_codegen ((ValaCCodeModule*) self));
3775
4082
        vala_ccode_function_call_add_argument (ccall, VALA_CCODE_EXPRESSION (vala_code_node_get_ccodenode ((ValaCodeNode*) interface_name)));
3776
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp16_ = vala_ccode_constant_new ("NULL")));
3777
 
        _vala_ccode_node_unref0 (_tmp16_);
 
4083
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp25_ = vala_ccode_constant_new ("NULL")));
 
4084
        _vala_ccode_node_unref0 (_tmp25_);
3778
4085
        vala_code_node_set_ccodenode ((ValaCodeNode*) expr, (ValaCCodeNode*) ccall);
3779
4086
        _vala_code_node_unref0 (mtype);
3780
4087
        _vala_collection_object_unref0 (args);
3853
4160
 
3854
4161
 
3855
4162
static char* vala_dbus_client_module_generate_dbus_signal_handler (ValaDBusClientModule* self, ValaSignal* sig, ValaObjectTypeSymbol* sym) {
3856
 
        char* result;
 
4163
        char* result = NULL;
3857
4164
        char* _tmp1_;
3858
4165
        char* _tmp0_;
3859
4166
        char* _tmp2_;
3867
4174
        ValaCCodeFormalParameter* _tmp7_;
3868
4175
        ValaCCodeBlock* block;
3869
4176
        ValaCCodeFragment* prefragment;
 
4177
        ValaCCodeFragment* postfragment;
3870
4178
        ValaCCodeDeclaration* _tmp8_;
3871
4179
        ValaCCodeVariableDeclarator* _tmp9_;
3872
4180
        ValaCCodeIdentifier* _tmp10_;
3892
4200
        ValaCCodeIdentifier* _tmp25_;
3893
4201
        ValaCCodeConstant* _tmp26_;
3894
4202
        char* type_signature;
3895
 
        ValaCCodeConstant* _tmp54_;
3896
 
        char* _tmp53_;
3897
 
        ValaCCodeExpressionStatement* _tmp55_;
3898
 
        ValaCCodeDeclaration* _tmp56_;
3899
 
        ValaCCodeVariableDeclarator* _tmp57_;
3900
 
        ValaCCodeFunction* _tmp58_;
 
4203
        ValaCCodeConstant* _tmp57_;
 
4204
        char* _tmp56_;
 
4205
        ValaCCodeExpressionStatement* _tmp58_;
 
4206
        ValaCCodeDeclaration* _tmp59_;
 
4207
        ValaCCodeVariableDeclarator* _tmp60_;
 
4208
        ValaCCodeFunction* _tmp61_;
3901
4209
        g_return_val_if_fail (self != NULL, NULL);
3902
4210
        g_return_val_if_fail (sig != NULL, NULL);
3903
4211
        g_return_val_if_fail (sym != NULL, NULL);
3915
4223
        _vala_ccode_node_unref0 (_tmp7_);
3916
4224
        block = vala_ccode_block_new ();
3917
4225
        prefragment = vala_ccode_fragment_new ();
 
4226
        postfragment = vala_ccode_fragment_new ();
3918
4227
        _cdecl_ = (_tmp8_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp8_);
3919
4228
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp9_ = vala_ccode_variable_declarator_new ("iter", NULL, NULL)));
3920
4229
        _vala_ccode_node_unref0 (_tmp9_);
3951
4260
                _param_it = (_tmp28_ = vala_iterable_iterator ((ValaIterable*) (_tmp27_ = vala_signal_get_parameters (sig))), _vala_collection_object_unref0 (_tmp27_), _tmp28_);
3952
4261
                while (TRUE) {
3953
4262
                        ValaFormalParameter* param;
 
4263
                        ValaDataType* owned_type;
3954
4264
                        ValaCCodeDeclaration* _tmp30_;
3955
4265
                        char* _tmp29_;
3956
4266
                        ValaCCodeVariableDeclarator* _tmp32_;
3972
4282
                                break;
3973
4283
                        }
3974
4284
                        param = (ValaFormalParameter*) vala_iterator_get (_param_it);
3975
 
                        _cdecl_ = (_tmp30_ = vala_ccode_declaration_new (_tmp29_ = vala_data_type_get_cname (vala_formal_parameter_get_parameter_type (param))), _vala_ccode_node_unref0 (_cdecl_), _tmp30_);
 
4285
                        owned_type = vala_data_type_copy (vala_formal_parameter_get_parameter_type (param));
 
4286
                        vala_data_type_set_value_owned (owned_type, TRUE);
 
4287
                        _cdecl_ = (_tmp30_ = vala_ccode_declaration_new (_tmp29_ = vala_data_type_get_cname (owned_type)), _vala_ccode_node_unref0 (_cdecl_), _tmp30_);
3976
4288
                        _g_free0 (_tmp29_);
3977
4289
                        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp32_ = vala_ccode_variable_declarator_new_zero (vala_symbol_get_name ((ValaSymbol*) param), _tmp31_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_formal_parameter_get_parameter_type (param), TRUE), NULL)));
3978
4290
                        _vala_ccode_node_unref0 (_tmp32_);
3985
4297
                                _g_free0 (_tmp36_);
3986
4298
                                _g_free0 (_tmp35_);
3987
4299
                                _vala_code_node_unref0 (param);
 
4300
                                _vala_code_node_unref0 (owned_type);
3988
4301
                                continue;
3989
4302
                        }
3990
4303
                        st = _vala_code_node_ref0 ((_tmp37_ = vala_data_type_get_data_type (vala_formal_parameter_get_parameter_type (param)), VALA_IS_STRUCT (_tmp37_) ? ((ValaStruct*) _tmp37_) : NULL));
4047
4360
                        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp52_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp51_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, expr, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
4048
4361
                        _vala_ccode_node_unref0 (_tmp52_);
4049
4362
                        _vala_ccode_node_unref0 (_tmp51_);
 
4363
                        if (vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, owned_type)) {
 
4364
                                ValaLocalVariable* local;
 
4365
                                ValaMemberAccess* ma;
 
4366
                                ValaCCodeExpression* _tmp54_;
 
4367
                                ValaCCodeIdentifier* _tmp53_;
 
4368
                                ValaCCodeExpressionStatement* _tmp55_;
 
4369
                                ValaCCodeExpressionStatement* stmt;
 
4370
                                local = vala_local_variable_new (owned_type, vala_symbol_get_name ((ValaSymbol*) param), NULL, NULL);
 
4371
                                ma = vala_member_access_new_simple (vala_symbol_get_name ((ValaSymbol*) param), NULL);
 
4372
                                vala_expression_set_symbol_reference ((ValaExpression*) ma, (ValaSymbol*) local);
 
4373
                                stmt = (_tmp55_ = vala_ccode_expression_statement_new (_tmp54_ = vala_ccode_base_module_get_unref_expression ((ValaCCodeBaseModule*) self, (ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new (vala_symbol_get_name ((ValaSymbol*) param))), owned_type, (ValaExpression*) ma, FALSE)), _vala_ccode_node_unref0 (_tmp54_), _vala_ccode_node_unref0 (_tmp53_), _tmp55_);
 
4374
                                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) stmt);
 
4375
                                _vala_code_node_unref0 (local);
 
4376
                                _vala_code_node_unref0 (ma);
 
4377
                                _vala_ccode_node_unref0 (stmt);
 
4378
                        }
4050
4379
                        _vala_code_node_unref0 (param);
 
4380
                        _vala_code_node_unref0 (owned_type);
4051
4381
                        _vala_code_node_unref0 (st);
4052
4382
                        _vala_ccode_node_unref0 (target);
4053
4383
                        _vala_ccode_node_unref0 (expr);
4054
4384
                }
4055
4385
                _vala_collection_object_unref0 (_param_it);
4056
4386
        }
4057
 
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) (_tmp54_ = vala_ccode_constant_new (_tmp53_ = g_strdup_printf ("\"%s\"", type_signature))));
4058
 
        _vala_ccode_node_unref0 (_tmp54_);
4059
 
        _g_free0 (_tmp53_);
4060
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp55_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
4061
 
        _vala_ccode_node_unref0 (_tmp55_);
4062
 
        _cdecl_ = (_tmp56_ = vala_ccode_declaration_new ("DBusMessage*"), _vala_ccode_node_unref0 (_cdecl_), _tmp56_);
4063
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp57_ = vala_ccode_variable_declarator_new ("reply", NULL, NULL)));
 
4387
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) (_tmp57_ = vala_ccode_constant_new (_tmp56_ = g_strdup_printf ("\"%s\"", type_signature))));
4064
4388
        _vala_ccode_node_unref0 (_tmp57_);
 
4389
        _g_free0 (_tmp56_);
 
4390
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp58_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
 
4391
        _vala_ccode_node_unref0 (_tmp58_);
 
4392
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) postfragment);
 
4393
        _cdecl_ = (_tmp59_ = vala_ccode_declaration_new ("DBusMessage*"), _vala_ccode_node_unref0 (_cdecl_), _tmp59_);
 
4394
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp60_ = vala_ccode_variable_declarator_new ("reply", NULL, NULL)));
 
4395
        _vala_ccode_node_unref0 (_tmp60_);
4065
4396
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
4066
 
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp58_ = vala_ccode_function_copy (function)));
4067
 
        _vala_ccode_node_unref0 (_tmp58_);
 
4397
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp61_ = vala_ccode_function_copy (function)));
 
4398
        _vala_ccode_node_unref0 (_tmp61_);
4068
4399
        vala_ccode_function_set_block (function, block);
4069
4400
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
4070
4401
        result = wrapper_name;
4072
4403
        _vala_ccode_node_unref0 (function);
4073
4404
        _vala_ccode_node_unref0 (block);
4074
4405
        _vala_ccode_node_unref0 (prefragment);
 
4406
        _vala_ccode_node_unref0 (postfragment);
4075
4407
        _vala_ccode_node_unref0 (message_signature);
4076
4408
        _vala_ccode_node_unref0 (signature_check);
4077
4409
        _vala_ccode_node_unref0 (signature_error_block);
4535
4867
        ValaCCodeIdentifier* _tmp11_;
4536
4868
        ValaCCodeIdentifier* _tmp12_;
4537
4869
        ValaCCodeIdentifier* _tmp13_;
4538
 
        ValaCCodeMemberAccess* _tmp15_;
4539
 
        ValaCCodeIdentifier* _tmp14_;
4540
 
        ValaCCodeExpressionStatement* _tmp16_;
4541
 
        ValaCCodeIdentifier* _tmp17_;
4542
 
        ValaCCodeFunctionCall* _tmp18_;
 
4870
        ValaCCodeConstant* _tmp14_;
 
4871
        ValaCCodeMemberAccess* _tmp16_;
 
4872
        ValaCCodeIdentifier* _tmp15_;
 
4873
        ValaCCodeExpressionStatement* _tmp17_;
 
4874
        ValaCCodeIdentifier* _tmp18_;
 
4875
        ValaCCodeFunctionCall* _tmp19_;
4543
4876
        ValaCCodeFunctionCall* dbus_error_free;
4544
 
        ValaCCodeExpressionStatement* _tmp19_;
4545
 
        gboolean _tmp20_ = FALSE;
4546
 
        ValaCCodeIdentifier* _tmp24_;
4547
 
        ValaCCodeFunctionCall* _tmp25_;
 
4877
        ValaCCodeExpressionStatement* _tmp20_;
 
4878
        gboolean _tmp21_ = FALSE;
 
4879
        ValaCCodeIdentifier* _tmp25_;
 
4880
        ValaCCodeFunctionCall* _tmp26_;
4548
4881
        ValaCCodeFunctionCall* dbus_error_is_set;
4549
 
        ValaCCodeIfStatement* _tmp26_;
 
4882
        ValaCCodeIfStatement* _tmp27_;
4550
4883
        g_return_if_fail (self != NULL);
4551
4884
        g_return_if_fail (m != NULL);
4552
4885
        g_return_if_fail (block != NULL);
4571
4904
        _vala_ccode_node_unref0 (_tmp7_);
4572
4905
        _vala_ccode_node_unref0 (_tmp6_);
4573
4906
        _vala_ccode_node_unref0 (_tmp5_);
4574
 
        g_set_error = (_tmp10_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp9_ = vala_ccode_identifier_new ("g_set_error_literal"))), _vala_ccode_node_unref0 (_tmp9_), _tmp10_);
 
4907
        g_set_error = (_tmp10_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp9_ = vala_ccode_identifier_new ("g_set_error"))), _vala_ccode_node_unref0 (_tmp9_), _tmp10_);
4575
4908
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp11_ = vala_ccode_identifier_new ("error")));
4576
4909
        _vala_ccode_node_unref0 (_tmp11_);
4577
4910
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp12_ = vala_ccode_identifier_new ("_edomain")));
4578
4911
        _vala_ccode_node_unref0 (_tmp12_);
4579
4912
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp13_ = vala_ccode_identifier_new ("_ecode")));
4580
4913
        _vala_ccode_node_unref0 (_tmp13_);
4581
 
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp15_ = vala_ccode_member_access_new ((ValaCCodeExpression*) (_tmp14_ = vala_ccode_identifier_new ("_dbus_error")), "message", FALSE)));
4582
 
        _vala_ccode_node_unref0 (_tmp15_);
 
4914
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp14_ = vala_ccode_constant_new ("\"%s\"")));
4583
4915
        _vala_ccode_node_unref0 (_tmp14_);
4584
 
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp16_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) g_set_error)));
 
4916
        vala_ccode_function_call_add_argument (g_set_error, (ValaCCodeExpression*) (_tmp16_ = vala_ccode_member_access_new ((ValaCCodeExpression*) (_tmp15_ = vala_ccode_identifier_new ("_dbus_error")), "message", FALSE)));
4585
4917
        _vala_ccode_node_unref0 (_tmp16_);
4586
 
        dbus_error_free = (_tmp18_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp17_ = vala_ccode_identifier_new ("dbus_error_free"))), _vala_ccode_node_unref0 (_tmp17_), _tmp18_);
 
4918
        _vala_ccode_node_unref0 (_tmp15_);
 
4919
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp17_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) g_set_error)));
 
4920
        _vala_ccode_node_unref0 (_tmp17_);
 
4921
        dbus_error_free = (_tmp19_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp18_ = vala_ccode_identifier_new ("dbus_error_free"))), _vala_ccode_node_unref0 (_tmp18_), _tmp19_);
4587
4922
        vala_ccode_function_call_add_argument (dbus_error_free, (ValaCCodeExpression*) dbus_error);
4588
 
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp19_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_free)));
4589
 
        _vala_ccode_node_unref0 (_tmp19_);
 
4923
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp20_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_free)));
 
4924
        _vala_ccode_node_unref0 (_tmp20_);
4590
4925
        if (VALA_IS_VOID_TYPE (vala_method_get_return_type (m))) {
4591
 
                _tmp20_ = TRUE;
 
4926
                _tmp21_ = TRUE;
4592
4927
        } else {
4593
 
                _tmp20_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
 
4928
                _tmp21_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
4594
4929
        }
4595
 
        if (_tmp20_) {
4596
 
                ValaCCodeReturnStatement* _tmp21_;
4597
 
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp21_ = vala_ccode_return_statement_new (NULL)));
4598
 
                _vala_ccode_node_unref0 (_tmp21_);
 
4930
        if (_tmp21_) {
 
4931
                ValaCCodeReturnStatement* _tmp22_;
 
4932
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp22_ = vala_ccode_return_statement_new (NULL)));
 
4933
                _vala_ccode_node_unref0 (_tmp22_);
4599
4934
        } else {
4600
 
                ValaCCodeReturnStatement* _tmp23_;
4601
 
                ValaCCodeExpression* _tmp22_;
4602
 
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp23_ = vala_ccode_return_statement_new (_tmp22_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (m), FALSE))));
 
4935
                ValaCCodeReturnStatement* _tmp24_;
 
4936
                ValaCCodeExpression* _tmp23_;
 
4937
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp24_ = vala_ccode_return_statement_new (_tmp23_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (m), FALSE))));
 
4938
                _vala_ccode_node_unref0 (_tmp24_);
4603
4939
                _vala_ccode_node_unref0 (_tmp23_);
4604
 
                _vala_ccode_node_unref0 (_tmp22_);
4605
4940
        }
4606
 
        dbus_error_is_set = (_tmp25_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp24_ = vala_ccode_identifier_new ("dbus_error_is_set"))), _vala_ccode_node_unref0 (_tmp24_), _tmp25_);
 
4941
        dbus_error_is_set = (_tmp26_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp25_ = vala_ccode_identifier_new ("dbus_error_is_set"))), _vala_ccode_node_unref0 (_tmp25_), _tmp26_);
4607
4942
        vala_ccode_function_call_add_argument (dbus_error_is_set, (ValaCCodeExpression*) dbus_error);
4608
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp26_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) dbus_error_is_set, (ValaCCodeStatement*) error_block, NULL)));
4609
 
        _vala_ccode_node_unref0 (_tmp26_);
 
4943
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp27_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) dbus_error_is_set, (ValaCCodeStatement*) error_block, NULL)));
 
4944
        _vala_ccode_node_unref0 (_tmp27_);
4610
4945
        _vala_collection_object_unref0 (error_types);
4611
4946
        _vala_ccode_node_unref0 (dbus_error);
4612
4947
        _vala_ccode_node_unref0 (error_block);
4618
4953
 
4619
4954
 
4620
4955
static char* vala_dbus_client_module_generate_dbus_proxy_method (ValaDBusClientModule* self, ValaInterface* main_iface, ValaInterface* iface, ValaMethod* m) {
4621
 
        char* result;
 
4956
        char* result = NULL;
4622
4957
        char* _tmp0_;
4623
4958
        char* _tmp1_;
4624
4959
        char* proxy_name;
4632
4967
        ValaCCodeBlock* dispose_return_block;
4633
4968
        ValaList* _tmp2_;
4634
4969
        gboolean _tmp3_;
4635
 
        gboolean _tmp11_ = FALSE;
4636
 
        ValaCCodeIfStatement* _tmp20_;
4637
 
        ValaCCodeMemberAccess* _tmp19_;
4638
 
        ValaCCodeCastExpression* _tmp18_;
 
4970
        gboolean _tmp12_ = FALSE;
 
4971
        ValaCCodeIfStatement* _tmp21_;
 
4972
        ValaCCodeMemberAccess* _tmp20_;
 
4973
        ValaCCodeCastExpression* _tmp19_;
 
4974
        char* _tmp18_;
4639
4975
        char* _tmp17_;
4640
 
        char* _tmp16_;
4641
 
        ValaCCodeIdentifier* _tmp15_;
4642
 
        ValaCCodeDeclaration* _tmp21_;
4643
 
        ValaCCodeVariableDeclarator* _tmp22_;
4644
 
        ValaCCodeIdentifier* _tmp23_;
4645
 
        ValaCCodeUnaryExpression* _tmp24_;
 
4976
        ValaCCodeIdentifier* _tmp16_;
 
4977
        ValaCCodeDeclaration* _tmp22_;
 
4978
        ValaCCodeVariableDeclarator* _tmp23_;
 
4979
        ValaCCodeIdentifier* _tmp24_;
 
4980
        ValaCCodeUnaryExpression* _tmp25_;
4646
4981
        ValaCCodeUnaryExpression* dbus_error;
4647
 
        ValaCCodeDeclaration* _tmp25_;
4648
 
        ValaCCodeVariableDeclarator* _tmp26_;
4649
 
        ValaCCodeDeclaration* _tmp27_;
4650
 
        ValaCCodeVariableDeclarator* _tmp28_;
 
4982
        ValaCCodeDeclaration* _tmp26_;
 
4983
        ValaCCodeVariableDeclarator* _tmp27_;
 
4984
        ValaCCodeDeclaration* _tmp28_;
4651
4985
        ValaCCodeVariableDeclarator* _tmp29_;
4652
 
        ValaCCodeDeclaration* _tmp30_;
4653
 
        ValaCCodeVariableDeclarator* _tmp31_;
4654
 
        ValaCCodeIdentifier* _tmp32_;
4655
 
        ValaCCodeFunctionCall* _tmp33_;
 
4986
        ValaCCodeVariableDeclarator* _tmp30_;
 
4987
        ValaCCodeDeclaration* _tmp31_;
 
4988
        ValaCCodeVariableDeclarator* _tmp32_;
 
4989
        ValaCCodeIdentifier* _tmp33_;
 
4990
        ValaCCodeFunctionCall* _tmp34_;
4656
4991
        ValaCCodeFunctionCall* gconnection;
4657
 
        ValaCCodeIdentifier* _tmp34_;
4658
 
        ValaCCodeConstant* _tmp35_;
4659
 
        ValaCCodeUnaryExpression* _tmp37_;
4660
 
        ValaCCodeIdentifier* _tmp36_;
4661
 
        ValaCCodeConstant* _tmp38_;
4662
 
        ValaCCodeExpressionStatement* _tmp39_;
4663
 
        ValaCCodeIdentifier* _tmp40_;
4664
 
        ValaCCodeFunctionCall* _tmp41_;
 
4992
        ValaCCodeIdentifier* _tmp35_;
 
4993
        ValaCCodeConstant* _tmp36_;
 
4994
        ValaCCodeUnaryExpression* _tmp38_;
 
4995
        ValaCCodeIdentifier* _tmp37_;
 
4996
        ValaCCodeConstant* _tmp39_;
 
4997
        ValaCCodeExpressionStatement* _tmp40_;
 
4998
        ValaCCodeIdentifier* _tmp41_;
 
4999
        ValaCCodeFunctionCall* _tmp42_;
4665
5000
        ValaCCodeFunctionCall* dbus_error_init;
4666
 
        ValaCCodeExpressionStatement* _tmp42_;
4667
 
        ValaCCodeIdentifier* _tmp43_;
4668
 
        ValaCCodeFunctionCall* _tmp44_;
 
5001
        ValaCCodeExpressionStatement* _tmp43_;
 
5002
        ValaCCodeIdentifier* _tmp44_;
 
5003
        ValaCCodeFunctionCall* _tmp45_;
4669
5004
        ValaCCodeFunctionCall* connection;
4670
 
        ValaCCodeIdentifier* _tmp45_;
4671
5005
        ValaCCodeIdentifier* _tmp46_;
4672
 
        ValaCCodeFunctionCall* _tmp47_;
 
5006
        ValaCCodeIdentifier* _tmp47_;
 
5007
        ValaCCodeFunctionCall* _tmp48_;
4673
5008
        ValaCCodeFunctionCall* ccall;
4674
 
        ValaCCodeIdentifier* _tmp48_;
4675
 
        ValaCCodeConstant* _tmp49_;
4676
 
        ValaCCodeExpressionStatement* _tmp52_;
4677
 
        ValaCCodeAssignment* _tmp51_;
4678
 
        ValaCCodeIdentifier* _tmp50_;
4679
 
        ValaCCodeIdentifier* _tmp53_;
4680
 
        ValaCCodeFunctionCall* _tmp54_;
 
5009
        ValaCCodeIdentifier* _tmp49_;
 
5010
        ValaCCodeConstant* _tmp50_;
 
5011
        ValaCCodeExpressionStatement* _tmp53_;
 
5012
        ValaCCodeAssignment* _tmp52_;
 
5013
        ValaCCodeIdentifier* _tmp51_;
 
5014
        ValaCCodeIdentifier* _tmp54_;
 
5015
        ValaCCodeFunctionCall* _tmp55_;
4681
5016
        ValaCCodeFunctionCall* conn_unref;
4682
 
        ValaCCodeIdentifier* _tmp55_;
4683
 
        ValaCCodeExpressionStatement* _tmp56_;
4684
 
        ValaCCodeIdentifier* _tmp57_;
4685
 
        ValaCCodeFunctionCall* _tmp58_;
 
5017
        ValaCCodeIdentifier* _tmp56_;
 
5018
        ValaCCodeExpressionStatement* _tmp57_;
 
5019
        ValaCCodeIdentifier* _tmp58_;
 
5020
        ValaCCodeFunctionCall* _tmp59_;
4686
5021
        ValaCCodeFunctionCall* message_unref;
4687
 
        ValaCCodeIdentifier* _tmp59_;
4688
 
        ValaCCodeExpressionStatement* _tmp60_;
4689
 
        ValaCCodeIdentifier* _tmp61_;
4690
 
        ValaCCodeFunctionCall* _tmp62_;
 
5022
        ValaCCodeIdentifier* _tmp60_;
 
5023
        ValaCCodeExpressionStatement* _tmp61_;
 
5024
        ValaCCodeIdentifier* _tmp62_;
 
5025
        ValaCCodeFunctionCall* _tmp63_;
4691
5026
        ValaCCodeFunctionCall* reply_unref;
4692
 
        ValaCCodeIdentifier* _tmp63_;
4693
 
        ValaCCodeExpressionStatement* _tmp64_;
4694
 
        gboolean _tmp65_ = FALSE;
4695
 
        ValaCCodeFunction* _tmp68_;
 
5027
        ValaCCodeIdentifier* _tmp64_;
 
5028
        ValaCCodeExpressionStatement* _tmp65_;
 
5029
        gboolean _tmp66_ = FALSE;
 
5030
        ValaCCodeFunction* _tmp69_;
4696
5031
        g_return_val_if_fail (self != NULL, NULL);
4697
5032
        g_return_val_if_fail (main_iface != NULL, NULL);
4698
5033
        g_return_val_if_fail (iface != NULL, NULL);
4716
5051
                ValaCCodeIdentifier* _tmp7_;
4717
5052
                ValaCCodeIdentifier* _tmp8_;
4718
5053
                ValaCCodeConstant* _tmp9_;
4719
 
                ValaCCodeExpressionStatement* _tmp10_;
4720
 
                set_error_call = (_tmp5_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp4_ = vala_ccode_identifier_new ("g_set_error_literal"))), _vala_ccode_node_unref0 (_tmp4_), _tmp5_);
 
5054
                ValaCCodeConstant* _tmp10_;
 
5055
                ValaCCodeExpressionStatement* _tmp11_;
 
5056
                set_error_call = (_tmp5_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp4_ = vala_ccode_identifier_new ("g_set_error"))), _vala_ccode_node_unref0 (_tmp4_), _tmp5_);
4721
5057
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp6_ = vala_ccode_identifier_new ("error")));
4722
5058
                _vala_ccode_node_unref0 (_tmp6_);
4723
5059
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp7_ = vala_ccode_identifier_new ("DBUS_GERROR")));
4724
5060
                _vala_ccode_node_unref0 (_tmp7_);
4725
5061
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp8_ = vala_ccode_identifier_new ("DBUS_GERROR_DISCONNECTED")));
4726
5062
                _vala_ccode_node_unref0 (_tmp8_);
4727
 
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp9_ = vala_ccode_constant_new ("\"Connection is closed\"")));
 
5063
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp9_ = vala_ccode_constant_new ("\"%s\"")));
4728
5064
                _vala_ccode_node_unref0 (_tmp9_);
4729
 
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp10_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_error_call)));
 
5065
                vala_ccode_function_call_add_argument (set_error_call, (ValaCCodeExpression*) (_tmp10_ = vala_ccode_constant_new ("\"Connection is closed\"")));
4730
5066
                _vala_ccode_node_unref0 (_tmp10_);
 
5067
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp11_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_error_call)));
 
5068
                _vala_ccode_node_unref0 (_tmp11_);
4731
5069
                _vala_ccode_node_unref0 (set_error_call);
4732
5070
        }
4733
5071
        if (VALA_IS_VOID_TYPE (vala_method_get_return_type (m))) {
4734
 
                _tmp11_ = TRUE;
 
5072
                _tmp12_ = TRUE;
4735
5073
        } else {
4736
 
                _tmp11_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
 
5074
                _tmp12_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
4737
5075
        }
4738
 
        if (_tmp11_) {
4739
 
                ValaCCodeReturnStatement* _tmp12_;
4740
 
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp12_ = vala_ccode_return_statement_new (NULL)));
4741
 
                _vala_ccode_node_unref0 (_tmp12_);
 
5076
        if (_tmp12_) {
 
5077
                ValaCCodeReturnStatement* _tmp13_;
 
5078
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp13_ = vala_ccode_return_statement_new (NULL)));
 
5079
                _vala_ccode_node_unref0 (_tmp13_);
4742
5080
        } else {
4743
 
                ValaCCodeReturnStatement* _tmp14_;
4744
 
                ValaCCodeExpression* _tmp13_;
4745
 
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp14_ = vala_ccode_return_statement_new (_tmp13_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (m), FALSE))));
 
5081
                ValaCCodeReturnStatement* _tmp15_;
 
5082
                ValaCCodeExpression* _tmp14_;
 
5083
                vala_ccode_block_add_statement (dispose_return_block, (ValaCCodeNode*) (_tmp15_ = vala_ccode_return_statement_new (_tmp14_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_method_get_return_type (m), FALSE))));
 
5084
                _vala_ccode_node_unref0 (_tmp15_);
4746
5085
                _vala_ccode_node_unref0 (_tmp14_);
4747
 
                _vala_ccode_node_unref0 (_tmp13_);
4748
5086
        }
4749
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp20_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp19_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp18_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp15_ = vala_ccode_identifier_new ("self")), _tmp17_ = g_strconcat (_tmp16_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) iface, FALSE), "DBusProxy*", NULL))), "disposed")), (ValaCCodeStatement*) dispose_return_block, NULL)));
 
5087
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp21_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) (_tmp20_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp19_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp16_ = vala_ccode_identifier_new ("self")), _tmp18_ = g_strconcat (_tmp17_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) iface, FALSE), "DBusProxy*", NULL))), "disposed")), (ValaCCodeStatement*) dispose_return_block, NULL)));
 
5088
        _vala_ccode_node_unref0 (_tmp21_);
4750
5089
        _vala_ccode_node_unref0 (_tmp20_);
4751
5090
        _vala_ccode_node_unref0 (_tmp19_);
4752
 
        _vala_ccode_node_unref0 (_tmp18_);
 
5091
        _g_free0 (_tmp18_);
4753
5092
        _g_free0 (_tmp17_);
4754
 
        _g_free0 (_tmp16_);
4755
 
        _vala_ccode_node_unref0 (_tmp15_);
4756
 
        _cdecl_ = (_tmp21_ = vala_ccode_declaration_new ("DBusError"), _vala_ccode_node_unref0 (_cdecl_), _tmp21_);
4757
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp22_ = vala_ccode_variable_declarator_new ("_dbus_error", NULL, NULL)));
4758
 
        _vala_ccode_node_unref0 (_tmp22_);
4759
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
4760
 
        dbus_error = (_tmp24_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp23_ = vala_ccode_identifier_new ("_dbus_error"))), _vala_ccode_node_unref0 (_tmp23_), _tmp24_);
4761
 
        _cdecl_ = (_tmp25_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp25_);
4762
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp26_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
4763
 
        _vala_ccode_node_unref0 (_tmp26_);
4764
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
4765
 
        _cdecl_ = (_tmp27_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp27_);
4766
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp28_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
4767
 
        _vala_ccode_node_unref0 (_tmp28_);
4768
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp29_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
 
5093
        _vala_ccode_node_unref0 (_tmp16_);
 
5094
        _cdecl_ = (_tmp22_ = vala_ccode_declaration_new ("DBusError"), _vala_ccode_node_unref0 (_cdecl_), _tmp22_);
 
5095
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp23_ = vala_ccode_variable_declarator_new ("_dbus_error", NULL, NULL)));
 
5096
        _vala_ccode_node_unref0 (_tmp23_);
 
5097
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
5098
        dbus_error = (_tmp25_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp24_ = vala_ccode_identifier_new ("_dbus_error"))), _vala_ccode_node_unref0 (_tmp24_), _tmp25_);
 
5099
        _cdecl_ = (_tmp26_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp26_);
 
5100
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp27_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
5101
        _vala_ccode_node_unref0 (_tmp27_);
 
5102
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
5103
        _cdecl_ = (_tmp28_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp28_);
 
5104
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp29_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
4769
5105
        _vala_ccode_node_unref0 (_tmp29_);
 
5106
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp30_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
 
5107
        _vala_ccode_node_unref0 (_tmp30_);
4770
5108
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
4771
 
        _cdecl_ = (_tmp30_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp30_);
4772
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp31_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
4773
 
        _vala_ccode_node_unref0 (_tmp31_);
 
5109
        _cdecl_ = (_tmp31_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp31_);
 
5110
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp32_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
 
5111
        _vala_ccode_node_unref0 (_tmp32_);
4774
5112
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
4775
5113
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) prefragment);
4776
5114
        vala_dbus_client_module_generate_marshalling (self, m, dbus_iface_name, prefragment, postfragment);
4777
 
        gconnection = (_tmp33_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp32_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp32_), _tmp33_);
4778
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp34_ = vala_ccode_identifier_new ("self")));
4779
 
        _vala_ccode_node_unref0 (_tmp34_);
4780
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp35_ = vala_ccode_constant_new ("\"connection\"")));
 
5115
        gconnection = (_tmp34_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp33_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp33_), _tmp34_);
 
5116
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp35_ = vala_ccode_identifier_new ("self")));
4781
5117
        _vala_ccode_node_unref0 (_tmp35_);
4782
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp37_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_identifier_new ("_connection")))));
4783
 
        _vala_ccode_node_unref0 (_tmp37_);
 
5118
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_constant_new ("\"connection\"")));
4784
5119
        _vala_ccode_node_unref0 (_tmp36_);
4785
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp38_ = vala_ccode_constant_new ("NULL")));
 
5120
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp38_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp37_ = vala_ccode_identifier_new ("_connection")))));
4786
5121
        _vala_ccode_node_unref0 (_tmp38_);
4787
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp39_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
5122
        _vala_ccode_node_unref0 (_tmp37_);
 
5123
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp39_ = vala_ccode_constant_new ("NULL")));
4788
5124
        _vala_ccode_node_unref0 (_tmp39_);
4789
 
        dbus_error_init = (_tmp41_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp40_ = vala_ccode_identifier_new ("dbus_error_init"))), _vala_ccode_node_unref0 (_tmp40_), _tmp41_);
 
5125
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp40_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
5126
        _vala_ccode_node_unref0 (_tmp40_);
 
5127
        dbus_error_init = (_tmp42_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp41_ = vala_ccode_identifier_new ("dbus_error_init"))), _vala_ccode_node_unref0 (_tmp41_), _tmp42_);
4790
5128
        vala_ccode_function_call_add_argument (dbus_error_init, (ValaCCodeExpression*) dbus_error);
4791
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp42_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_init)));
4792
 
        _vala_ccode_node_unref0 (_tmp42_);
4793
 
        connection = (_tmp44_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp43_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp43_), _tmp44_);
4794
 
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp45_ = vala_ccode_identifier_new ("_connection")));
4795
 
        _vala_ccode_node_unref0 (_tmp45_);
4796
 
        ccall = (_tmp47_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp46_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp46_), _tmp47_);
 
5129
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp43_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_init)));
 
5130
        _vala_ccode_node_unref0 (_tmp43_);
 
5131
        connection = (_tmp45_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp44_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp44_), _tmp45_);
 
5132
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp46_ = vala_ccode_identifier_new ("_connection")));
 
5133
        _vala_ccode_node_unref0 (_tmp46_);
 
5134
        ccall = (_tmp48_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp47_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp47_), _tmp48_);
4797
5135
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
4798
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp48_ = vala_ccode_identifier_new ("_message")));
4799
 
        _vala_ccode_node_unref0 (_tmp48_);
4800
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp49_ = vala_ccode_constant_new ("-1")));
 
5136
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp49_ = vala_ccode_identifier_new ("_message")));
4801
5137
        _vala_ccode_node_unref0 (_tmp49_);
 
5138
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp50_ = vala_dbus_client_module_get_dbus_timeout (self, (ValaSymbol*) m)));
 
5139
        _vala_ccode_node_unref0 (_tmp50_);
4802
5140
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) dbus_error);
4803
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp52_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp51_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp50_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
5141
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp53_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp52_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp51_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
5142
        _vala_ccode_node_unref0 (_tmp53_);
4804
5143
        _vala_ccode_node_unref0 (_tmp52_);
4805
5144
        _vala_ccode_node_unref0 (_tmp51_);
4806
 
        _vala_ccode_node_unref0 (_tmp50_);
4807
 
        conn_unref = (_tmp54_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp53_), _tmp54_);
4808
 
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp55_ = vala_ccode_identifier_new ("_connection")));
4809
 
        _vala_ccode_node_unref0 (_tmp55_);
4810
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp56_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
5145
        conn_unref = (_tmp55_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp54_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp54_), _tmp55_);
 
5146
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("_connection")));
4811
5147
        _vala_ccode_node_unref0 (_tmp56_);
4812
 
        message_unref = (_tmp58_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp57_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp57_), _tmp58_);
4813
 
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp59_ = vala_ccode_identifier_new ("_message")));
4814
 
        _vala_ccode_node_unref0 (_tmp59_);
4815
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp60_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
 
5148
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp57_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
5149
        _vala_ccode_node_unref0 (_tmp57_);
 
5150
        message_unref = (_tmp59_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp58_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp58_), _tmp59_);
 
5151
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp60_ = vala_ccode_identifier_new ("_message")));
4816
5152
        _vala_ccode_node_unref0 (_tmp60_);
 
5153
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp61_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
 
5154
        _vala_ccode_node_unref0 (_tmp61_);
4817
5155
        vala_dbus_client_module_check_error_reply (self, m, block);
4818
5156
        vala_dbus_client_module_check_reply_signature (self, m, block);
4819
5157
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) postfragment);
4820
 
        reply_unref = (_tmp62_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp61_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp61_), _tmp62_);
4821
 
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp63_ = vala_ccode_identifier_new ("_reply")));
4822
 
        _vala_ccode_node_unref0 (_tmp63_);
4823
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp64_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
5158
        reply_unref = (_tmp63_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp62_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp62_), _tmp63_);
 
5159
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp64_ = vala_ccode_identifier_new ("_reply")));
4824
5160
        _vala_ccode_node_unref0 (_tmp64_);
 
5161
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp65_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
5162
        _vala_ccode_node_unref0 (_tmp65_);
4825
5163
        if (VALA_IS_VOID_TYPE (vala_method_get_return_type (m))) {
4826
 
                _tmp65_ = TRUE;
 
5164
                _tmp66_ = TRUE;
4827
5165
        } else {
4828
 
                _tmp65_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
 
5166
                _tmp66_ = vala_data_type_is_real_non_null_struct_type (vala_method_get_return_type (m));
4829
5167
        }
4830
 
        if (!_tmp65_) {
4831
 
                ValaCCodeReturnStatement* _tmp67_;
4832
 
                ValaCCodeIdentifier* _tmp66_;
4833
 
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp67_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp66_ = vala_ccode_identifier_new ("_result")))));
 
5168
        if (!_tmp66_) {
 
5169
                ValaCCodeReturnStatement* _tmp68_;
 
5170
                ValaCCodeIdentifier* _tmp67_;
 
5171
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp68_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp67_ = vala_ccode_identifier_new ("_result")))));
 
5172
                _vala_ccode_node_unref0 (_tmp68_);
4834
5173
                _vala_ccode_node_unref0 (_tmp67_);
4835
 
                _vala_ccode_node_unref0 (_tmp66_);
4836
5174
        }
4837
 
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp68_ = vala_ccode_function_copy (function)));
4838
 
        _vala_ccode_node_unref0 (_tmp68_);
 
5175
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp69_ = vala_ccode_function_copy (function)));
 
5176
        _vala_ccode_node_unref0 (_tmp69_);
4839
5177
        vala_ccode_function_set_block (function, block);
4840
5178
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
4841
5179
        result = proxy_name;
4915
5253
                        }
4916
5254
                        error_type = (ValaDataType*) vala_iterator_get (_error_type_it);
4917
5255
                        edomain = _vala_code_node_ref0 (vala_error_type_get_error_domain (VALA_ERROR_TYPE (error_type)));
 
5256
                        if (edomain == NULL) {
 
5257
                                vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) error_type), "Generic errors cannot be serialized over DBus");
 
5258
                                _vala_code_node_unref0 (error_type);
 
5259
                                _vala_code_node_unref0 (edomain);
 
5260
                                continue;
 
5261
                        }
4918
5262
                        edomain_dbus_name = vala_dbus_module_get_dbus_name ((ValaDBusModule*) self, (ValaTypeSymbol*) edomain);
4919
5263
                        if (edomain_dbus_name == NULL) {
4920
 
                                vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) edomain), "Errordomain must have a DBus.name annotation to be serialized over DBus");
 
5264
                                vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) edomain), "Errordomain must have a DBus.name annotation to be serialized over DBu" \
 
5265
"s");
4921
5266
                        }
4922
5267
                        true_block = vala_ccode_block_new ();
4923
5268
                        vala_ccode_block_set_suppress_newline (true_block, TRUE);
5038
5383
 
5039
5384
 
5040
5385
static char* vala_dbus_client_module_generate_async_dbus_proxy_method (ValaDBusClientModule* self, ValaInterface* main_iface, ValaInterface* iface, ValaMethod* m) {
5041
 
        char* result;
 
5386
        char* result = NULL;
5042
5387
        char* _tmp0_;
5043
5388
        char* _tmp1_;
5044
5389
        char* proxy_name;
5150
5495
        ValaCCodeAssignment* _tmp91_;
5151
5496
        ValaCCodeIdentifier* _tmp90_;
5152
5497
        ValaCCodeIdentifier* _tmp89_;
5153
 
        ValaCCodeIdentifier* _tmp93_;
5154
 
        ValaCCodeFunctionCall* _tmp94_;
 
5498
        ValaCCodeDeclaration* obj_decl;
 
5499
        ValaCCodeVariableDeclarator* _tmp93_;
 
5500
        ValaCCodeIdentifier* _tmp94_;
 
5501
        ValaCCodeFunctionCall* _tmp95_;
5155
5502
        ValaCCodeFunctionCall* object_creation;
5156
 
        ValaCCodeConstant* _tmp95_;
5157
5503
        ValaCCodeConstant* _tmp96_;
5158
5504
        ValaCCodeConstant* _tmp97_;
5159
 
        ValaCCodeIdentifier* _tmp98_;
5160
 
        ValaCCodeFunctionCall* _tmp99_;
 
5505
        ValaCCodeConstant* _tmp98_;
 
5506
        ValaCCodeExpressionStatement* _tmp101_;
 
5507
        ValaCCodeAssignment* _tmp100_;
 
5508
        ValaCCodeIdentifier* _tmp99_;
 
5509
        ValaCCodeDeclaration* async_result_decl;
 
5510
        ValaCCodeVariableDeclarator* _tmp102_;
 
5511
        ValaCCodeIdentifier* _tmp103_;
 
5512
        ValaCCodeFunctionCall* _tmp104_;
5161
5513
        ValaCCodeFunctionCall* async_result_creation;
5162
 
        ValaCCodeMemberAccess* _tmp101_;
5163
 
        ValaCCodeIdentifier* _tmp100_;
5164
 
        ValaCCodeMemberAccess* _tmp103_;
5165
 
        ValaCCodeIdentifier* _tmp102_;
5166
 
        ValaCCodeIdentifier* _tmp104_;
5167
5514
        ValaCCodeIdentifier* _tmp105_;
5168
 
        ValaCCodeFunctionCall* _tmp106_;
 
5515
        ValaCCodeMemberAccess* _tmp107_;
 
5516
        ValaCCodeIdentifier* _tmp106_;
 
5517
        ValaCCodeMemberAccess* _tmp109_;
 
5518
        ValaCCodeIdentifier* _tmp108_;
 
5519
        ValaCCodeIdentifier* _tmp110_;
 
5520
        ValaCCodeExpressionStatement* _tmp113_;
 
5521
        ValaCCodeAssignment* _tmp112_;
 
5522
        ValaCCodeIdentifier* _tmp111_;
 
5523
        ValaCCodeIdentifier* _tmp114_;
 
5524
        ValaCCodeFunctionCall* _tmp115_;
5169
5525
        ValaCCodeFunctionCall* completecall;
5170
 
        ValaCCodeExpressionStatement* _tmp107_;
5171
 
        ValaCCodeFunction* _tmp108_;
 
5526
        ValaCCodeIdentifier* _tmp116_;
 
5527
        ValaCCodeExpressionStatement* _tmp117_;
 
5528
        ValaCCodeIdentifier* _tmp118_;
 
5529
        ValaCCodeFunctionCall* _tmp119_;
 
5530
        ValaCCodeFunctionCall* obj_free;
 
5531
        ValaCCodeIdentifier* _tmp120_;
 
5532
        ValaCCodeExpressionStatement* _tmp121_;
 
5533
        ValaCCodeIdentifier* _tmp122_;
 
5534
        ValaCCodeFunctionCall* _tmp123_;
 
5535
        ValaCCodeFunctionCall* async_result_free;
 
5536
        ValaCCodeIdentifier* _tmp124_;
 
5537
        ValaCCodeExpressionStatement* _tmp125_;
 
5538
        ValaCCodeIdentifier* _tmp126_;
 
5539
        ValaCCodeFunctionCall* _tmp127_;
 
5540
        ValaCCodeFunctionCall* datafree;
 
5541
        ValaCCodeIdentifier* _tmp128_;
 
5542
        ValaCCodeIdentifier* _tmp129_;
 
5543
        ValaCCodeExpressionStatement* _tmp130_;
 
5544
        ValaCCodeIdentifier* _tmp131_;
 
5545
        ValaCCodeFunctionCall* _tmp132_;
 
5546
        ValaCCodeFunctionCall* pendingfree;
 
5547
        ValaCCodeIdentifier* _tmp133_;
 
5548
        ValaCCodeExpressionStatement* _tmp134_;
 
5549
        ValaCCodeFunction* _tmp135_;
5172
5550
        g_return_val_if_fail (self != NULL, NULL);
5173
5551
        g_return_val_if_fail (main_iface != NULL, NULL);
5174
5552
        g_return_val_if_fail (iface != NULL, NULL);
5178
5556
        _cdecl_ = NULL;
5179
5557
        dataname = (_tmp4_ = g_strdup_printf ("%sDBusProxy%sData", _tmp2_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) iface, FALSE), _tmp3_ = vala_symbol_lower_case_to_camel_case (vala_symbol_get_name ((ValaSymbol*) m))), _g_free0 (_tmp3_), _g_free0 (_tmp2_), _tmp4_);
5180
5558
        datastruct = (_tmp6_ = vala_ccode_struct_new (_tmp5_ = g_strconcat ("_", dataname, NULL)), _g_free0 (_tmp5_), _tmp6_);
5181
 
        vala_ccode_struct_add_field (datastruct, "GAsyncReadyCallback", "_callback_");
5182
 
        vala_ccode_struct_add_field (datastruct, "gpointer", "_user_data_");
5183
 
        vala_ccode_struct_add_field (datastruct, "DBusPendingCall*", "pending");
 
5559
        vala_ccode_struct_add_field (datastruct, "GAsyncReadyCallback", "_callback_", NULL);
 
5560
        vala_ccode_struct_add_field (datastruct, "gpointer", "_user_data_", NULL);
 
5561
        vala_ccode_struct_add_field (datastruct, "DBusPendingCall*", "pending", NULL);
5184
5562
        vala_ccode_declaration_space_add_type_definition (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) datastruct);
5185
5563
        vala_ccode_declaration_space_add_type_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp9_ = vala_ccode_type_definition_new (_tmp7_ = g_strconcat ("struct _", dataname, NULL), (ValaCCodeDeclarator*) (_tmp8_ = vala_ccode_variable_declarator_new (dataname, NULL, NULL)))));
5186
5564
        _vala_ccode_node_unref0 (_tmp9_);
5237
5615
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp35_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp34_ = vala_ccode_identifier_new ("_pending")))));
5238
5616
        _vala_ccode_node_unref0 (_tmp35_);
5239
5617
        _vala_ccode_node_unref0 (_tmp34_);
5240
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_constant_new ("-1")));
 
5618
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp36_ = vala_dbus_client_module_get_dbus_timeout (self, (ValaSymbol*) m)));
5241
5619
        _vala_ccode_node_unref0 (_tmp36_);
5242
5620
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp37_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccall)));
5243
5621
        _vala_ccode_node_unref0 (_tmp37_);
5316
5694
        _vala_ccode_node_unref0 (_tmp91_);
5317
5695
        _vala_ccode_node_unref0 (_tmp90_);
5318
5696
        _vala_ccode_node_unref0 (_tmp89_);
5319
 
        object_creation = (_tmp94_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp93_ = vala_ccode_identifier_new ("g_object_newv"))), _vala_ccode_node_unref0 (_tmp93_), _tmp94_);
5320
 
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp95_ = vala_ccode_constant_new ("G_TYPE_OBJECT")));
5321
 
        _vala_ccode_node_unref0 (_tmp95_);
5322
 
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp96_ = vala_ccode_constant_new ("0")));
 
5697
        obj_decl = vala_ccode_declaration_new ("GObject *");
 
5698
        vala_ccode_declaration_add_declarator (obj_decl, (ValaCCodeDeclarator*) (_tmp93_ = vala_ccode_variable_declarator_new ("_obj_", NULL, NULL)));
 
5699
        _vala_ccode_node_unref0 (_tmp93_);
 
5700
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) obj_decl);
 
5701
        object_creation = (_tmp95_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp94_ = vala_ccode_identifier_new ("g_object_newv"))), _vala_ccode_node_unref0 (_tmp94_), _tmp95_);
 
5702
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp96_ = vala_ccode_constant_new ("G_TYPE_OBJECT")));
5323
5703
        _vala_ccode_node_unref0 (_tmp96_);
5324
 
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp97_ = vala_ccode_constant_new ("NULL")));
 
5704
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp97_ = vala_ccode_constant_new ("0")));
5325
5705
        _vala_ccode_node_unref0 (_tmp97_);
5326
 
        async_result_creation = (_tmp99_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp98_ = vala_ccode_identifier_new ("g_simple_async_result_new"))), _vala_ccode_node_unref0 (_tmp98_), _tmp99_);
5327
 
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) object_creation);
5328
 
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp101_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp100_ = vala_ccode_identifier_new ("_data_")), "_callback_")));
 
5706
        vala_ccode_function_call_add_argument (object_creation, (ValaCCodeExpression*) (_tmp98_ = vala_ccode_constant_new ("NULL")));
 
5707
        _vala_ccode_node_unref0 (_tmp98_);
 
5708
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp101_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp100_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp99_ = vala_ccode_identifier_new ("_obj_")), (ValaCCodeExpression*) object_creation, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
5329
5709
        _vala_ccode_node_unref0 (_tmp101_);
5330
5710
        _vala_ccode_node_unref0 (_tmp100_);
5331
 
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp103_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp102_ = vala_ccode_identifier_new ("_data_")), "_user_data_")));
5332
 
        _vala_ccode_node_unref0 (_tmp103_);
 
5711
        _vala_ccode_node_unref0 (_tmp99_);
 
5712
        async_result_decl = vala_ccode_declaration_new ("GSimpleAsyncResult *");
 
5713
        vala_ccode_declaration_add_declarator (async_result_decl, (ValaCCodeDeclarator*) (_tmp102_ = vala_ccode_variable_declarator_new ("_res_", NULL, NULL)));
5333
5714
        _vala_ccode_node_unref0 (_tmp102_);
5334
 
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp104_ = vala_ccode_identifier_new ("_data_")));
5335
 
        _vala_ccode_node_unref0 (_tmp104_);
5336
 
        completecall = (_tmp106_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp105_ = vala_ccode_identifier_new ("g_simple_async_result_complete"))), _vala_ccode_node_unref0 (_tmp105_), _tmp106_);
5337
 
        vala_ccode_function_call_add_argument (completecall, (ValaCCodeExpression*) async_result_creation);
5338
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp107_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) completecall)));
 
5715
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) async_result_decl);
 
5716
        async_result_creation = (_tmp104_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp103_ = vala_ccode_identifier_new ("g_simple_async_result_new"))), _vala_ccode_node_unref0 (_tmp103_), _tmp104_);
 
5717
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp105_ = vala_ccode_identifier_new ("_obj_")));
 
5718
        _vala_ccode_node_unref0 (_tmp105_);
 
5719
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp107_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp106_ = vala_ccode_identifier_new ("_data_")), "_callback_")));
5339
5720
        _vala_ccode_node_unref0 (_tmp107_);
5340
 
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp108_ = vala_ccode_function_copy (function)));
 
5721
        _vala_ccode_node_unref0 (_tmp106_);
 
5722
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp109_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) (_tmp108_ = vala_ccode_identifier_new ("_data_")), "_user_data_")));
 
5723
        _vala_ccode_node_unref0 (_tmp109_);
5341
5724
        _vala_ccode_node_unref0 (_tmp108_);
 
5725
        vala_ccode_function_call_add_argument (async_result_creation, (ValaCCodeExpression*) (_tmp110_ = vala_ccode_identifier_new ("_data_")));
 
5726
        _vala_ccode_node_unref0 (_tmp110_);
 
5727
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp113_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp112_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp111_ = vala_ccode_identifier_new ("_res_")), (ValaCCodeExpression*) async_result_creation, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
5728
        _vala_ccode_node_unref0 (_tmp113_);
 
5729
        _vala_ccode_node_unref0 (_tmp112_);
 
5730
        _vala_ccode_node_unref0 (_tmp111_);
 
5731
        completecall = (_tmp115_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp114_ = vala_ccode_identifier_new ("g_simple_async_result_complete"))), _vala_ccode_node_unref0 (_tmp114_), _tmp115_);
 
5732
        vala_ccode_function_call_add_argument (completecall, (ValaCCodeExpression*) (_tmp116_ = vala_ccode_identifier_new ("_res_")));
 
5733
        _vala_ccode_node_unref0 (_tmp116_);
 
5734
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp117_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) completecall)));
 
5735
        _vala_ccode_node_unref0 (_tmp117_);
 
5736
        obj_free = (_tmp119_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp118_ = vala_ccode_identifier_new ("g_object_unref"))), _vala_ccode_node_unref0 (_tmp118_), _tmp119_);
 
5737
        vala_ccode_function_call_add_argument (obj_free, (ValaCCodeExpression*) (_tmp120_ = vala_ccode_identifier_new ("_obj_")));
 
5738
        _vala_ccode_node_unref0 (_tmp120_);
 
5739
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp121_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) obj_free)));
 
5740
        _vala_ccode_node_unref0 (_tmp121_);
 
5741
        async_result_free = (_tmp123_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp122_ = vala_ccode_identifier_new ("g_object_unref"))), _vala_ccode_node_unref0 (_tmp122_), _tmp123_);
 
5742
        vala_ccode_function_call_add_argument (async_result_free, (ValaCCodeExpression*) (_tmp124_ = vala_ccode_identifier_new ("_res_")));
 
5743
        _vala_ccode_node_unref0 (_tmp124_);
 
5744
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp125_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) async_result_free)));
 
5745
        _vala_ccode_node_unref0 (_tmp125_);
 
5746
        datafree = (_tmp127_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp126_ = vala_ccode_identifier_new ("g_slice_free"))), _vala_ccode_node_unref0 (_tmp126_), _tmp127_);
 
5747
        vala_ccode_function_call_add_argument (datafree, (ValaCCodeExpression*) (_tmp128_ = vala_ccode_identifier_new (dataname)));
 
5748
        _vala_ccode_node_unref0 (_tmp128_);
 
5749
        vala_ccode_function_call_add_argument (datafree, (ValaCCodeExpression*) (_tmp129_ = vala_ccode_identifier_new ("_data_")));
 
5750
        _vala_ccode_node_unref0 (_tmp129_);
 
5751
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp130_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) datafree)));
 
5752
        _vala_ccode_node_unref0 (_tmp130_);
 
5753
        pendingfree = (_tmp132_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp131_ = vala_ccode_identifier_new ("dbus_pending_call_unref"))), _vala_ccode_node_unref0 (_tmp131_), _tmp132_);
 
5754
        vala_ccode_function_call_add_argument (pendingfree, (ValaCCodeExpression*) (_tmp133_ = vala_ccode_identifier_new ("pending")));
 
5755
        _vala_ccode_node_unref0 (_tmp133_);
 
5756
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp134_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) pendingfree)));
 
5757
        _vala_ccode_node_unref0 (_tmp134_);
 
5758
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp135_ = vala_ccode_function_copy (function)));
 
5759
        _vala_ccode_node_unref0 (_tmp135_);
5342
5760
        vala_ccode_function_set_block (function, block);
5343
5761
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
5344
5762
        result = proxy_name;
5359
5777
        _vala_ccode_node_unref0 (dataalloc);
5360
5778
        _vala_ccode_node_unref0 (datadecl);
5361
5779
        _vala_ccode_node_unref0 (pending);
 
5780
        _vala_ccode_node_unref0 (obj_decl);
5362
5781
        _vala_ccode_node_unref0 (object_creation);
 
5782
        _vala_ccode_node_unref0 (async_result_decl);
5363
5783
        _vala_ccode_node_unref0 (async_result_creation);
5364
5784
        _vala_ccode_node_unref0 (completecall);
 
5785
        _vala_ccode_node_unref0 (obj_free);
 
5786
        _vala_ccode_node_unref0 (async_result_free);
 
5787
        _vala_ccode_node_unref0 (datafree);
 
5788
        _vala_ccode_node_unref0 (pendingfree);
5365
5789
        return result;
5366
5790
}
5367
5791
 
5368
5792
 
5369
5793
static ValaCCodeConstant* vala_dbus_client_module_get_reply_signature (ValaDBusClientModule* self, ValaMethod* m) {
5370
 
        ValaCCodeConstant* result;
 
5794
        ValaCCodeConstant* result = NULL;
5371
5795
        char* type_signature;
5372
5796
        char* _tmp6_;
5373
5797
        ValaCCodeConstant* _tmp7_;
5479
5903
 
5480
5904
 
5481
5905
static char* vala_dbus_client_module_generate_finish_dbus_proxy_method (ValaDBusClientModule* self, ValaInterface* main_iface, ValaInterface* iface, ValaMethod* m) {
5482
 
        char* result;
 
5906
        char* result = NULL;
5483
5907
        char* _tmp0_;
5484
5908
        char* _tmp1_;
5485
5909
        char* proxy_name;
5644
6068
}
5645
6069
 
5646
6070
 
 
6071
static void vala_dbus_client_module_check_property_error_reply (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeBlock* block) {
 
6072
        ValaCCodeIdentifier* dbus_error;
 
6073
        ValaCCodeUnaryExpression* dbus_error_ptr;
 
6074
        ValaCCodeBlock* error_block;
 
6075
        ValaCCodeIdentifier* _tmp0_;
 
6076
        ValaCCodeFunctionCall* _tmp1_;
 
6077
        ValaCCodeFunctionCall* ccritical;
 
6078
        ValaCCodeConstant* _tmp2_;
 
6079
        ValaCCodeConstant* _tmp3_;
 
6080
        ValaCCodeConstant* _tmp4_;
 
6081
        ValaCCodeMemberAccess* _tmp5_;
 
6082
        ValaCCodeMemberAccess* _tmp6_;
 
6083
        ValaCCodeExpressionStatement* _tmp7_;
 
6084
        ValaCCodeIdentifier* _tmp8_;
 
6085
        ValaCCodeFunctionCall* _tmp9_;
 
6086
        ValaCCodeFunctionCall* dbus_error_free;
 
6087
        ValaCCodeExpressionStatement* _tmp10_;
 
6088
        gboolean _tmp11_ = FALSE;
 
6089
        ValaCCodeIdentifier* _tmp15_;
 
6090
        ValaCCodeFunctionCall* _tmp16_;
 
6091
        ValaCCodeFunctionCall* dbus_error_is_set;
 
6092
        ValaCCodeIfStatement* _tmp17_;
 
6093
        g_return_if_fail (self != NULL);
 
6094
        g_return_if_fail (acc != NULL);
 
6095
        g_return_if_fail (block != NULL);
 
6096
        dbus_error = vala_ccode_identifier_new ("_dbus_error");
 
6097
        dbus_error_ptr = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) dbus_error);
 
6098
        error_block = vala_ccode_block_new ();
 
6099
        ccritical = (_tmp1_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp0_ = vala_ccode_identifier_new ("g_critical"))), _vala_ccode_node_unref0 (_tmp0_), _tmp1_);
 
6100
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp2_ = vala_ccode_constant_new ("\"file %s: line %d: uncaught error: %s (%s)\"")));
 
6101
        _vala_ccode_node_unref0 (_tmp2_);
 
6102
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp3_ = vala_ccode_constant_new ("__FILE__")));
 
6103
        _vala_ccode_node_unref0 (_tmp3_);
 
6104
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp4_ = vala_ccode_constant_new ("__LINE__")));
 
6105
        _vala_ccode_node_unref0 (_tmp4_);
 
6106
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp5_ = vala_ccode_member_access_new ((ValaCCodeExpression*) dbus_error, "message", FALSE)));
 
6107
        _vala_ccode_node_unref0 (_tmp5_);
 
6108
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp6_ = vala_ccode_member_access_new ((ValaCCodeExpression*) dbus_error, "name", FALSE)));
 
6109
        _vala_ccode_node_unref0 (_tmp6_);
 
6110
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp7_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccritical)));
 
6111
        _vala_ccode_node_unref0 (_tmp7_);
 
6112
        dbus_error_free = (_tmp9_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp8_ = vala_ccode_identifier_new ("dbus_error_free"))), _vala_ccode_node_unref0 (_tmp8_), _tmp9_);
 
6113
        vala_ccode_function_call_add_argument (dbus_error_free, (ValaCCodeExpression*) dbus_error_ptr);
 
6114
        vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp10_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_free)));
 
6115
        _vala_ccode_node_unref0 (_tmp10_);
 
6116
        if (vala_property_accessor_get_readable (acc)) {
 
6117
                _tmp11_ = !vala_data_type_is_real_non_null_struct_type (vala_property_accessor_get_value_type (acc));
 
6118
        } else {
 
6119
                _tmp11_ = FALSE;
 
6120
        }
 
6121
        if (_tmp11_) {
 
6122
                ValaCCodeReturnStatement* _tmp13_;
 
6123
                ValaCCodeExpression* _tmp12_;
 
6124
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp13_ = vala_ccode_return_statement_new (_tmp12_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_property_accessor_get_value_type (acc), FALSE))));
 
6125
                _vala_ccode_node_unref0 (_tmp13_);
 
6126
                _vala_ccode_node_unref0 (_tmp12_);
 
6127
        } else {
 
6128
                ValaCCodeReturnStatement* _tmp14_;
 
6129
                vala_ccode_block_add_statement (error_block, (ValaCCodeNode*) (_tmp14_ = vala_ccode_return_statement_new (NULL)));
 
6130
                _vala_ccode_node_unref0 (_tmp14_);
 
6131
        }
 
6132
        dbus_error_is_set = (_tmp16_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp15_ = vala_ccode_identifier_new ("dbus_error_is_set"))), _vala_ccode_node_unref0 (_tmp15_), _tmp16_);
 
6133
        vala_ccode_function_call_add_argument (dbus_error_is_set, (ValaCCodeExpression*) dbus_error_ptr);
 
6134
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp17_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) dbus_error_is_set, (ValaCCodeStatement*) error_block, NULL)));
 
6135
        _vala_ccode_node_unref0 (_tmp17_);
 
6136
        _vala_ccode_node_unref0 (dbus_error);
 
6137
        _vala_ccode_node_unref0 (dbus_error_ptr);
 
6138
        _vala_ccode_node_unref0 (error_block);
 
6139
        _vala_ccode_node_unref0 (ccritical);
 
6140
        _vala_ccode_node_unref0 (dbus_error_free);
 
6141
        _vala_ccode_node_unref0 (dbus_error_is_set);
 
6142
}
 
6143
 
 
6144
 
 
6145
static ValaCCodeConstant* vala_dbus_client_module_get_property_reply_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc) {
 
6146
        ValaCCodeConstant* result = NULL;
 
6147
        g_return_val_if_fail (self != NULL, NULL);
 
6148
        g_return_val_if_fail (acc != NULL, NULL);
 
6149
        if (vala_property_accessor_get_readable (acc)) {
 
6150
                result = vala_ccode_constant_new ("\"v\"");
 
6151
                return result;
 
6152
        } else {
 
6153
                result = vala_ccode_constant_new ("\"\"");
 
6154
                return result;
 
6155
        }
 
6156
}
 
6157
 
 
6158
 
 
6159
static ValaCCodeConstant* vala_dbus_client_module_get_property_inner_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc) {
 
6160
        ValaCCodeConstant* result = NULL;
 
6161
        char* _tmp1_;
 
6162
        char* _tmp0_;
 
6163
        ValaCCodeConstant* _tmp2_;
 
6164
        g_return_val_if_fail (self != NULL, NULL);
 
6165
        g_return_val_if_fail (acc != NULL, NULL);
 
6166
        result = (_tmp2_ = vala_ccode_constant_new (_tmp1_ = g_strdup_printf ("\"%s\"", _tmp0_ = vala_dbus_module_get_type_signature (vala_property_accessor_get_value_type (acc)))), _g_free0 (_tmp1_), _g_free0 (_tmp0_), _tmp2_);
 
6167
        return result;
 
6168
}
 
6169
 
 
6170
 
 
6171
static void vala_dbus_client_module_check_property_reply_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeBlock* block) {
 
6172
        ValaCCodeIdentifier* _tmp0_;
 
6173
        ValaCCodeFunctionCall* _tmp1_;
 
6174
        ValaCCodeFunctionCall* reply_unref;
 
6175
        ValaCCodeIdentifier* _tmp2_;
 
6176
        ValaCCodeIdentifier* _tmp3_;
 
6177
        ValaCCodeFunctionCall* _tmp4_;
 
6178
        ValaCCodeFunctionCall* message_signature;
 
6179
        ValaCCodeIdentifier* _tmp5_;
 
6180
        ValaCCodeIdentifier* _tmp6_;
 
6181
        ValaCCodeFunctionCall* _tmp7_;
 
6182
        ValaCCodeFunctionCall* signature_check;
 
6183
        ValaCCodeConstant* _tmp8_;
 
6184
        ValaCCodeBlock* signature_error_block;
 
6185
        ValaCCodeIdentifier* _tmp9_;
 
6186
        ValaCCodeFunctionCall* _tmp10_;
 
6187
        ValaCCodeFunctionCall* ccritical;
 
6188
        ValaCCodeConstant* _tmp11_;
 
6189
        ValaCCodeConstant* _tmp12_;
 
6190
        ValaCCodeConstant* _tmp13_;
 
6191
        ValaCCodeConstant* _tmp14_;
 
6192
        ValaCCodeExpressionStatement* _tmp15_;
 
6193
        ValaCCodeExpressionStatement* _tmp16_;
 
6194
        gboolean _tmp17_ = FALSE;
 
6195
        ValaCCodeIfStatement* _tmp21_;
 
6196
        g_return_if_fail (self != NULL);
 
6197
        g_return_if_fail (acc != NULL);
 
6198
        g_return_if_fail (block != NULL);
 
6199
        reply_unref = (_tmp1_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp0_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp0_), _tmp1_);
 
6200
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp2_ = vala_ccode_identifier_new ("_reply")));
 
6201
        _vala_ccode_node_unref0 (_tmp2_);
 
6202
        message_signature = (_tmp4_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp3_ = vala_ccode_identifier_new ("dbus_message_get_signature"))), _vala_ccode_node_unref0 (_tmp3_), _tmp4_);
 
6203
        vala_ccode_function_call_add_argument (message_signature, (ValaCCodeExpression*) (_tmp5_ = vala_ccode_identifier_new ("_reply")));
 
6204
        _vala_ccode_node_unref0 (_tmp5_);
 
6205
        signature_check = (_tmp7_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp6_ = vala_ccode_identifier_new ("strcmp"))), _vala_ccode_node_unref0 (_tmp6_), _tmp7_);
 
6206
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) message_signature);
 
6207
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) (_tmp8_ = vala_dbus_client_module_get_property_reply_signature (self, acc)));
 
6208
        _vala_ccode_node_unref0 (_tmp8_);
 
6209
        signature_error_block = vala_ccode_block_new ();
 
6210
        ccritical = (_tmp10_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp9_ = vala_ccode_identifier_new ("g_critical"))), _vala_ccode_node_unref0 (_tmp9_), _tmp10_);
 
6211
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp11_ = vala_ccode_constant_new ("\"file %s: line %d: Invalid signature, expected \\\"%s\\\", got \\\"%s" \
 
6212
"\\\"\"")));
 
6213
        _vala_ccode_node_unref0 (_tmp11_);
 
6214
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp12_ = vala_ccode_constant_new ("__FILE__")));
 
6215
        _vala_ccode_node_unref0 (_tmp12_);
 
6216
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp13_ = vala_ccode_constant_new ("__LINE__")));
 
6217
        _vala_ccode_node_unref0 (_tmp13_);
 
6218
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp14_ = vala_dbus_client_module_get_property_reply_signature (self, acc)));
 
6219
        _vala_ccode_node_unref0 (_tmp14_);
 
6220
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) message_signature);
 
6221
        vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp15_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccritical)));
 
6222
        _vala_ccode_node_unref0 (_tmp15_);
 
6223
        vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp16_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
6224
        _vala_ccode_node_unref0 (_tmp16_);
 
6225
        if (vala_property_accessor_get_readable (acc)) {
 
6226
                _tmp17_ = !vala_data_type_is_real_non_null_struct_type (vala_property_accessor_get_value_type (acc));
 
6227
        } else {
 
6228
                _tmp17_ = FALSE;
 
6229
        }
 
6230
        if (_tmp17_) {
 
6231
                ValaCCodeReturnStatement* _tmp19_;
 
6232
                ValaCCodeExpression* _tmp18_;
 
6233
                vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp19_ = vala_ccode_return_statement_new (_tmp18_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_property_accessor_get_value_type (acc), FALSE))));
 
6234
                _vala_ccode_node_unref0 (_tmp19_);
 
6235
                _vala_ccode_node_unref0 (_tmp18_);
 
6236
        } else {
 
6237
                ValaCCodeReturnStatement* _tmp20_;
 
6238
                vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp20_ = vala_ccode_return_statement_new (NULL)));
 
6239
                _vala_ccode_node_unref0 (_tmp20_);
 
6240
        }
 
6241
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp21_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) signature_check, (ValaCCodeStatement*) signature_error_block, NULL)));
 
6242
        _vala_ccode_node_unref0 (_tmp21_);
 
6243
        _vala_ccode_node_unref0 (reply_unref);
 
6244
        _vala_ccode_node_unref0 (message_signature);
 
6245
        _vala_ccode_node_unref0 (signature_check);
 
6246
        _vala_ccode_node_unref0 (signature_error_block);
 
6247
        _vala_ccode_node_unref0 (ccritical);
 
6248
}
 
6249
 
 
6250
 
 
6251
static void vala_dbus_client_module_check_property_inner_signature (ValaDBusClientModule* self, ValaPropertyAccessor* acc, ValaCCodeFragment* fragment) {
 
6252
        ValaCCodeIdentifier* _tmp0_;
 
6253
        ValaCCodeFunctionCall* _tmp1_;
 
6254
        ValaCCodeFunctionCall* reply_unref;
 
6255
        ValaCCodeIdentifier* _tmp2_;
 
6256
        ValaCCodeIdentifier* _tmp3_;
 
6257
        ValaCCodeFunctionCall* _tmp4_;
 
6258
        ValaCCodeFunctionCall* iter_signature;
 
6259
        ValaCCodeUnaryExpression* _tmp6_;
 
6260
        ValaCCodeIdentifier* _tmp5_;
 
6261
        ValaCCodeIdentifier* _tmp7_;
 
6262
        ValaCCodeFunctionCall* _tmp8_;
 
6263
        ValaCCodeFunctionCall* signature_check;
 
6264
        ValaCCodeConstant* _tmp9_;
 
6265
        ValaCCodeBlock* signature_error_block;
 
6266
        ValaCCodeIdentifier* _tmp10_;
 
6267
        ValaCCodeFunctionCall* _tmp11_;
 
6268
        ValaCCodeFunctionCall* ccritical;
 
6269
        ValaCCodeConstant* _tmp12_;
 
6270
        ValaCCodeConstant* _tmp13_;
 
6271
        ValaCCodeConstant* _tmp14_;
 
6272
        ValaCCodeConstant* _tmp15_;
 
6273
        ValaCCodeExpressionStatement* _tmp16_;
 
6274
        ValaCCodeExpressionStatement* _tmp17_;
 
6275
        ValaCCodeIfStatement* _tmp21_;
 
6276
        g_return_if_fail (self != NULL);
 
6277
        g_return_if_fail (acc != NULL);
 
6278
        g_return_if_fail (fragment != NULL);
 
6279
        reply_unref = (_tmp1_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp0_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp0_), _tmp1_);
 
6280
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp2_ = vala_ccode_identifier_new ("_reply")));
 
6281
        _vala_ccode_node_unref0 (_tmp2_);
 
6282
        iter_signature = (_tmp4_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp3_ = vala_ccode_identifier_new ("dbus_message_iter_get_signature"))), _vala_ccode_node_unref0 (_tmp3_), _tmp4_);
 
6283
        vala_ccode_function_call_add_argument (iter_signature, (ValaCCodeExpression*) (_tmp6_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp5_ = vala_ccode_identifier_new ("_subiter")))));
 
6284
        _vala_ccode_node_unref0 (_tmp6_);
 
6285
        _vala_ccode_node_unref0 (_tmp5_);
 
6286
        signature_check = (_tmp8_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp7_ = vala_ccode_identifier_new ("strcmp"))), _vala_ccode_node_unref0 (_tmp7_), _tmp8_);
 
6287
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) iter_signature);
 
6288
        vala_ccode_function_call_add_argument (signature_check, (ValaCCodeExpression*) (_tmp9_ = vala_dbus_client_module_get_property_inner_signature (self, acc)));
 
6289
        _vala_ccode_node_unref0 (_tmp9_);
 
6290
        signature_error_block = vala_ccode_block_new ();
 
6291
        ccritical = (_tmp11_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp10_ = vala_ccode_identifier_new ("g_critical"))), _vala_ccode_node_unref0 (_tmp10_), _tmp11_);
 
6292
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp12_ = vala_ccode_constant_new ("\"file %s: line %d: Invalid signature, expected \\\"%s\\\", got \\\"%s" \
 
6293
"\\\"\"")));
 
6294
        _vala_ccode_node_unref0 (_tmp12_);
 
6295
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp13_ = vala_ccode_constant_new ("__FILE__")));
 
6296
        _vala_ccode_node_unref0 (_tmp13_);
 
6297
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp14_ = vala_ccode_constant_new ("__LINE__")));
 
6298
        _vala_ccode_node_unref0 (_tmp14_);
 
6299
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) (_tmp15_ = vala_dbus_client_module_get_property_inner_signature (self, acc)));
 
6300
        _vala_ccode_node_unref0 (_tmp15_);
 
6301
        vala_ccode_function_call_add_argument (ccritical, (ValaCCodeExpression*) iter_signature);
 
6302
        vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp16_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) ccritical)));
 
6303
        _vala_ccode_node_unref0 (_tmp16_);
 
6304
        vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp17_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
6305
        _vala_ccode_node_unref0 (_tmp17_);
 
6306
        if (!vala_data_type_is_real_non_null_struct_type (vala_property_accessor_get_value_type (acc))) {
 
6307
                ValaCCodeReturnStatement* _tmp19_;
 
6308
                ValaCCodeExpression* _tmp18_;
 
6309
                vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp19_ = vala_ccode_return_statement_new (_tmp18_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, vala_property_accessor_get_value_type (acc), FALSE))));
 
6310
                _vala_ccode_node_unref0 (_tmp19_);
 
6311
                _vala_ccode_node_unref0 (_tmp18_);
 
6312
        } else {
 
6313
                ValaCCodeReturnStatement* _tmp20_;
 
6314
                vala_ccode_block_add_statement (signature_error_block, (ValaCCodeNode*) (_tmp20_ = vala_ccode_return_statement_new (NULL)));
 
6315
                _vala_ccode_node_unref0 (_tmp20_);
 
6316
        }
 
6317
        vala_ccode_fragment_append (fragment, (ValaCCodeNode*) (_tmp21_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) signature_check, (ValaCCodeStatement*) signature_error_block, NULL)));
 
6318
        _vala_ccode_node_unref0 (_tmp21_);
 
6319
        _vala_ccode_node_unref0 (reply_unref);
 
6320
        _vala_ccode_node_unref0 (iter_signature);
 
6321
        _vala_ccode_node_unref0 (signature_check);
 
6322
        _vala_ccode_node_unref0 (signature_error_block);
 
6323
        _vala_ccode_node_unref0 (ccritical);
 
6324
}
 
6325
 
 
6326
 
5647
6327
static char* vala_dbus_client_module_generate_dbus_proxy_property_get (ValaDBusClientModule* self, ValaInterface* main_iface, ValaInterface* iface, ValaProperty* prop) {
5648
 
        char* result;
 
6328
        char* result = NULL;
5649
6329
        char* _tmp0_;
5650
6330
        char* _tmp1_;
5651
6331
        char* proxy_name;
5671
6351
        ValaCCodeIdentifier* _tmp17_;
5672
6352
        ValaCCodeDeclaration* _tmp23_;
5673
6353
        ValaCCodeVariableDeclarator* _tmp24_;
5674
 
        ValaCCodeDeclaration* _tmp25_;
5675
 
        ValaCCodeVariableDeclarator* _tmp26_;
5676
 
        ValaCCodeVariableDeclarator* _tmp27_;
5677
 
        ValaCCodeDeclaration* _tmp28_;
5678
 
        ValaCCodeVariableDeclarator* _tmp29_;
 
6354
        ValaCCodeIdentifier* _tmp25_;
 
6355
        ValaCCodeUnaryExpression* _tmp26_;
 
6356
        ValaCCodeUnaryExpression* dbus_error;
 
6357
        ValaCCodeDeclaration* _tmp27_;
 
6358
        ValaCCodeVariableDeclarator* _tmp28_;
 
6359
        ValaCCodeDeclaration* _tmp29_;
5679
6360
        ValaCCodeVariableDeclarator* _tmp30_;
5680
 
        ValaCCodeIdentifier* _tmp31_;
5681
 
        ValaCCodeFunctionCall* _tmp32_;
5682
 
        ValaCCodeFunctionCall* destination;
5683
 
        ValaCCodeCastExpression* _tmp34_;
5684
 
        ValaCCodeIdentifier* _tmp33_;
 
6361
        ValaCCodeVariableDeclarator* _tmp31_;
 
6362
        ValaCCodeDeclaration* _tmp32_;
 
6363
        ValaCCodeVariableDeclarator* _tmp33_;
 
6364
        ValaCCodeVariableDeclarator* _tmp34_;
5685
6365
        ValaCCodeIdentifier* _tmp35_;
5686
6366
        ValaCCodeFunctionCall* _tmp36_;
5687
 
        ValaCCodeFunctionCall* path;
 
6367
        ValaCCodeFunctionCall* destination;
5688
6368
        ValaCCodeCastExpression* _tmp38_;
5689
6369
        ValaCCodeIdentifier* _tmp37_;
5690
6370
        ValaCCodeIdentifier* _tmp39_;
5691
6371
        ValaCCodeFunctionCall* _tmp40_;
 
6372
        ValaCCodeFunctionCall* path;
 
6373
        ValaCCodeCastExpression* _tmp42_;
 
6374
        ValaCCodeIdentifier* _tmp41_;
 
6375
        ValaCCodeIdentifier* _tmp43_;
 
6376
        ValaCCodeFunctionCall* _tmp44_;
5692
6377
        ValaCCodeFunctionCall* msgcall;
5693
 
        ValaCCodeConstant* _tmp41_;
5694
 
        ValaCCodeConstant* _tmp42_;
5695
 
        ValaCCodeExpressionStatement* _tmp45_;
5696
 
        ValaCCodeAssignment* _tmp44_;
5697
 
        ValaCCodeIdentifier* _tmp43_;
5698
 
        ValaCCodeIdentifier* _tmp46_;
5699
 
        ValaCCodeFunctionCall* _tmp47_;
 
6378
        ValaCCodeConstant* _tmp45_;
 
6379
        ValaCCodeConstant* _tmp46_;
 
6380
        ValaCCodeExpressionStatement* _tmp49_;
 
6381
        ValaCCodeAssignment* _tmp48_;
 
6382
        ValaCCodeIdentifier* _tmp47_;
 
6383
        ValaCCodeIdentifier* _tmp50_;
 
6384
        ValaCCodeFunctionCall* _tmp51_;
5700
6385
        ValaCCodeFunctionCall* iter_call;
5701
 
        ValaCCodeIdentifier* _tmp48_;
5702
 
        ValaCCodeUnaryExpression* _tmp50_;
5703
 
        ValaCCodeIdentifier* _tmp49_;
5704
 
        ValaCCodeExpressionStatement* _tmp51_;
5705
 
        ValaCCodeFunctionCall* _tmp53_;
5706
6386
        ValaCCodeIdentifier* _tmp52_;
5707
 
        ValaCCodeIdentifier* _tmp54_;
5708
 
        ValaCCodeUnaryExpression* _tmp56_;
5709
 
        ValaCCodeIdentifier* _tmp55_;
5710
 
        ValaCCodeExpressionStatement* _tmp57_;
5711
 
        ValaCCodeConstant* _tmp60_;
5712
 
        char* _tmp59_;
 
6387
        ValaCCodeUnaryExpression* _tmp54_;
 
6388
        ValaCCodeIdentifier* _tmp53_;
 
6389
        ValaCCodeExpressionStatement* _tmp55_;
 
6390
        ValaCCodeFunctionCall* _tmp57_;
 
6391
        ValaCCodeIdentifier* _tmp56_;
5713
6392
        ValaCCodeIdentifier* _tmp58_;
 
6393
        ValaCCodeUnaryExpression* _tmp60_;
 
6394
        ValaCCodeIdentifier* _tmp59_;
 
6395
        ValaCCodeExpressionStatement* _tmp61_;
5714
6396
        ValaCCodeConstant* _tmp64_;
5715
6397
        char* _tmp63_;
5716
 
        char* _tmp62_;
5717
 
        ValaCCodeIdentifier* _tmp61_;
5718
 
        ValaCCodeFunctionCall* _tmp66_;
 
6398
        ValaCCodeIdentifier* _tmp62_;
 
6399
        ValaCCodeConstant* _tmp68_;
 
6400
        char* _tmp67_;
 
6401
        char* _tmp66_;
5719
6402
        ValaCCodeIdentifier* _tmp65_;
5720
 
        ValaCCodeUnaryExpression* _tmp68_;
5721
 
        ValaCCodeIdentifier* _tmp67_;
5722
 
        ValaCCodeUnaryExpression* _tmp70_;
 
6403
        ValaCCodeFunctionCall* _tmp70_;
5723
6404
        ValaCCodeIdentifier* _tmp69_;
5724
 
        ValaCCodeExpressionStatement* _tmp71_;
5725
 
        ValaCCodeIdentifier* _tmp98_;
5726
 
        ValaCCodeFunctionCall* _tmp99_;
 
6405
        ValaCCodeUnaryExpression* _tmp72_;
 
6406
        ValaCCodeIdentifier* _tmp71_;
 
6407
        ValaCCodeUnaryExpression* _tmp74_;
 
6408
        ValaCCodeIdentifier* _tmp73_;
 
6409
        ValaCCodeExpressionStatement* _tmp75_;
 
6410
        ValaCCodeIdentifier* _tmp102_;
 
6411
        ValaCCodeFunctionCall* _tmp103_;
5727
6412
        ValaCCodeFunctionCall* gconnection;
5728
 
        ValaCCodeIdentifier* _tmp100_;
5729
 
        ValaCCodeConstant* _tmp101_;
5730
 
        ValaCCodeUnaryExpression* _tmp103_;
5731
 
        ValaCCodeIdentifier* _tmp102_;
5732
 
        ValaCCodeConstant* _tmp104_;
5733
 
        ValaCCodeExpressionStatement* _tmp105_;
 
6413
        ValaCCodeIdentifier* _tmp104_;
 
6414
        ValaCCodeConstant* _tmp105_;
 
6415
        ValaCCodeUnaryExpression* _tmp107_;
5734
6416
        ValaCCodeIdentifier* _tmp106_;
5735
 
        ValaCCodeFunctionCall* _tmp107_;
 
6417
        ValaCCodeConstant* _tmp108_;
 
6418
        ValaCCodeExpressionStatement* _tmp109_;
 
6419
        ValaCCodeIdentifier* _tmp110_;
 
6420
        ValaCCodeFunctionCall* _tmp111_;
 
6421
        ValaCCodeFunctionCall* dbus_error_init;
 
6422
        ValaCCodeExpressionStatement* _tmp112_;
 
6423
        ValaCCodeIdentifier* _tmp113_;
 
6424
        ValaCCodeFunctionCall* _tmp114_;
5736
6425
        ValaCCodeFunctionCall* connection;
5737
 
        ValaCCodeIdentifier* _tmp108_;
5738
 
        ValaCCodeIdentifier* _tmp109_;
5739
 
        ValaCCodeFunctionCall* _tmp110_;
 
6426
        ValaCCodeIdentifier* _tmp115_;
 
6427
        ValaCCodeIdentifier* _tmp116_;
 
6428
        ValaCCodeFunctionCall* _tmp117_;
5740
6429
        ValaCCodeFunctionCall* ccall;
5741
 
        ValaCCodeIdentifier* _tmp111_;
5742
 
        ValaCCodeConstant* _tmp112_;
5743
 
        ValaCCodeConstant* _tmp113_;
5744
 
        ValaCCodeExpressionStatement* _tmp116_;
5745
 
        ValaCCodeAssignment* _tmp115_;
5746
 
        ValaCCodeIdentifier* _tmp114_;
5747
 
        ValaCCodeIdentifier* _tmp117_;
5748
 
        ValaCCodeFunctionCall* _tmp118_;
5749
 
        ValaCCodeFunctionCall* conn_unref;
5750
 
        ValaCCodeIdentifier* _tmp119_;
5751
 
        ValaCCodeExpressionStatement* _tmp120_;
5752
 
        ValaCCodeIdentifier* _tmp121_;
5753
 
        ValaCCodeFunctionCall* _tmp122_;
5754
 
        ValaCCodeFunctionCall* message_unref;
 
6430
        ValaCCodeIdentifier* _tmp118_;
 
6431
        ValaCCodeConstant* _tmp119_;
 
6432
        ValaCCodeExpressionStatement* _tmp122_;
 
6433
        ValaCCodeAssignment* _tmp121_;
 
6434
        ValaCCodeIdentifier* _tmp120_;
5755
6435
        ValaCCodeIdentifier* _tmp123_;
5756
 
        ValaCCodeExpressionStatement* _tmp124_;
 
6436
        ValaCCodeFunctionCall* _tmp124_;
 
6437
        ValaCCodeFunctionCall* conn_unref;
5757
6438
        ValaCCodeIdentifier* _tmp125_;
5758
 
        ValaCCodeFunctionCall* _tmp126_;
5759
 
        ValaCCodeFunctionCall* reply_unref;
 
6439
        ValaCCodeExpressionStatement* _tmp126_;
5760
6440
        ValaCCodeIdentifier* _tmp127_;
5761
 
        ValaCCodeExpressionStatement* _tmp128_;
5762
 
        ValaCCodeFunction* _tmp132_;
 
6441
        ValaCCodeFunctionCall* _tmp128_;
 
6442
        ValaCCodeFunctionCall* message_unref;
 
6443
        ValaCCodeIdentifier* _tmp129_;
 
6444
        ValaCCodeExpressionStatement* _tmp130_;
 
6445
        ValaCCodeIdentifier* _tmp131_;
 
6446
        ValaCCodeFunctionCall* _tmp132_;
 
6447
        ValaCCodeFunctionCall* reply_unref;
 
6448
        ValaCCodeIdentifier* _tmp133_;
 
6449
        ValaCCodeExpressionStatement* _tmp134_;
 
6450
        ValaCCodeFunction* _tmp138_;
5763
6451
        g_return_val_if_fail (self != NULL, NULL);
5764
6452
        g_return_val_if_fail (main_iface != NULL, NULL);
5765
6453
        g_return_val_if_fail (iface != NULL, NULL);
5843
6531
        _g_free0 (_tmp19_);
5844
6532
        _g_free0 (_tmp18_);
5845
6533
        _vala_ccode_node_unref0 (_tmp17_);
5846
 
        _cdecl_ = (_tmp23_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp23_);
5847
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp24_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
6534
        _cdecl_ = (_tmp23_ = vala_ccode_declaration_new ("DBusError"), _vala_ccode_node_unref0 (_cdecl_), _tmp23_);
 
6535
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp24_ = vala_ccode_variable_declarator_new ("_dbus_error", NULL, NULL)));
5848
6536
        _vala_ccode_node_unref0 (_tmp24_);
5849
6537
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
5850
 
        _cdecl_ = (_tmp25_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp25_);
5851
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp26_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
5852
 
        _vala_ccode_node_unref0 (_tmp26_);
5853
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp27_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
5854
 
        _vala_ccode_node_unref0 (_tmp27_);
 
6538
        dbus_error = (_tmp26_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp25_ = vala_ccode_identifier_new ("_dbus_error"))), _vala_ccode_node_unref0 (_tmp25_), _tmp26_);
 
6539
        _cdecl_ = (_tmp27_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp27_);
 
6540
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp28_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
6541
        _vala_ccode_node_unref0 (_tmp28_);
5855
6542
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
5856
 
        _cdecl_ = (_tmp28_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp28_);
5857
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp29_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
5858
 
        _vala_ccode_node_unref0 (_tmp29_);
5859
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp30_ = vala_ccode_variable_declarator_new ("_subiter", NULL, NULL)));
 
6543
        _cdecl_ = (_tmp29_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp29_);
 
6544
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp30_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
5860
6545
        _vala_ccode_node_unref0 (_tmp30_);
 
6546
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp31_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
 
6547
        _vala_ccode_node_unref0 (_tmp31_);
 
6548
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
6549
        _cdecl_ = (_tmp32_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp32_);
 
6550
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp33_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
 
6551
        _vala_ccode_node_unref0 (_tmp33_);
 
6552
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp34_ = vala_ccode_variable_declarator_new ("_subiter", NULL, NULL)));
 
6553
        _vala_ccode_node_unref0 (_tmp34_);
5861
6554
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
5862
6555
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) prefragment);
5863
 
        destination = (_tmp32_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp31_ = vala_ccode_identifier_new ("dbus_g_proxy_get_bus_name"))), _vala_ccode_node_unref0 (_tmp31_), _tmp32_);
5864
 
        vala_ccode_function_call_add_argument (destination, (ValaCCodeExpression*) (_tmp34_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp33_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
5865
 
        _vala_ccode_node_unref0 (_tmp34_);
5866
 
        _vala_ccode_node_unref0 (_tmp33_);
5867
 
        path = (_tmp36_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp35_ = vala_ccode_identifier_new ("dbus_g_proxy_get_path"))), _vala_ccode_node_unref0 (_tmp35_), _tmp36_);
5868
 
        vala_ccode_function_call_add_argument (path, (ValaCCodeExpression*) (_tmp38_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp37_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
 
6556
        destination = (_tmp36_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp35_ = vala_ccode_identifier_new ("dbus_g_proxy_get_bus_name"))), _vala_ccode_node_unref0 (_tmp35_), _tmp36_);
 
6557
        vala_ccode_function_call_add_argument (destination, (ValaCCodeExpression*) (_tmp38_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp37_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
5869
6558
        _vala_ccode_node_unref0 (_tmp38_);
5870
6559
        _vala_ccode_node_unref0 (_tmp37_);
5871
 
        msgcall = (_tmp40_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp39_ = vala_ccode_identifier_new ("dbus_message_new_method_call"))), _vala_ccode_node_unref0 (_tmp39_), _tmp40_);
 
6560
        path = (_tmp40_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp39_ = vala_ccode_identifier_new ("dbus_g_proxy_get_path"))), _vala_ccode_node_unref0 (_tmp39_), _tmp40_);
 
6561
        vala_ccode_function_call_add_argument (path, (ValaCCodeExpression*) (_tmp42_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp41_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
 
6562
        _vala_ccode_node_unref0 (_tmp42_);
 
6563
        _vala_ccode_node_unref0 (_tmp41_);
 
6564
        msgcall = (_tmp44_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp43_ = vala_ccode_identifier_new ("dbus_message_new_method_call"))), _vala_ccode_node_unref0 (_tmp43_), _tmp44_);
5872
6565
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) destination);
5873
6566
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) path);
5874
 
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp41_ = vala_ccode_constant_new ("\"org.freedesktop.DBus.Properties\"")));
5875
 
        _vala_ccode_node_unref0 (_tmp41_);
5876
 
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp42_ = vala_ccode_constant_new ("\"Get\"")));
5877
 
        _vala_ccode_node_unref0 (_tmp42_);
5878
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp45_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp44_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp43_ = vala_ccode_identifier_new ("_message")), (ValaCCodeExpression*) msgcall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6567
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp45_ = vala_ccode_constant_new ("\"org.freedesktop.DBus.Properties\"")));
5879
6568
        _vala_ccode_node_unref0 (_tmp45_);
5880
 
        _vala_ccode_node_unref0 (_tmp44_);
5881
 
        _vala_ccode_node_unref0 (_tmp43_);
5882
 
        iter_call = (_tmp47_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp46_ = vala_ccode_identifier_new ("dbus_message_iter_init_append"))), _vala_ccode_node_unref0 (_tmp46_), _tmp47_);
5883
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp48_ = vala_ccode_identifier_new ("_message")));
 
6569
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp46_ = vala_ccode_constant_new ("\"Get\"")));
 
6570
        _vala_ccode_node_unref0 (_tmp46_);
 
6571
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp49_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp48_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp47_ = vala_ccode_identifier_new ("_message")), (ValaCCodeExpression*) msgcall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6572
        _vala_ccode_node_unref0 (_tmp49_);
5884
6573
        _vala_ccode_node_unref0 (_tmp48_);
5885
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp50_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp49_ = vala_ccode_identifier_new ("_iter")))));
5886
 
        _vala_ccode_node_unref0 (_tmp50_);
5887
 
        _vala_ccode_node_unref0 (_tmp49_);
5888
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp51_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
5889
 
        _vala_ccode_node_unref0 (_tmp51_);
5890
 
        iter_call = (_tmp53_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp52_ = vala_ccode_identifier_new ("dbus_message_iter_init"))), _vala_ccode_node_unref0 (iter_call), _tmp53_);
 
6574
        _vala_ccode_node_unref0 (_tmp47_);
 
6575
        iter_call = (_tmp51_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp50_ = vala_ccode_identifier_new ("dbus_message_iter_init_append"))), _vala_ccode_node_unref0 (_tmp50_), _tmp51_);
 
6576
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp52_ = vala_ccode_identifier_new ("_message")));
5891
6577
        _vala_ccode_node_unref0 (_tmp52_);
5892
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp54_ = vala_ccode_identifier_new ("_reply")));
 
6578
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp54_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new ("_iter")))));
5893
6579
        _vala_ccode_node_unref0 (_tmp54_);
5894
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp55_ = vala_ccode_identifier_new ("_iter")))));
 
6580
        _vala_ccode_node_unref0 (_tmp53_);
 
6581
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp55_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
6582
        _vala_ccode_node_unref0 (_tmp55_);
 
6583
        iter_call = (_tmp57_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("dbus_message_iter_init"))), _vala_ccode_node_unref0 (iter_call), _tmp57_);
5895
6584
        _vala_ccode_node_unref0 (_tmp56_);
5896
 
        _vala_ccode_node_unref0 (_tmp55_);
5897
 
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp57_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
5898
 
        _vala_ccode_node_unref0 (_tmp57_);
5899
 
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp58_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp60_ = vala_ccode_constant_new (_tmp59_ = g_strdup_printf ("\"%s\"", dbus_iface_name))));
 
6585
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp58_ = vala_ccode_identifier_new ("_reply")));
 
6586
        _vala_ccode_node_unref0 (_tmp58_);
 
6587
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp60_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp59_ = vala_ccode_identifier_new ("_iter")))));
5900
6588
        _vala_ccode_node_unref0 (_tmp60_);
5901
 
        _g_free0 (_tmp59_);
5902
 
        _vala_ccode_node_unref0 (_tmp58_);
5903
 
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp61_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp64_ = vala_ccode_constant_new (_tmp63_ = g_strdup_printf ("\"%s\"", _tmp62_ = vala_dbus_module_get_dbus_name_for_member ((ValaDBusModule*) self, (ValaSymbol*) prop)))));
 
6589
        _vala_ccode_node_unref0 (_tmp59_);
 
6590
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp61_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
6591
        _vala_ccode_node_unref0 (_tmp61_);
 
6592
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp62_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp64_ = vala_ccode_constant_new (_tmp63_ = g_strdup_printf ("\"%s\"", dbus_iface_name))));
5904
6593
        _vala_ccode_node_unref0 (_tmp64_);
5905
6594
        _g_free0 (_tmp63_);
5906
 
        _g_free0 (_tmp62_);
5907
 
        _vala_ccode_node_unref0 (_tmp61_);
5908
 
        iter_call = (_tmp66_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp65_ = vala_ccode_identifier_new ("dbus_message_iter_recurse"))), _vala_ccode_node_unref0 (iter_call), _tmp66_);
 
6595
        _vala_ccode_node_unref0 (_tmp62_);
 
6596
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp65_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp68_ = vala_ccode_constant_new (_tmp67_ = g_strdup_printf ("\"%s\"", _tmp66_ = vala_dbus_module_get_dbus_name_for_member ((ValaDBusModule*) self, (ValaSymbol*) prop)))));
 
6597
        _vala_ccode_node_unref0 (_tmp68_);
 
6598
        _g_free0 (_tmp67_);
 
6599
        _g_free0 (_tmp66_);
5909
6600
        _vala_ccode_node_unref0 (_tmp65_);
5910
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp68_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp67_ = vala_ccode_identifier_new ("_iter")))));
5911
 
        _vala_ccode_node_unref0 (_tmp68_);
5912
 
        _vala_ccode_node_unref0 (_tmp67_);
5913
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp70_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp69_ = vala_ccode_identifier_new ("_subiter")))));
5914
 
        _vala_ccode_node_unref0 (_tmp70_);
 
6601
        iter_call = (_tmp70_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp69_ = vala_ccode_identifier_new ("dbus_message_iter_recurse"))), _vala_ccode_node_unref0 (iter_call), _tmp70_);
5915
6602
        _vala_ccode_node_unref0 (_tmp69_);
5916
 
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp71_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
6603
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp72_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp71_ = vala_ccode_identifier_new ("_iter")))));
 
6604
        _vala_ccode_node_unref0 (_tmp72_);
5917
6605
        _vala_ccode_node_unref0 (_tmp71_);
 
6606
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp74_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp73_ = vala_ccode_identifier_new ("_subiter")))));
 
6607
        _vala_ccode_node_unref0 (_tmp74_);
 
6608
        _vala_ccode_node_unref0 (_tmp73_);
 
6609
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp75_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
6610
        _vala_ccode_node_unref0 (_tmp75_);
 
6611
        vala_dbus_client_module_check_property_inner_signature (self, vala_property_get_get_accessor (prop), postfragment);
5918
6612
        if (vala_data_type_is_real_non_null_struct_type (vala_property_get_property_type (prop))) {
5919
 
                ValaCCodeIdentifier* _tmp72_;
5920
 
                ValaCCodeUnaryExpression* _tmp73_;
 
6613
                ValaCCodeIdentifier* _tmp76_;
 
6614
                ValaCCodeUnaryExpression* _tmp77_;
5921
6615
                ValaCCodeUnaryExpression* target;
5922
 
                ValaCCodeIdentifier* _tmp74_;
5923
 
                ValaCCodeExpression* _tmp75_;
 
6616
                ValaCCodeIdentifier* _tmp78_;
 
6617
                ValaCCodeExpression* _tmp79_;
5924
6618
                ValaCCodeExpression* expr;
5925
 
                ValaCCodeExpressionStatement* _tmp77_;
5926
 
                ValaCCodeAssignment* _tmp76_;
5927
 
                target = (_tmp73_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp72_ = vala_ccode_identifier_new ("result"))), _vala_ccode_node_unref0 (_tmp72_), _tmp73_);
5928
 
                expr = (_tmp75_ = vala_dbus_module_read_expression ((ValaDBusModule*) self, postfragment, vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)), (ValaCCodeExpression*) (_tmp74_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) target), _vala_ccode_node_unref0 (_tmp74_), _tmp75_);
5929
 
                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp77_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp76_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, expr, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
5930
 
                _vala_ccode_node_unref0 (_tmp77_);
5931
 
                _vala_ccode_node_unref0 (_tmp76_);
 
6619
                ValaCCodeExpressionStatement* _tmp81_;
 
6620
                ValaCCodeAssignment* _tmp80_;
 
6621
                target = (_tmp77_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp76_ = vala_ccode_identifier_new ("result"))), _vala_ccode_node_unref0 (_tmp76_), _tmp77_);
 
6622
                expr = (_tmp79_ = vala_dbus_module_read_expression ((ValaDBusModule*) self, postfragment, vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)), (ValaCCodeExpression*) (_tmp78_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) target), _vala_ccode_node_unref0 (_tmp78_), _tmp79_);
 
6623
                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp81_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp80_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, expr, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6624
                _vala_ccode_node_unref0 (_tmp81_);
 
6625
                _vala_ccode_node_unref0 (_tmp80_);
5932
6626
                _vala_ccode_node_unref0 (target);
5933
6627
                _vala_ccode_node_unref0 (expr);
5934
6628
        } else {
5935
 
                ValaCCodeDeclaration* _tmp79_;
5936
 
                char* _tmp78_;
5937
 
                ValaCCodeVariableDeclarator* _tmp80_;
 
6629
                ValaCCodeDeclaration* _tmp83_;
 
6630
                char* _tmp82_;
 
6631
                ValaCCodeVariableDeclarator* _tmp84_;
5938
6632
                ValaCCodeIdentifier* target;
5939
 
                ValaCCodeIdentifier* _tmp86_;
5940
 
                ValaCCodeExpression* _tmp87_;
 
6633
                ValaCCodeIdentifier* _tmp90_;
 
6634
                ValaCCodeExpression* _tmp91_;
5941
6635
                ValaCCodeExpression* expr;
5942
 
                ValaCCodeExpressionStatement* _tmp89_;
5943
 
                ValaCCodeAssignment* _tmp88_;
5944
 
                _cdecl_ = (_tmp79_ = vala_ccode_declaration_new (_tmp78_ = vala_data_type_get_cname (vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)))), _vala_ccode_node_unref0 (_cdecl_), _tmp79_);
5945
 
                _g_free0 (_tmp78_);
5946
 
                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp80_ = vala_ccode_variable_declarator_new ("_result", NULL, NULL)));
5947
 
                _vala_ccode_node_unref0 (_tmp80_);
 
6636
                ValaCCodeExpressionStatement* _tmp93_;
 
6637
                ValaCCodeAssignment* _tmp92_;
 
6638
                _cdecl_ = (_tmp83_ = vala_ccode_declaration_new (_tmp82_ = vala_data_type_get_cname (vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)))), _vala_ccode_node_unref0 (_cdecl_), _tmp83_);
 
6639
                _g_free0 (_tmp82_);
 
6640
                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp84_ = vala_ccode_variable_declarator_new ("_result", NULL, NULL)));
 
6641
                _vala_ccode_node_unref0 (_tmp84_);
5948
6642
                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) _cdecl_);
5949
6643
                if (array_type != NULL) {
5950
6644
                        {
5951
6645
                                gint dim;
5952
6646
                                dim = 1;
5953
6647
                                {
5954
 
                                        gboolean _tmp81_;
5955
 
                                        _tmp81_ = TRUE;
 
6648
                                        gboolean _tmp85_;
 
6649
                                        _tmp85_ = TRUE;
5956
6650
                                        while (TRUE) {
5957
 
                                                ValaCCodeDeclaration* _tmp82_;
5958
 
                                                ValaCCodeVariableDeclarator* _tmp85_;
5959
 
                                                ValaCCodeConstant* _tmp84_;
5960
 
                                                char* _tmp83_;
5961
 
                                                if (!_tmp81_) {
 
6651
                                                ValaCCodeDeclaration* _tmp86_;
 
6652
                                                ValaCCodeVariableDeclarator* _tmp89_;
 
6653
                                                ValaCCodeConstant* _tmp88_;
 
6654
                                                char* _tmp87_;
 
6655
                                                if (!_tmp85_) {
5962
6656
                                                        dim++;
5963
6657
                                                }
5964
 
                                                _tmp81_ = FALSE;
 
6658
                                                _tmp85_ = FALSE;
5965
6659
                                                if (!(dim <= vala_array_type_get_rank (array_type))) {
5966
6660
                                                        break;
5967
6661
                                                }
5968
 
                                                _cdecl_ = (_tmp82_ = vala_ccode_declaration_new ("int"), _vala_ccode_node_unref0 (_cdecl_), _tmp82_);
5969
 
                                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp85_ = vala_ccode_variable_declarator_new (_tmp83_ = g_strdup_printf ("_result_length%d", dim), (ValaCCodeExpression*) (_tmp84_ = vala_ccode_constant_new ("0")), NULL)));
5970
 
                                                _vala_ccode_node_unref0 (_tmp85_);
5971
 
                                                _vala_ccode_node_unref0 (_tmp84_);
5972
 
                                                _g_free0 (_tmp83_);
 
6662
                                                _cdecl_ = (_tmp86_ = vala_ccode_declaration_new ("int"), _vala_ccode_node_unref0 (_cdecl_), _tmp86_);
 
6663
                                                vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp89_ = vala_ccode_variable_declarator_new (_tmp87_ = g_strdup_printf ("_result_length%d", dim), (ValaCCodeExpression*) (_tmp88_ = vala_ccode_constant_new ("0")), NULL)));
 
6664
                                                _vala_ccode_node_unref0 (_tmp89_);
 
6665
                                                _vala_ccode_node_unref0 (_tmp88_);
 
6666
                                                _g_free0 (_tmp87_);
5973
6667
                                                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) _cdecl_);
5974
6668
                                        }
5975
6669
                                }
5976
6670
                        }
5977
6671
                }
5978
6672
                target = vala_ccode_identifier_new ("_result");
5979
 
                expr = (_tmp87_ = vala_dbus_module_read_expression ((ValaDBusModule*) self, postfragment, vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)), (ValaCCodeExpression*) (_tmp86_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) target), _vala_ccode_node_unref0 (_tmp86_), _tmp87_);
5980
 
                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp89_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp88_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, expr, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
5981
 
                _vala_ccode_node_unref0 (_tmp89_);
5982
 
                _vala_ccode_node_unref0 (_tmp88_);
 
6673
                expr = (_tmp91_ = vala_dbus_module_read_expression ((ValaDBusModule*) self, postfragment, vala_property_accessor_get_value_type (vala_property_get_get_accessor (prop)), (ValaCCodeExpression*) (_tmp90_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) target), _vala_ccode_node_unref0 (_tmp90_), _tmp91_);
 
6674
                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp93_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp92_ = vala_ccode_assignment_new ((ValaCCodeExpression*) target, expr, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6675
                _vala_ccode_node_unref0 (_tmp93_);
 
6676
                _vala_ccode_node_unref0 (_tmp92_);
5983
6677
                if (array_type != NULL) {
5984
6678
                        {
5985
6679
                                gint dim;
5986
6680
                                dim = 1;
5987
6681
                                {
5988
 
                                        gboolean _tmp90_;
5989
 
                                        _tmp90_ = TRUE;
 
6682
                                        gboolean _tmp94_;
 
6683
                                        _tmp94_ = TRUE;
5990
6684
                                        while (TRUE) {
5991
 
                                                ValaCCodeExpressionStatement* _tmp97_;
5992
 
                                                ValaCCodeAssignment* _tmp96_;
5993
 
                                                ValaCCodeIdentifier* _tmp95_;
5994
 
                                                char* _tmp94_;
5995
 
                                                ValaCCodeUnaryExpression* _tmp93_;
5996
 
                                                ValaCCodeIdentifier* _tmp92_;
5997
 
                                                char* _tmp91_;
5998
 
                                                if (!_tmp90_) {
 
6685
                                                ValaCCodeExpressionStatement* _tmp101_;
 
6686
                                                ValaCCodeAssignment* _tmp100_;
 
6687
                                                ValaCCodeIdentifier* _tmp99_;
 
6688
                                                char* _tmp98_;
 
6689
                                                ValaCCodeUnaryExpression* _tmp97_;
 
6690
                                                ValaCCodeIdentifier* _tmp96_;
 
6691
                                                char* _tmp95_;
 
6692
                                                if (!_tmp94_) {
5999
6693
                                                        dim++;
6000
6694
                                                }
6001
 
                                                _tmp90_ = FALSE;
 
6695
                                                _tmp94_ = FALSE;
6002
6696
                                                if (!(dim <= vala_array_type_get_rank (array_type))) {
6003
6697
                                                        break;
6004
6698
                                                }
6005
 
                                                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp97_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp96_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp93_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp92_ = vala_ccode_identifier_new (_tmp91_ = g_strdup_printf ("result_length%d", dim))))), (ValaCCodeExpression*) (_tmp95_ = vala_ccode_identifier_new (_tmp94_ = g_strdup_printf ("_result_length%d", dim))), VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6699
                                                vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp101_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp100_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp97_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp96_ = vala_ccode_identifier_new (_tmp95_ = g_strdup_printf ("result_length%d", dim))))), (ValaCCodeExpression*) (_tmp99_ = vala_ccode_identifier_new (_tmp98_ = g_strdup_printf ("_result_length%d", dim))), VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6700
                                                _vala_ccode_node_unref0 (_tmp101_);
 
6701
                                                _vala_ccode_node_unref0 (_tmp100_);
 
6702
                                                _vala_ccode_node_unref0 (_tmp99_);
 
6703
                                                _g_free0 (_tmp98_);
6006
6704
                                                _vala_ccode_node_unref0 (_tmp97_);
6007
6705
                                                _vala_ccode_node_unref0 (_tmp96_);
6008
 
                                                _vala_ccode_node_unref0 (_tmp95_);
6009
 
                                                _g_free0 (_tmp94_);
6010
 
                                                _vala_ccode_node_unref0 (_tmp93_);
6011
 
                                                _vala_ccode_node_unref0 (_tmp92_);
6012
 
                                                _g_free0 (_tmp91_);
 
6706
                                                _g_free0 (_tmp95_);
6013
6707
                                        }
6014
6708
                                }
6015
6709
                        }
6017
6711
                _vala_ccode_node_unref0 (target);
6018
6712
                _vala_ccode_node_unref0 (expr);
6019
6713
        }
6020
 
        gconnection = (_tmp99_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp98_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp98_), _tmp99_);
6021
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp100_ = vala_ccode_identifier_new ("self")));
6022
 
        _vala_ccode_node_unref0 (_tmp100_);
6023
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp101_ = vala_ccode_constant_new ("\"connection\"")));
6024
 
        _vala_ccode_node_unref0 (_tmp101_);
6025
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp103_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp102_ = vala_ccode_identifier_new ("_connection")))));
6026
 
        _vala_ccode_node_unref0 (_tmp103_);
6027
 
        _vala_ccode_node_unref0 (_tmp102_);
6028
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp104_ = vala_ccode_constant_new ("NULL")));
 
6714
        gconnection = (_tmp103_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp102_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp102_), _tmp103_);
 
6715
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp104_ = vala_ccode_identifier_new ("self")));
6029
6716
        _vala_ccode_node_unref0 (_tmp104_);
6030
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp105_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
6717
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp105_ = vala_ccode_constant_new ("\"connection\"")));
6031
6718
        _vala_ccode_node_unref0 (_tmp105_);
6032
 
        connection = (_tmp107_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp106_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp106_), _tmp107_);
6033
 
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp108_ = vala_ccode_identifier_new ("_connection")));
 
6719
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp107_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp106_ = vala_ccode_identifier_new ("_connection")))));
 
6720
        _vala_ccode_node_unref0 (_tmp107_);
 
6721
        _vala_ccode_node_unref0 (_tmp106_);
 
6722
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp108_ = vala_ccode_constant_new ("NULL")));
6034
6723
        _vala_ccode_node_unref0 (_tmp108_);
6035
 
        ccall = (_tmp110_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp109_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp109_), _tmp110_);
6036
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
6037
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp111_ = vala_ccode_identifier_new ("_message")));
6038
 
        _vala_ccode_node_unref0 (_tmp111_);
6039
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp112_ = vala_ccode_constant_new ("-1")));
 
6724
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp109_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
6725
        _vala_ccode_node_unref0 (_tmp109_);
 
6726
        dbus_error_init = (_tmp111_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp110_ = vala_ccode_identifier_new ("dbus_error_init"))), _vala_ccode_node_unref0 (_tmp110_), _tmp111_);
 
6727
        vala_ccode_function_call_add_argument (dbus_error_init, (ValaCCodeExpression*) dbus_error);
 
6728
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp112_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_init)));
6040
6729
        _vala_ccode_node_unref0 (_tmp112_);
6041
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp113_ = vala_ccode_constant_new ("NULL")));
6042
 
        _vala_ccode_node_unref0 (_tmp113_);
6043
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp116_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp115_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp114_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
6044
 
        _vala_ccode_node_unref0 (_tmp116_);
 
6730
        connection = (_tmp114_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp113_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp113_), _tmp114_);
 
6731
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp115_ = vala_ccode_identifier_new ("_connection")));
6045
6732
        _vala_ccode_node_unref0 (_tmp115_);
6046
 
        _vala_ccode_node_unref0 (_tmp114_);
6047
 
        conn_unref = (_tmp118_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp117_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp117_), _tmp118_);
6048
 
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp119_ = vala_ccode_identifier_new ("_connection")));
 
6733
        ccall = (_tmp117_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp116_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp116_), _tmp117_);
 
6734
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
 
6735
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp118_ = vala_ccode_identifier_new ("_message")));
 
6736
        _vala_ccode_node_unref0 (_tmp118_);
 
6737
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp119_ = vala_dbus_client_module_get_dbus_timeout (self, (ValaSymbol*) prop)));
6049
6738
        _vala_ccode_node_unref0 (_tmp119_);
6050
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp120_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
6739
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) dbus_error);
 
6740
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp122_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp121_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp120_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
6741
        _vala_ccode_node_unref0 (_tmp122_);
 
6742
        _vala_ccode_node_unref0 (_tmp121_);
6051
6743
        _vala_ccode_node_unref0 (_tmp120_);
6052
 
        message_unref = (_tmp122_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp121_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp121_), _tmp122_);
6053
 
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp123_ = vala_ccode_identifier_new ("_message")));
6054
 
        _vala_ccode_node_unref0 (_tmp123_);
6055
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp124_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
6056
 
        _vala_ccode_node_unref0 (_tmp124_);
 
6744
        conn_unref = (_tmp124_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp123_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp123_), _tmp124_);
 
6745
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp125_ = vala_ccode_identifier_new ("_connection")));
 
6746
        _vala_ccode_node_unref0 (_tmp125_);
 
6747
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp126_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
6748
        _vala_ccode_node_unref0 (_tmp126_);
 
6749
        message_unref = (_tmp128_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp127_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp127_), _tmp128_);
 
6750
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp129_ = vala_ccode_identifier_new ("_message")));
 
6751
        _vala_ccode_node_unref0 (_tmp129_);
 
6752
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp130_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
 
6753
        _vala_ccode_node_unref0 (_tmp130_);
 
6754
        vala_dbus_client_module_check_property_error_reply (self, vala_property_get_get_accessor (prop), block);
 
6755
        vala_dbus_client_module_check_property_reply_signature (self, vala_property_get_get_accessor (prop), block);
6057
6756
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) postfragment);
6058
 
        reply_unref = (_tmp126_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp125_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp125_), _tmp126_);
6059
 
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp127_ = vala_ccode_identifier_new ("_reply")));
6060
 
        _vala_ccode_node_unref0 (_tmp127_);
6061
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp128_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
6062
 
        _vala_ccode_node_unref0 (_tmp128_);
 
6757
        reply_unref = (_tmp132_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp131_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp131_), _tmp132_);
 
6758
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp133_ = vala_ccode_identifier_new ("_reply")));
 
6759
        _vala_ccode_node_unref0 (_tmp133_);
 
6760
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp134_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
6761
        _vala_ccode_node_unref0 (_tmp134_);
6063
6762
        if (vala_data_type_is_real_non_null_struct_type (vala_property_get_property_type (prop))) {
6064
 
                ValaCCodeReturnStatement* _tmp129_;
6065
 
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp129_ = vala_ccode_return_statement_new (NULL)));
6066
 
                _vala_ccode_node_unref0 (_tmp129_);
 
6763
                ValaCCodeReturnStatement* _tmp135_;
 
6764
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp135_ = vala_ccode_return_statement_new (NULL)));
 
6765
                _vala_ccode_node_unref0 (_tmp135_);
6067
6766
        } else {
6068
 
                ValaCCodeReturnStatement* _tmp131_;
6069
 
                ValaCCodeIdentifier* _tmp130_;
6070
 
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp131_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp130_ = vala_ccode_identifier_new ("_result")))));
6071
 
                _vala_ccode_node_unref0 (_tmp131_);
6072
 
                _vala_ccode_node_unref0 (_tmp130_);
 
6767
                ValaCCodeReturnStatement* _tmp137_;
 
6768
                ValaCCodeIdentifier* _tmp136_;
 
6769
                vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp137_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) (_tmp136_ = vala_ccode_identifier_new ("_result")))));
 
6770
                _vala_ccode_node_unref0 (_tmp137_);
 
6771
                _vala_ccode_node_unref0 (_tmp136_);
6073
6772
        }
6074
 
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp132_ = vala_ccode_function_copy (function)));
6075
 
        _vala_ccode_node_unref0 (_tmp132_);
 
6773
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp138_ = vala_ccode_function_copy (function)));
 
6774
        _vala_ccode_node_unref0 (_tmp138_);
6076
6775
        vala_ccode_function_set_block (function, block);
6077
6776
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
6078
6777
        result = proxy_name;
6085
6784
        _vala_ccode_node_unref0 (prefragment);
6086
6785
        _vala_ccode_node_unref0 (postfragment);
6087
6786
        _vala_ccode_node_unref0 (dispose_return_block);
 
6787
        _vala_ccode_node_unref0 (dbus_error);
6088
6788
        _vala_ccode_node_unref0 (destination);
6089
6789
        _vala_ccode_node_unref0 (path);
6090
6790
        _vala_ccode_node_unref0 (msgcall);
6091
6791
        _vala_ccode_node_unref0 (iter_call);
6092
6792
        _vala_ccode_node_unref0 (gconnection);
 
6793
        _vala_ccode_node_unref0 (dbus_error_init);
6093
6794
        _vala_ccode_node_unref0 (connection);
6094
6795
        _vala_ccode_node_unref0 (ccall);
6095
6796
        _vala_ccode_node_unref0 (conn_unref);
6100
6801
 
6101
6802
 
6102
6803
static char* vala_dbus_client_module_generate_dbus_proxy_property_set (ValaDBusClientModule* self, ValaInterface* main_iface, ValaInterface* iface, ValaProperty* prop) {
6103
 
        char* result;
 
6804
        char* result = NULL;
6104
6805
        char* _tmp0_;
6105
6806
        char* _tmp1_;
6106
6807
        char* proxy_name;
6125
6826
        ValaCCodeIdentifier* _tmp15_;
6126
6827
        ValaCCodeDeclaration* _tmp21_;
6127
6828
        ValaCCodeVariableDeclarator* _tmp22_;
6128
 
        ValaCCodeDeclaration* _tmp23_;
6129
 
        ValaCCodeVariableDeclarator* _tmp24_;
6130
 
        ValaCCodeVariableDeclarator* _tmp25_;
6131
 
        ValaCCodeDeclaration* _tmp26_;
6132
 
        ValaCCodeVariableDeclarator* _tmp27_;
 
6829
        ValaCCodeIdentifier* _tmp23_;
 
6830
        ValaCCodeUnaryExpression* _tmp24_;
 
6831
        ValaCCodeUnaryExpression* dbus_error;
 
6832
        ValaCCodeDeclaration* _tmp25_;
 
6833
        ValaCCodeVariableDeclarator* _tmp26_;
 
6834
        ValaCCodeDeclaration* _tmp27_;
6133
6835
        ValaCCodeVariableDeclarator* _tmp28_;
6134
 
        ValaCCodeIdentifier* _tmp29_;
6135
 
        ValaCCodeFunctionCall* _tmp30_;
6136
 
        ValaCCodeFunctionCall* destination;
6137
 
        ValaCCodeCastExpression* _tmp32_;
6138
 
        ValaCCodeIdentifier* _tmp31_;
 
6836
        ValaCCodeVariableDeclarator* _tmp29_;
 
6837
        ValaCCodeDeclaration* _tmp30_;
 
6838
        ValaCCodeVariableDeclarator* _tmp31_;
 
6839
        ValaCCodeVariableDeclarator* _tmp32_;
6139
6840
        ValaCCodeIdentifier* _tmp33_;
6140
6841
        ValaCCodeFunctionCall* _tmp34_;
6141
 
        ValaCCodeFunctionCall* path;
 
6842
        ValaCCodeFunctionCall* destination;
6142
6843
        ValaCCodeCastExpression* _tmp36_;
6143
6844
        ValaCCodeIdentifier* _tmp35_;
6144
6845
        ValaCCodeIdentifier* _tmp37_;
6145
6846
        ValaCCodeFunctionCall* _tmp38_;
 
6847
        ValaCCodeFunctionCall* path;
 
6848
        ValaCCodeCastExpression* _tmp40_;
 
6849
        ValaCCodeIdentifier* _tmp39_;
 
6850
        ValaCCodeIdentifier* _tmp41_;
 
6851
        ValaCCodeFunctionCall* _tmp42_;
6146
6852
        ValaCCodeFunctionCall* msgcall;
6147
 
        ValaCCodeConstant* _tmp39_;
6148
 
        ValaCCodeConstant* _tmp40_;
6149
 
        ValaCCodeExpressionStatement* _tmp43_;
6150
 
        ValaCCodeAssignment* _tmp42_;
6151
 
        ValaCCodeIdentifier* _tmp41_;
6152
 
        ValaCCodeIdentifier* _tmp44_;
6153
 
        ValaCCodeFunctionCall* _tmp45_;
 
6853
        ValaCCodeConstant* _tmp43_;
 
6854
        ValaCCodeConstant* _tmp44_;
 
6855
        ValaCCodeExpressionStatement* _tmp47_;
 
6856
        ValaCCodeAssignment* _tmp46_;
 
6857
        ValaCCodeIdentifier* _tmp45_;
 
6858
        ValaCCodeIdentifier* _tmp48_;
 
6859
        ValaCCodeFunctionCall* _tmp49_;
6154
6860
        ValaCCodeFunctionCall* iter_call;
6155
 
        ValaCCodeIdentifier* _tmp46_;
6156
 
        ValaCCodeUnaryExpression* _tmp48_;
6157
 
        ValaCCodeIdentifier* _tmp47_;
6158
 
        ValaCCodeExpressionStatement* _tmp49_;
6159
 
        ValaCCodeFunctionCall* _tmp51_;
6160
6861
        ValaCCodeIdentifier* _tmp50_;
6161
 
        ValaCCodeIdentifier* _tmp52_;
6162
 
        ValaCCodeUnaryExpression* _tmp54_;
6163
 
        ValaCCodeIdentifier* _tmp53_;
6164
 
        ValaCCodeExpressionStatement* _tmp55_;
6165
 
        ValaCCodeConstant* _tmp58_;
6166
 
        char* _tmp57_;
 
6862
        ValaCCodeUnaryExpression* _tmp52_;
 
6863
        ValaCCodeIdentifier* _tmp51_;
 
6864
        ValaCCodeExpressionStatement* _tmp53_;
 
6865
        ValaCCodeFunctionCall* _tmp55_;
 
6866
        ValaCCodeIdentifier* _tmp54_;
6167
6867
        ValaCCodeIdentifier* _tmp56_;
 
6868
        ValaCCodeUnaryExpression* _tmp58_;
 
6869
        ValaCCodeIdentifier* _tmp57_;
 
6870
        ValaCCodeExpressionStatement* _tmp59_;
6168
6871
        ValaCCodeConstant* _tmp62_;
6169
6872
        char* _tmp61_;
6170
 
        char* _tmp60_;
6171
 
        ValaCCodeIdentifier* _tmp59_;
6172
 
        ValaCCodeFunctionCall* _tmp64_;
 
6873
        ValaCCodeIdentifier* _tmp60_;
 
6874
        ValaCCodeConstant* _tmp66_;
 
6875
        char* _tmp65_;
 
6876
        char* _tmp64_;
6173
6877
        ValaCCodeIdentifier* _tmp63_;
6174
 
        ValaCCodeUnaryExpression* _tmp66_;
6175
 
        ValaCCodeIdentifier* _tmp65_;
 
6878
        ValaCCodeFunctionCall* _tmp68_;
6176
6879
        ValaCCodeIdentifier* _tmp67_;
6177
 
        ValaCCodeConstant* _tmp70_;
6178
 
        char* _tmp69_;
6179
 
        char* _tmp68_;
6180
 
        ValaCCodeUnaryExpression* _tmp72_;
 
6880
        ValaCCodeUnaryExpression* _tmp70_;
 
6881
        ValaCCodeIdentifier* _tmp69_;
6181
6882
        ValaCCodeIdentifier* _tmp71_;
6182
 
        ValaCCodeExpressionStatement* _tmp73_;
6183
 
        ValaCCodeFunctionCall* _tmp80_;
6184
 
        ValaCCodeIdentifier* _tmp79_;
6185
 
        ValaCCodeUnaryExpression* _tmp82_;
6186
 
        ValaCCodeIdentifier* _tmp81_;
6187
 
        ValaCCodeUnaryExpression* _tmp84_;
 
6883
        ValaCCodeConstant* _tmp74_;
 
6884
        char* _tmp73_;
 
6885
        char* _tmp72_;
 
6886
        ValaCCodeUnaryExpression* _tmp76_;
 
6887
        ValaCCodeIdentifier* _tmp75_;
 
6888
        ValaCCodeExpressionStatement* _tmp77_;
 
6889
        ValaCCodeFunctionCall* _tmp84_;
6188
6890
        ValaCCodeIdentifier* _tmp83_;
6189
 
        ValaCCodeExpressionStatement* _tmp85_;
6190
 
        ValaCCodeIdentifier* _tmp86_;
6191
 
        ValaCCodeFunctionCall* _tmp87_;
 
6891
        ValaCCodeUnaryExpression* _tmp86_;
 
6892
        ValaCCodeIdentifier* _tmp85_;
 
6893
        ValaCCodeUnaryExpression* _tmp88_;
 
6894
        ValaCCodeIdentifier* _tmp87_;
 
6895
        ValaCCodeExpressionStatement* _tmp89_;
 
6896
        ValaCCodeIdentifier* _tmp90_;
 
6897
        ValaCCodeFunctionCall* _tmp91_;
6192
6898
        ValaCCodeFunctionCall* gconnection;
6193
 
        ValaCCodeIdentifier* _tmp88_;
6194
 
        ValaCCodeConstant* _tmp89_;
6195
 
        ValaCCodeUnaryExpression* _tmp91_;
6196
 
        ValaCCodeIdentifier* _tmp90_;
6197
 
        ValaCCodeConstant* _tmp92_;
6198
 
        ValaCCodeExpressionStatement* _tmp93_;
 
6899
        ValaCCodeIdentifier* _tmp92_;
 
6900
        ValaCCodeConstant* _tmp93_;
 
6901
        ValaCCodeUnaryExpression* _tmp95_;
6199
6902
        ValaCCodeIdentifier* _tmp94_;
6200
 
        ValaCCodeFunctionCall* _tmp95_;
 
6903
        ValaCCodeConstant* _tmp96_;
 
6904
        ValaCCodeExpressionStatement* _tmp97_;
 
6905
        ValaCCodeIdentifier* _tmp98_;
 
6906
        ValaCCodeFunctionCall* _tmp99_;
 
6907
        ValaCCodeFunctionCall* dbus_error_init;
 
6908
        ValaCCodeExpressionStatement* _tmp100_;
 
6909
        ValaCCodeIdentifier* _tmp101_;
 
6910
        ValaCCodeFunctionCall* _tmp102_;
6201
6911
        ValaCCodeFunctionCall* connection;
6202
 
        ValaCCodeIdentifier* _tmp96_;
6203
 
        ValaCCodeIdentifier* _tmp97_;
6204
 
        ValaCCodeFunctionCall* _tmp98_;
 
6912
        ValaCCodeIdentifier* _tmp103_;
 
6913
        ValaCCodeIdentifier* _tmp104_;
 
6914
        ValaCCodeFunctionCall* _tmp105_;
6205
6915
        ValaCCodeFunctionCall* ccall;
6206
 
        ValaCCodeIdentifier* _tmp99_;
6207
 
        ValaCCodeConstant* _tmp100_;
6208
 
        ValaCCodeConstant* _tmp101_;
6209
 
        ValaCCodeExpressionStatement* _tmp104_;
6210
 
        ValaCCodeAssignment* _tmp103_;
6211
 
        ValaCCodeIdentifier* _tmp102_;
6212
 
        ValaCCodeIdentifier* _tmp105_;
6213
 
        ValaCCodeFunctionCall* _tmp106_;
 
6916
        ValaCCodeIdentifier* _tmp106_;
 
6917
        ValaCCodeConstant* _tmp107_;
 
6918
        ValaCCodeExpressionStatement* _tmp110_;
 
6919
        ValaCCodeAssignment* _tmp109_;
 
6920
        ValaCCodeIdentifier* _tmp108_;
 
6921
        ValaCCodeIdentifier* _tmp111_;
 
6922
        ValaCCodeFunctionCall* _tmp112_;
6214
6923
        ValaCCodeFunctionCall* conn_unref;
6215
 
        ValaCCodeIdentifier* _tmp107_;
6216
 
        ValaCCodeExpressionStatement* _tmp108_;
6217
 
        ValaCCodeIdentifier* _tmp109_;
6218
 
        ValaCCodeFunctionCall* _tmp110_;
 
6924
        ValaCCodeIdentifier* _tmp113_;
 
6925
        ValaCCodeExpressionStatement* _tmp114_;
 
6926
        ValaCCodeIdentifier* _tmp115_;
 
6927
        ValaCCodeFunctionCall* _tmp116_;
6219
6928
        ValaCCodeFunctionCall* message_unref;
6220
 
        ValaCCodeIdentifier* _tmp111_;
6221
 
        ValaCCodeExpressionStatement* _tmp112_;
6222
 
        ValaCCodeIdentifier* _tmp113_;
6223
 
        ValaCCodeFunctionCall* _tmp114_;
 
6929
        ValaCCodeIdentifier* _tmp117_;
 
6930
        ValaCCodeExpressionStatement* _tmp118_;
 
6931
        ValaCCodeIdentifier* _tmp119_;
 
6932
        ValaCCodeFunctionCall* _tmp120_;
6224
6933
        ValaCCodeFunctionCall* reply_unref;
6225
 
        ValaCCodeIdentifier* _tmp115_;
6226
 
        ValaCCodeExpressionStatement* _tmp116_;
6227
 
        ValaCCodeFunction* _tmp117_;
 
6934
        ValaCCodeIdentifier* _tmp121_;
 
6935
        ValaCCodeExpressionStatement* _tmp122_;
 
6936
        ValaCCodeFunction* _tmp123_;
6228
6937
        g_return_val_if_fail (self != NULL, NULL);
6229
6938
        g_return_val_if_fail (main_iface != NULL, NULL);
6230
6939
        g_return_val_if_fail (iface != NULL, NULL);
6291
7000
        _g_free0 (_tmp17_);
6292
7001
        _g_free0 (_tmp16_);
6293
7002
        _vala_ccode_node_unref0 (_tmp15_);
6294
 
        _cdecl_ = (_tmp21_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp21_);
6295
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp22_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
7003
        _cdecl_ = (_tmp21_ = vala_ccode_declaration_new ("DBusError"), _vala_ccode_node_unref0 (_cdecl_), _tmp21_);
 
7004
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp22_ = vala_ccode_variable_declarator_new ("_dbus_error", NULL, NULL)));
6296
7005
        _vala_ccode_node_unref0 (_tmp22_);
6297
7006
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
6298
 
        _cdecl_ = (_tmp23_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp23_);
6299
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp24_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
6300
 
        _vala_ccode_node_unref0 (_tmp24_);
6301
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp25_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
6302
 
        _vala_ccode_node_unref0 (_tmp25_);
 
7007
        dbus_error = (_tmp24_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp23_ = vala_ccode_identifier_new ("_dbus_error"))), _vala_ccode_node_unref0 (_tmp23_), _tmp24_);
 
7008
        _cdecl_ = (_tmp25_ = vala_ccode_declaration_new ("DBusGConnection"), _vala_ccode_node_unref0 (_cdecl_), _tmp25_);
 
7009
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp26_ = vala_ccode_variable_declarator_new ("*_connection", NULL, NULL)));
 
7010
        _vala_ccode_node_unref0 (_tmp26_);
6303
7011
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
6304
 
        _cdecl_ = (_tmp26_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp26_);
6305
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp27_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
6306
 
        _vala_ccode_node_unref0 (_tmp27_);
6307
 
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp28_ = vala_ccode_variable_declarator_new ("_subiter", NULL, NULL)));
 
7012
        _cdecl_ = (_tmp27_ = vala_ccode_declaration_new ("DBusMessage"), _vala_ccode_node_unref0 (_cdecl_), _tmp27_);
 
7013
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp28_ = vala_ccode_variable_declarator_new ("*_message", NULL, NULL)));
6308
7014
        _vala_ccode_node_unref0 (_tmp28_);
 
7015
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp29_ = vala_ccode_variable_declarator_new ("*_reply", NULL, NULL)));
 
7016
        _vala_ccode_node_unref0 (_tmp29_);
 
7017
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
 
7018
        _cdecl_ = (_tmp30_ = vala_ccode_declaration_new ("DBusMessageIter"), _vala_ccode_node_unref0 (_cdecl_), _tmp30_);
 
7019
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp31_ = vala_ccode_variable_declarator_new ("_iter", NULL, NULL)));
 
7020
        _vala_ccode_node_unref0 (_tmp31_);
 
7021
        vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) (_tmp32_ = vala_ccode_variable_declarator_new ("_subiter", NULL, NULL)));
 
7022
        _vala_ccode_node_unref0 (_tmp32_);
6309
7023
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) _cdecl_);
6310
7024
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) prefragment);
6311
 
        destination = (_tmp30_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp29_ = vala_ccode_identifier_new ("dbus_g_proxy_get_bus_name"))), _vala_ccode_node_unref0 (_tmp29_), _tmp30_);
6312
 
        vala_ccode_function_call_add_argument (destination, (ValaCCodeExpression*) (_tmp32_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp31_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
6313
 
        _vala_ccode_node_unref0 (_tmp32_);
6314
 
        _vala_ccode_node_unref0 (_tmp31_);
6315
 
        path = (_tmp34_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp33_ = vala_ccode_identifier_new ("dbus_g_proxy_get_path"))), _vala_ccode_node_unref0 (_tmp33_), _tmp34_);
6316
 
        vala_ccode_function_call_add_argument (path, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp35_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
 
7025
        destination = (_tmp34_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp33_ = vala_ccode_identifier_new ("dbus_g_proxy_get_bus_name"))), _vala_ccode_node_unref0 (_tmp33_), _tmp34_);
 
7026
        vala_ccode_function_call_add_argument (destination, (ValaCCodeExpression*) (_tmp36_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp35_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
6317
7027
        _vala_ccode_node_unref0 (_tmp36_);
6318
7028
        _vala_ccode_node_unref0 (_tmp35_);
6319
 
        msgcall = (_tmp38_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp37_ = vala_ccode_identifier_new ("dbus_message_new_method_call"))), _vala_ccode_node_unref0 (_tmp37_), _tmp38_);
 
7029
        path = (_tmp38_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp37_ = vala_ccode_identifier_new ("dbus_g_proxy_get_path"))), _vala_ccode_node_unref0 (_tmp37_), _tmp38_);
 
7030
        vala_ccode_function_call_add_argument (path, (ValaCCodeExpression*) (_tmp40_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) (_tmp39_ = vala_ccode_identifier_new ("self")), "DBusGProxy*")));
 
7031
        _vala_ccode_node_unref0 (_tmp40_);
 
7032
        _vala_ccode_node_unref0 (_tmp39_);
 
7033
        msgcall = (_tmp42_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp41_ = vala_ccode_identifier_new ("dbus_message_new_method_call"))), _vala_ccode_node_unref0 (_tmp41_), _tmp42_);
6320
7034
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) destination);
6321
7035
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) path);
6322
 
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp39_ = vala_ccode_constant_new ("\"org.freedesktop.DBus.Properties\"")));
6323
 
        _vala_ccode_node_unref0 (_tmp39_);
6324
 
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp40_ = vala_ccode_constant_new ("\"Set\"")));
6325
 
        _vala_ccode_node_unref0 (_tmp40_);
6326
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp43_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp42_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp41_ = vala_ccode_identifier_new ("_message")), (ValaCCodeExpression*) msgcall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
7036
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp43_ = vala_ccode_constant_new ("\"org.freedesktop.DBus.Properties\"")));
6327
7037
        _vala_ccode_node_unref0 (_tmp43_);
6328
 
        _vala_ccode_node_unref0 (_tmp42_);
6329
 
        _vala_ccode_node_unref0 (_tmp41_);
6330
 
        iter_call = (_tmp45_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp44_ = vala_ccode_identifier_new ("dbus_message_iter_init_append"))), _vala_ccode_node_unref0 (_tmp44_), _tmp45_);
6331
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp46_ = vala_ccode_identifier_new ("_message")));
 
7038
        vala_ccode_function_call_add_argument (msgcall, (ValaCCodeExpression*) (_tmp44_ = vala_ccode_constant_new ("\"Set\"")));
 
7039
        _vala_ccode_node_unref0 (_tmp44_);
 
7040
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp47_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp46_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp45_ = vala_ccode_identifier_new ("_message")), (ValaCCodeExpression*) msgcall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
7041
        _vala_ccode_node_unref0 (_tmp47_);
6332
7042
        _vala_ccode_node_unref0 (_tmp46_);
6333
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp48_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp47_ = vala_ccode_identifier_new ("_iter")))));
6334
 
        _vala_ccode_node_unref0 (_tmp48_);
6335
 
        _vala_ccode_node_unref0 (_tmp47_);
6336
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp49_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
6337
 
        _vala_ccode_node_unref0 (_tmp49_);
6338
 
        iter_call = (_tmp51_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp50_ = vala_ccode_identifier_new ("dbus_message_iter_init"))), _vala_ccode_node_unref0 (iter_call), _tmp51_);
 
7043
        _vala_ccode_node_unref0 (_tmp45_);
 
7044
        iter_call = (_tmp49_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp48_ = vala_ccode_identifier_new ("dbus_message_iter_init_append"))), _vala_ccode_node_unref0 (_tmp48_), _tmp49_);
 
7045
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp50_ = vala_ccode_identifier_new ("_message")));
6339
7046
        _vala_ccode_node_unref0 (_tmp50_);
6340
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp52_ = vala_ccode_identifier_new ("_reply")));
 
7047
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp52_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp51_ = vala_ccode_identifier_new ("_iter")))));
6341
7048
        _vala_ccode_node_unref0 (_tmp52_);
6342
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp54_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp53_ = vala_ccode_identifier_new ("_iter")))));
 
7049
        _vala_ccode_node_unref0 (_tmp51_);
 
7050
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp53_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
7051
        _vala_ccode_node_unref0 (_tmp53_);
 
7052
        iter_call = (_tmp55_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp54_ = vala_ccode_identifier_new ("dbus_message_iter_init"))), _vala_ccode_node_unref0 (iter_call), _tmp55_);
6343
7053
        _vala_ccode_node_unref0 (_tmp54_);
6344
 
        _vala_ccode_node_unref0 (_tmp53_);
6345
 
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp55_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
6346
 
        _vala_ccode_node_unref0 (_tmp55_);
6347
 
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp58_ = vala_ccode_constant_new (_tmp57_ = g_strdup_printf ("\"%s\"", dbus_iface_name))));
 
7054
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp56_ = vala_ccode_identifier_new ("_reply")));
 
7055
        _vala_ccode_node_unref0 (_tmp56_);
 
7056
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp58_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp57_ = vala_ccode_identifier_new ("_iter")))));
6348
7057
        _vala_ccode_node_unref0 (_tmp58_);
6349
 
        _g_free0 (_tmp57_);
6350
 
        _vala_ccode_node_unref0 (_tmp56_);
6351
 
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp59_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp62_ = vala_ccode_constant_new (_tmp61_ = g_strdup_printf ("\"%s\"", _tmp60_ = vala_dbus_module_get_dbus_name_for_member ((ValaDBusModule*) self, (ValaSymbol*) prop)))));
 
7058
        _vala_ccode_node_unref0 (_tmp57_);
 
7059
        vala_ccode_fragment_append (postfragment, (ValaCCodeNode*) (_tmp59_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
7060
        _vala_ccode_node_unref0 (_tmp59_);
 
7061
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp60_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp62_ = vala_ccode_constant_new (_tmp61_ = g_strdup_printf ("\"%s\"", dbus_iface_name))));
6352
7062
        _vala_ccode_node_unref0 (_tmp62_);
6353
7063
        _g_free0 (_tmp61_);
6354
 
        _g_free0 (_tmp60_);
6355
 
        _vala_ccode_node_unref0 (_tmp59_);
6356
 
        iter_call = (_tmp64_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp63_ = vala_ccode_identifier_new ("dbus_message_iter_open_container"))), _vala_ccode_node_unref0 (iter_call), _tmp64_);
 
7064
        _vala_ccode_node_unref0 (_tmp60_);
 
7065
        vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, ((ValaCCodeBaseModule*) self)->string_type, (ValaCCodeExpression*) (_tmp63_ = vala_ccode_identifier_new ("_iter")), (ValaCCodeExpression*) (_tmp66_ = vala_ccode_constant_new (_tmp65_ = g_strdup_printf ("\"%s\"", _tmp64_ = vala_dbus_module_get_dbus_name_for_member ((ValaDBusModule*) self, (ValaSymbol*) prop)))));
 
7066
        _vala_ccode_node_unref0 (_tmp66_);
 
7067
        _g_free0 (_tmp65_);
 
7068
        _g_free0 (_tmp64_);
6357
7069
        _vala_ccode_node_unref0 (_tmp63_);
6358
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp66_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp65_ = vala_ccode_identifier_new ("_iter")))));
6359
 
        _vala_ccode_node_unref0 (_tmp66_);
6360
 
        _vala_ccode_node_unref0 (_tmp65_);
6361
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp67_ = vala_ccode_identifier_new ("DBUS_TYPE_VARIANT")));
 
7070
        iter_call = (_tmp68_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp67_ = vala_ccode_identifier_new ("dbus_message_iter_open_container"))), _vala_ccode_node_unref0 (iter_call), _tmp68_);
6362
7071
        _vala_ccode_node_unref0 (_tmp67_);
6363
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp70_ = vala_ccode_constant_new (_tmp69_ = g_strdup_printf ("\"%s\"", _tmp68_ = vala_data_type_get_type_signature (vala_property_get_property_type (prop))))));
 
7072
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp70_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp69_ = vala_ccode_identifier_new ("_iter")))));
6364
7073
        _vala_ccode_node_unref0 (_tmp70_);
6365
 
        _g_free0 (_tmp69_);
6366
 
        _g_free0 (_tmp68_);
6367
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp72_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp71_ = vala_ccode_identifier_new ("_subiter")))));
6368
 
        _vala_ccode_node_unref0 (_tmp72_);
 
7074
        _vala_ccode_node_unref0 (_tmp69_);
 
7075
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp71_ = vala_ccode_identifier_new ("DBUS_TYPE_VARIANT")));
6369
7076
        _vala_ccode_node_unref0 (_tmp71_);
6370
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp73_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
6371
 
        _vala_ccode_node_unref0 (_tmp73_);
 
7077
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp74_ = vala_ccode_constant_new (_tmp73_ = g_strdup_printf ("\"%s\"", _tmp72_ = vala_dbus_module_get_type_signature (vala_property_get_property_type (prop))))));
 
7078
        _vala_ccode_node_unref0 (_tmp74_);
 
7079
        _g_free0 (_tmp73_);
 
7080
        _g_free0 (_tmp72_);
 
7081
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp76_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp75_ = vala_ccode_identifier_new ("_subiter")))));
 
7082
        _vala_ccode_node_unref0 (_tmp76_);
 
7083
        _vala_ccode_node_unref0 (_tmp75_);
 
7084
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp77_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
7085
        _vala_ccode_node_unref0 (_tmp77_);
6372
7086
        if (vala_data_type_is_real_non_null_struct_type (vala_property_get_property_type (prop))) {
6373
 
                ValaCCodeUnaryExpression* _tmp76_;
6374
 
                ValaCCodeIdentifier* _tmp75_;
6375
 
                ValaCCodeIdentifier* _tmp74_;
6376
 
                vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, vala_property_accessor_get_value_type (vala_property_get_set_accessor (prop)), (ValaCCodeExpression*) (_tmp74_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) (_tmp76_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp75_ = vala_ccode_identifier_new ("value")))));
6377
 
                _vala_ccode_node_unref0 (_tmp76_);
6378
 
                _vala_ccode_node_unref0 (_tmp75_);
6379
 
                _vala_ccode_node_unref0 (_tmp74_);
6380
 
        } else {
 
7087
                ValaCCodeUnaryExpression* _tmp80_;
 
7088
                ValaCCodeIdentifier* _tmp79_;
6381
7089
                ValaCCodeIdentifier* _tmp78_;
6382
 
                ValaCCodeIdentifier* _tmp77_;
6383
 
                vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, vala_property_accessor_get_value_type (vala_property_get_set_accessor (prop)), (ValaCCodeExpression*) (_tmp77_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) (_tmp78_ = vala_ccode_identifier_new ("value")));
 
7090
                vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, vala_property_accessor_get_value_type (vala_property_get_set_accessor (prop)), (ValaCCodeExpression*) (_tmp78_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) (_tmp80_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) (_tmp79_ = vala_ccode_identifier_new ("value")))));
 
7091
                _vala_ccode_node_unref0 (_tmp80_);
 
7092
                _vala_ccode_node_unref0 (_tmp79_);
6384
7093
                _vala_ccode_node_unref0 (_tmp78_);
6385
 
                _vala_ccode_node_unref0 (_tmp77_);
 
7094
        } else {
 
7095
                ValaCCodeIdentifier* _tmp82_;
 
7096
                ValaCCodeIdentifier* _tmp81_;
 
7097
                vala_dbus_module_write_expression ((ValaDBusModule*) self, prefragment, vala_property_accessor_get_value_type (vala_property_get_set_accessor (prop)), (ValaCCodeExpression*) (_tmp81_ = vala_ccode_identifier_new ("_subiter")), (ValaCCodeExpression*) (_tmp82_ = vala_ccode_identifier_new ("value")));
 
7098
                _vala_ccode_node_unref0 (_tmp82_);
 
7099
                _vala_ccode_node_unref0 (_tmp81_);
6386
7100
        }
6387
 
        iter_call = (_tmp80_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp79_ = vala_ccode_identifier_new ("dbus_message_iter_close_container"))), _vala_ccode_node_unref0 (iter_call), _tmp80_);
6388
 
        _vala_ccode_node_unref0 (_tmp79_);
6389
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp82_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp81_ = vala_ccode_identifier_new ("_iter")))));
6390
 
        _vala_ccode_node_unref0 (_tmp82_);
6391
 
        _vala_ccode_node_unref0 (_tmp81_);
6392
 
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp84_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp83_ = vala_ccode_identifier_new ("_subiter")))));
6393
 
        _vala_ccode_node_unref0 (_tmp84_);
 
7101
        iter_call = (_tmp84_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp83_ = vala_ccode_identifier_new ("dbus_message_iter_close_container"))), _vala_ccode_node_unref0 (iter_call), _tmp84_);
6394
7102
        _vala_ccode_node_unref0 (_tmp83_);
6395
 
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp85_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
 
7103
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp86_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp85_ = vala_ccode_identifier_new ("_iter")))));
 
7104
        _vala_ccode_node_unref0 (_tmp86_);
6396
7105
        _vala_ccode_node_unref0 (_tmp85_);
6397
 
        gconnection = (_tmp87_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp86_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp86_), _tmp87_);
6398
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp88_ = vala_ccode_identifier_new ("self")));
 
7106
        vala_ccode_function_call_add_argument (iter_call, (ValaCCodeExpression*) (_tmp88_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp87_ = vala_ccode_identifier_new ("_subiter")))));
6399
7107
        _vala_ccode_node_unref0 (_tmp88_);
6400
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp89_ = vala_ccode_constant_new ("\"connection\"")));
 
7108
        _vala_ccode_node_unref0 (_tmp87_);
 
7109
        vala_ccode_fragment_append (prefragment, (ValaCCodeNode*) (_tmp89_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) iter_call)));
6401
7110
        _vala_ccode_node_unref0 (_tmp89_);
6402
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp91_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp90_ = vala_ccode_identifier_new ("_connection")))));
6403
 
        _vala_ccode_node_unref0 (_tmp91_);
6404
 
        _vala_ccode_node_unref0 (_tmp90_);
6405
 
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp92_ = vala_ccode_constant_new ("NULL")));
 
7111
        gconnection = (_tmp91_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp90_ = vala_ccode_identifier_new ("g_object_get"))), _vala_ccode_node_unref0 (_tmp90_), _tmp91_);
 
7112
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp92_ = vala_ccode_identifier_new ("self")));
6406
7113
        _vala_ccode_node_unref0 (_tmp92_);
6407
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp93_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
7114
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp93_ = vala_ccode_constant_new ("\"connection\"")));
6408
7115
        _vala_ccode_node_unref0 (_tmp93_);
6409
 
        connection = (_tmp95_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp94_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp94_), _tmp95_);
6410
 
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp96_ = vala_ccode_identifier_new ("_connection")));
 
7116
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp95_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) (_tmp94_ = vala_ccode_identifier_new ("_connection")))));
 
7117
        _vala_ccode_node_unref0 (_tmp95_);
 
7118
        _vala_ccode_node_unref0 (_tmp94_);
 
7119
        vala_ccode_function_call_add_argument (gconnection, (ValaCCodeExpression*) (_tmp96_ = vala_ccode_constant_new ("NULL")));
6411
7120
        _vala_ccode_node_unref0 (_tmp96_);
6412
 
        ccall = (_tmp98_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp97_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp97_), _tmp98_);
6413
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
6414
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp99_ = vala_ccode_identifier_new ("_message")));
6415
 
        _vala_ccode_node_unref0 (_tmp99_);
6416
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp100_ = vala_ccode_constant_new ("-1")));
 
7121
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp97_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) gconnection)));
 
7122
        _vala_ccode_node_unref0 (_tmp97_);
 
7123
        dbus_error_init = (_tmp99_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp98_ = vala_ccode_identifier_new ("dbus_error_init"))), _vala_ccode_node_unref0 (_tmp98_), _tmp99_);
 
7124
        vala_ccode_function_call_add_argument (dbus_error_init, (ValaCCodeExpression*) dbus_error);
 
7125
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp100_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) dbus_error_init)));
6417
7126
        _vala_ccode_node_unref0 (_tmp100_);
6418
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp101_ = vala_ccode_constant_new ("NULL")));
6419
 
        _vala_ccode_node_unref0 (_tmp101_);
6420
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp104_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp103_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp102_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
6421
 
        _vala_ccode_node_unref0 (_tmp104_);
 
7127
        connection = (_tmp102_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp101_ = vala_ccode_identifier_new ("dbus_g_connection_get_connection"))), _vala_ccode_node_unref0 (_tmp101_), _tmp102_);
 
7128
        vala_ccode_function_call_add_argument (connection, (ValaCCodeExpression*) (_tmp103_ = vala_ccode_identifier_new ("_connection")));
6422
7129
        _vala_ccode_node_unref0 (_tmp103_);
6423
 
        _vala_ccode_node_unref0 (_tmp102_);
6424
 
        conn_unref = (_tmp106_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp105_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp105_), _tmp106_);
6425
 
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp107_ = vala_ccode_identifier_new ("_connection")));
 
7130
        ccall = (_tmp105_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp104_ = vala_ccode_identifier_new ("dbus_connection_send_with_reply_and_block"))), _vala_ccode_node_unref0 (_tmp104_), _tmp105_);
 
7131
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) connection);
 
7132
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp106_ = vala_ccode_identifier_new ("_message")));
 
7133
        _vala_ccode_node_unref0 (_tmp106_);
 
7134
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) (_tmp107_ = vala_dbus_client_module_get_dbus_timeout (self, (ValaSymbol*) prop)));
6426
7135
        _vala_ccode_node_unref0 (_tmp107_);
6427
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp108_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
7136
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) dbus_error);
 
7137
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp110_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) (_tmp109_ = vala_ccode_assignment_new ((ValaCCodeExpression*) (_tmp108_ = vala_ccode_identifier_new ("_reply")), (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE)))));
 
7138
        _vala_ccode_node_unref0 (_tmp110_);
 
7139
        _vala_ccode_node_unref0 (_tmp109_);
6428
7140
        _vala_ccode_node_unref0 (_tmp108_);
6429
 
        message_unref = (_tmp110_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp109_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp109_), _tmp110_);
6430
 
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp111_ = vala_ccode_identifier_new ("_message")));
6431
 
        _vala_ccode_node_unref0 (_tmp111_);
6432
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp112_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
6433
 
        _vala_ccode_node_unref0 (_tmp112_);
 
7141
        conn_unref = (_tmp112_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp111_ = vala_ccode_identifier_new ("dbus_g_connection_unref"))), _vala_ccode_node_unref0 (_tmp111_), _tmp112_);
 
7142
        vala_ccode_function_call_add_argument (conn_unref, (ValaCCodeExpression*) (_tmp113_ = vala_ccode_identifier_new ("_connection")));
 
7143
        _vala_ccode_node_unref0 (_tmp113_);
 
7144
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp114_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) conn_unref)));
 
7145
        _vala_ccode_node_unref0 (_tmp114_);
 
7146
        message_unref = (_tmp116_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp115_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp115_), _tmp116_);
 
7147
        vala_ccode_function_call_add_argument (message_unref, (ValaCCodeExpression*) (_tmp117_ = vala_ccode_identifier_new ("_message")));
 
7148
        _vala_ccode_node_unref0 (_tmp117_);
 
7149
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp118_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) message_unref)));
 
7150
        _vala_ccode_node_unref0 (_tmp118_);
 
7151
        vala_dbus_client_module_check_property_error_reply (self, vala_property_get_set_accessor (prop), block);
 
7152
        vala_dbus_client_module_check_property_reply_signature (self, vala_property_get_set_accessor (prop), block);
6434
7153
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) postfragment);
6435
 
        reply_unref = (_tmp114_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp113_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp113_), _tmp114_);
6436
 
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp115_ = vala_ccode_identifier_new ("_reply")));
6437
 
        _vala_ccode_node_unref0 (_tmp115_);
6438
 
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp116_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
6439
 
        _vala_ccode_node_unref0 (_tmp116_);
6440
 
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp117_ = vala_ccode_function_copy (function)));
6441
 
        _vala_ccode_node_unref0 (_tmp117_);
 
7154
        reply_unref = (_tmp120_ = vala_ccode_function_call_new ((ValaCCodeExpression*) (_tmp119_ = vala_ccode_identifier_new ("dbus_message_unref"))), _vala_ccode_node_unref0 (_tmp119_), _tmp120_);
 
7155
        vala_ccode_function_call_add_argument (reply_unref, (ValaCCodeExpression*) (_tmp121_ = vala_ccode_identifier_new ("_reply")));
 
7156
        _vala_ccode_node_unref0 (_tmp121_);
 
7157
        vala_ccode_block_add_statement (block, (ValaCCodeNode*) (_tmp122_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reply_unref)));
 
7158
        _vala_ccode_node_unref0 (_tmp122_);
 
7159
        vala_ccode_declaration_space_add_type_member_declaration (((ValaCCodeBaseModule*) self)->source_declarations, (ValaCCodeNode*) (_tmp123_ = vala_ccode_function_copy (function)));
 
7160
        _vala_ccode_node_unref0 (_tmp123_);
6442
7161
        vala_ccode_function_set_block (function, block);
6443
7162
        vala_ccode_fragment_append (((ValaCCodeBaseModule*) self)->source_type_member_definition, (ValaCCodeNode*) function);
6444
7163
        result = proxy_name;
6450
7169
        _vala_ccode_node_unref0 (prefragment);
6451
7170
        _vala_ccode_node_unref0 (postfragment);
6452
7171
        _vala_ccode_node_unref0 (dispose_return_block);
 
7172
        _vala_ccode_node_unref0 (dbus_error);
6453
7173
        _vala_ccode_node_unref0 (destination);
6454
7174
        _vala_ccode_node_unref0 (path);
6455
7175
        _vala_ccode_node_unref0 (msgcall);
6456
7176
        _vala_ccode_node_unref0 (iter_call);
6457
7177
        _vala_ccode_node_unref0 (gconnection);
 
7178
        _vala_ccode_node_unref0 (dbus_error_init);
6458
7179
        _vala_ccode_node_unref0 (connection);
6459
7180
        _vala_ccode_node_unref0 (ccall);
6460
7181
        _vala_ccode_node_unref0 (conn_unref);
6494
7215
 
6495
7216
 
6496
7217
GType vala_dbus_client_module_get_type (void) {
6497
 
        static GType vala_dbus_client_module_type_id = 0;
6498
 
        if (vala_dbus_client_module_type_id == 0) {
 
7218
        static volatile gsize vala_dbus_client_module_type_id__volatile = 0;
 
7219
        if (g_once_init_enter (&vala_dbus_client_module_type_id__volatile)) {
6499
7220
                static const GTypeInfo g_define_type_info = { sizeof (ValaDBusClientModuleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_dbus_client_module_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaDBusClientModule), 0, (GInstanceInitFunc) vala_dbus_client_module_instance_init, NULL };
 
7221
                GType vala_dbus_client_module_type_id;
6500
7222
                vala_dbus_client_module_type_id = g_type_register_static (VALA_TYPE_DBUS_MODULE, "ValaDBusClientModule", &g_define_type_info, 0);
 
7223
                g_once_init_leave (&vala_dbus_client_module_type_id__volatile, vala_dbus_client_module_type_id);
6501
7224
        }
6502
 
        return vala_dbus_client_module_type_id;
 
7225
        return vala_dbus_client_module_type_id__volatile;
6503
7226
}
6504
7227
 
6505
7228