/* valagdbusservermodule.c generated by valac, the Vala compiler
 * generated from valagdbusservermodule.vala, do not modify */

/* valagdbusservermodule.vala
 *
 * Copyright (C) 2010-2011  Jürg Billeter
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.

 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 * Author:
 * 	Jürg Billeter <j@bitron.ch>
 */

#include <glib.h>
#include <glib-object.h>
#include <vala.h>
#include <valaccode.h>
#include <valagee.h>
#include <stdlib.h>
#include <string.h>


#define VALA_TYPE_CCODE_BASE_MODULE (vala_ccode_base_module_get_type ())
#define VALA_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModule))
#define VALA_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))
#define VALA_IS_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_BASE_MODULE))
#define VALA_IS_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_BASE_MODULE))
#define VALA_CCODE_BASE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))

typedef struct _ValaCCodeBaseModule ValaCCodeBaseModule;
typedef struct _ValaCCodeBaseModuleClass ValaCCodeBaseModuleClass;
typedef struct _ValaCCodeBaseModulePrivate ValaCCodeBaseModulePrivate;

#define VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT (vala_ccode_base_module_emit_context_get_type ())
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContext))
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))
#define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
#define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))

typedef struct _ValaCCodeBaseModuleEmitContext ValaCCodeBaseModuleEmitContext;
typedef struct _ValaCCodeBaseModuleEmitContextClass ValaCCodeBaseModuleEmitContextClass;

#define VALA_TYPE_CCODE_STRUCT_MODULE (vala_ccode_struct_module_get_type ())
#define VALA_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModule))
#define VALA_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))
#define VALA_IS_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_STRUCT_MODULE))
#define VALA_IS_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_STRUCT_MODULE))
#define VALA_CCODE_STRUCT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))

typedef struct _ValaCCodeStructModule ValaCCodeStructModule;
typedef struct _ValaCCodeStructModuleClass ValaCCodeStructModuleClass;
typedef struct _ValaCCodeStructModulePrivate ValaCCodeStructModulePrivate;

#define VALA_TYPE_CCODE_METHOD_MODULE (vala_ccode_method_module_get_type ())
#define VALA_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModule))
#define VALA_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))
#define VALA_IS_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_METHOD_MODULE))
#define VALA_IS_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_METHOD_MODULE))
#define VALA_CCODE_METHOD_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))

typedef struct _ValaCCodeMethodModule ValaCCodeMethodModule;
typedef struct _ValaCCodeMethodModuleClass ValaCCodeMethodModuleClass;
typedef struct _ValaCCodeMethodModulePrivate ValaCCodeMethodModulePrivate;

#define VALA_TYPE_CCODE_CONTROL_FLOW_MODULE (vala_ccode_control_flow_module_get_type ())
#define VALA_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModule))
#define VALA_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))
#define VALA_IS_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
#define VALA_IS_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
#define VALA_CCODE_CONTROL_FLOW_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))

typedef struct _ValaCCodeControlFlowModule ValaCCodeControlFlowModule;
typedef struct _ValaCCodeControlFlowModuleClass ValaCCodeControlFlowModuleClass;
typedef struct _ValaCCodeControlFlowModulePrivate ValaCCodeControlFlowModulePrivate;

#define VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE (vala_ccode_member_access_module_get_type ())
#define VALA_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModule))
#define VALA_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))
#define VALA_IS_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
#define VALA_IS_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
#define VALA_CCODE_MEMBER_ACCESS_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))

typedef struct _ValaCCodeMemberAccessModule ValaCCodeMemberAccessModule;
typedef struct _ValaCCodeMemberAccessModuleClass ValaCCodeMemberAccessModuleClass;
typedef struct _ValaCCodeMemberAccessModulePrivate ValaCCodeMemberAccessModulePrivate;

#define VALA_TYPE_CCODE_ASSIGNMENT_MODULE (vala_ccode_assignment_module_get_type ())
#define VALA_CCODE_ASSIGNMENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModule))
#define VALA_CCODE_ASSIGNMENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModuleClass))
#define VALA_IS_CCODE_ASSIGNMENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE))
#define VALA_IS_CCODE_ASSIGNMENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ASSIGNMENT_MODULE))
#define VALA_CCODE_ASSIGNMENT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModuleClass))

typedef struct _ValaCCodeAssignmentModule ValaCCodeAssignmentModule;
typedef struct _ValaCCodeAssignmentModuleClass ValaCCodeAssignmentModuleClass;
typedef struct _ValaCCodeAssignmentModulePrivate ValaCCodeAssignmentModulePrivate;

#define VALA_TYPE_CCODE_METHOD_CALL_MODULE (vala_ccode_method_call_module_get_type ())
#define VALA_CCODE_METHOD_CALL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModule))
#define VALA_CCODE_METHOD_CALL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModuleClass))
#define VALA_IS_CCODE_METHOD_CALL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE))
#define VALA_IS_CCODE_METHOD_CALL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_METHOD_CALL_MODULE))
#define VALA_CCODE_METHOD_CALL_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModuleClass))

typedef struct _ValaCCodeMethodCallModule ValaCCodeMethodCallModule;
typedef struct _ValaCCodeMethodCallModuleClass ValaCCodeMethodCallModuleClass;
typedef struct _ValaCCodeMethodCallModulePrivate ValaCCodeMethodCallModulePrivate;

#define VALA_TYPE_CCODE_ARRAY_MODULE (vala_ccode_array_module_get_type ())
#define VALA_CCODE_ARRAY_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModule))
#define VALA_CCODE_ARRAY_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModuleClass))
#define VALA_IS_CCODE_ARRAY_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ARRAY_MODULE))
#define VALA_IS_CCODE_ARRAY_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ARRAY_MODULE))
#define VALA_CCODE_ARRAY_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModuleClass))

typedef struct _ValaCCodeArrayModule ValaCCodeArrayModule;
typedef struct _ValaCCodeArrayModuleClass ValaCCodeArrayModuleClass;
typedef struct _ValaCCodeArrayModulePrivate ValaCCodeArrayModulePrivate;

#define VALA_TYPE_CCODE_DELEGATE_MODULE (vala_ccode_delegate_module_get_type ())
#define VALA_CCODE_DELEGATE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModule))
#define VALA_CCODE_DELEGATE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModuleClass))
#define VALA_IS_CCODE_DELEGATE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE))
#define VALA_IS_CCODE_DELEGATE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_DELEGATE_MODULE))
#define VALA_CCODE_DELEGATE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModuleClass))

typedef struct _ValaCCodeDelegateModule ValaCCodeDelegateModule;
typedef struct _ValaCCodeDelegateModuleClass ValaCCodeDelegateModuleClass;
typedef struct _ValaCCodeDelegateModulePrivate ValaCCodeDelegateModulePrivate;

#define VALA_TYPE_GERROR_MODULE (vala_gerror_module_get_type ())
#define VALA_GERROR_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GERROR_MODULE, ValaGErrorModule))
#define VALA_GERROR_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GERROR_MODULE, ValaGErrorModuleClass))
#define VALA_IS_GERROR_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GERROR_MODULE))
#define VALA_IS_GERROR_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GERROR_MODULE))
#define VALA_GERROR_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GERROR_MODULE, ValaGErrorModuleClass))

typedef struct _ValaGErrorModule ValaGErrorModule;
typedef struct _ValaGErrorModuleClass ValaGErrorModuleClass;
typedef struct _ValaGErrorModulePrivate ValaGErrorModulePrivate;

#define VALA_TYPE_GTYPE_MODULE (vala_gtype_module_get_type ())
#define VALA_GTYPE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GTYPE_MODULE, ValaGTypeModule))
#define VALA_GTYPE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GTYPE_MODULE, ValaGTypeModuleClass))
#define VALA_IS_GTYPE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GTYPE_MODULE))
#define VALA_IS_GTYPE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GTYPE_MODULE))
#define VALA_GTYPE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GTYPE_MODULE, ValaGTypeModuleClass))

typedef struct _ValaGTypeModule ValaGTypeModule;
typedef struct _ValaGTypeModuleClass ValaGTypeModuleClass;
typedef struct _ValaGTypeModulePrivate ValaGTypeModulePrivate;

#define VALA_TYPE_GOBJECT_MODULE (vala_gobject_module_get_type ())
#define VALA_GOBJECT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModule))
#define VALA_GOBJECT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModuleClass))
#define VALA_IS_GOBJECT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GOBJECT_MODULE))
#define VALA_IS_GOBJECT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GOBJECT_MODULE))
#define VALA_GOBJECT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModuleClass))

typedef struct _ValaGObjectModule ValaGObjectModule;
typedef struct _ValaGObjectModuleClass ValaGObjectModuleClass;
typedef struct _ValaGObjectModulePrivate ValaGObjectModulePrivate;

#define VALA_TYPE_GSIGNAL_MODULE (vala_gsignal_module_get_type ())
#define VALA_GSIGNAL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModule))
#define VALA_GSIGNAL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModuleClass))
#define VALA_IS_GSIGNAL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GSIGNAL_MODULE))
#define VALA_IS_GSIGNAL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GSIGNAL_MODULE))
#define VALA_GSIGNAL_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModuleClass))

typedef struct _ValaGSignalModule ValaGSignalModule;
typedef struct _ValaGSignalModuleClass ValaGSignalModuleClass;
typedef struct _ValaGSignalModulePrivate ValaGSignalModulePrivate;

#define VALA_TYPE_GTK_MODULE (vala_gtk_module_get_type ())
#define VALA_GTK_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GTK_MODULE, ValaGtkModule))
#define VALA_GTK_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GTK_MODULE, ValaGtkModuleClass))
#define VALA_IS_GTK_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GTK_MODULE))
#define VALA_IS_GTK_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GTK_MODULE))
#define VALA_GTK_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GTK_MODULE, ValaGtkModuleClass))

typedef struct _ValaGtkModule ValaGtkModule;
typedef struct _ValaGtkModuleClass ValaGtkModuleClass;
typedef struct _ValaGtkModulePrivate ValaGtkModulePrivate;

#define VALA_TYPE_GASYNC_MODULE (vala_gasync_module_get_type ())
#define VALA_GASYNC_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModule))
#define VALA_GASYNC_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModuleClass))
#define VALA_IS_GASYNC_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GASYNC_MODULE))
#define VALA_IS_GASYNC_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GASYNC_MODULE))
#define VALA_GASYNC_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModuleClass))

typedef struct _ValaGAsyncModule ValaGAsyncModule;
typedef struct _ValaGAsyncModuleClass ValaGAsyncModuleClass;
typedef struct _ValaGAsyncModulePrivate ValaGAsyncModulePrivate;

#define VALA_TYPE_GVARIANT_MODULE (vala_gvariant_module_get_type ())
#define VALA_GVARIANT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModule))
#define VALA_GVARIANT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModuleClass))
#define VALA_IS_GVARIANT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GVARIANT_MODULE))
#define VALA_IS_GVARIANT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GVARIANT_MODULE))
#define VALA_GVARIANT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModuleClass))

typedef struct _ValaGVariantModule ValaGVariantModule;
typedef struct _ValaGVariantModuleClass ValaGVariantModuleClass;
typedef struct _ValaGVariantModulePrivate ValaGVariantModulePrivate;

#define VALA_TYPE_GD_BUS_MODULE (vala_gd_bus_module_get_type ())
#define VALA_GD_BUS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModule))
#define VALA_GD_BUS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModuleClass))
#define VALA_IS_GD_BUS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_MODULE))
#define VALA_IS_GD_BUS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_MODULE))
#define VALA_GD_BUS_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModuleClass))

typedef struct _ValaGDBusModule ValaGDBusModule;
typedef struct _ValaGDBusModuleClass ValaGDBusModuleClass;
typedef struct _ValaGDBusModulePrivate ValaGDBusModulePrivate;

#define VALA_TYPE_GD_BUS_CLIENT_MODULE (vala_gd_bus_client_module_get_type ())
#define VALA_GD_BUS_CLIENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule))
#define VALA_GD_BUS_CLIENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModuleClass))
#define VALA_IS_GD_BUS_CLIENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE))
#define VALA_IS_GD_BUS_CLIENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_CLIENT_MODULE))
#define VALA_GD_BUS_CLIENT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModuleClass))

typedef struct _ValaGDBusClientModule ValaGDBusClientModule;
typedef struct _ValaGDBusClientModuleClass ValaGDBusClientModuleClass;
typedef struct _ValaGDBusClientModulePrivate ValaGDBusClientModulePrivate;

#define VALA_TYPE_GD_BUS_SERVER_MODULE (vala_gd_bus_server_module_get_type ())
#define VALA_GD_BUS_SERVER_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModule))
#define VALA_GD_BUS_SERVER_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModuleClass))
#define VALA_IS_GD_BUS_SERVER_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE))
#define VALA_IS_GD_BUS_SERVER_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_SERVER_MODULE))
#define VALA_GD_BUS_SERVER_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModuleClass))

typedef struct _ValaGDBusServerModule ValaGDBusServerModule;
typedef struct _ValaGDBusServerModuleClass ValaGDBusServerModuleClass;
typedef struct _ValaGDBusServerModulePrivate ValaGDBusServerModulePrivate;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
#define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
#define _vala_map_unref0(var) ((var == NULL) ? NULL : (var = (vala_map_unref (var), NULL)))

struct _ValaCCodeBaseModule {
	ValaCodeGenerator parent_instance;
	ValaCCodeBaseModulePrivate * priv;
	ValaSymbol* root_symbol;
	ValaCCodeBaseModuleEmitContext* emit_context;
	ValaCCodeLineDirective* current_line;
	ValaCCodeFile* header_file;
	ValaCCodeFile* internal_header_file;
	ValaCCodeFile* cfile;
	ValaCCodeBaseModuleEmitContext* class_init_context;
	ValaCCodeBaseModuleEmitContext* base_init_context;
	ValaCCodeBaseModuleEmitContext* class_finalize_context;
	ValaCCodeBaseModuleEmitContext* base_finalize_context;
	ValaCCodeBaseModuleEmitContext* instance_init_context;
	ValaCCodeBaseModuleEmitContext* instance_finalize_context;
	ValaCCodeStruct* param_spec_struct;
	ValaCCodeStruct* closure_struct;
	ValaCCodeEnum* prop_enum;
	ValaSet* user_marshal_set;
	ValaSet* predefined_marshal_set;
	gint next_regex_id;
	gint next_coroutine_state;
	ValaDataType* void_type;
	ValaDataType* bool_type;
	ValaDataType* char_type;
	ValaDataType* uchar_type;
	ValaDataType* unichar_type;
	ValaDataType* short_type;
	ValaDataType* ushort_type;
	ValaDataType* int_type;
	ValaDataType* uint_type;
	ValaDataType* long_type;
	ValaDataType* ulong_type;
	ValaDataType* int8_type;
	ValaDataType* uint8_type;
	ValaDataType* int16_type;
	ValaDataType* uint16_type;
	ValaDataType* int32_type;
	ValaDataType* uint32_type;
	ValaDataType* int64_type;
	ValaDataType* uint64_type;
	ValaDataType* string_type;
	ValaDataType* regex_type;
	ValaDataType* float_type;
	ValaDataType* double_type;
	ValaTypeSymbol* gtype_type;
	ValaTypeSymbol* gobject_type;
	ValaErrorType* gerror_type;
	ValaClass* glist_type;
	ValaClass* gslist_type;
	ValaClass* gnode_type;
	ValaClass* gqueue_type;
	ValaClass* gvaluearray_type;
	ValaTypeSymbol* gstringbuilder_type;
	ValaTypeSymbol* garray_type;
	ValaTypeSymbol* gbytearray_type;
	ValaTypeSymbol* gptrarray_type;
	ValaTypeSymbol* gthreadpool_type;
	ValaDataType* gdestroynotify_type;
	ValaDataType* gquark_type;
	ValaStruct* gvalue_type;
	ValaClass* gvariant_type;
	ValaStruct* mutex_type;
	ValaStruct* gmutex_type;
	ValaStruct* grecmutex_type;
	ValaStruct* grwlock_type;
	ValaStruct* gcond_type;
	ValaClass* gsource_type;
	ValaTypeSymbol* type_module_type;
	ValaTypeSymbol* dbus_proxy_type;
	ValaClass* gtk_widget_type;
	gboolean in_plugin;
	gchar* module_init_param_name;
	gboolean gvaluecollector_h_needed;
	gboolean requires_assert;
	gboolean requires_array_free;
	gboolean requires_array_move;
	gboolean requires_array_length;
	gboolean requires_clear_mutex;
	ValaSet* wrappers;
};

struct _ValaCCodeBaseModuleClass {
	ValaCodeGeneratorClass parent_class;
	void (*append_vala_array_free) (ValaCCodeBaseModule* self);
	void (*append_vala_array_move) (ValaCCodeBaseModule* self);
	void (*append_vala_array_length) (ValaCCodeBaseModule* self);
	gboolean (*generate_enum_declaration) (ValaCCodeBaseModule* self, ValaEnum* en, ValaCCodeFile* decl_space);
	void (*generate_class_struct_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
	void (*generate_struct_declaration) (ValaCCodeBaseModule* self, ValaStruct* st, ValaCCodeFile* decl_space);
	void (*generate_delegate_declaration) (ValaCCodeBaseModule* self, ValaDelegate* d, ValaCCodeFile* decl_space);
	void (*generate_cparameters) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaCCodeFunction* func, ValaCCodeFunctionDeclarator* vdeclarator, ValaMap* carg_map, ValaCCodeFunctionCall* vcall, gint direction);
	ValaCCodeExpression* (*get_dup_func_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
	gchar* (*append_struct_array_free) (ValaCCodeBaseModule* self, ValaStruct* st);
	ValaCCodeExpression* (*destroy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, gboolean is_macro_definition);
	void (*append_scope_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, ValaCodeNode* stop_at);
	ValaTargetValue* (*get_local_cvalue) (ValaCCodeBaseModule* self, ValaLocalVariable* local);
	ValaTargetValue* (*get_parameter_cvalue) (ValaCCodeBaseModule* self, ValaParameter* param);
	ValaTargetValue* (*get_field_cvalue) (ValaCCodeBaseModule* self, ValaField* field, ValaTargetValue* instance);
	ValaTargetValue* (*load_variable) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaTargetValue* value);
	ValaTargetValue* (*load_this_parameter) (ValaCCodeBaseModule* self, ValaTypeSymbol* sym);
	void (*store_value) (ValaCCodeBaseModule* self, ValaTargetValue* lvalue, ValaTargetValue* value);
	gchar* (*get_delegate_target_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
	ValaCCodeExpression* (*get_delegate_target_cexpression) (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression** delegate_target_destroy_notify);
	ValaCCodeExpression* (*get_delegate_target_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
	ValaCCodeExpression* (*get_delegate_target_destroy_notify_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
	gchar* (*get_delegate_target_destroy_notify_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
	ValaTargetValue* (*copy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, ValaCodeNode* node);
	void (*generate_class_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
	void (*generate_interface_declaration) (ValaCCodeBaseModule* self, ValaInterface* iface, ValaCCodeFile* decl_space);
	void (*generate_method_declaration) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space);
	void (*generate_error_domain_declaration) (ValaCCodeBaseModule* self, ValaErrorDomain* edomain, ValaCCodeFile* decl_space);
	ValaCCodeExpression* (*deserialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
	ValaCCodeExpression* (*serialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* expr);
	ValaCCodeExpression* (*get_implicit_cast_expression) (ValaCCodeBaseModule* self, ValaCCodeExpression* source_cexpr, ValaDataType* expression_type, ValaDataType* target_type, ValaCodeNode* node);
	void (*create_type_check_statement) (ValaCCodeBaseModule* self, ValaCodeNode* method_node, ValaDataType* ret_type, ValaTypeSymbol* t, gboolean non_null, const gchar* var_name);
	gboolean (*is_gobject_property) (ValaCCodeBaseModule* self, ValaProperty* prop);
	void (*generate_dynamic_method_wrapper) (ValaCCodeBaseModule* self, ValaDynamicMethod* method);
	gboolean (*method_has_wrapper) (ValaCCodeBaseModule* self, ValaMethod* method);
	ValaCCodeFunctionCall* (*get_param_spec) (ValaCCodeBaseModule* self, ValaProperty* prop);
	ValaCCodeFunctionCall* (*get_signal_creation) (ValaCCodeBaseModule* self, ValaSignal* sig, ValaTypeSymbol* type);
	void (*register_dbus_info) (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable);
	gchar* (*get_dynamic_property_getter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
	gchar* (*get_dynamic_property_setter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
	gchar* (*get_dynamic_signal_cname) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
	gchar* (*get_dynamic_signal_connect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
	gchar* (*get_dynamic_signal_connect_after_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
	gchar* (*get_dynamic_signal_disconnect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
	gchar* (*get_array_length_cname) (ValaCCodeBaseModule* self, const gchar* array_cname, gint dim);
	gchar* (*get_parameter_array_length_cname) (ValaCCodeBaseModule* self, ValaParameter* param, gint dim);
	ValaCCodeExpression* (*get_array_length_cexpression) (ValaCCodeBaseModule* self, ValaExpression* array_expr, gint dim);
	ValaCCodeExpression* (*get_array_length_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value, gint dim);
	gchar* (*get_array_size_cname) (ValaCCodeBaseModule* self, const gchar* array_cname);
	void (*add_simple_check) (ValaCCodeBaseModule* self, ValaCodeNode* node, gboolean always_fails);
	gchar* (*generate_ready_function) (ValaCCodeBaseModule* self, ValaMethod* m);
};

struct _ValaCCodeStructModule {
	ValaCCodeBaseModule parent_instance;
	ValaCCodeStructModulePrivate * priv;
};

struct _ValaCCodeStructModuleClass {
	ValaCCodeBaseModuleClass parent_class;
};

struct _ValaCCodeMethodModule {
	ValaCCodeStructModule parent_instance;
	ValaCCodeMethodModulePrivate * priv;
};

struct _ValaCCodeMethodModuleClass {
	ValaCCodeStructModuleClass parent_class;
	void (*generate_method_result_declaration) (ValaCCodeMethodModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeFunction* cfunc, ValaMap* cparam_map, ValaMap* carg_map);
	ValaCCodeParameter* (*generate_parameter) (ValaCCodeMethodModule* self, ValaParameter* param, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaMap* carg_map);
};

struct _ValaCCodeControlFlowModule {
	ValaCCodeMethodModule parent_instance;
	ValaCCodeControlFlowModulePrivate * priv;
};

struct _ValaCCodeControlFlowModuleClass {
	ValaCCodeMethodModuleClass parent_class;
};

struct _ValaCCodeMemberAccessModule {
	ValaCCodeControlFlowModule parent_instance;
	ValaCCodeMemberAccessModulePrivate * priv;
};

struct _ValaCCodeMemberAccessModuleClass {
	ValaCCodeControlFlowModuleClass parent_class;
};

struct _ValaCCodeAssignmentModule {
	ValaCCodeMemberAccessModule parent_instance;
	ValaCCodeAssignmentModulePrivate * priv;
};

struct _ValaCCodeAssignmentModuleClass {
	ValaCCodeMemberAccessModuleClass parent_class;
};

struct _ValaCCodeMethodCallModule {
	ValaCCodeAssignmentModule parent_instance;
	ValaCCodeMethodCallModulePrivate * priv;
};

struct _ValaCCodeMethodCallModuleClass {
	ValaCCodeAssignmentModuleClass parent_class;
};

struct _ValaCCodeArrayModule {
	ValaCCodeMethodCallModule parent_instance;
	ValaCCodeArrayModulePrivate * priv;
};

struct _ValaCCodeArrayModuleClass {
	ValaCCodeMethodCallModuleClass parent_class;
};

struct _ValaCCodeDelegateModule {
	ValaCCodeArrayModule parent_instance;
	ValaCCodeDelegateModulePrivate * priv;
};

struct _ValaCCodeDelegateModuleClass {
	ValaCCodeArrayModuleClass parent_class;
};

struct _ValaGErrorModule {
	ValaCCodeDelegateModule parent_instance;
	ValaGErrorModulePrivate * priv;
};

struct _ValaGErrorModuleClass {
	ValaCCodeDelegateModuleClass parent_class;
	void (*return_with_exception) (ValaGErrorModule* self, ValaCCodeExpression* error_expr);
};

struct _ValaGTypeModule {
	ValaGErrorModule parent_instance;
	ValaGTypeModulePrivate * priv;
};

struct _ValaGTypeModuleClass {
	ValaGErrorModuleClass parent_class;
	void (*generate_virtual_method_declaration) (ValaGTypeModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeStruct* type_struct);
	void (*generate_class_init) (ValaGTypeModule* self, ValaClass* cl);
	void (*end_instance_init) (ValaGTypeModule* self, ValaClass* cl);
};

struct _ValaGObjectModule {
	ValaGTypeModule parent_instance;
	ValaGObjectModulePrivate * priv;
};

struct _ValaGObjectModuleClass {
	ValaGTypeModuleClass parent_class;
};

struct _ValaGSignalModule {
	ValaGObjectModule parent_instance;
	ValaGSignalModulePrivate * priv;
};

struct _ValaGSignalModuleClass {
	ValaGObjectModuleClass parent_class;
};

struct _ValaGtkModule {
	ValaGSignalModule parent_instance;
	ValaGtkModulePrivate * priv;
};

struct _ValaGtkModuleClass {
	ValaGSignalModuleClass parent_class;
};

struct _ValaGAsyncModule {
	ValaGtkModule parent_instance;
	ValaGAsyncModulePrivate * priv;
};

struct _ValaGAsyncModuleClass {
	ValaGtkModuleClass parent_class;
};

struct _ValaGVariantModule {
	ValaGAsyncModule parent_instance;
	ValaGVariantModulePrivate * priv;
};

struct _ValaGVariantModuleClass {
	ValaGAsyncModuleClass parent_class;
};

struct _ValaGDBusModule {
	ValaGVariantModule parent_instance;
	ValaGDBusModulePrivate * priv;
};

struct _ValaGDBusModuleClass {
	ValaGVariantModuleClass parent_class;
};

struct _ValaGDBusClientModule {
	ValaGDBusModule parent_instance;
	ValaGDBusClientModulePrivate * priv;
};

struct _ValaGDBusClientModuleClass {
	ValaGDBusModuleClass parent_class;
};

struct _ValaGDBusServerModule {
	ValaGDBusClientModule parent_instance;
	ValaGDBusServerModulePrivate * priv;
};

struct _ValaGDBusServerModuleClass {
	ValaGDBusClientModuleClass parent_class;
};


static gpointer vala_gd_bus_server_module_parent_class = NULL;

GType vala_ccode_base_module_get_type (void) G_GNUC_CONST;
gpointer vala_ccode_base_module_emit_context_ref (gpointer instance);
void vala_ccode_base_module_emit_context_unref (gpointer instance);
GParamSpec* vala_ccode_base_module_param_spec_emit_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void vala_ccode_base_module_value_set_emit_context (GValue* value, gpointer v_object);
void vala_ccode_base_module_value_take_emit_context (GValue* value, gpointer v_object);
gpointer vala_ccode_base_module_value_get_emit_context (const GValue* value);
GType vala_ccode_base_module_emit_context_get_type (void) G_GNUC_CONST;
GType vala_ccode_struct_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_method_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_control_flow_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_member_access_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_assignment_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_method_call_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_array_module_get_type (void) G_GNUC_CONST;
GType vala_ccode_delegate_module_get_type (void) G_GNUC_CONST;
GType vala_gerror_module_get_type (void) G_GNUC_CONST;
GType vala_gtype_module_get_type (void) G_GNUC_CONST;
GType vala_gobject_module_get_type (void) G_GNUC_CONST;
GType vala_gsignal_module_get_type (void) G_GNUC_CONST;
GType vala_gtk_module_get_type (void) G_GNUC_CONST;
GType vala_gasync_module_get_type (void) G_GNUC_CONST;
GType vala_gvariant_module_get_type (void) G_GNUC_CONST;
GType vala_gd_bus_module_get_type (void) G_GNUC_CONST;
GType vala_gd_bus_client_module_get_type (void) G_GNUC_CONST;
GType vala_gd_bus_server_module_get_type (void) G_GNUC_CONST;
enum  {
	VALA_GD_BUS_SERVER_MODULE_DUMMY_PROPERTY
};
static gchar* vala_gd_bus_server_module_generate_dbus_wrapper (ValaGDBusServerModule* self, ValaMethod* m, ValaObjectTypeSymbol* sym, gboolean ready);
gchar* vala_ccode_base_module_get_ccode_name (ValaCodeNode* node);
void vala_ccode_base_module_push_function (ValaCCodeBaseModule* self, ValaCCodeFunction* func);
ValaCCodeFunction* vala_ccode_base_module_get_ccode (ValaCCodeBaseModule* self);
gboolean vala_gd_bus_module_is_dbus_no_reply (ValaMethod* m);
gboolean vala_gd_bus_module_dbus_method_uses_file_descriptor (ValaGDBusModule* self, ValaMethod* method);
gchar* vala_ccode_base_module_get_ccode_finish_name (ValaMethod* m);
gchar* vala_ccode_base_module_get_variable_cname (ValaCCodeBaseModule* self, const gchar* name);
ValaCCodeExpression* vala_ccode_base_module_default_value_for_type (ValaCCodeBaseModule* self, ValaDataType* type, gboolean initializer_expression);
gchar* vala_ccode_base_module_get_parameter_array_length_cname (ValaCCodeBaseModule* self, ValaParameter* param, gint dim);
void vala_gd_bus_module_receive_dbus_value (ValaGDBusModule* self, ValaDataType* type, ValaCCodeExpression* message_expr, ValaCCodeExpression* iter_expr, ValaCCodeExpression* target_expr, ValaSymbol* sym, ValaCCodeExpression* error_expr, gboolean* may_fail);
gchar* vala_ccode_base_module_get_array_length_cname (ValaCCodeBaseModule* self, const gchar* array_cname, gint dim);
void vala_gd_bus_module_send_dbus_value (ValaGDBusModule* self, ValaDataType* type, ValaCCodeExpression* builder_expr, ValaCCodeExpression* expr, ValaSymbol* sym);
gboolean vala_ccode_base_module_requires_destroy (ValaCCodeBaseModule* self, ValaDataType* type);
ValaCCodeExpression* vala_ccode_base_module_destroy_local (ValaCCodeBaseModule* self, ValaLocalVariable* local);
void vala_ccode_base_module_pop_function (ValaCCodeBaseModule* self);
static gchar* vala_gd_bus_server_module_generate_dbus_signal_wrapper (ValaGDBusServerModule* self, ValaSignal* sig, ValaObjectTypeSymbol* sym, const gchar* dbus_iface_name);
gchar* vala_ccode_base_module_get_ccode_lower_case_name (ValaCodeNode* node, const gchar* infix);
ValaCCodeParameter* vala_ccode_method_module_generate_parameter (ValaCCodeMethodModule* self, ValaParameter* param, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaMap* carg_map);
void vala_gvariant_module_write_expression (ValaGVariantModule* self, ValaDataType* type, ValaCCodeExpression* builder_expr, ValaCCodeExpression* expr, ValaSymbol* sym);
gchar* vala_gd_bus_module_get_dbus_name_for_member (ValaSymbol* symbol);
static gchar* vala_gd_bus_server_module_generate_dbus_property_get_wrapper (ValaGDBusServerModule* self, ValaProperty* prop, ValaObjectTypeSymbol* sym);
ValaCCodeExpression* vala_ccode_base_module_serialize_expression (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* expr);
static gchar* vala_gd_bus_server_module_generate_dbus_property_set_wrapper (ValaGDBusServerModule* self, ValaProperty* prop, ValaObjectTypeSymbol* sym);
ValaCCodeExpression* vala_ccode_base_module_deserialize_expression (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
static void vala_gd_bus_server_module_handle_signals (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym, gboolean connect);
gchar* vala_gd_bus_module_get_dbus_name (ValaTypeSymbol* symbol);
gboolean vala_gd_bus_module_is_dbus_visible (ValaCodeNode* node);
ValaCCodeConstant* vala_ccode_base_module_get_signal_canonical_constant (ValaCCodeBaseModule* self, ValaSignal* sig, const gchar* detail);
static void vala_gd_bus_server_module_generate_interface_method_call_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym);
gchar* vala_ccode_base_module_get_ccode_lower_case_prefix (ValaSymbol* sym);
static void vala_gd_bus_server_module_generate_interface_get_property_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym);
static void vala_gd_bus_server_module_generate_interface_set_property_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym);
static ValaCCodeExpression* vala_gd_bus_server_module_get_interface_vtable (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym);
static gchar* vala_gd_bus_server_module_generate_register_object_function (ValaGDBusServerModule* self);
gboolean vala_ccode_base_module_add_wrapper (ValaCCodeBaseModule* self, const gchar* wrapper_name);
static void vala_gd_bus_server_module_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr);
ValaCCodeExpression* vala_ccode_base_module_get_type_id_expression (ValaCCodeBaseModule* self, ValaDataType* type, gboolean is_chainup);
void vala_ccode_base_module_set_current_method_inner_error (ValaCCodeBaseModule* self, gboolean value);
ValaCCodeExpression* vala_ccode_base_module_get_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr);
ValaCCodeExpression* vala_ccode_base_module_get_variable_cexpression (ValaCCodeBaseModule* self, const gchar* name);
ValaLocalVariable* vala_ccode_base_module_get_temp_variable (ValaCCodeBaseModule* self, ValaDataType* type, gboolean value_owned, ValaCodeNode* node_reference, gboolean init);
void vala_ccode_base_module_emit_temp_var (ValaCCodeBaseModule* self, ValaLocalVariable* local);
void vala_ccode_base_module_set_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr, ValaCCodeExpression* cvalue);
static void vala_gd_bus_server_module_real_generate_class_declaration (ValaCCodeBaseModule* base, ValaClass* cl, ValaCCodeFile* decl_space);
void vala_ccode_base_module_generate_class_declaration (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
static void vala_gd_bus_server_module_generate_object_type_symbol_declaration (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym, ValaCCodeFile* decl_space);
static void vala_gd_bus_server_module_real_generate_interface_declaration (ValaCCodeBaseModule* base, ValaInterface* iface, ValaCCodeFile* decl_space);
void vala_ccode_base_module_generate_interface_declaration (ValaCCodeBaseModule* self, ValaInterface* iface, ValaCCodeFile* decl_space);
static void vala_gd_bus_server_module_real_visit_class (ValaCodeVisitor* base, ValaClass* cl);
static void vala_gd_bus_server_module_visit_object_type_symbol (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym);
static void vala_gd_bus_server_module_real_visit_interface (ValaCodeVisitor* base, ValaInterface* iface);
gboolean vala_ccode_base_module_add_symbol_declaration (ValaCCodeBaseModule* self, ValaCCodeFile* decl_space, ValaSymbol* sym, const gchar* name);
ValaCodeContext* vala_ccode_base_module_get_context (ValaCCodeBaseModule* self);
gchar* vala_ccode_base_module_get_ccode_ref_function (ValaTypeSymbol* sym);
ValaCCodeExpression* vala_gd_bus_module_get_interface_info (ValaGDBusModule* self, ValaObjectTypeSymbol* sym);
gchar* vala_ccode_base_module_get_ccode_unref_function (ValaObjectTypeSymbol* sym);
static void vala_gd_bus_server_module_real_register_dbus_info (ValaCCodeBaseModule* base, ValaCCodeBlock* block, ValaObjectTypeSymbol* sym);
void vala_ccode_base_module_register_dbus_info (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable);
ValaGDBusServerModule* vala_gd_bus_server_module_new (void);
ValaGDBusServerModule* vala_gd_bus_server_module_construct (GType object_type);
ValaGDBusClientModule* vala_gd_bus_client_module_new (void);
ValaGDBusClientModule* vala_gd_bus_client_module_construct (GType object_type);


static gpointer _vala_code_node_ref0 (gpointer self) {
	return self ? vala_code_node_ref (self) : NULL;
}


static gchar* vala_gd_bus_server_module_generate_dbus_wrapper (ValaGDBusServerModule* self, ValaMethod* m, ValaObjectTypeSymbol* sym, gboolean ready) {
	gchar* result = NULL;
	gchar* wrapper_name = NULL;
	ValaMethod* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ValaMethod* _tmp5_ = NULL;
	ValaMethod* _tmp6_ = NULL;
	ValaMethod* _tmp7_ = NULL;
	gboolean _tmp17_ = FALSE;
	ValaCCodeFunction* function = NULL;
	const gchar* _tmp20_ = NULL;
	ValaCCodeFunction* _tmp21_ = NULL;
	ValaCCodeFunction* _tmp22_ = NULL;
	gboolean _tmp23_ = FALSE;
	ValaCCodeFunction* _tmp47_ = NULL;
	gboolean _tmp48_ = FALSE;
	ValaCCodeFunctionCall* connection = NULL;
	ValaCCodeIdentifier* _tmp55_ = NULL;
	ValaCCodeIdentifier* _tmp56_ = NULL;
	ValaCCodeFunctionCall* _tmp57_ = NULL;
	ValaCCodeFunctionCall* _tmp58_ = NULL;
	ValaCCodeFunctionCall* _tmp59_ = NULL;
	ValaCCodeIdentifier* _tmp60_ = NULL;
	ValaCCodeIdentifier* _tmp61_ = NULL;
	gboolean no_reply = FALSE;
	ValaMethod* _tmp62_ = NULL;
	gboolean _tmp63_ = FALSE;
	gboolean uses_fd = FALSE;
	ValaMethod* _tmp64_ = NULL;
	gboolean _tmp65_ = FALSE;
	gboolean _tmp66_ = FALSE;
	gboolean uses_error = FALSE;
	gboolean _tmp68_ = FALSE;
	ValaMethod* _tmp69_ = NULL;
	gboolean _tmp70_ = FALSE;
	gboolean _tmp71_ = FALSE;
	gboolean _tmp79_ = FALSE;
	ValaCCodeFunctionCall* ccall = NULL;
	gboolean _tmp99_ = FALSE;
	gboolean _tmp128_ = FALSE;
	gboolean _tmp395_ = FALSE;
	ValaMethod* _tmp396_ = NULL;
	gboolean _tmp397_ = FALSE;
	gboolean _tmp398_ = FALSE;
	gboolean _tmp431_ = FALSE;
	ValaMethod* _tmp432_ = NULL;
	gboolean _tmp433_ = FALSE;
	gboolean _tmp434_ = FALSE;
	gboolean _tmp447_ = FALSE;
	ValaMethod* _tmp448_ = NULL;
	gboolean _tmp449_ = FALSE;
	gboolean _tmp450_ = FALSE;
	gboolean _tmp463_ = FALSE;
	gboolean _tmp464_ = FALSE;
	gboolean _tmp850_ = FALSE;
	gboolean _tmp851_ = FALSE;
	ValaCCodeFile* _tmp897_ = NULL;
	ValaCCodeFunction* _tmp898_ = NULL;
	ValaCCodeFile* _tmp899_ = NULL;
	ValaCCodeFunction* _tmp900_ = NULL;
	gboolean _tmp901_ = FALSE;
	ValaMethod* _tmp902_ = NULL;
	gboolean _tmp903_ = FALSE;
	gboolean _tmp904_ = FALSE;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (m != NULL, NULL);
	g_return_val_if_fail (sym != NULL, NULL);
	_tmp0_ = m;
	_tmp1_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strdup_printf ("_dbus_%s", _tmp2_);
	_tmp4_ = _tmp3_;
	_g_free0 (_tmp2_);
	wrapper_name = _tmp4_;
	_tmp5_ = m;
	_tmp6_ = vala_method_get_base_method (_tmp5_);
	_tmp7_ = _tmp6_;
	if (_tmp7_ != NULL) {
		ValaMethod* _tmp8_ = NULL;
		ValaMethod* _tmp9_ = NULL;
		ValaMethod* _tmp10_ = NULL;
		_tmp8_ = m;
		_tmp9_ = vala_method_get_base_method (_tmp8_);
		_tmp10_ = _tmp9_;
		m = _tmp10_;
	} else {
		ValaMethod* _tmp11_ = NULL;
		ValaMethod* _tmp12_ = NULL;
		ValaMethod* _tmp13_ = NULL;
		_tmp11_ = m;
		_tmp12_ = vala_method_get_base_interface_method (_tmp11_);
		_tmp13_ = _tmp12_;
		if (_tmp13_ != NULL) {
			ValaMethod* _tmp14_ = NULL;
			ValaMethod* _tmp15_ = NULL;
			ValaMethod* _tmp16_ = NULL;
			_tmp14_ = m;
			_tmp15_ = vala_method_get_base_interface_method (_tmp14_);
			_tmp16_ = _tmp15_;
			m = _tmp16_;
		}
	}
	_tmp17_ = ready;
	if (_tmp17_) {
		const gchar* _tmp18_ = NULL;
		gchar* _tmp19_ = NULL;
		_tmp18_ = wrapper_name;
		_tmp19_ = g_strconcat (_tmp18_, "_ready", NULL);
		_g_free0 (wrapper_name);
		wrapper_name = _tmp19_;
	}
	_tmp20_ = wrapper_name;
	_tmp21_ = vala_ccode_function_new (_tmp20_, "void");
	function = _tmp21_;
	_tmp22_ = function;
	vala_ccode_function_set_modifiers (_tmp22_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp23_ = ready;
	if (!_tmp23_) {
		ValaCCodeFunction* _tmp24_ = NULL;
		ValaObjectTypeSymbol* _tmp25_ = NULL;
		gchar* _tmp26_ = NULL;
		gchar* _tmp27_ = NULL;
		gchar* _tmp28_ = NULL;
		gchar* _tmp29_ = NULL;
		ValaCCodeParameter* _tmp30_ = NULL;
		ValaCCodeParameter* _tmp31_ = NULL;
		ValaCCodeFunction* _tmp32_ = NULL;
		ValaCCodeParameter* _tmp33_ = NULL;
		ValaCCodeParameter* _tmp34_ = NULL;
		ValaCCodeFunction* _tmp35_ = NULL;
		ValaCCodeParameter* _tmp36_ = NULL;
		ValaCCodeParameter* _tmp37_ = NULL;
		_tmp24_ = function;
		_tmp25_ = sym;
		_tmp26_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp25_);
		_tmp27_ = _tmp26_;
		_tmp28_ = g_strconcat (_tmp27_, "*", NULL);
		_tmp29_ = _tmp28_;
		_tmp30_ = vala_ccode_parameter_new ("self", _tmp29_);
		_tmp31_ = _tmp30_;
		vala_ccode_function_add_parameter (_tmp24_, _tmp31_);
		_vala_ccode_node_unref0 (_tmp31_);
		_g_free0 (_tmp29_);
		_g_free0 (_tmp27_);
		_tmp32_ = function;
		_tmp33_ = vala_ccode_parameter_new ("_parameters_", "GVariant*");
		_tmp34_ = _tmp33_;
		vala_ccode_function_add_parameter (_tmp32_, _tmp34_);
		_vala_ccode_node_unref0 (_tmp34_);
		_tmp35_ = function;
		_tmp36_ = vala_ccode_parameter_new ("invocation", "GDBusMethodInvocation*");
		_tmp37_ = _tmp36_;
		vala_ccode_function_add_parameter (_tmp35_, _tmp37_);
		_vala_ccode_node_unref0 (_tmp37_);
	} else {
		ValaCCodeFunction* _tmp38_ = NULL;
		ValaCCodeParameter* _tmp39_ = NULL;
		ValaCCodeParameter* _tmp40_ = NULL;
		ValaCCodeFunction* _tmp41_ = NULL;
		ValaCCodeParameter* _tmp42_ = NULL;
		ValaCCodeParameter* _tmp43_ = NULL;
		ValaCCodeFunction* _tmp44_ = NULL;
		ValaCCodeParameter* _tmp45_ = NULL;
		ValaCCodeParameter* _tmp46_ = NULL;
		_tmp38_ = function;
		_tmp39_ = vala_ccode_parameter_new ("source_object", "GObject *");
		_tmp40_ = _tmp39_;
		vala_ccode_function_add_parameter (_tmp38_, _tmp40_);
		_vala_ccode_node_unref0 (_tmp40_);
		_tmp41_ = function;
		_tmp42_ = vala_ccode_parameter_new ("_res_", "GAsyncResult *");
		_tmp43_ = _tmp42_;
		vala_ccode_function_add_parameter (_tmp41_, _tmp43_);
		_vala_ccode_node_unref0 (_tmp43_);
		_tmp44_ = function;
		_tmp45_ = vala_ccode_parameter_new ("_user_data_", "gpointer");
		_tmp46_ = _tmp45_;
		vala_ccode_function_add_parameter (_tmp44_, _tmp46_);
		_vala_ccode_node_unref0 (_tmp46_);
	}
	_tmp47_ = function;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp47_);
	_tmp48_ = ready;
	if (_tmp48_) {
		ValaCCodeFunction* _tmp49_ = NULL;
		ValaCCodeFunction* _tmp50_ = NULL;
		ValaCCodeIdentifier* _tmp51_ = NULL;
		ValaCCodeIdentifier* _tmp52_ = NULL;
		ValaCCodeVariableDeclarator* _tmp53_ = NULL;
		ValaCCodeVariableDeclarator* _tmp54_ = NULL;
		_tmp49_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp50_ = _tmp49_;
		_tmp51_ = vala_ccode_identifier_new ("_user_data_");
		_tmp52_ = _tmp51_;
		_tmp53_ = vala_ccode_variable_declarator_new ("invocation", (ValaCCodeExpression*) _tmp52_, NULL);
		_tmp54_ = _tmp53_;
		vala_ccode_function_add_declaration (_tmp50_, "GDBusMethodInvocation *", (ValaCCodeDeclarator*) _tmp54_, 0);
		_vala_ccode_node_unref0 (_tmp54_);
		_vala_ccode_node_unref0 (_tmp52_);
	}
	_tmp55_ = vala_ccode_identifier_new ("g_dbus_method_invocation_get_connection");
	_tmp56_ = _tmp55_;
	_tmp57_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp56_);
	_tmp58_ = _tmp57_;
	_vala_ccode_node_unref0 (_tmp56_);
	connection = _tmp58_;
	_tmp59_ = connection;
	_tmp60_ = vala_ccode_identifier_new ("invocation");
	_tmp61_ = _tmp60_;
	vala_ccode_function_call_add_argument (_tmp59_, (ValaCCodeExpression*) _tmp61_);
	_vala_ccode_node_unref0 (_tmp61_);
	_tmp62_ = m;
	_tmp63_ = vala_gd_bus_module_is_dbus_no_reply (_tmp62_);
	no_reply = _tmp63_;
	_tmp64_ = m;
	_tmp65_ = vala_gd_bus_module_dbus_method_uses_file_descriptor ((ValaGDBusModule*) self, _tmp64_);
	uses_fd = _tmp65_;
	_tmp66_ = uses_fd;
	if (_tmp66_) {
		ValaCCodeFile* _tmp67_ = NULL;
		_tmp67_ = ((ValaCCodeBaseModule*) self)->cfile;
		vala_ccode_file_add_include (_tmp67_, "gio/gunixfdlist.h", FALSE);
	}
	uses_error = FALSE;
	_tmp69_ = m;
	_tmp70_ = vala_method_get_coroutine (_tmp69_);
	_tmp71_ = _tmp70_;
	if (!_tmp71_) {
		_tmp68_ = TRUE;
	} else {
		gboolean _tmp72_ = FALSE;
		_tmp72_ = ready;
		_tmp68_ = _tmp72_;
	}
	if (_tmp68_) {
		ValaCCodeFunction* _tmp73_ = NULL;
		ValaCCodeFunction* _tmp74_ = NULL;
		ValaCCodeConstant* _tmp75_ = NULL;
		ValaCCodeConstant* _tmp76_ = NULL;
		ValaCCodeVariableDeclarator* _tmp77_ = NULL;
		ValaCCodeVariableDeclarator* _tmp78_ = NULL;
		_tmp73_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp74_ = _tmp73_;
		_tmp75_ = vala_ccode_constant_new ("NULL");
		_tmp76_ = _tmp75_;
		_tmp77_ = vala_ccode_variable_declarator_new_zero ("error", (ValaCCodeExpression*) _tmp76_, NULL);
		_tmp78_ = _tmp77_;
		vala_ccode_function_add_declaration (_tmp74_, "GError*", (ValaCCodeDeclarator*) _tmp78_, 0);
		_vala_ccode_node_unref0 (_tmp78_);
		_vala_ccode_node_unref0 (_tmp76_);
		uses_error = TRUE;
	}
	_tmp79_ = ready;
	if (!_tmp79_) {
		ValaCCodeFunction* _tmp80_ = NULL;
		ValaCCodeFunction* _tmp81_ = NULL;
		ValaCCodeVariableDeclarator* _tmp82_ = NULL;
		ValaCCodeVariableDeclarator* _tmp83_ = NULL;
		ValaCCodeFunctionCall* iter_init = NULL;
		ValaCCodeIdentifier* _tmp84_ = NULL;
		ValaCCodeIdentifier* _tmp85_ = NULL;
		ValaCCodeFunctionCall* _tmp86_ = NULL;
		ValaCCodeFunctionCall* _tmp87_ = NULL;
		ValaCCodeFunctionCall* _tmp88_ = NULL;
		ValaCCodeIdentifier* _tmp89_ = NULL;
		ValaCCodeIdentifier* _tmp90_ = NULL;
		ValaCCodeUnaryExpression* _tmp91_ = NULL;
		ValaCCodeUnaryExpression* _tmp92_ = NULL;
		ValaCCodeFunctionCall* _tmp93_ = NULL;
		ValaCCodeIdentifier* _tmp94_ = NULL;
		ValaCCodeIdentifier* _tmp95_ = NULL;
		ValaCCodeFunction* _tmp96_ = NULL;
		ValaCCodeFunction* _tmp97_ = NULL;
		ValaCCodeFunctionCall* _tmp98_ = NULL;
		_tmp80_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp81_ = _tmp80_;
		_tmp82_ = vala_ccode_variable_declarator_new ("_arguments_iter", NULL, NULL);
		_tmp83_ = _tmp82_;
		vala_ccode_function_add_declaration (_tmp81_, "GVariantIter", (ValaCCodeDeclarator*) _tmp83_, 0);
		_vala_ccode_node_unref0 (_tmp83_);
		_tmp84_ = vala_ccode_identifier_new ("g_variant_iter_init");
		_tmp85_ = _tmp84_;
		_tmp86_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp85_);
		_tmp87_ = _tmp86_;
		_vala_ccode_node_unref0 (_tmp85_);
		iter_init = _tmp87_;
		_tmp88_ = iter_init;
		_tmp89_ = vala_ccode_identifier_new ("_arguments_iter");
		_tmp90_ = _tmp89_;
		_tmp91_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp90_);
		_tmp92_ = _tmp91_;
		vala_ccode_function_call_add_argument (_tmp88_, (ValaCCodeExpression*) _tmp92_);
		_vala_ccode_node_unref0 (_tmp92_);
		_vala_ccode_node_unref0 (_tmp90_);
		_tmp93_ = iter_init;
		_tmp94_ = vala_ccode_identifier_new ("_parameters_");
		_tmp95_ = _tmp94_;
		vala_ccode_function_call_add_argument (_tmp93_, (ValaCCodeExpression*) _tmp95_);
		_vala_ccode_node_unref0 (_tmp95_);
		_tmp96_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp97_ = _tmp96_;
		_tmp98_ = iter_init;
		vala_ccode_function_add_expression (_tmp97_, (ValaCCodeExpression*) _tmp98_);
		_vala_ccode_node_unref0 (iter_init);
	}
	_tmp99_ = ready;
	if (!_tmp99_) {
		ValaMethod* _tmp100_ = NULL;
		gchar* _tmp101_ = NULL;
		gchar* _tmp102_ = NULL;
		ValaCCodeIdentifier* _tmp103_ = NULL;
		ValaCCodeIdentifier* _tmp104_ = NULL;
		ValaCCodeFunctionCall* _tmp105_ = NULL;
		ValaCCodeFunctionCall* _tmp106_ = NULL;
		ValaCCodeIdentifier* _tmp107_ = NULL;
		ValaCCodeIdentifier* _tmp108_ = NULL;
		_tmp100_ = m;
		_tmp101_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp100_);
		_tmp102_ = _tmp101_;
		_tmp103_ = vala_ccode_identifier_new (_tmp102_);
		_tmp104_ = _tmp103_;
		_tmp105_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp104_);
		_vala_ccode_node_unref0 (ccall);
		ccall = _tmp105_;
		_vala_ccode_node_unref0 (_tmp104_);
		_g_free0 (_tmp102_);
		_tmp106_ = ccall;
		_tmp107_ = vala_ccode_identifier_new ("self");
		_tmp108_ = _tmp107_;
		vala_ccode_function_call_add_argument (_tmp106_, (ValaCCodeExpression*) _tmp108_);
		_vala_ccode_node_unref0 (_tmp108_);
	} else {
		ValaMethod* _tmp109_ = NULL;
		gchar* _tmp110_ = NULL;
		gchar* _tmp111_ = NULL;
		ValaCCodeIdentifier* _tmp112_ = NULL;
		ValaCCodeIdentifier* _tmp113_ = NULL;
		ValaCCodeFunctionCall* _tmp114_ = NULL;
		ValaCCodeFunctionCall* _tmp115_ = NULL;
		ValaCCodeIdentifier* _tmp116_ = NULL;
		ValaCCodeIdentifier* _tmp117_ = NULL;
		ValaObjectTypeSymbol* _tmp118_ = NULL;
		gchar* _tmp119_ = NULL;
		gchar* _tmp120_ = NULL;
		gchar* _tmp121_ = NULL;
		gchar* _tmp122_ = NULL;
		ValaCCodeCastExpression* _tmp123_ = NULL;
		ValaCCodeCastExpression* _tmp124_ = NULL;
		ValaCCodeFunctionCall* _tmp125_ = NULL;
		ValaCCodeIdentifier* _tmp126_ = NULL;
		ValaCCodeIdentifier* _tmp127_ = NULL;
		_tmp109_ = m;
		_tmp110_ = vala_ccode_base_module_get_ccode_finish_name (_tmp109_);
		_tmp111_ = _tmp110_;
		_tmp112_ = vala_ccode_identifier_new (_tmp111_);
		_tmp113_ = _tmp112_;
		_tmp114_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp113_);
		_vala_ccode_node_unref0 (ccall);
		ccall = _tmp114_;
		_vala_ccode_node_unref0 (_tmp113_);
		_g_free0 (_tmp111_);
		_tmp115_ = ccall;
		_tmp116_ = vala_ccode_identifier_new ("source_object");
		_tmp117_ = _tmp116_;
		_tmp118_ = sym;
		_tmp119_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp118_);
		_tmp120_ = _tmp119_;
		_tmp121_ = g_strconcat (_tmp120_, "*", NULL);
		_tmp122_ = _tmp121_;
		_tmp123_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp117_, _tmp122_);
		_tmp124_ = _tmp123_;
		vala_ccode_function_call_add_argument (_tmp115_, (ValaCCodeExpression*) _tmp124_);
		_vala_ccode_node_unref0 (_tmp124_);
		_g_free0 (_tmp122_);
		_g_free0 (_tmp120_);
		_vala_ccode_node_unref0 (_tmp117_);
		_tmp125_ = ccall;
		_tmp126_ = vala_ccode_identifier_new ("_res_");
		_tmp127_ = _tmp126_;
		vala_ccode_function_call_add_argument (_tmp125_, (ValaCCodeExpression*) _tmp127_);
		_vala_ccode_node_unref0 (_tmp127_);
	}
	_tmp128_ = ready;
	if (!_tmp128_) {
		gboolean _tmp129_ = FALSE;
		_tmp129_ = uses_fd;
		if (_tmp129_) {
			ValaCCodeFunction* _tmp130_ = NULL;
			ValaCCodeFunction* _tmp131_ = NULL;
			ValaCCodeConstant* _tmp132_ = NULL;
			ValaCCodeConstant* _tmp133_ = NULL;
			ValaCCodeVariableDeclarator* _tmp134_ = NULL;
			ValaCCodeVariableDeclarator* _tmp135_ = NULL;
			_tmp130_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp131_ = _tmp130_;
			_tmp132_ = vala_ccode_constant_new ("0");
			_tmp133_ = _tmp132_;
			_tmp134_ = vala_ccode_variable_declarator_new_zero ("_fd_index", (ValaCCodeExpression*) _tmp133_, NULL);
			_tmp135_ = _tmp134_;
			vala_ccode_function_add_declaration (_tmp131_, "gint", (ValaCCodeDeclarator*) _tmp135_, 0);
			_vala_ccode_node_unref0 (_tmp135_);
			_vala_ccode_node_unref0 (_tmp133_);
		}
		{
			ValaList* _param_list = NULL;
			ValaMethod* _tmp136_ = NULL;
			ValaList* _tmp137_ = NULL;
			gint _param_size = 0;
			ValaList* _tmp138_ = NULL;
			gint _tmp139_ = 0;
			gint _tmp140_ = 0;
			gint _param_index = 0;
			_tmp136_ = m;
			_tmp137_ = vala_method_get_parameters (_tmp136_);
			_param_list = _tmp137_;
			_tmp138_ = _param_list;
			_tmp139_ = vala_collection_get_size ((ValaCollection*) _tmp138_);
			_tmp140_ = _tmp139_;
			_param_size = _tmp140_;
			_param_index = -1;
			while (TRUE) {
				gint _tmp141_ = 0;
				gint _tmp142_ = 0;
				gint _tmp143_ = 0;
				ValaParameter* param = NULL;
				ValaList* _tmp144_ = NULL;
				gint _tmp145_ = 0;
				gpointer _tmp146_ = NULL;
				gchar* param_name = NULL;
				ValaParameter* _tmp147_ = NULL;
				const gchar* _tmp148_ = NULL;
				const gchar* _tmp149_ = NULL;
				gchar* _tmp150_ = NULL;
				ValaParameter* _tmp151_ = NULL;
				ValaParameterDirection _tmp152_ = 0;
				ValaParameterDirection _tmp153_ = 0;
				gboolean _tmp154_ = FALSE;
				ValaParameter* _tmp155_ = NULL;
				ValaDataType* _tmp156_ = NULL;
				ValaDataType* _tmp157_ = NULL;
				gboolean _tmp165_ = FALSE;
				ValaParameter* _tmp166_ = NULL;
				ValaDataType* _tmp167_ = NULL;
				ValaDataType* _tmp168_ = NULL;
				ValaDataType* owned_type = NULL;
				ValaParameter* _tmp176_ = NULL;
				ValaDataType* _tmp177_ = NULL;
				ValaDataType* _tmp178_ = NULL;
				ValaDataType* _tmp179_ = NULL;
				ValaDataType* _tmp180_ = NULL;
				ValaCCodeFunction* _tmp181_ = NULL;
				ValaCCodeFunction* _tmp182_ = NULL;
				ValaDataType* _tmp183_ = NULL;
				gchar* _tmp184_ = NULL;
				gchar* _tmp185_ = NULL;
				const gchar* _tmp186_ = NULL;
				ValaParameter* _tmp187_ = NULL;
				ValaDataType* _tmp188_ = NULL;
				ValaDataType* _tmp189_ = NULL;
				ValaCCodeExpression* _tmp190_ = NULL;
				ValaCCodeExpression* _tmp191_ = NULL;
				ValaCCodeVariableDeclarator* _tmp192_ = NULL;
				ValaCCodeVariableDeclarator* _tmp193_ = NULL;
				ValaArrayType* array_type = NULL;
				ValaParameter* _tmp194_ = NULL;
				ValaDataType* _tmp195_ = NULL;
				ValaDataType* _tmp196_ = NULL;
				ValaArrayType* _tmp197_ = NULL;
				ValaArrayType* _tmp198_ = NULL;
				ValaCCodeFunctionCall* message_expr = NULL;
				ValaCCodeIdentifier* _tmp215_ = NULL;
				ValaCCodeIdentifier* _tmp216_ = NULL;
				ValaCCodeFunctionCall* _tmp217_ = NULL;
				ValaCCodeFunctionCall* _tmp218_ = NULL;
				ValaCCodeFunctionCall* _tmp219_ = NULL;
				ValaCCodeIdentifier* _tmp220_ = NULL;
				ValaCCodeIdentifier* _tmp221_ = NULL;
				gboolean may_fail = FALSE;
				ValaParameter* _tmp222_ = NULL;
				ValaDataType* _tmp223_ = NULL;
				ValaDataType* _tmp224_ = NULL;
				ValaCCodeFunctionCall* _tmp225_ = NULL;
				ValaCCodeIdentifier* _tmp226_ = NULL;
				ValaCCodeIdentifier* _tmp227_ = NULL;
				const gchar* _tmp228_ = NULL;
				ValaCCodeIdentifier* _tmp229_ = NULL;
				ValaCCodeIdentifier* _tmp230_ = NULL;
				ValaParameter* _tmp231_ = NULL;
				ValaCCodeIdentifier* _tmp232_ = NULL;
				ValaCCodeIdentifier* _tmp233_ = NULL;
				ValaCCodeUnaryExpression* _tmp234_ = NULL;
				ValaCCodeUnaryExpression* _tmp235_ = NULL;
				gboolean _tmp236_ = FALSE;
				gboolean _tmp237_ = FALSE;
				_tmp141_ = _param_index;
				_param_index = _tmp141_ + 1;
				_tmp142_ = _param_index;
				_tmp143_ = _param_size;
				if (!(_tmp142_ < _tmp143_)) {
					break;
				}
				_tmp144_ = _param_list;
				_tmp145_ = _param_index;
				_tmp146_ = vala_list_get (_tmp144_, _tmp145_);
				param = (ValaParameter*) _tmp146_;
				_tmp147_ = param;
				_tmp148_ = vala_symbol_get_name ((ValaSymbol*) _tmp147_);
				_tmp149_ = _tmp148_;
				_tmp150_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp149_);
				param_name = _tmp150_;
				_tmp151_ = param;
				_tmp152_ = vala_parameter_get_direction (_tmp151_);
				_tmp153_ = _tmp152_;
				if (_tmp153_ != VALA_PARAMETER_DIRECTION_IN) {
					_g_free0 (param_name);
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp155_ = param;
				_tmp156_ = vala_variable_get_variable_type ((ValaVariable*) _tmp155_);
				_tmp157_ = _tmp156_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp157_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp158_ = NULL;
					ValaDataType* _tmp159_ = NULL;
					ValaDataType* _tmp160_ = NULL;
					ValaTypeSymbol* _tmp161_ = NULL;
					ValaTypeSymbol* _tmp162_ = NULL;
					gchar* _tmp163_ = NULL;
					gchar* _tmp164_ = NULL;
					_tmp158_ = param;
					_tmp159_ = vala_variable_get_variable_type ((ValaVariable*) _tmp158_);
					_tmp160_ = _tmp159_;
					_tmp161_ = vala_data_type_get_data_type (_tmp160_);
					_tmp162_ = _tmp161_;
					_tmp163_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp162_);
					_tmp164_ = _tmp163_;
					_tmp154_ = g_strcmp0 (_tmp164_, "GLib.Cancellable") == 0;
					_g_free0 (_tmp164_);
				} else {
					_tmp154_ = FALSE;
				}
				if (_tmp154_) {
					_g_free0 (param_name);
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp166_ = param;
				_tmp167_ = vala_variable_get_variable_type ((ValaVariable*) _tmp166_);
				_tmp168_ = _tmp167_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp168_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp169_ = NULL;
					ValaDataType* _tmp170_ = NULL;
					ValaDataType* _tmp171_ = NULL;
					ValaTypeSymbol* _tmp172_ = NULL;
					ValaTypeSymbol* _tmp173_ = NULL;
					gchar* _tmp174_ = NULL;
					gchar* _tmp175_ = NULL;
					_tmp169_ = param;
					_tmp170_ = vala_variable_get_variable_type ((ValaVariable*) _tmp169_);
					_tmp171_ = _tmp170_;
					_tmp172_ = vala_data_type_get_data_type (_tmp171_);
					_tmp173_ = _tmp172_;
					_tmp174_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp173_);
					_tmp175_ = _tmp174_;
					_tmp165_ = g_strcmp0 (_tmp175_, "GLib.BusName") == 0;
					_g_free0 (_tmp175_);
				} else {
					_tmp165_ = FALSE;
				}
				if (_tmp165_) {
					_g_free0 (param_name);
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp176_ = param;
				_tmp177_ = vala_variable_get_variable_type ((ValaVariable*) _tmp176_);
				_tmp178_ = _tmp177_;
				_tmp179_ = vala_data_type_copy (_tmp178_);
				owned_type = _tmp179_;
				_tmp180_ = owned_type;
				vala_data_type_set_value_owned (_tmp180_, TRUE);
				_tmp181_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp182_ = _tmp181_;
				_tmp183_ = owned_type;
				_tmp184_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp183_);
				_tmp185_ = _tmp184_;
				_tmp186_ = param_name;
				_tmp187_ = param;
				_tmp188_ = vala_variable_get_variable_type ((ValaVariable*) _tmp187_);
				_tmp189_ = _tmp188_;
				_tmp190_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp189_, TRUE);
				_tmp191_ = _tmp190_;
				_tmp192_ = vala_ccode_variable_declarator_new_zero (_tmp186_, _tmp191_, NULL);
				_tmp193_ = _tmp192_;
				vala_ccode_function_add_declaration (_tmp182_, _tmp185_, (ValaCCodeDeclarator*) _tmp193_, 0);
				_vala_ccode_node_unref0 (_tmp193_);
				_vala_ccode_node_unref0 (_tmp191_);
				_g_free0 (_tmp185_);
				_tmp194_ = param;
				_tmp195_ = vala_variable_get_variable_type ((ValaVariable*) _tmp194_);
				_tmp196_ = _tmp195_;
				_tmp197_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp196_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp196_) : NULL);
				array_type = _tmp197_;
				_tmp198_ = array_type;
				if (_tmp198_ != NULL) {
					{
						gint dim = 0;
						dim = 1;
						{
							gboolean _tmp199_ = FALSE;
							_tmp199_ = TRUE;
							while (TRUE) {
								gint _tmp201_ = 0;
								ValaArrayType* _tmp202_ = NULL;
								gint _tmp203_ = 0;
								gint _tmp204_ = 0;
								gchar* length_cname = NULL;
								ValaParameter* _tmp205_ = NULL;
								gint _tmp206_ = 0;
								gchar* _tmp207_ = NULL;
								ValaCCodeFunction* _tmp208_ = NULL;
								ValaCCodeFunction* _tmp209_ = NULL;
								const gchar* _tmp210_ = NULL;
								ValaCCodeConstant* _tmp211_ = NULL;
								ValaCCodeConstant* _tmp212_ = NULL;
								ValaCCodeVariableDeclarator* _tmp213_ = NULL;
								ValaCCodeVariableDeclarator* _tmp214_ = NULL;
								if (!_tmp199_) {
									gint _tmp200_ = 0;
									_tmp200_ = dim;
									dim = _tmp200_ + 1;
								}
								_tmp199_ = FALSE;
								_tmp201_ = dim;
								_tmp202_ = array_type;
								_tmp203_ = vala_array_type_get_rank (_tmp202_);
								_tmp204_ = _tmp203_;
								if (!(_tmp201_ <= _tmp204_)) {
									break;
								}
								_tmp205_ = param;
								_tmp206_ = dim;
								_tmp207_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp205_, _tmp206_);
								length_cname = _tmp207_;
								_tmp208_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
								_tmp209_ = _tmp208_;
								_tmp210_ = length_cname;
								_tmp211_ = vala_ccode_constant_new ("0");
								_tmp212_ = _tmp211_;
								_tmp213_ = vala_ccode_variable_declarator_new_zero (_tmp210_, (ValaCCodeExpression*) _tmp212_, NULL);
								_tmp214_ = _tmp213_;
								vala_ccode_function_add_declaration (_tmp209_, "int", (ValaCCodeDeclarator*) _tmp214_, 0);
								_vala_ccode_node_unref0 (_tmp214_);
								_vala_ccode_node_unref0 (_tmp212_);
								_g_free0 (length_cname);
							}
						}
					}
				}
				_tmp215_ = vala_ccode_identifier_new ("g_dbus_method_invocation_get_message");
				_tmp216_ = _tmp215_;
				_tmp217_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp216_);
				_tmp218_ = _tmp217_;
				_vala_ccode_node_unref0 (_tmp216_);
				message_expr = _tmp218_;
				_tmp219_ = message_expr;
				_tmp220_ = vala_ccode_identifier_new ("invocation");
				_tmp221_ = _tmp220_;
				vala_ccode_function_call_add_argument (_tmp219_, (ValaCCodeExpression*) _tmp221_);
				_vala_ccode_node_unref0 (_tmp221_);
				_tmp222_ = param;
				_tmp223_ = vala_variable_get_variable_type ((ValaVariable*) _tmp222_);
				_tmp224_ = _tmp223_;
				_tmp225_ = message_expr;
				_tmp226_ = vala_ccode_identifier_new ("_arguments_iter");
				_tmp227_ = _tmp226_;
				_tmp228_ = param_name;
				_tmp229_ = vala_ccode_identifier_new (_tmp228_);
				_tmp230_ = _tmp229_;
				_tmp231_ = param;
				_tmp232_ = vala_ccode_identifier_new ("error");
				_tmp233_ = _tmp232_;
				_tmp234_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp233_);
				_tmp235_ = _tmp234_;
				vala_gd_bus_module_receive_dbus_value ((ValaGDBusModule*) self, _tmp224_, (ValaCCodeExpression*) _tmp225_, (ValaCCodeExpression*) _tmp227_, (ValaCCodeExpression*) _tmp230_, (ValaSymbol*) _tmp231_, (ValaCCodeExpression*) _tmp235_, &_tmp236_);
				may_fail = _tmp236_;
				_vala_ccode_node_unref0 (_tmp235_);
				_vala_ccode_node_unref0 (_tmp233_);
				_vala_ccode_node_unref0 (_tmp230_);
				_vala_ccode_node_unref0 (_tmp227_);
				_tmp237_ = may_fail;
				if (_tmp237_) {
					gboolean _tmp238_ = FALSE;
					ValaCCodeFunction* _tmp245_ = NULL;
					ValaCCodeFunction* _tmp246_ = NULL;
					ValaCCodeIdentifier* _tmp247_ = NULL;
					ValaCCodeIdentifier* _tmp248_ = NULL;
					ValaCCodeFunctionCall* return_error = NULL;
					ValaCCodeIdentifier* _tmp249_ = NULL;
					ValaCCodeIdentifier* _tmp250_ = NULL;
					ValaCCodeFunctionCall* _tmp251_ = NULL;
					ValaCCodeFunctionCall* _tmp252_ = NULL;
					ValaCCodeFunctionCall* _tmp253_ = NULL;
					ValaCCodeIdentifier* _tmp254_ = NULL;
					ValaCCodeIdentifier* _tmp255_ = NULL;
					ValaCCodeFunctionCall* _tmp256_ = NULL;
					ValaCCodeIdentifier* _tmp257_ = NULL;
					ValaCCodeIdentifier* _tmp258_ = NULL;
					ValaCCodeFunction* _tmp259_ = NULL;
					ValaCCodeFunction* _tmp260_ = NULL;
					ValaCCodeFunctionCall* _tmp261_ = NULL;
					ValaCCodeFunction* _tmp262_ = NULL;
					ValaCCodeFunction* _tmp263_ = NULL;
					ValaCCodeFunction* _tmp264_ = NULL;
					ValaCCodeFunction* _tmp265_ = NULL;
					_tmp238_ = uses_error;
					if (!_tmp238_) {
						ValaCCodeFunction* _tmp239_ = NULL;
						ValaCCodeFunction* _tmp240_ = NULL;
						ValaCCodeConstant* _tmp241_ = NULL;
						ValaCCodeConstant* _tmp242_ = NULL;
						ValaCCodeVariableDeclarator* _tmp243_ = NULL;
						ValaCCodeVariableDeclarator* _tmp244_ = NULL;
						_tmp239_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
						_tmp240_ = _tmp239_;
						_tmp241_ = vala_ccode_constant_new ("NULL");
						_tmp242_ = _tmp241_;
						_tmp243_ = vala_ccode_variable_declarator_new_zero ("error", (ValaCCodeExpression*) _tmp242_, NULL);
						_tmp244_ = _tmp243_;
						vala_ccode_function_add_declaration (_tmp240_, "GError*", (ValaCCodeDeclarator*) _tmp244_, 0);
						_vala_ccode_node_unref0 (_tmp244_);
						_vala_ccode_node_unref0 (_tmp242_);
						uses_error = TRUE;
					}
					_tmp245_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp246_ = _tmp245_;
					_tmp247_ = vala_ccode_identifier_new ("error");
					_tmp248_ = _tmp247_;
					vala_ccode_function_open_if (_tmp246_, (ValaCCodeExpression*) _tmp248_);
					_vala_ccode_node_unref0 (_tmp248_);
					_tmp249_ = vala_ccode_identifier_new ("g_dbus_method_invocation_return_gerror");
					_tmp250_ = _tmp249_;
					_tmp251_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp250_);
					_tmp252_ = _tmp251_;
					_vala_ccode_node_unref0 (_tmp250_);
					return_error = _tmp252_;
					_tmp253_ = return_error;
					_tmp254_ = vala_ccode_identifier_new ("invocation");
					_tmp255_ = _tmp254_;
					vala_ccode_function_call_add_argument (_tmp253_, (ValaCCodeExpression*) _tmp255_);
					_vala_ccode_node_unref0 (_tmp255_);
					_tmp256_ = return_error;
					_tmp257_ = vala_ccode_identifier_new ("error");
					_tmp258_ = _tmp257_;
					vala_ccode_function_call_add_argument (_tmp256_, (ValaCCodeExpression*) _tmp258_);
					_vala_ccode_node_unref0 (_tmp258_);
					_tmp259_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp260_ = _tmp259_;
					_tmp261_ = return_error;
					vala_ccode_function_add_expression (_tmp260_, (ValaCCodeExpression*) _tmp261_);
					_tmp262_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp263_ = _tmp262_;
					vala_ccode_function_add_return (_tmp263_, NULL);
					_tmp264_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp265_ = _tmp264_;
					vala_ccode_function_close (_tmp265_);
					_vala_ccode_node_unref0 (return_error);
				}
				_vala_ccode_node_unref0 (message_expr);
				_vala_code_node_unref0 (array_type);
				_vala_code_node_unref0 (owned_type);
				_g_free0 (param_name);
				_vala_code_node_unref0 (param);
			}
			_vala_iterable_unref0 (_param_list);
		}
	}
	{
		ValaList* _param_list = NULL;
		ValaMethod* _tmp266_ = NULL;
		ValaList* _tmp267_ = NULL;
		gint _param_size = 0;
		ValaList* _tmp268_ = NULL;
		gint _tmp269_ = 0;
		gint _tmp270_ = 0;
		gint _param_index = 0;
		_tmp266_ = m;
		_tmp267_ = vala_method_get_parameters (_tmp266_);
		_param_list = _tmp267_;
		_tmp268_ = _param_list;
		_tmp269_ = vala_collection_get_size ((ValaCollection*) _tmp268_);
		_tmp270_ = _tmp269_;
		_param_size = _tmp270_;
		_param_index = -1;
		while (TRUE) {
			gint _tmp271_ = 0;
			gint _tmp272_ = 0;
			gint _tmp273_ = 0;
			ValaParameter* param = NULL;
			ValaList* _tmp274_ = NULL;
			gint _tmp275_ = 0;
			gpointer _tmp276_ = NULL;
			gchar* param_name = NULL;
			ValaParameter* _tmp277_ = NULL;
			const gchar* _tmp278_ = NULL;
			const gchar* _tmp279_ = NULL;
			gchar* _tmp280_ = NULL;
			gboolean _tmp281_ = FALSE;
			ValaParameter* _tmp282_ = NULL;
			ValaParameterDirection _tmp283_ = 0;
			ValaParameterDirection _tmp284_ = 0;
			ValaArrayType* array_type = NULL;
			ValaParameter* _tmp355_ = NULL;
			ValaDataType* _tmp356_ = NULL;
			ValaDataType* _tmp357_ = NULL;
			ValaArrayType* _tmp358_ = NULL;
			ValaArrayType* _tmp359_ = NULL;
			_tmp271_ = _param_index;
			_param_index = _tmp271_ + 1;
			_tmp272_ = _param_index;
			_tmp273_ = _param_size;
			if (!(_tmp272_ < _tmp273_)) {
				break;
			}
			_tmp274_ = _param_list;
			_tmp275_ = _param_index;
			_tmp276_ = vala_list_get (_tmp274_, _tmp275_);
			param = (ValaParameter*) _tmp276_;
			_tmp277_ = param;
			_tmp278_ = vala_symbol_get_name ((ValaSymbol*) _tmp277_);
			_tmp279_ = _tmp278_;
			_tmp280_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp279_);
			param_name = _tmp280_;
			_tmp282_ = param;
			_tmp283_ = vala_parameter_get_direction (_tmp282_);
			_tmp284_ = _tmp283_;
			if (_tmp284_ == VALA_PARAMETER_DIRECTION_IN) {
				gboolean _tmp285_ = FALSE;
				_tmp285_ = ready;
				_tmp281_ = !_tmp285_;
			} else {
				_tmp281_ = FALSE;
			}
			if (_tmp281_) {
				gboolean _tmp286_ = FALSE;
				ValaParameter* _tmp287_ = NULL;
				ValaDataType* _tmp288_ = NULL;
				ValaDataType* _tmp289_ = NULL;
				gboolean _tmp300_ = FALSE;
				ValaParameter* _tmp301_ = NULL;
				ValaDataType* _tmp302_ = NULL;
				ValaDataType* _tmp303_ = NULL;
				ValaStruct* st = NULL;
				ValaParameter* _tmp320_ = NULL;
				ValaDataType* _tmp321_ = NULL;
				ValaDataType* _tmp322_ = NULL;
				ValaTypeSymbol* _tmp323_ = NULL;
				ValaTypeSymbol* _tmp324_ = NULL;
				ValaStruct* _tmp325_ = NULL;
				gboolean _tmp326_ = FALSE;
				ValaStruct* _tmp327_ = NULL;
				_tmp287_ = param;
				_tmp288_ = vala_variable_get_variable_type ((ValaVariable*) _tmp287_);
				_tmp289_ = _tmp288_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp289_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp290_ = NULL;
					ValaDataType* _tmp291_ = NULL;
					ValaDataType* _tmp292_ = NULL;
					ValaTypeSymbol* _tmp293_ = NULL;
					ValaTypeSymbol* _tmp294_ = NULL;
					gchar* _tmp295_ = NULL;
					gchar* _tmp296_ = NULL;
					_tmp290_ = param;
					_tmp291_ = vala_variable_get_variable_type ((ValaVariable*) _tmp290_);
					_tmp292_ = _tmp291_;
					_tmp293_ = vala_data_type_get_data_type (_tmp292_);
					_tmp294_ = _tmp293_;
					_tmp295_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp294_);
					_tmp296_ = _tmp295_;
					_tmp286_ = g_strcmp0 (_tmp296_, "GLib.Cancellable") == 0;
					_g_free0 (_tmp296_);
				} else {
					_tmp286_ = FALSE;
				}
				if (_tmp286_) {
					ValaCCodeFunctionCall* _tmp297_ = NULL;
					ValaCCodeConstant* _tmp298_ = NULL;
					ValaCCodeConstant* _tmp299_ = NULL;
					_tmp297_ = ccall;
					_tmp298_ = vala_ccode_constant_new ("NULL");
					_tmp299_ = _tmp298_;
					vala_ccode_function_call_add_argument (_tmp297_, (ValaCCodeExpression*) _tmp299_);
					_vala_ccode_node_unref0 (_tmp299_);
					_g_free0 (param_name);
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp301_ = param;
				_tmp302_ = vala_variable_get_variable_type ((ValaVariable*) _tmp301_);
				_tmp303_ = _tmp302_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp303_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp304_ = NULL;
					ValaDataType* _tmp305_ = NULL;
					ValaDataType* _tmp306_ = NULL;
					ValaTypeSymbol* _tmp307_ = NULL;
					ValaTypeSymbol* _tmp308_ = NULL;
					gchar* _tmp309_ = NULL;
					gchar* _tmp310_ = NULL;
					_tmp304_ = param;
					_tmp305_ = vala_variable_get_variable_type ((ValaVariable*) _tmp304_);
					_tmp306_ = _tmp305_;
					_tmp307_ = vala_data_type_get_data_type (_tmp306_);
					_tmp308_ = _tmp307_;
					_tmp309_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp308_);
					_tmp310_ = _tmp309_;
					_tmp300_ = g_strcmp0 (_tmp310_, "GLib.BusName") == 0;
					_g_free0 (_tmp310_);
				} else {
					_tmp300_ = FALSE;
				}
				if (_tmp300_) {
					ValaCCodeFunctionCall* sender = NULL;
					ValaCCodeIdentifier* _tmp311_ = NULL;
					ValaCCodeIdentifier* _tmp312_ = NULL;
					ValaCCodeFunctionCall* _tmp313_ = NULL;
					ValaCCodeFunctionCall* _tmp314_ = NULL;
					ValaCCodeFunctionCall* _tmp315_ = NULL;
					ValaCCodeIdentifier* _tmp316_ = NULL;
					ValaCCodeIdentifier* _tmp317_ = NULL;
					ValaCCodeFunctionCall* _tmp318_ = NULL;
					ValaCCodeFunctionCall* _tmp319_ = NULL;
					_tmp311_ = vala_ccode_identifier_new ("g_dbus_method_invocation_get_sender");
					_tmp312_ = _tmp311_;
					_tmp313_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp312_);
					_tmp314_ = _tmp313_;
					_vala_ccode_node_unref0 (_tmp312_);
					sender = _tmp314_;
					_tmp315_ = sender;
					_tmp316_ = vala_ccode_identifier_new ("invocation");
					_tmp317_ = _tmp316_;
					vala_ccode_function_call_add_argument (_tmp315_, (ValaCCodeExpression*) _tmp317_);
					_vala_ccode_node_unref0 (_tmp317_);
					_tmp318_ = ccall;
					_tmp319_ = sender;
					vala_ccode_function_call_add_argument (_tmp318_, (ValaCCodeExpression*) _tmp319_);
					_vala_ccode_node_unref0 (sender);
					_g_free0 (param_name);
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp320_ = param;
				_tmp321_ = vala_variable_get_variable_type ((ValaVariable*) _tmp320_);
				_tmp322_ = _tmp321_;
				_tmp323_ = vala_data_type_get_data_type (_tmp322_);
				_tmp324_ = _tmp323_;
				_tmp325_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp324_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp324_) : NULL);
				st = _tmp325_;
				_tmp327_ = st;
				if (_tmp327_ != NULL) {
					ValaStruct* _tmp328_ = NULL;
					gboolean _tmp329_ = FALSE;
					_tmp328_ = st;
					_tmp329_ = vala_struct_is_simple_type (_tmp328_);
					_tmp326_ = !_tmp329_;
				} else {
					_tmp326_ = FALSE;
				}
				if (_tmp326_) {
					ValaCCodeFunctionCall* _tmp330_ = NULL;
					const gchar* _tmp331_ = NULL;
					ValaCCodeIdentifier* _tmp332_ = NULL;
					ValaCCodeIdentifier* _tmp333_ = NULL;
					ValaCCodeUnaryExpression* _tmp334_ = NULL;
					ValaCCodeUnaryExpression* _tmp335_ = NULL;
					_tmp330_ = ccall;
					_tmp331_ = param_name;
					_tmp332_ = vala_ccode_identifier_new (_tmp331_);
					_tmp333_ = _tmp332_;
					_tmp334_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp333_);
					_tmp335_ = _tmp334_;
					vala_ccode_function_call_add_argument (_tmp330_, (ValaCCodeExpression*) _tmp335_);
					_vala_ccode_node_unref0 (_tmp335_);
					_vala_ccode_node_unref0 (_tmp333_);
				} else {
					ValaCCodeFunctionCall* _tmp336_ = NULL;
					const gchar* _tmp337_ = NULL;
					ValaCCodeIdentifier* _tmp338_ = NULL;
					ValaCCodeIdentifier* _tmp339_ = NULL;
					_tmp336_ = ccall;
					_tmp337_ = param_name;
					_tmp338_ = vala_ccode_identifier_new (_tmp337_);
					_tmp339_ = _tmp338_;
					vala_ccode_function_call_add_argument (_tmp336_, (ValaCCodeExpression*) _tmp339_);
					_vala_ccode_node_unref0 (_tmp339_);
				}
				_vala_code_node_unref0 (st);
			} else {
				gboolean _tmp340_ = FALSE;
				ValaParameter* _tmp341_ = NULL;
				ValaParameterDirection _tmp342_ = 0;
				ValaParameterDirection _tmp343_ = 0;
				_tmp341_ = param;
				_tmp342_ = vala_parameter_get_direction (_tmp341_);
				_tmp343_ = _tmp342_;
				if (_tmp343_ == VALA_PARAMETER_DIRECTION_OUT) {
					gboolean _tmp344_ = FALSE;
					ValaMethod* _tmp345_ = NULL;
					gboolean _tmp346_ = FALSE;
					gboolean _tmp347_ = FALSE;
					_tmp345_ = m;
					_tmp346_ = vala_method_get_coroutine (_tmp345_);
					_tmp347_ = _tmp346_;
					if (!_tmp347_) {
						_tmp344_ = TRUE;
					} else {
						gboolean _tmp348_ = FALSE;
						_tmp348_ = ready;
						_tmp344_ = _tmp348_;
					}
					_tmp340_ = _tmp344_;
				} else {
					_tmp340_ = FALSE;
				}
				if (_tmp340_) {
					ValaCCodeFunctionCall* _tmp349_ = NULL;
					const gchar* _tmp350_ = NULL;
					ValaCCodeIdentifier* _tmp351_ = NULL;
					ValaCCodeIdentifier* _tmp352_ = NULL;
					ValaCCodeUnaryExpression* _tmp353_ = NULL;
					ValaCCodeUnaryExpression* _tmp354_ = NULL;
					_tmp349_ = ccall;
					_tmp350_ = param_name;
					_tmp351_ = vala_ccode_identifier_new (_tmp350_);
					_tmp352_ = _tmp351_;
					_tmp353_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp352_);
					_tmp354_ = _tmp353_;
					vala_ccode_function_call_add_argument (_tmp349_, (ValaCCodeExpression*) _tmp354_);
					_vala_ccode_node_unref0 (_tmp354_);
					_vala_ccode_node_unref0 (_tmp352_);
				}
			}
			_tmp355_ = param;
			_tmp356_ = vala_variable_get_variable_type ((ValaVariable*) _tmp355_);
			_tmp357_ = _tmp356_;
			_tmp358_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp357_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp357_) : NULL);
			array_type = _tmp358_;
			_tmp359_ = array_type;
			if (_tmp359_ != NULL) {
				{
					gint dim = 0;
					dim = 1;
					{
						gboolean _tmp360_ = FALSE;
						_tmp360_ = TRUE;
						while (TRUE) {
							gint _tmp362_ = 0;
							ValaArrayType* _tmp363_ = NULL;
							gint _tmp364_ = 0;
							gint _tmp365_ = 0;
							gchar* length_cname = NULL;
							ValaParameter* _tmp366_ = NULL;
							gint _tmp367_ = 0;
							gchar* _tmp368_ = NULL;
							gboolean _tmp369_ = FALSE;
							ValaParameter* _tmp370_ = NULL;
							ValaParameterDirection _tmp371_ = 0;
							ValaParameterDirection _tmp372_ = 0;
							if (!_tmp360_) {
								gint _tmp361_ = 0;
								_tmp361_ = dim;
								dim = _tmp361_ + 1;
							}
							_tmp360_ = FALSE;
							_tmp362_ = dim;
							_tmp363_ = array_type;
							_tmp364_ = vala_array_type_get_rank (_tmp363_);
							_tmp365_ = _tmp364_;
							if (!(_tmp362_ <= _tmp365_)) {
								break;
							}
							_tmp366_ = param;
							_tmp367_ = dim;
							_tmp368_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp366_, _tmp367_);
							length_cname = _tmp368_;
							_tmp370_ = param;
							_tmp371_ = vala_parameter_get_direction (_tmp370_);
							_tmp372_ = _tmp371_;
							if (_tmp372_ == VALA_PARAMETER_DIRECTION_IN) {
								gboolean _tmp373_ = FALSE;
								_tmp373_ = ready;
								_tmp369_ = !_tmp373_;
							} else {
								_tmp369_ = FALSE;
							}
							if (_tmp369_) {
								ValaCCodeFunctionCall* _tmp374_ = NULL;
								const gchar* _tmp375_ = NULL;
								ValaCCodeIdentifier* _tmp376_ = NULL;
								ValaCCodeIdentifier* _tmp377_ = NULL;
								_tmp374_ = ccall;
								_tmp375_ = length_cname;
								_tmp376_ = vala_ccode_identifier_new (_tmp375_);
								_tmp377_ = _tmp376_;
								vala_ccode_function_call_add_argument (_tmp374_, (ValaCCodeExpression*) _tmp377_);
								_vala_ccode_node_unref0 (_tmp377_);
							} else {
								gboolean _tmp378_ = FALSE;
								gboolean _tmp379_ = FALSE;
								ValaParameter* _tmp380_ = NULL;
								ValaParameterDirection _tmp381_ = 0;
								ValaParameterDirection _tmp382_ = 0;
								_tmp380_ = param;
								_tmp381_ = vala_parameter_get_direction (_tmp380_);
								_tmp382_ = _tmp381_;
								if (_tmp382_ == VALA_PARAMETER_DIRECTION_OUT) {
									gboolean _tmp383_ = FALSE;
									_tmp383_ = no_reply;
									_tmp379_ = !_tmp383_;
								} else {
									_tmp379_ = FALSE;
								}
								if (_tmp379_) {
									gboolean _tmp384_ = FALSE;
									ValaMethod* _tmp385_ = NULL;
									gboolean _tmp386_ = FALSE;
									gboolean _tmp387_ = FALSE;
									_tmp385_ = m;
									_tmp386_ = vala_method_get_coroutine (_tmp385_);
									_tmp387_ = _tmp386_;
									if (!_tmp387_) {
										_tmp384_ = TRUE;
									} else {
										gboolean _tmp388_ = FALSE;
										_tmp388_ = ready;
										_tmp384_ = _tmp388_;
									}
									_tmp378_ = _tmp384_;
								} else {
									_tmp378_ = FALSE;
								}
								if (_tmp378_) {
									ValaCCodeFunctionCall* _tmp389_ = NULL;
									const gchar* _tmp390_ = NULL;
									ValaCCodeIdentifier* _tmp391_ = NULL;
									ValaCCodeIdentifier* _tmp392_ = NULL;
									ValaCCodeUnaryExpression* _tmp393_ = NULL;
									ValaCCodeUnaryExpression* _tmp394_ = NULL;
									_tmp389_ = ccall;
									_tmp390_ = length_cname;
									_tmp391_ = vala_ccode_identifier_new (_tmp390_);
									_tmp392_ = _tmp391_;
									_tmp393_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp392_);
									_tmp394_ = _tmp393_;
									vala_ccode_function_call_add_argument (_tmp389_, (ValaCCodeExpression*) _tmp394_);
									_vala_ccode_node_unref0 (_tmp394_);
									_vala_ccode_node_unref0 (_tmp392_);
								}
							}
							_g_free0 (length_cname);
						}
					}
				}
			}
			_vala_code_node_unref0 (array_type);
			_g_free0 (param_name);
			_vala_code_node_unref0 (param);
		}
		_vala_iterable_unref0 (_param_list);
	}
	_tmp396_ = m;
	_tmp397_ = vala_method_get_coroutine (_tmp396_);
	_tmp398_ = _tmp397_;
	if (!_tmp398_) {
		_tmp395_ = TRUE;
	} else {
		gboolean _tmp399_ = FALSE;
		_tmp399_ = ready;
		_tmp395_ = _tmp399_;
	}
	if (_tmp395_) {
		ValaMethod* _tmp400_ = NULL;
		ValaDataType* _tmp401_ = NULL;
		ValaDataType* _tmp402_ = NULL;
		_tmp400_ = m;
		_tmp401_ = vala_method_get_return_type (_tmp400_);
		_tmp402_ = _tmp401_;
		if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp402_, VALA_TYPE_VOID_TYPE)) {
			ValaMethod* _tmp403_ = NULL;
			ValaDataType* _tmp404_ = NULL;
			ValaDataType* _tmp405_ = NULL;
			gboolean _tmp406_ = FALSE;
			_tmp403_ = m;
			_tmp404_ = vala_method_get_return_type (_tmp403_);
			_tmp405_ = _tmp404_;
			_tmp406_ = vala_data_type_is_real_non_null_struct_type (_tmp405_);
			if (_tmp406_) {
				ValaCCodeFunctionCall* _tmp407_ = NULL;
				ValaCCodeIdentifier* _tmp408_ = NULL;
				ValaCCodeIdentifier* _tmp409_ = NULL;
				ValaCCodeUnaryExpression* _tmp410_ = NULL;
				ValaCCodeUnaryExpression* _tmp411_ = NULL;
				_tmp407_ = ccall;
				_tmp408_ = vala_ccode_identifier_new ("result");
				_tmp409_ = _tmp408_;
				_tmp410_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp409_);
				_tmp411_ = _tmp410_;
				vala_ccode_function_call_add_argument (_tmp407_, (ValaCCodeExpression*) _tmp411_);
				_vala_ccode_node_unref0 (_tmp411_);
				_vala_ccode_node_unref0 (_tmp409_);
			} else {
				ValaArrayType* array_type = NULL;
				ValaMethod* _tmp412_ = NULL;
				ValaDataType* _tmp413_ = NULL;
				ValaDataType* _tmp414_ = NULL;
				ValaArrayType* _tmp415_ = NULL;
				ValaArrayType* _tmp416_ = NULL;
				_tmp412_ = m;
				_tmp413_ = vala_method_get_return_type (_tmp412_);
				_tmp414_ = _tmp413_;
				_tmp415_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp414_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp414_) : NULL);
				array_type = _tmp415_;
				_tmp416_ = array_type;
				if (_tmp416_ != NULL) {
					{
						gint dim = 0;
						dim = 1;
						{
							gboolean _tmp417_ = FALSE;
							_tmp417_ = TRUE;
							while (TRUE) {
								gint _tmp419_ = 0;
								ValaArrayType* _tmp420_ = NULL;
								gint _tmp421_ = 0;
								gint _tmp422_ = 0;
								gchar* length_cname = NULL;
								gint _tmp423_ = 0;
								gchar* _tmp424_ = NULL;
								ValaCCodeFunctionCall* _tmp425_ = NULL;
								const gchar* _tmp426_ = NULL;
								ValaCCodeIdentifier* _tmp427_ = NULL;
								ValaCCodeIdentifier* _tmp428_ = NULL;
								ValaCCodeUnaryExpression* _tmp429_ = NULL;
								ValaCCodeUnaryExpression* _tmp430_ = NULL;
								if (!_tmp417_) {
									gint _tmp418_ = 0;
									_tmp418_ = dim;
									dim = _tmp418_ + 1;
								}
								_tmp417_ = FALSE;
								_tmp419_ = dim;
								_tmp420_ = array_type;
								_tmp421_ = vala_array_type_get_rank (_tmp420_);
								_tmp422_ = _tmp421_;
								if (!(_tmp419_ <= _tmp422_)) {
									break;
								}
								_tmp423_ = dim;
								_tmp424_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "result", _tmp423_);
								length_cname = _tmp424_;
								_tmp425_ = ccall;
								_tmp426_ = length_cname;
								_tmp427_ = vala_ccode_identifier_new (_tmp426_);
								_tmp428_ = _tmp427_;
								_tmp429_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp428_);
								_tmp430_ = _tmp429_;
								vala_ccode_function_call_add_argument (_tmp425_, (ValaCCodeExpression*) _tmp430_);
								_vala_ccode_node_unref0 (_tmp430_);
								_vala_ccode_node_unref0 (_tmp428_);
								_g_free0 (length_cname);
							}
						}
					}
				}
				_vala_code_node_unref0 (array_type);
			}
		}
	}
	_tmp432_ = m;
	_tmp433_ = vala_method_get_coroutine (_tmp432_);
	_tmp434_ = _tmp433_;
	if (_tmp434_) {
		gboolean _tmp435_ = FALSE;
		_tmp435_ = ready;
		_tmp431_ = !_tmp435_;
	} else {
		_tmp431_ = FALSE;
	}
	if (_tmp431_) {
		ValaCCodeFunctionCall* _tmp436_ = NULL;
		const gchar* _tmp437_ = NULL;
		gchar* _tmp438_ = NULL;
		gchar* _tmp439_ = NULL;
		ValaCCodeIdentifier* _tmp440_ = NULL;
		ValaCCodeIdentifier* _tmp441_ = NULL;
		ValaCCodeCastExpression* _tmp442_ = NULL;
		ValaCCodeCastExpression* _tmp443_ = NULL;
		ValaCCodeFunctionCall* _tmp444_ = NULL;
		ValaCCodeIdentifier* _tmp445_ = NULL;
		ValaCCodeIdentifier* _tmp446_ = NULL;
		_tmp436_ = ccall;
		_tmp437_ = wrapper_name;
		_tmp438_ = g_strconcat (_tmp437_, "_ready", NULL);
		_tmp439_ = _tmp438_;
		_tmp440_ = vala_ccode_identifier_new (_tmp439_);
		_tmp441_ = _tmp440_;
		_tmp442_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp441_, "GAsyncReadyCallback");
		_tmp443_ = _tmp442_;
		vala_ccode_function_call_add_argument (_tmp436_, (ValaCCodeExpression*) _tmp443_);
		_vala_ccode_node_unref0 (_tmp443_);
		_vala_ccode_node_unref0 (_tmp441_);
		_g_free0 (_tmp439_);
		_tmp444_ = ccall;
		_tmp445_ = vala_ccode_identifier_new ("invocation");
		_tmp446_ = _tmp445_;
		vala_ccode_function_call_add_argument (_tmp444_, (ValaCCodeExpression*) _tmp446_);
		_vala_ccode_node_unref0 (_tmp446_);
	}
	_tmp448_ = m;
	_tmp449_ = vala_method_get_coroutine (_tmp448_);
	_tmp450_ = _tmp449_;
	if (!_tmp450_) {
		_tmp447_ = TRUE;
	} else {
		gboolean _tmp451_ = FALSE;
		_tmp451_ = ready;
		_tmp447_ = _tmp451_;
	}
	if (_tmp447_) {
		ValaMethod* _tmp452_ = NULL;
		ValaList* _tmp453_ = NULL;
		ValaList* _tmp454_ = NULL;
		gint _tmp455_ = 0;
		gint _tmp456_ = 0;
		gboolean _tmp457_ = FALSE;
		_tmp452_ = m;
		_tmp453_ = vala_code_node_get_error_types ((ValaCodeNode*) _tmp452_);
		_tmp454_ = _tmp453_;
		_tmp455_ = vala_collection_get_size ((ValaCollection*) _tmp454_);
		_tmp456_ = _tmp455_;
		_tmp457_ = _tmp456_ > 0;
		_vala_iterable_unref0 (_tmp454_);
		if (_tmp457_) {
			ValaCCodeFunctionCall* _tmp458_ = NULL;
			ValaCCodeIdentifier* _tmp459_ = NULL;
			ValaCCodeIdentifier* _tmp460_ = NULL;
			ValaCCodeUnaryExpression* _tmp461_ = NULL;
			ValaCCodeUnaryExpression* _tmp462_ = NULL;
			_tmp458_ = ccall;
			_tmp459_ = vala_ccode_identifier_new ("error");
			_tmp460_ = _tmp459_;
			_tmp461_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp460_);
			_tmp462_ = _tmp461_;
			vala_ccode_function_call_add_argument (_tmp458_, (ValaCCodeExpression*) _tmp462_);
			_vala_ccode_node_unref0 (_tmp462_);
			_vala_ccode_node_unref0 (_tmp460_);
		}
	}
	_tmp464_ = no_reply;
	if (!_tmp464_) {
		gboolean _tmp465_ = FALSE;
		ValaMethod* _tmp466_ = NULL;
		gboolean _tmp467_ = FALSE;
		gboolean _tmp468_ = FALSE;
		_tmp466_ = m;
		_tmp467_ = vala_method_get_coroutine (_tmp466_);
		_tmp468_ = _tmp467_;
		if (!_tmp468_) {
			_tmp465_ = TRUE;
		} else {
			gboolean _tmp469_ = FALSE;
			_tmp469_ = ready;
			_tmp465_ = _tmp469_;
		}
		_tmp463_ = _tmp465_;
	} else {
		_tmp463_ = FALSE;
	}
	if (_tmp463_) {
		gboolean _tmp470_ = FALSE;
		ValaMethod* _tmp471_ = NULL;
		ValaDataType* _tmp472_ = NULL;
		ValaDataType* _tmp473_ = NULL;
		ValaMethod* _tmp486_ = NULL;
		ValaList* _tmp487_ = NULL;
		ValaList* _tmp488_ = NULL;
		gint _tmp489_ = 0;
		gint _tmp490_ = 0;
		gboolean _tmp491_ = FALSE;
		ValaCCodeFunction* _tmp513_ = NULL;
		ValaCCodeFunction* _tmp514_ = NULL;
		ValaCCodeVariableDeclarator* _tmp515_ = NULL;
		ValaCCodeVariableDeclarator* _tmp516_ = NULL;
		ValaCCodeFunctionCall* message_expr = NULL;
		ValaCCodeIdentifier* _tmp517_ = NULL;
		ValaCCodeIdentifier* _tmp518_ = NULL;
		ValaCCodeFunctionCall* _tmp519_ = NULL;
		ValaCCodeFunctionCall* _tmp520_ = NULL;
		ValaCCodeFunctionCall* _tmp521_ = NULL;
		ValaCCodeIdentifier* _tmp522_ = NULL;
		ValaCCodeIdentifier* _tmp523_ = NULL;
		ValaCCodeIdentifier* _tmp524_ = NULL;
		ValaCCodeIdentifier* _tmp525_ = NULL;
		ValaCCodeFunctionCall* _tmp526_ = NULL;
		ValaCCodeFunctionCall* _tmp527_ = NULL;
		ValaCCodeFunctionCall* _tmp528_ = NULL;
		ValaCCodeFunction* _tmp529_ = NULL;
		ValaCCodeFunction* _tmp530_ = NULL;
		ValaCCodeIdentifier* _tmp531_ = NULL;
		ValaCCodeIdentifier* _tmp532_ = NULL;
		ValaCCodeFunctionCall* _tmp533_ = NULL;
		ValaCCodeFunction* _tmp534_ = NULL;
		ValaCCodeFunction* _tmp535_ = NULL;
		ValaCCodeVariableDeclarator* _tmp536_ = NULL;
		ValaCCodeVariableDeclarator* _tmp537_ = NULL;
		ValaCCodeFunction* _tmp538_ = NULL;
		ValaCCodeFunction* _tmp539_ = NULL;
		ValaCCodeVariableDeclarator* _tmp540_ = NULL;
		ValaCCodeVariableDeclarator* _tmp541_ = NULL;
		ValaCCodeFunctionCall* builder_init = NULL;
		ValaCCodeIdentifier* _tmp542_ = NULL;
		ValaCCodeIdentifier* _tmp543_ = NULL;
		ValaCCodeFunctionCall* _tmp544_ = NULL;
		ValaCCodeFunctionCall* _tmp545_ = NULL;
		ValaCCodeFunctionCall* _tmp546_ = NULL;
		ValaCCodeIdentifier* _tmp547_ = NULL;
		ValaCCodeIdentifier* _tmp548_ = NULL;
		ValaCCodeUnaryExpression* _tmp549_ = NULL;
		ValaCCodeUnaryExpression* _tmp550_ = NULL;
		ValaCCodeFunctionCall* _tmp551_ = NULL;
		ValaCCodeIdentifier* _tmp552_ = NULL;
		ValaCCodeIdentifier* _tmp553_ = NULL;
		ValaCCodeFunction* _tmp554_ = NULL;
		ValaCCodeFunction* _tmp555_ = NULL;
		ValaCCodeFunctionCall* _tmp556_ = NULL;
		gboolean _tmp557_ = FALSE;
		ValaMethod* _tmp636_ = NULL;
		ValaDataType* _tmp637_ = NULL;
		ValaDataType* _tmp638_ = NULL;
		ValaCCodeFunctionCall* builder_end = NULL;
		ValaCCodeIdentifier* _tmp728_ = NULL;
		ValaCCodeIdentifier* _tmp729_ = NULL;
		ValaCCodeFunctionCall* _tmp730_ = NULL;
		ValaCCodeFunctionCall* _tmp731_ = NULL;
		ValaCCodeFunctionCall* _tmp732_ = NULL;
		ValaCCodeIdentifier* _tmp733_ = NULL;
		ValaCCodeIdentifier* _tmp734_ = NULL;
		ValaCCodeUnaryExpression* _tmp735_ = NULL;
		ValaCCodeUnaryExpression* _tmp736_ = NULL;
		ValaCCodeFunction* _tmp737_ = NULL;
		ValaCCodeFunction* _tmp738_ = NULL;
		ValaCCodeIdentifier* _tmp739_ = NULL;
		ValaCCodeIdentifier* _tmp740_ = NULL;
		ValaCCodeFunctionCall* _tmp741_ = NULL;
		ValaCCodeFunctionCall* set_body = NULL;
		ValaCCodeIdentifier* _tmp742_ = NULL;
		ValaCCodeIdentifier* _tmp743_ = NULL;
		ValaCCodeFunctionCall* _tmp744_ = NULL;
		ValaCCodeFunctionCall* _tmp745_ = NULL;
		ValaCCodeFunctionCall* _tmp746_ = NULL;
		ValaCCodeIdentifier* _tmp747_ = NULL;
		ValaCCodeIdentifier* _tmp748_ = NULL;
		ValaCCodeFunctionCall* _tmp749_ = NULL;
		ValaCCodeIdentifier* _tmp750_ = NULL;
		ValaCCodeIdentifier* _tmp751_ = NULL;
		ValaCCodeFunction* _tmp752_ = NULL;
		ValaCCodeFunction* _tmp753_ = NULL;
		ValaCCodeFunctionCall* _tmp754_ = NULL;
		gboolean _tmp755_ = FALSE;
		_tmp471_ = m;
		_tmp472_ = vala_method_get_return_type (_tmp471_);
		_tmp473_ = _tmp472_;
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp473_, VALA_TYPE_VOID_TYPE)) {
			_tmp470_ = TRUE;
		} else {
			ValaMethod* _tmp474_ = NULL;
			ValaDataType* _tmp475_ = NULL;
			ValaDataType* _tmp476_ = NULL;
			gboolean _tmp477_ = FALSE;
			_tmp474_ = m;
			_tmp475_ = vala_method_get_return_type (_tmp474_);
			_tmp476_ = _tmp475_;
			_tmp477_ = vala_data_type_is_real_non_null_struct_type (_tmp476_);
			_tmp470_ = _tmp477_;
		}
		if (_tmp470_) {
			ValaCCodeFunction* _tmp478_ = NULL;
			ValaCCodeFunction* _tmp479_ = NULL;
			ValaCCodeFunctionCall* _tmp480_ = NULL;
			_tmp478_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp479_ = _tmp478_;
			_tmp480_ = ccall;
			vala_ccode_function_add_expression (_tmp479_, (ValaCCodeExpression*) _tmp480_);
		} else {
			ValaCCodeFunction* _tmp481_ = NULL;
			ValaCCodeFunction* _tmp482_ = NULL;
			ValaCCodeIdentifier* _tmp483_ = NULL;
			ValaCCodeIdentifier* _tmp484_ = NULL;
			ValaCCodeFunctionCall* _tmp485_ = NULL;
			_tmp481_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp482_ = _tmp481_;
			_tmp483_ = vala_ccode_identifier_new ("result");
			_tmp484_ = _tmp483_;
			_tmp485_ = ccall;
			vala_ccode_function_add_assignment (_tmp482_, (ValaCCodeExpression*) _tmp484_, (ValaCCodeExpression*) _tmp485_);
			_vala_ccode_node_unref0 (_tmp484_);
		}
		_tmp486_ = m;
		_tmp487_ = vala_code_node_get_error_types ((ValaCodeNode*) _tmp486_);
		_tmp488_ = _tmp487_;
		_tmp489_ = vala_collection_get_size ((ValaCollection*) _tmp488_);
		_tmp490_ = _tmp489_;
		_tmp491_ = _tmp490_ > 0;
		_vala_iterable_unref0 (_tmp488_);
		if (_tmp491_) {
			ValaCCodeFunction* _tmp492_ = NULL;
			ValaCCodeFunction* _tmp493_ = NULL;
			ValaCCodeIdentifier* _tmp494_ = NULL;
			ValaCCodeIdentifier* _tmp495_ = NULL;
			ValaCCodeFunctionCall* return_error = NULL;
			ValaCCodeIdentifier* _tmp496_ = NULL;
			ValaCCodeIdentifier* _tmp497_ = NULL;
			ValaCCodeFunctionCall* _tmp498_ = NULL;
			ValaCCodeFunctionCall* _tmp499_ = NULL;
			ValaCCodeFunctionCall* _tmp500_ = NULL;
			ValaCCodeIdentifier* _tmp501_ = NULL;
			ValaCCodeIdentifier* _tmp502_ = NULL;
			ValaCCodeFunctionCall* _tmp503_ = NULL;
			ValaCCodeIdentifier* _tmp504_ = NULL;
			ValaCCodeIdentifier* _tmp505_ = NULL;
			ValaCCodeFunction* _tmp506_ = NULL;
			ValaCCodeFunction* _tmp507_ = NULL;
			ValaCCodeFunctionCall* _tmp508_ = NULL;
			ValaCCodeFunction* _tmp509_ = NULL;
			ValaCCodeFunction* _tmp510_ = NULL;
			ValaCCodeFunction* _tmp511_ = NULL;
			ValaCCodeFunction* _tmp512_ = NULL;
			_tmp492_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp493_ = _tmp492_;
			_tmp494_ = vala_ccode_identifier_new ("error");
			_tmp495_ = _tmp494_;
			vala_ccode_function_open_if (_tmp493_, (ValaCCodeExpression*) _tmp495_);
			_vala_ccode_node_unref0 (_tmp495_);
			_tmp496_ = vala_ccode_identifier_new ("g_dbus_method_invocation_return_gerror");
			_tmp497_ = _tmp496_;
			_tmp498_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp497_);
			_tmp499_ = _tmp498_;
			_vala_ccode_node_unref0 (_tmp497_);
			return_error = _tmp499_;
			_tmp500_ = return_error;
			_tmp501_ = vala_ccode_identifier_new ("invocation");
			_tmp502_ = _tmp501_;
			vala_ccode_function_call_add_argument (_tmp500_, (ValaCCodeExpression*) _tmp502_);
			_vala_ccode_node_unref0 (_tmp502_);
			_tmp503_ = return_error;
			_tmp504_ = vala_ccode_identifier_new ("error");
			_tmp505_ = _tmp504_;
			vala_ccode_function_call_add_argument (_tmp503_, (ValaCCodeExpression*) _tmp505_);
			_vala_ccode_node_unref0 (_tmp505_);
			_tmp506_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp507_ = _tmp506_;
			_tmp508_ = return_error;
			vala_ccode_function_add_expression (_tmp507_, (ValaCCodeExpression*) _tmp508_);
			_tmp509_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp510_ = _tmp509_;
			vala_ccode_function_add_return (_tmp510_, NULL);
			_tmp511_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp512_ = _tmp511_;
			vala_ccode_function_close (_tmp512_);
			_vala_ccode_node_unref0 (return_error);
		}
		_tmp513_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp514_ = _tmp513_;
		_tmp515_ = vala_ccode_variable_declarator_new ("_reply_message", NULL, NULL);
		_tmp516_ = _tmp515_;
		vala_ccode_function_add_declaration (_tmp514_, "GDBusMessage*", (ValaCCodeDeclarator*) _tmp516_, 0);
		_vala_ccode_node_unref0 (_tmp516_);
		_tmp517_ = vala_ccode_identifier_new ("g_dbus_method_invocation_get_message");
		_tmp518_ = _tmp517_;
		_tmp519_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp518_);
		_tmp520_ = _tmp519_;
		_vala_ccode_node_unref0 (_tmp518_);
		message_expr = _tmp520_;
		_tmp521_ = message_expr;
		_tmp522_ = vala_ccode_identifier_new ("invocation");
		_tmp523_ = _tmp522_;
		vala_ccode_function_call_add_argument (_tmp521_, (ValaCCodeExpression*) _tmp523_);
		_vala_ccode_node_unref0 (_tmp523_);
		_tmp524_ = vala_ccode_identifier_new ("g_dbus_message_new_method_reply");
		_tmp525_ = _tmp524_;
		_tmp526_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp525_);
		_vala_ccode_node_unref0 (ccall);
		ccall = _tmp526_;
		_vala_ccode_node_unref0 (_tmp525_);
		_tmp527_ = ccall;
		_tmp528_ = message_expr;
		vala_ccode_function_call_add_argument (_tmp527_, (ValaCCodeExpression*) _tmp528_);
		_tmp529_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp530_ = _tmp529_;
		_tmp531_ = vala_ccode_identifier_new ("_reply_message");
		_tmp532_ = _tmp531_;
		_tmp533_ = ccall;
		vala_ccode_function_add_assignment (_tmp530_, (ValaCCodeExpression*) _tmp532_, (ValaCCodeExpression*) _tmp533_);
		_vala_ccode_node_unref0 (_tmp532_);
		_tmp534_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp535_ = _tmp534_;
		_tmp536_ = vala_ccode_variable_declarator_new ("_reply", NULL, NULL);
		_tmp537_ = _tmp536_;
		vala_ccode_function_add_declaration (_tmp535_, "GVariant*", (ValaCCodeDeclarator*) _tmp537_, 0);
		_vala_ccode_node_unref0 (_tmp537_);
		_tmp538_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp539_ = _tmp538_;
		_tmp540_ = vala_ccode_variable_declarator_new ("_reply_builder", NULL, NULL);
		_tmp541_ = _tmp540_;
		vala_ccode_function_add_declaration (_tmp539_, "GVariantBuilder", (ValaCCodeDeclarator*) _tmp541_, 0);
		_vala_ccode_node_unref0 (_tmp541_);
		_tmp542_ = vala_ccode_identifier_new ("g_variant_builder_init");
		_tmp543_ = _tmp542_;
		_tmp544_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp543_);
		_tmp545_ = _tmp544_;
		_vala_ccode_node_unref0 (_tmp543_);
		builder_init = _tmp545_;
		_tmp546_ = builder_init;
		_tmp547_ = vala_ccode_identifier_new ("_reply_builder");
		_tmp548_ = _tmp547_;
		_tmp549_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp548_);
		_tmp550_ = _tmp549_;
		vala_ccode_function_call_add_argument (_tmp546_, (ValaCCodeExpression*) _tmp550_);
		_vala_ccode_node_unref0 (_tmp550_);
		_vala_ccode_node_unref0 (_tmp548_);
		_tmp551_ = builder_init;
		_tmp552_ = vala_ccode_identifier_new ("G_VARIANT_TYPE_TUPLE");
		_tmp553_ = _tmp552_;
		vala_ccode_function_call_add_argument (_tmp551_, (ValaCCodeExpression*) _tmp553_);
		_vala_ccode_node_unref0 (_tmp553_);
		_tmp554_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp555_ = _tmp554_;
		_tmp556_ = builder_init;
		vala_ccode_function_add_expression (_tmp555_, (ValaCCodeExpression*) _tmp556_);
		_tmp557_ = uses_fd;
		if (_tmp557_) {
			ValaCCodeFunction* _tmp558_ = NULL;
			ValaCCodeFunction* _tmp559_ = NULL;
			ValaCCodeVariableDeclarator* _tmp560_ = NULL;
			ValaCCodeVariableDeclarator* _tmp561_ = NULL;
			ValaCCodeFunction* _tmp562_ = NULL;
			ValaCCodeFunction* _tmp563_ = NULL;
			ValaCCodeIdentifier* _tmp564_ = NULL;
			ValaCCodeIdentifier* _tmp565_ = NULL;
			ValaCCodeIdentifier* _tmp566_ = NULL;
			ValaCCodeIdentifier* _tmp567_ = NULL;
			ValaCCodeFunctionCall* _tmp568_ = NULL;
			ValaCCodeFunctionCall* _tmp569_ = NULL;
			_tmp558_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp559_ = _tmp558_;
			_tmp560_ = vala_ccode_variable_declarator_new ("*_fd_list", NULL, NULL);
			_tmp561_ = _tmp560_;
			vala_ccode_function_add_declaration (_tmp559_, "GUnixFDList", (ValaCCodeDeclarator*) _tmp561_, 0);
			_vala_ccode_node_unref0 (_tmp561_);
			_tmp562_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp563_ = _tmp562_;
			_tmp564_ = vala_ccode_identifier_new ("_fd_list");
			_tmp565_ = _tmp564_;
			_tmp566_ = vala_ccode_identifier_new ("g_unix_fd_list_new");
			_tmp567_ = _tmp566_;
			_tmp568_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp567_);
			_tmp569_ = _tmp568_;
			vala_ccode_function_add_assignment (_tmp563_, (ValaCCodeExpression*) _tmp565_, (ValaCCodeExpression*) _tmp569_);
			_vala_ccode_node_unref0 (_tmp569_);
			_vala_ccode_node_unref0 (_tmp567_);
			_vala_ccode_node_unref0 (_tmp565_);
		}
		{
			ValaList* _param_list = NULL;
			ValaMethod* _tmp570_ = NULL;
			ValaList* _tmp571_ = NULL;
			gint _param_size = 0;
			ValaList* _tmp572_ = NULL;
			gint _tmp573_ = 0;
			gint _tmp574_ = 0;
			gint _param_index = 0;
			_tmp570_ = m;
			_tmp571_ = vala_method_get_parameters (_tmp570_);
			_param_list = _tmp571_;
			_tmp572_ = _param_list;
			_tmp573_ = vala_collection_get_size ((ValaCollection*) _tmp572_);
			_tmp574_ = _tmp573_;
			_param_size = _tmp574_;
			_param_index = -1;
			while (TRUE) {
				gint _tmp575_ = 0;
				gint _tmp576_ = 0;
				gint _tmp577_ = 0;
				ValaParameter* param = NULL;
				ValaList* _tmp578_ = NULL;
				gint _tmp579_ = 0;
				gpointer _tmp580_ = NULL;
				ValaParameter* _tmp581_ = NULL;
				ValaParameterDirection _tmp582_ = 0;
				ValaParameterDirection _tmp583_ = 0;
				gchar* param_name = NULL;
				ValaParameter* _tmp584_ = NULL;
				const gchar* _tmp585_ = NULL;
				const gchar* _tmp586_ = NULL;
				gchar* _tmp587_ = NULL;
				ValaDataType* owned_type = NULL;
				ValaParameter* _tmp588_ = NULL;
				ValaDataType* _tmp589_ = NULL;
				ValaDataType* _tmp590_ = NULL;
				ValaDataType* _tmp591_ = NULL;
				ValaDataType* _tmp592_ = NULL;
				ValaCCodeFunction* _tmp593_ = NULL;
				ValaCCodeFunction* _tmp594_ = NULL;
				ValaDataType* _tmp595_ = NULL;
				gchar* _tmp596_ = NULL;
				gchar* _tmp597_ = NULL;
				const gchar* _tmp598_ = NULL;
				ValaParameter* _tmp599_ = NULL;
				ValaDataType* _tmp600_ = NULL;
				ValaDataType* _tmp601_ = NULL;
				ValaCCodeExpression* _tmp602_ = NULL;
				ValaCCodeExpression* _tmp603_ = NULL;
				ValaCCodeVariableDeclarator* _tmp604_ = NULL;
				ValaCCodeVariableDeclarator* _tmp605_ = NULL;
				ValaArrayType* array_type = NULL;
				ValaParameter* _tmp606_ = NULL;
				ValaDataType* _tmp607_ = NULL;
				ValaDataType* _tmp608_ = NULL;
				ValaArrayType* _tmp609_ = NULL;
				ValaArrayType* _tmp610_ = NULL;
				ValaParameter* _tmp627_ = NULL;
				ValaDataType* _tmp628_ = NULL;
				ValaDataType* _tmp629_ = NULL;
				ValaCCodeIdentifier* _tmp630_ = NULL;
				ValaCCodeIdentifier* _tmp631_ = NULL;
				const gchar* _tmp632_ = NULL;
				ValaCCodeIdentifier* _tmp633_ = NULL;
				ValaCCodeIdentifier* _tmp634_ = NULL;
				ValaParameter* _tmp635_ = NULL;
				_tmp575_ = _param_index;
				_param_index = _tmp575_ + 1;
				_tmp576_ = _param_index;
				_tmp577_ = _param_size;
				if (!(_tmp576_ < _tmp577_)) {
					break;
				}
				_tmp578_ = _param_list;
				_tmp579_ = _param_index;
				_tmp580_ = vala_list_get (_tmp578_, _tmp579_);
				param = (ValaParameter*) _tmp580_;
				_tmp581_ = param;
				_tmp582_ = vala_parameter_get_direction (_tmp581_);
				_tmp583_ = _tmp582_;
				if (_tmp583_ != VALA_PARAMETER_DIRECTION_OUT) {
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp584_ = param;
				_tmp585_ = vala_symbol_get_name ((ValaSymbol*) _tmp584_);
				_tmp586_ = _tmp585_;
				_tmp587_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp586_);
				param_name = _tmp587_;
				_tmp588_ = param;
				_tmp589_ = vala_variable_get_variable_type ((ValaVariable*) _tmp588_);
				_tmp590_ = _tmp589_;
				_tmp591_ = vala_data_type_copy (_tmp590_);
				owned_type = _tmp591_;
				_tmp592_ = owned_type;
				vala_data_type_set_value_owned (_tmp592_, TRUE);
				_tmp593_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp594_ = _tmp593_;
				_tmp595_ = owned_type;
				_tmp596_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp595_);
				_tmp597_ = _tmp596_;
				_tmp598_ = param_name;
				_tmp599_ = param;
				_tmp600_ = vala_variable_get_variable_type ((ValaVariable*) _tmp599_);
				_tmp601_ = _tmp600_;
				_tmp602_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp601_, TRUE);
				_tmp603_ = _tmp602_;
				_tmp604_ = vala_ccode_variable_declarator_new_zero (_tmp598_, _tmp603_, NULL);
				_tmp605_ = _tmp604_;
				vala_ccode_function_add_declaration (_tmp594_, _tmp597_, (ValaCCodeDeclarator*) _tmp605_, 0);
				_vala_ccode_node_unref0 (_tmp605_);
				_vala_ccode_node_unref0 (_tmp603_);
				_g_free0 (_tmp597_);
				_tmp606_ = param;
				_tmp607_ = vala_variable_get_variable_type ((ValaVariable*) _tmp606_);
				_tmp608_ = _tmp607_;
				_tmp609_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp608_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp608_) : NULL);
				array_type = _tmp609_;
				_tmp610_ = array_type;
				if (_tmp610_ != NULL) {
					{
						gint dim = 0;
						dim = 1;
						{
							gboolean _tmp611_ = FALSE;
							_tmp611_ = TRUE;
							while (TRUE) {
								gint _tmp613_ = 0;
								ValaArrayType* _tmp614_ = NULL;
								gint _tmp615_ = 0;
								gint _tmp616_ = 0;
								gchar* length_cname = NULL;
								ValaParameter* _tmp617_ = NULL;
								gint _tmp618_ = 0;
								gchar* _tmp619_ = NULL;
								ValaCCodeFunction* _tmp620_ = NULL;
								ValaCCodeFunction* _tmp621_ = NULL;
								const gchar* _tmp622_ = NULL;
								ValaCCodeConstant* _tmp623_ = NULL;
								ValaCCodeConstant* _tmp624_ = NULL;
								ValaCCodeVariableDeclarator* _tmp625_ = NULL;
								ValaCCodeVariableDeclarator* _tmp626_ = NULL;
								if (!_tmp611_) {
									gint _tmp612_ = 0;
									_tmp612_ = dim;
									dim = _tmp612_ + 1;
								}
								_tmp611_ = FALSE;
								_tmp613_ = dim;
								_tmp614_ = array_type;
								_tmp615_ = vala_array_type_get_rank (_tmp614_);
								_tmp616_ = _tmp615_;
								if (!(_tmp613_ <= _tmp616_)) {
									break;
								}
								_tmp617_ = param;
								_tmp618_ = dim;
								_tmp619_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp617_, _tmp618_);
								length_cname = _tmp619_;
								_tmp620_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
								_tmp621_ = _tmp620_;
								_tmp622_ = length_cname;
								_tmp623_ = vala_ccode_constant_new ("0");
								_tmp624_ = _tmp623_;
								_tmp625_ = vala_ccode_variable_declarator_new_zero (_tmp622_, (ValaCCodeExpression*) _tmp624_, NULL);
								_tmp626_ = _tmp625_;
								vala_ccode_function_add_declaration (_tmp621_, "int", (ValaCCodeDeclarator*) _tmp626_, 0);
								_vala_ccode_node_unref0 (_tmp626_);
								_vala_ccode_node_unref0 (_tmp624_);
								_g_free0 (length_cname);
							}
						}
					}
				}
				_tmp627_ = param;
				_tmp628_ = vala_variable_get_variable_type ((ValaVariable*) _tmp627_);
				_tmp629_ = _tmp628_;
				_tmp630_ = vala_ccode_identifier_new ("_reply_builder");
				_tmp631_ = _tmp630_;
				_tmp632_ = param_name;
				_tmp633_ = vala_ccode_identifier_new (_tmp632_);
				_tmp634_ = _tmp633_;
				_tmp635_ = param;
				vala_gd_bus_module_send_dbus_value ((ValaGDBusModule*) self, _tmp629_, (ValaCCodeExpression*) _tmp631_, (ValaCCodeExpression*) _tmp634_, (ValaSymbol*) _tmp635_);
				_vala_ccode_node_unref0 (_tmp634_);
				_vala_ccode_node_unref0 (_tmp631_);
				_vala_code_node_unref0 (array_type);
				_vala_code_node_unref0 (owned_type);
				_g_free0 (param_name);
				_vala_code_node_unref0 (param);
			}
			_vala_iterable_unref0 (_param_list);
		}
		_tmp636_ = m;
		_tmp637_ = vala_method_get_return_type (_tmp636_);
		_tmp638_ = _tmp637_;
		if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp638_, VALA_TYPE_VOID_TYPE)) {
			ValaMethod* _tmp639_ = NULL;
			ValaDataType* _tmp640_ = NULL;
			ValaDataType* _tmp641_ = NULL;
			gboolean _tmp642_ = FALSE;
			_tmp639_ = m;
			_tmp640_ = vala_method_get_return_type (_tmp639_);
			_tmp641_ = _tmp640_;
			_tmp642_ = vala_data_type_is_real_non_null_struct_type (_tmp641_);
			if (_tmp642_) {
				ValaCCodeFunction* _tmp643_ = NULL;
				ValaCCodeFunction* _tmp644_ = NULL;
				ValaMethod* _tmp645_ = NULL;
				ValaDataType* _tmp646_ = NULL;
				ValaDataType* _tmp647_ = NULL;
				gchar* _tmp648_ = NULL;
				gchar* _tmp649_ = NULL;
				ValaMethod* _tmp650_ = NULL;
				ValaDataType* _tmp651_ = NULL;
				ValaDataType* _tmp652_ = NULL;
				ValaCCodeExpression* _tmp653_ = NULL;
				ValaCCodeExpression* _tmp654_ = NULL;
				ValaCCodeVariableDeclarator* _tmp655_ = NULL;
				ValaCCodeVariableDeclarator* _tmp656_ = NULL;
				ValaMethod* _tmp657_ = NULL;
				ValaDataType* _tmp658_ = NULL;
				ValaDataType* _tmp659_ = NULL;
				ValaCCodeIdentifier* _tmp660_ = NULL;
				ValaCCodeIdentifier* _tmp661_ = NULL;
				ValaCCodeIdentifier* _tmp662_ = NULL;
				ValaCCodeIdentifier* _tmp663_ = NULL;
				ValaMethod* _tmp664_ = NULL;
				ValaMethod* _tmp665_ = NULL;
				ValaDataType* _tmp666_ = NULL;
				ValaDataType* _tmp667_ = NULL;
				gboolean _tmp668_ = FALSE;
				_tmp643_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp644_ = _tmp643_;
				_tmp645_ = m;
				_tmp646_ = vala_method_get_return_type (_tmp645_);
				_tmp647_ = _tmp646_;
				_tmp648_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp647_);
				_tmp649_ = _tmp648_;
				_tmp650_ = m;
				_tmp651_ = vala_method_get_return_type (_tmp650_);
				_tmp652_ = _tmp651_;
				_tmp653_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp652_, TRUE);
				_tmp654_ = _tmp653_;
				_tmp655_ = vala_ccode_variable_declarator_new_zero ("result", _tmp654_, NULL);
				_tmp656_ = _tmp655_;
				vala_ccode_function_add_declaration (_tmp644_, _tmp649_, (ValaCCodeDeclarator*) _tmp656_, 0);
				_vala_ccode_node_unref0 (_tmp656_);
				_vala_ccode_node_unref0 (_tmp654_);
				_g_free0 (_tmp649_);
				_tmp657_ = m;
				_tmp658_ = vala_method_get_return_type (_tmp657_);
				_tmp659_ = _tmp658_;
				_tmp660_ = vala_ccode_identifier_new ("_reply_builder");
				_tmp661_ = _tmp660_;
				_tmp662_ = vala_ccode_identifier_new ("result");
				_tmp663_ = _tmp662_;
				_tmp664_ = m;
				vala_gd_bus_module_send_dbus_value ((ValaGDBusModule*) self, _tmp659_, (ValaCCodeExpression*) _tmp661_, (ValaCCodeExpression*) _tmp663_, (ValaSymbol*) _tmp664_);
				_vala_ccode_node_unref0 (_tmp663_);
				_vala_ccode_node_unref0 (_tmp661_);
				_tmp665_ = m;
				_tmp666_ = vala_method_get_return_type (_tmp665_);
				_tmp667_ = _tmp666_;
				_tmp668_ = vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, _tmp667_);
				if (_tmp668_) {
					ValaLocalVariable* local = NULL;
					ValaMethod* _tmp669_ = NULL;
					ValaDataType* _tmp670_ = NULL;
					ValaDataType* _tmp671_ = NULL;
					ValaLocalVariable* _tmp672_ = NULL;
					ValaCCodeFunction* _tmp673_ = NULL;
					ValaCCodeFunction* _tmp674_ = NULL;
					ValaLocalVariable* _tmp675_ = NULL;
					ValaCCodeExpression* _tmp676_ = NULL;
					ValaCCodeExpression* _tmp677_ = NULL;
					_tmp669_ = m;
					_tmp670_ = vala_method_get_return_type (_tmp669_);
					_tmp671_ = _tmp670_;
					_tmp672_ = vala_local_variable_new (_tmp671_, ".result", NULL, NULL);
					local = _tmp672_;
					_tmp673_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp674_ = _tmp673_;
					_tmp675_ = local;
					_tmp676_ = vala_ccode_base_module_destroy_local ((ValaCCodeBaseModule*) self, _tmp675_);
					_tmp677_ = _tmp676_;
					vala_ccode_function_add_expression (_tmp674_, _tmp677_);
					_vala_ccode_node_unref0 (_tmp677_);
					_vala_code_node_unref0 (local);
				}
			} else {
				ValaCCodeFunction* _tmp678_ = NULL;
				ValaCCodeFunction* _tmp679_ = NULL;
				ValaMethod* _tmp680_ = NULL;
				ValaDataType* _tmp681_ = NULL;
				ValaDataType* _tmp682_ = NULL;
				gchar* _tmp683_ = NULL;
				gchar* _tmp684_ = NULL;
				ValaCCodeVariableDeclarator* _tmp685_ = NULL;
				ValaCCodeVariableDeclarator* _tmp686_ = NULL;
				ValaArrayType* array_type = NULL;
				ValaMethod* _tmp687_ = NULL;
				ValaDataType* _tmp688_ = NULL;
				ValaDataType* _tmp689_ = NULL;
				ValaArrayType* _tmp690_ = NULL;
				ValaArrayType* _tmp691_ = NULL;
				ValaMethod* _tmp707_ = NULL;
				ValaDataType* _tmp708_ = NULL;
				ValaDataType* _tmp709_ = NULL;
				ValaCCodeIdentifier* _tmp710_ = NULL;
				ValaCCodeIdentifier* _tmp711_ = NULL;
				ValaCCodeIdentifier* _tmp712_ = NULL;
				ValaCCodeIdentifier* _tmp713_ = NULL;
				ValaMethod* _tmp714_ = NULL;
				ValaMethod* _tmp715_ = NULL;
				ValaDataType* _tmp716_ = NULL;
				ValaDataType* _tmp717_ = NULL;
				gboolean _tmp718_ = FALSE;
				_tmp678_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp679_ = _tmp678_;
				_tmp680_ = m;
				_tmp681_ = vala_method_get_return_type (_tmp680_);
				_tmp682_ = _tmp681_;
				_tmp683_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp682_);
				_tmp684_ = _tmp683_;
				_tmp685_ = vala_ccode_variable_declarator_new ("result", NULL, NULL);
				_tmp686_ = _tmp685_;
				vala_ccode_function_add_declaration (_tmp679_, _tmp684_, (ValaCCodeDeclarator*) _tmp686_, 0);
				_vala_ccode_node_unref0 (_tmp686_);
				_g_free0 (_tmp684_);
				_tmp687_ = m;
				_tmp688_ = vala_method_get_return_type (_tmp687_);
				_tmp689_ = _tmp688_;
				_tmp690_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp689_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp689_) : NULL);
				array_type = _tmp690_;
				_tmp691_ = array_type;
				if (_tmp691_ != NULL) {
					{
						gint dim = 0;
						dim = 1;
						{
							gboolean _tmp692_ = FALSE;
							_tmp692_ = TRUE;
							while (TRUE) {
								gint _tmp694_ = 0;
								ValaArrayType* _tmp695_ = NULL;
								gint _tmp696_ = 0;
								gint _tmp697_ = 0;
								gchar* length_cname = NULL;
								gint _tmp698_ = 0;
								gchar* _tmp699_ = NULL;
								ValaCCodeFunction* _tmp700_ = NULL;
								ValaCCodeFunction* _tmp701_ = NULL;
								const gchar* _tmp702_ = NULL;
								ValaCCodeConstant* _tmp703_ = NULL;
								ValaCCodeConstant* _tmp704_ = NULL;
								ValaCCodeVariableDeclarator* _tmp705_ = NULL;
								ValaCCodeVariableDeclarator* _tmp706_ = NULL;
								if (!_tmp692_) {
									gint _tmp693_ = 0;
									_tmp693_ = dim;
									dim = _tmp693_ + 1;
								}
								_tmp692_ = FALSE;
								_tmp694_ = dim;
								_tmp695_ = array_type;
								_tmp696_ = vala_array_type_get_rank (_tmp695_);
								_tmp697_ = _tmp696_;
								if (!(_tmp694_ <= _tmp697_)) {
									break;
								}
								_tmp698_ = dim;
								_tmp699_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "result", _tmp698_);
								length_cname = _tmp699_;
								_tmp700_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
								_tmp701_ = _tmp700_;
								_tmp702_ = length_cname;
								_tmp703_ = vala_ccode_constant_new ("0");
								_tmp704_ = _tmp703_;
								_tmp705_ = vala_ccode_variable_declarator_new_zero (_tmp702_, (ValaCCodeExpression*) _tmp704_, NULL);
								_tmp706_ = _tmp705_;
								vala_ccode_function_add_declaration (_tmp701_, "int", (ValaCCodeDeclarator*) _tmp706_, 0);
								_vala_ccode_node_unref0 (_tmp706_);
								_vala_ccode_node_unref0 (_tmp704_);
								_g_free0 (length_cname);
							}
						}
					}
				}
				_tmp707_ = m;
				_tmp708_ = vala_method_get_return_type (_tmp707_);
				_tmp709_ = _tmp708_;
				_tmp710_ = vala_ccode_identifier_new ("_reply_builder");
				_tmp711_ = _tmp710_;
				_tmp712_ = vala_ccode_identifier_new ("result");
				_tmp713_ = _tmp712_;
				_tmp714_ = m;
				vala_gd_bus_module_send_dbus_value ((ValaGDBusModule*) self, _tmp709_, (ValaCCodeExpression*) _tmp711_, (ValaCCodeExpression*) _tmp713_, (ValaSymbol*) _tmp714_);
				_vala_ccode_node_unref0 (_tmp713_);
				_vala_ccode_node_unref0 (_tmp711_);
				_tmp715_ = m;
				_tmp716_ = vala_method_get_return_type (_tmp715_);
				_tmp717_ = _tmp716_;
				_tmp718_ = vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, _tmp717_);
				if (_tmp718_) {
					ValaLocalVariable* local = NULL;
					ValaMethod* _tmp719_ = NULL;
					ValaDataType* _tmp720_ = NULL;
					ValaDataType* _tmp721_ = NULL;
					ValaLocalVariable* _tmp722_ = NULL;
					ValaCCodeFunction* _tmp723_ = NULL;
					ValaCCodeFunction* _tmp724_ = NULL;
					ValaLocalVariable* _tmp725_ = NULL;
					ValaCCodeExpression* _tmp726_ = NULL;
					ValaCCodeExpression* _tmp727_ = NULL;
					_tmp719_ = m;
					_tmp720_ = vala_method_get_return_type (_tmp719_);
					_tmp721_ = _tmp720_;
					_tmp722_ = vala_local_variable_new (_tmp721_, ".result", NULL, NULL);
					local = _tmp722_;
					_tmp723_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp724_ = _tmp723_;
					_tmp725_ = local;
					_tmp726_ = vala_ccode_base_module_destroy_local ((ValaCCodeBaseModule*) self, _tmp725_);
					_tmp727_ = _tmp726_;
					vala_ccode_function_add_expression (_tmp724_, _tmp727_);
					_vala_ccode_node_unref0 (_tmp727_);
					_vala_code_node_unref0 (local);
				}
				_vala_code_node_unref0 (array_type);
			}
		}
		_tmp728_ = vala_ccode_identifier_new ("g_variant_builder_end");
		_tmp729_ = _tmp728_;
		_tmp730_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp729_);
		_tmp731_ = _tmp730_;
		_vala_ccode_node_unref0 (_tmp729_);
		builder_end = _tmp731_;
		_tmp732_ = builder_end;
		_tmp733_ = vala_ccode_identifier_new ("_reply_builder");
		_tmp734_ = _tmp733_;
		_tmp735_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp734_);
		_tmp736_ = _tmp735_;
		vala_ccode_function_call_add_argument (_tmp732_, (ValaCCodeExpression*) _tmp736_);
		_vala_ccode_node_unref0 (_tmp736_);
		_vala_ccode_node_unref0 (_tmp734_);
		_tmp737_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp738_ = _tmp737_;
		_tmp739_ = vala_ccode_identifier_new ("_reply");
		_tmp740_ = _tmp739_;
		_tmp741_ = builder_end;
		vala_ccode_function_add_assignment (_tmp738_, (ValaCCodeExpression*) _tmp740_, (ValaCCodeExpression*) _tmp741_);
		_vala_ccode_node_unref0 (_tmp740_);
		_tmp742_ = vala_ccode_identifier_new ("g_dbus_message_set_body");
		_tmp743_ = _tmp742_;
		_tmp744_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp743_);
		_tmp745_ = _tmp744_;
		_vala_ccode_node_unref0 (_tmp743_);
		set_body = _tmp745_;
		_tmp746_ = set_body;
		_tmp747_ = vala_ccode_identifier_new ("_reply_message");
		_tmp748_ = _tmp747_;
		vala_ccode_function_call_add_argument (_tmp746_, (ValaCCodeExpression*) _tmp748_);
		_vala_ccode_node_unref0 (_tmp748_);
		_tmp749_ = set_body;
		_tmp750_ = vala_ccode_identifier_new ("_reply");
		_tmp751_ = _tmp750_;
		vala_ccode_function_call_add_argument (_tmp749_, (ValaCCodeExpression*) _tmp751_);
		_vala_ccode_node_unref0 (_tmp751_);
		_tmp752_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp753_ = _tmp752_;
		_tmp754_ = set_body;
		vala_ccode_function_add_expression (_tmp753_, (ValaCCodeExpression*) _tmp754_);
		_tmp755_ = uses_fd;
		if (_tmp755_) {
			ValaCCodeIdentifier* _tmp756_ = NULL;
			ValaCCodeIdentifier* _tmp757_ = NULL;
			ValaCCodeFunctionCall* _tmp758_ = NULL;
			ValaCCodeFunctionCall* _tmp759_ = NULL;
			ValaCCodeIdentifier* _tmp760_ = NULL;
			ValaCCodeIdentifier* _tmp761_ = NULL;
			ValaCCodeFunctionCall* _tmp762_ = NULL;
			ValaCCodeIdentifier* _tmp763_ = NULL;
			ValaCCodeIdentifier* _tmp764_ = NULL;
			ValaCCodeFunction* _tmp765_ = NULL;
			ValaCCodeFunction* _tmp766_ = NULL;
			ValaCCodeFunctionCall* _tmp767_ = NULL;
			ValaCCodeIdentifier* _tmp768_ = NULL;
			ValaCCodeIdentifier* _tmp769_ = NULL;
			ValaCCodeFunctionCall* _tmp770_ = NULL;
			ValaCCodeFunctionCall* _tmp771_ = NULL;
			ValaCCodeIdentifier* _tmp772_ = NULL;
			ValaCCodeIdentifier* _tmp773_ = NULL;
			ValaCCodeFunction* _tmp774_ = NULL;
			ValaCCodeFunction* _tmp775_ = NULL;
			ValaCCodeFunctionCall* _tmp776_ = NULL;
			_tmp756_ = vala_ccode_identifier_new ("g_dbus_message_set_unix_fd_list");
			_tmp757_ = _tmp756_;
			_tmp758_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp757_);
			_vala_ccode_node_unref0 (ccall);
			ccall = _tmp758_;
			_vala_ccode_node_unref0 (_tmp757_);
			_tmp759_ = ccall;
			_tmp760_ = vala_ccode_identifier_new ("_reply_message");
			_tmp761_ = _tmp760_;
			vala_ccode_function_call_add_argument (_tmp759_, (ValaCCodeExpression*) _tmp761_);
			_vala_ccode_node_unref0 (_tmp761_);
			_tmp762_ = ccall;
			_tmp763_ = vala_ccode_identifier_new ("_fd_list");
			_tmp764_ = _tmp763_;
			vala_ccode_function_call_add_argument (_tmp762_, (ValaCCodeExpression*) _tmp764_);
			_vala_ccode_node_unref0 (_tmp764_);
			_tmp765_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp766_ = _tmp765_;
			_tmp767_ = ccall;
			vala_ccode_function_add_expression (_tmp766_, (ValaCCodeExpression*) _tmp767_);
			_tmp768_ = vala_ccode_identifier_new ("g_object_unref");
			_tmp769_ = _tmp768_;
			_tmp770_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp769_);
			_vala_ccode_node_unref0 (ccall);
			ccall = _tmp770_;
			_vala_ccode_node_unref0 (_tmp769_);
			_tmp771_ = ccall;
			_tmp772_ = vala_ccode_identifier_new ("_fd_list");
			_tmp773_ = _tmp772_;
			vala_ccode_function_call_add_argument (_tmp771_, (ValaCCodeExpression*) _tmp773_);
			_vala_ccode_node_unref0 (_tmp773_);
			_tmp774_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp775_ = _tmp774_;
			_tmp776_ = ccall;
			vala_ccode_function_add_expression (_tmp775_, (ValaCCodeExpression*) _tmp776_);
		}
		_vala_ccode_node_unref0 (set_body);
		_vala_ccode_node_unref0 (builder_end);
		_vala_ccode_node_unref0 (builder_init);
		_vala_ccode_node_unref0 (message_expr);
	} else {
		ValaCCodeFunction* _tmp777_ = NULL;
		ValaCCodeFunction* _tmp778_ = NULL;
		ValaCCodeFunctionCall* _tmp779_ = NULL;
		_tmp777_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp778_ = _tmp777_;
		_tmp779_ = ccall;
		vala_ccode_function_add_expression (_tmp778_, (ValaCCodeExpression*) _tmp779_);
	}
	{
		ValaList* _param_list = NULL;
		ValaMethod* _tmp780_ = NULL;
		ValaList* _tmp781_ = NULL;
		gint _param_size = 0;
		ValaList* _tmp782_ = NULL;
		gint _tmp783_ = 0;
		gint _tmp784_ = 0;
		gint _param_index = 0;
		_tmp780_ = m;
		_tmp781_ = vala_method_get_parameters (_tmp780_);
		_param_list = _tmp781_;
		_tmp782_ = _param_list;
		_tmp783_ = vala_collection_get_size ((ValaCollection*) _tmp782_);
		_tmp784_ = _tmp783_;
		_param_size = _tmp784_;
		_param_index = -1;
		while (TRUE) {
			gint _tmp785_ = 0;
			gint _tmp786_ = 0;
			gint _tmp787_ = 0;
			ValaParameter* param = NULL;
			ValaList* _tmp788_ = NULL;
			gint _tmp789_ = 0;
			gpointer _tmp790_ = NULL;
			gboolean _tmp791_ = FALSE;
			gboolean _tmp792_ = FALSE;
			ValaParameter* _tmp793_ = NULL;
			ValaParameterDirection _tmp794_ = 0;
			ValaParameterDirection _tmp795_ = 0;
			_tmp785_ = _param_index;
			_param_index = _tmp785_ + 1;
			_tmp786_ = _param_index;
			_tmp787_ = _param_size;
			if (!(_tmp786_ < _tmp787_)) {
				break;
			}
			_tmp788_ = _param_list;
			_tmp789_ = _param_index;
			_tmp790_ = vala_list_get (_tmp788_, _tmp789_);
			param = (ValaParameter*) _tmp790_;
			_tmp793_ = param;
			_tmp794_ = vala_parameter_get_direction (_tmp793_);
			_tmp795_ = _tmp794_;
			if (_tmp795_ == VALA_PARAMETER_DIRECTION_IN) {
				gboolean _tmp796_ = FALSE;
				_tmp796_ = ready;
				_tmp792_ = !_tmp796_;
			} else {
				_tmp792_ = FALSE;
			}
			if (_tmp792_) {
				_tmp791_ = TRUE;
			} else {
				gboolean _tmp797_ = FALSE;
				gboolean _tmp798_ = FALSE;
				ValaParameter* _tmp799_ = NULL;
				ValaParameterDirection _tmp800_ = 0;
				ValaParameterDirection _tmp801_ = 0;
				_tmp799_ = param;
				_tmp800_ = vala_parameter_get_direction (_tmp799_);
				_tmp801_ = _tmp800_;
				if (_tmp801_ == VALA_PARAMETER_DIRECTION_OUT) {
					gboolean _tmp802_ = FALSE;
					_tmp802_ = no_reply;
					_tmp798_ = !_tmp802_;
				} else {
					_tmp798_ = FALSE;
				}
				if (_tmp798_) {
					gboolean _tmp803_ = FALSE;
					ValaMethod* _tmp804_ = NULL;
					gboolean _tmp805_ = FALSE;
					gboolean _tmp806_ = FALSE;
					_tmp804_ = m;
					_tmp805_ = vala_method_get_coroutine (_tmp804_);
					_tmp806_ = _tmp805_;
					if (!_tmp806_) {
						_tmp803_ = TRUE;
					} else {
						gboolean _tmp807_ = FALSE;
						_tmp807_ = ready;
						_tmp803_ = _tmp807_;
					}
					_tmp797_ = _tmp803_;
				} else {
					_tmp797_ = FALSE;
				}
				_tmp791_ = _tmp797_;
			}
			if (_tmp791_) {
				gboolean _tmp808_ = FALSE;
				ValaParameter* _tmp809_ = NULL;
				ValaDataType* _tmp810_ = NULL;
				ValaDataType* _tmp811_ = NULL;
				gboolean _tmp819_ = FALSE;
				ValaParameter* _tmp820_ = NULL;
				ValaDataType* _tmp821_ = NULL;
				ValaDataType* _tmp822_ = NULL;
				ValaDataType* owned_type = NULL;
				ValaParameter* _tmp830_ = NULL;
				ValaDataType* _tmp831_ = NULL;
				ValaDataType* _tmp832_ = NULL;
				ValaDataType* _tmp833_ = NULL;
				ValaDataType* _tmp834_ = NULL;
				ValaDataType* _tmp835_ = NULL;
				gboolean _tmp836_ = FALSE;
				_tmp809_ = param;
				_tmp810_ = vala_variable_get_variable_type ((ValaVariable*) _tmp809_);
				_tmp811_ = _tmp810_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp811_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp812_ = NULL;
					ValaDataType* _tmp813_ = NULL;
					ValaDataType* _tmp814_ = NULL;
					ValaTypeSymbol* _tmp815_ = NULL;
					ValaTypeSymbol* _tmp816_ = NULL;
					gchar* _tmp817_ = NULL;
					gchar* _tmp818_ = NULL;
					_tmp812_ = param;
					_tmp813_ = vala_variable_get_variable_type ((ValaVariable*) _tmp812_);
					_tmp814_ = _tmp813_;
					_tmp815_ = vala_data_type_get_data_type (_tmp814_);
					_tmp816_ = _tmp815_;
					_tmp817_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp816_);
					_tmp818_ = _tmp817_;
					_tmp808_ = g_strcmp0 (_tmp818_, "GLib.Cancellable") == 0;
					_g_free0 (_tmp818_);
				} else {
					_tmp808_ = FALSE;
				}
				if (_tmp808_) {
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp820_ = param;
				_tmp821_ = vala_variable_get_variable_type ((ValaVariable*) _tmp820_);
				_tmp822_ = _tmp821_;
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp822_, VALA_TYPE_OBJECT_TYPE)) {
					ValaParameter* _tmp823_ = NULL;
					ValaDataType* _tmp824_ = NULL;
					ValaDataType* _tmp825_ = NULL;
					ValaTypeSymbol* _tmp826_ = NULL;
					ValaTypeSymbol* _tmp827_ = NULL;
					gchar* _tmp828_ = NULL;
					gchar* _tmp829_ = NULL;
					_tmp823_ = param;
					_tmp824_ = vala_variable_get_variable_type ((ValaVariable*) _tmp823_);
					_tmp825_ = _tmp824_;
					_tmp826_ = vala_data_type_get_data_type (_tmp825_);
					_tmp827_ = _tmp826_;
					_tmp828_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp827_);
					_tmp829_ = _tmp828_;
					_tmp819_ = g_strcmp0 (_tmp829_, "GLib.BusName") == 0;
					_g_free0 (_tmp829_);
				} else {
					_tmp819_ = FALSE;
				}
				if (_tmp819_) {
					_vala_code_node_unref0 (param);
					continue;
				}
				_tmp830_ = param;
				_tmp831_ = vala_variable_get_variable_type ((ValaVariable*) _tmp830_);
				_tmp832_ = _tmp831_;
				_tmp833_ = vala_data_type_copy (_tmp832_);
				owned_type = _tmp833_;
				_tmp834_ = owned_type;
				vala_data_type_set_value_owned (_tmp834_, TRUE);
				_tmp835_ = owned_type;
				_tmp836_ = vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, _tmp835_);
				if (_tmp836_) {
					ValaLocalVariable* local = NULL;
					ValaDataType* _tmp837_ = NULL;
					ValaParameter* _tmp838_ = NULL;
					const gchar* _tmp839_ = NULL;
					const gchar* _tmp840_ = NULL;
					gchar* _tmp841_ = NULL;
					gchar* _tmp842_ = NULL;
					ValaLocalVariable* _tmp843_ = NULL;
					ValaLocalVariable* _tmp844_ = NULL;
					ValaCCodeFunction* _tmp845_ = NULL;
					ValaCCodeFunction* _tmp846_ = NULL;
					ValaLocalVariable* _tmp847_ = NULL;
					ValaCCodeExpression* _tmp848_ = NULL;
					ValaCCodeExpression* _tmp849_ = NULL;
					_tmp837_ = owned_type;
					_tmp838_ = param;
					_tmp839_ = vala_symbol_get_name ((ValaSymbol*) _tmp838_);
					_tmp840_ = _tmp839_;
					_tmp841_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp840_);
					_tmp842_ = _tmp841_;
					_tmp843_ = vala_local_variable_new (_tmp837_, _tmp842_, NULL, NULL);
					_tmp844_ = _tmp843_;
					_g_free0 (_tmp842_);
					local = _tmp844_;
					_tmp845_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
					_tmp846_ = _tmp845_;
					_tmp847_ = local;
					_tmp848_ = vala_ccode_base_module_destroy_local ((ValaCCodeBaseModule*) self, _tmp847_);
					_tmp849_ = _tmp848_;
					vala_ccode_function_add_expression (_tmp846_, _tmp849_);
					_vala_ccode_node_unref0 (_tmp849_);
					_vala_code_node_unref0 (local);
				}
				_vala_code_node_unref0 (owned_type);
			}
			_vala_code_node_unref0 (param);
		}
		_vala_iterable_unref0 (_param_list);
	}
	_tmp851_ = no_reply;
	if (!_tmp851_) {
		gboolean _tmp852_ = FALSE;
		ValaMethod* _tmp853_ = NULL;
		gboolean _tmp854_ = FALSE;
		gboolean _tmp855_ = FALSE;
		_tmp853_ = m;
		_tmp854_ = vala_method_get_coroutine (_tmp853_);
		_tmp855_ = _tmp854_;
		if (!_tmp855_) {
			_tmp852_ = TRUE;
		} else {
			gboolean _tmp856_ = FALSE;
			_tmp856_ = ready;
			_tmp852_ = _tmp856_;
		}
		_tmp850_ = _tmp852_;
	} else {
		_tmp850_ = FALSE;
	}
	if (_tmp850_) {
		ValaCCodeFunctionCall* return_value = NULL;
		ValaCCodeIdentifier* _tmp857_ = NULL;
		ValaCCodeIdentifier* _tmp858_ = NULL;
		ValaCCodeFunctionCall* _tmp859_ = NULL;
		ValaCCodeFunctionCall* _tmp860_ = NULL;
		ValaCCodeFunctionCall* _tmp861_ = NULL;
		ValaCCodeFunctionCall* _tmp862_ = NULL;
		ValaCCodeFunctionCall* _tmp863_ = NULL;
		ValaCCodeIdentifier* _tmp864_ = NULL;
		ValaCCodeIdentifier* _tmp865_ = NULL;
		ValaCCodeFunctionCall* _tmp866_ = NULL;
		ValaCCodeConstant* _tmp867_ = NULL;
		ValaCCodeConstant* _tmp868_ = NULL;
		ValaCCodeFunctionCall* _tmp869_ = NULL;
		ValaCCodeConstant* _tmp870_ = NULL;
		ValaCCodeConstant* _tmp871_ = NULL;
		ValaCCodeFunctionCall* _tmp872_ = NULL;
		ValaCCodeConstant* _tmp873_ = NULL;
		ValaCCodeConstant* _tmp874_ = NULL;
		ValaCCodeFunction* _tmp875_ = NULL;
		ValaCCodeFunction* _tmp876_ = NULL;
		ValaCCodeFunctionCall* _tmp877_ = NULL;
		ValaCCodeFunctionCall* unref_call = NULL;
		ValaCCodeIdentifier* _tmp878_ = NULL;
		ValaCCodeIdentifier* _tmp879_ = NULL;
		ValaCCodeFunctionCall* _tmp880_ = NULL;
		ValaCCodeFunctionCall* _tmp881_ = NULL;
		ValaCCodeFunctionCall* _tmp882_ = NULL;
		ValaCCodeIdentifier* _tmp883_ = NULL;
		ValaCCodeIdentifier* _tmp884_ = NULL;
		ValaCCodeFunction* _tmp885_ = NULL;
		ValaCCodeFunction* _tmp886_ = NULL;
		ValaCCodeFunctionCall* _tmp887_ = NULL;
		ValaCCodeIdentifier* _tmp888_ = NULL;
		ValaCCodeIdentifier* _tmp889_ = NULL;
		ValaCCodeFunctionCall* _tmp890_ = NULL;
		ValaCCodeFunctionCall* _tmp891_ = NULL;
		ValaCCodeIdentifier* _tmp892_ = NULL;
		ValaCCodeIdentifier* _tmp893_ = NULL;
		ValaCCodeFunction* _tmp894_ = NULL;
		ValaCCodeFunction* _tmp895_ = NULL;
		ValaCCodeFunctionCall* _tmp896_ = NULL;
		_tmp857_ = vala_ccode_identifier_new ("g_dbus_connection_send_message");
		_tmp858_ = _tmp857_;
		_tmp859_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp858_);
		_tmp860_ = _tmp859_;
		_vala_ccode_node_unref0 (_tmp858_);
		return_value = _tmp860_;
		_tmp861_ = return_value;
		_tmp862_ = connection;
		vala_ccode_function_call_add_argument (_tmp861_, (ValaCCodeExpression*) _tmp862_);
		_tmp863_ = return_value;
		_tmp864_ = vala_ccode_identifier_new ("_reply_message");
		_tmp865_ = _tmp864_;
		vala_ccode_function_call_add_argument (_tmp863_, (ValaCCodeExpression*) _tmp865_);
		_vala_ccode_node_unref0 (_tmp865_);
		_tmp866_ = return_value;
		_tmp867_ = vala_ccode_constant_new ("G_DBUS_SEND_MESSAGE_FLAGS_NONE");
		_tmp868_ = _tmp867_;
		vala_ccode_function_call_add_argument (_tmp866_, (ValaCCodeExpression*) _tmp868_);
		_vala_ccode_node_unref0 (_tmp868_);
		_tmp869_ = return_value;
		_tmp870_ = vala_ccode_constant_new ("NULL");
		_tmp871_ = _tmp870_;
		vala_ccode_function_call_add_argument (_tmp869_, (ValaCCodeExpression*) _tmp871_);
		_vala_ccode_node_unref0 (_tmp871_);
		_tmp872_ = return_value;
		_tmp873_ = vala_ccode_constant_new ("NULL");
		_tmp874_ = _tmp873_;
		vala_ccode_function_call_add_argument (_tmp872_, (ValaCCodeExpression*) _tmp874_);
		_vala_ccode_node_unref0 (_tmp874_);
		_tmp875_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp876_ = _tmp875_;
		_tmp877_ = return_value;
		vala_ccode_function_add_expression (_tmp876_, (ValaCCodeExpression*) _tmp877_);
		_tmp878_ = vala_ccode_identifier_new ("g_object_unref");
		_tmp879_ = _tmp878_;
		_tmp880_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp879_);
		_tmp881_ = _tmp880_;
		_vala_ccode_node_unref0 (_tmp879_);
		unref_call = _tmp881_;
		_tmp882_ = unref_call;
		_tmp883_ = vala_ccode_identifier_new ("invocation");
		_tmp884_ = _tmp883_;
		vala_ccode_function_call_add_argument (_tmp882_, (ValaCCodeExpression*) _tmp884_);
		_vala_ccode_node_unref0 (_tmp884_);
		_tmp885_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp886_ = _tmp885_;
		_tmp887_ = unref_call;
		vala_ccode_function_add_expression (_tmp886_, (ValaCCodeExpression*) _tmp887_);
		_tmp888_ = vala_ccode_identifier_new ("g_object_unref");
		_tmp889_ = _tmp888_;
		_tmp890_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp889_);
		_vala_ccode_node_unref0 (unref_call);
		unref_call = _tmp890_;
		_vala_ccode_node_unref0 (_tmp889_);
		_tmp891_ = unref_call;
		_tmp892_ = vala_ccode_identifier_new ("_reply_message");
		_tmp893_ = _tmp892_;
		vala_ccode_function_call_add_argument (_tmp891_, (ValaCCodeExpression*) _tmp893_);
		_vala_ccode_node_unref0 (_tmp893_);
		_tmp894_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp895_ = _tmp894_;
		_tmp896_ = unref_call;
		vala_ccode_function_add_expression (_tmp895_, (ValaCCodeExpression*) _tmp896_);
		_vala_ccode_node_unref0 (unref_call);
		_vala_ccode_node_unref0 (return_value);
	}
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp897_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp898_ = function;
	vala_ccode_file_add_function_declaration (_tmp897_, _tmp898_);
	_tmp899_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp900_ = function;
	vala_ccode_file_add_function (_tmp899_, _tmp900_);
	_tmp902_ = m;
	_tmp903_ = vala_method_get_coroutine (_tmp902_);
	_tmp904_ = _tmp903_;
	if (_tmp904_) {
		gboolean _tmp905_ = FALSE;
		_tmp905_ = ready;
		_tmp901_ = !_tmp905_;
	} else {
		_tmp901_ = FALSE;
	}
	if (_tmp901_) {
		ValaMethod* _tmp906_ = NULL;
		ValaObjectTypeSymbol* _tmp907_ = NULL;
		gchar* _tmp908_ = NULL;
		gchar* _tmp909_ = NULL;
		_tmp906_ = m;
		_tmp907_ = sym;
		_tmp908_ = vala_gd_bus_server_module_generate_dbus_wrapper (self, _tmp906_, _tmp907_, TRUE);
		_tmp909_ = _tmp908_;
		_g_free0 (_tmp909_);
	}
	result = wrapper_name;
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (connection);
	_vala_ccode_node_unref0 (function);
	return result;
}


static gchar* vala_gd_bus_server_module_generate_dbus_signal_wrapper (ValaGDBusServerModule* self, ValaSignal* sig, ValaObjectTypeSymbol* sym, const gchar* dbus_iface_name) {
	gchar* result = NULL;
	gchar* wrapper_name = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	ValaSignal* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	ValaCCodeFunction* function = NULL;
	const gchar* _tmp8_ = NULL;
	ValaCCodeFunction* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeFunction* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeParameter* _tmp13_ = NULL;
	ValaCCodeFunction* _tmp56_ = NULL;
	ValaCCodeParameter* _tmp57_ = NULL;
	ValaCCodeParameter* _tmp58_ = NULL;
	ValaCCodeFunction* _tmp59_ = NULL;
	ValaCCodeFunction* _tmp60_ = NULL;
	ValaCCodeFunction* _tmp61_ = NULL;
	ValaCCodeIdentifier* _tmp62_ = NULL;
	ValaCCodeIdentifier* _tmp63_ = NULL;
	ValaCCodeConstant* _tmp64_ = NULL;
	ValaCCodeConstant* _tmp65_ = NULL;
	ValaCCodeElementAccess* _tmp66_ = NULL;
	ValaCCodeElementAccess* _tmp67_ = NULL;
	ValaCCodeVariableDeclarator* _tmp68_ = NULL;
	ValaCCodeVariableDeclarator* _tmp69_ = NULL;
	ValaCCodeFunction* _tmp70_ = NULL;
	ValaCCodeFunction* _tmp71_ = NULL;
	ValaCCodeIdentifier* _tmp72_ = NULL;
	ValaCCodeIdentifier* _tmp73_ = NULL;
	ValaCCodeConstant* _tmp74_ = NULL;
	ValaCCodeConstant* _tmp75_ = NULL;
	ValaCCodeElementAccess* _tmp76_ = NULL;
	ValaCCodeElementAccess* _tmp77_ = NULL;
	ValaCCodeVariableDeclarator* _tmp78_ = NULL;
	ValaCCodeVariableDeclarator* _tmp79_ = NULL;
	ValaCCodeFunction* _tmp80_ = NULL;
	ValaCCodeFunction* _tmp81_ = NULL;
	ValaCCodeVariableDeclarator* _tmp82_ = NULL;
	ValaCCodeVariableDeclarator* _tmp83_ = NULL;
	ValaCCodeFunction* _tmp84_ = NULL;
	ValaCCodeFunction* _tmp85_ = NULL;
	ValaCCodeVariableDeclarator* _tmp86_ = NULL;
	ValaCCodeVariableDeclarator* _tmp87_ = NULL;
	ValaCCodeFunctionCall* builder_init = NULL;
	ValaCCodeIdentifier* _tmp88_ = NULL;
	ValaCCodeIdentifier* _tmp89_ = NULL;
	ValaCCodeFunctionCall* _tmp90_ = NULL;
	ValaCCodeFunctionCall* _tmp91_ = NULL;
	ValaCCodeFunctionCall* _tmp92_ = NULL;
	ValaCCodeIdentifier* _tmp93_ = NULL;
	ValaCCodeIdentifier* _tmp94_ = NULL;
	ValaCCodeUnaryExpression* _tmp95_ = NULL;
	ValaCCodeUnaryExpression* _tmp96_ = NULL;
	ValaCCodeFunctionCall* _tmp97_ = NULL;
	ValaCCodeIdentifier* _tmp98_ = NULL;
	ValaCCodeIdentifier* _tmp99_ = NULL;
	ValaCCodeFunction* _tmp100_ = NULL;
	ValaCCodeFunction* _tmp101_ = NULL;
	ValaCCodeFunctionCall* _tmp102_ = NULL;
	ValaCCodeFunctionCall* builder_end = NULL;
	ValaCCodeIdentifier* _tmp133_ = NULL;
	ValaCCodeIdentifier* _tmp134_ = NULL;
	ValaCCodeFunctionCall* _tmp135_ = NULL;
	ValaCCodeFunctionCall* _tmp136_ = NULL;
	ValaCCodeIdentifier* _tmp137_ = NULL;
	ValaCCodeIdentifier* _tmp138_ = NULL;
	ValaCCodeUnaryExpression* _tmp139_ = NULL;
	ValaCCodeUnaryExpression* _tmp140_ = NULL;
	ValaCCodeFunction* _tmp141_ = NULL;
	ValaCCodeFunction* _tmp142_ = NULL;
	ValaCCodeIdentifier* _tmp143_ = NULL;
	ValaCCodeIdentifier* _tmp144_ = NULL;
	ValaCCodeFunctionCall* ccall = NULL;
	ValaCCodeIdentifier* _tmp145_ = NULL;
	ValaCCodeIdentifier* _tmp146_ = NULL;
	ValaCCodeFunctionCall* _tmp147_ = NULL;
	ValaCCodeFunctionCall* _tmp148_ = NULL;
	ValaCCodeIdentifier* _tmp149_ = NULL;
	ValaCCodeIdentifier* _tmp150_ = NULL;
	ValaCCodeConstant* _tmp151_ = NULL;
	ValaCCodeConstant* _tmp152_ = NULL;
	ValaCCodeIdentifier* _tmp153_ = NULL;
	ValaCCodeIdentifier* _tmp154_ = NULL;
	const gchar* _tmp155_ = NULL;
	gchar* _tmp156_ = NULL;
	gchar* _tmp157_ = NULL;
	ValaCCodeConstant* _tmp158_ = NULL;
	ValaCCodeConstant* _tmp159_ = NULL;
	ValaSignal* _tmp160_ = NULL;
	gchar* _tmp161_ = NULL;
	gchar* _tmp162_ = NULL;
	gchar* _tmp163_ = NULL;
	gchar* _tmp164_ = NULL;
	ValaCCodeConstant* _tmp165_ = NULL;
	ValaCCodeConstant* _tmp166_ = NULL;
	ValaCCodeIdentifier* _tmp167_ = NULL;
	ValaCCodeIdentifier* _tmp168_ = NULL;
	ValaCCodeConstant* _tmp169_ = NULL;
	ValaCCodeConstant* _tmp170_ = NULL;
	ValaCCodeFunction* _tmp171_ = NULL;
	ValaCCodeFunction* _tmp172_ = NULL;
	ValaCCodeFile* _tmp173_ = NULL;
	ValaCCodeFunction* _tmp174_ = NULL;
	ValaCCodeFile* _tmp175_ = NULL;
	ValaCCodeFunction* _tmp176_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (sig != NULL, NULL);
	g_return_val_if_fail (sym != NULL, NULL);
	g_return_val_if_fail (dbus_iface_name != NULL, NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp0_, NULL);
	_tmp2_ = _tmp1_;
	_tmp3_ = sig;
	_tmp4_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = g_strdup_printf ("_dbus_%s_%s", _tmp2_, _tmp5_);
	_tmp7_ = _tmp6_;
	_g_free0 (_tmp5_);
	_g_free0 (_tmp2_);
	wrapper_name = _tmp7_;
	_tmp8_ = wrapper_name;
	_tmp9_ = vala_ccode_function_new (_tmp8_, "void");
	function = _tmp9_;
	_tmp10_ = function;
	vala_ccode_function_set_modifiers (_tmp10_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp11_ = function;
	_tmp12_ = vala_ccode_parameter_new ("_sender", "GObject*");
	_tmp13_ = _tmp12_;
	vala_ccode_function_add_parameter (_tmp11_, _tmp13_);
	_vala_ccode_node_unref0 (_tmp13_);
	{
		ValaList* _param_list = NULL;
		ValaSignal* _tmp14_ = NULL;
		ValaList* _tmp15_ = NULL;
		gint _param_size = 0;
		ValaList* _tmp16_ = NULL;
		gint _tmp17_ = 0;
		gint _tmp18_ = 0;
		gint _param_index = 0;
		_tmp14_ = sig;
		_tmp15_ = vala_signal_get_parameters (_tmp14_);
		_param_list = _tmp15_;
		_tmp16_ = _param_list;
		_tmp17_ = vala_collection_get_size ((ValaCollection*) _tmp16_);
		_tmp18_ = _tmp17_;
		_param_size = _tmp18_;
		_param_index = -1;
		while (TRUE) {
			gint _tmp19_ = 0;
			gint _tmp20_ = 0;
			gint _tmp21_ = 0;
			ValaParameter* param = NULL;
			ValaList* _tmp22_ = NULL;
			gint _tmp23_ = 0;
			gpointer _tmp24_ = NULL;
			ValaCCodeParameter* cparam = NULL;
			ValaParameter* _tmp25_ = NULL;
			ValaCCodeFile* _tmp26_ = NULL;
			GHashFunc _tmp27_ = NULL;
			GEqualFunc _tmp28_ = NULL;
			GEqualFunc _tmp29_ = NULL;
			ValaHashMap* _tmp30_ = NULL;
			ValaHashMap* _tmp31_ = NULL;
			ValaCCodeParameter* _tmp32_ = NULL;
			ValaCCodeParameter* _tmp33_ = NULL;
			ValaCCodeFunction* _tmp34_ = NULL;
			ValaCCodeParameter* _tmp35_ = NULL;
			ValaParameter* _tmp36_ = NULL;
			ValaDataType* _tmp37_ = NULL;
			ValaDataType* _tmp38_ = NULL;
			_tmp19_ = _param_index;
			_param_index = _tmp19_ + 1;
			_tmp20_ = _param_index;
			_tmp21_ = _param_size;
			if (!(_tmp20_ < _tmp21_)) {
				break;
			}
			_tmp22_ = _param_list;
			_tmp23_ = _param_index;
			_tmp24_ = vala_list_get (_tmp22_, _tmp23_);
			param = (ValaParameter*) _tmp24_;
			_tmp25_ = param;
			_tmp26_ = ((ValaCCodeBaseModule*) self)->cfile;
			_tmp27_ = g_direct_hash;
			_tmp28_ = g_direct_equal;
			_tmp29_ = g_direct_equal;
			_tmp30_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_PARAMETER, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, _tmp27_, _tmp28_, _tmp29_);
			_tmp31_ = _tmp30_;
			_tmp32_ = vala_ccode_method_module_generate_parameter ((ValaCCodeMethodModule*) self, _tmp25_, _tmp26_, (ValaMap*) _tmp31_, NULL);
			_tmp33_ = _tmp32_;
			_vala_map_unref0 (_tmp31_);
			cparam = _tmp33_;
			_tmp34_ = function;
			_tmp35_ = cparam;
			vala_ccode_function_add_parameter (_tmp34_, _tmp35_);
			_tmp36_ = param;
			_tmp37_ = vala_variable_get_variable_type ((ValaVariable*) _tmp36_);
			_tmp38_ = _tmp37_;
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp38_, VALA_TYPE_ARRAY_TYPE)) {
				ValaArrayType* array_type = NULL;
				ValaParameter* _tmp39_ = NULL;
				ValaDataType* _tmp40_ = NULL;
				ValaDataType* _tmp41_ = NULL;
				ValaArrayType* _tmp42_ = NULL;
				_tmp39_ = param;
				_tmp40_ = vala_variable_get_variable_type ((ValaVariable*) _tmp39_);
				_tmp41_ = _tmp40_;
				_tmp42_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, VALA_TYPE_ARRAY_TYPE, ValaArrayType));
				array_type = _tmp42_;
				{
					gint dim = 0;
					dim = 1;
					{
						gboolean _tmp43_ = FALSE;
						_tmp43_ = TRUE;
						while (TRUE) {
							gint _tmp45_ = 0;
							ValaArrayType* _tmp46_ = NULL;
							gint _tmp47_ = 0;
							gint _tmp48_ = 0;
							ValaCCodeFunction* _tmp49_ = NULL;
							ValaParameter* _tmp50_ = NULL;
							gint _tmp51_ = 0;
							gchar* _tmp52_ = NULL;
							gchar* _tmp53_ = NULL;
							ValaCCodeParameter* _tmp54_ = NULL;
							ValaCCodeParameter* _tmp55_ = NULL;
							if (!_tmp43_) {
								gint _tmp44_ = 0;
								_tmp44_ = dim;
								dim = _tmp44_ + 1;
							}
							_tmp43_ = FALSE;
							_tmp45_ = dim;
							_tmp46_ = array_type;
							_tmp47_ = vala_array_type_get_rank (_tmp46_);
							_tmp48_ = _tmp47_;
							if (!(_tmp45_ <= _tmp48_)) {
								break;
							}
							_tmp49_ = function;
							_tmp50_ = param;
							_tmp51_ = dim;
							_tmp52_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp50_, _tmp51_);
							_tmp53_ = _tmp52_;
							_tmp54_ = vala_ccode_parameter_new (_tmp53_, "int");
							_tmp55_ = _tmp54_;
							vala_ccode_function_add_parameter (_tmp49_, _tmp55_);
							_vala_ccode_node_unref0 (_tmp55_);
							_g_free0 (_tmp53_);
						}
					}
				}
				_vala_code_node_unref0 (array_type);
			}
			_vala_ccode_node_unref0 (cparam);
			_vala_code_node_unref0 (param);
		}
		_vala_iterable_unref0 (_param_list);
	}
	_tmp56_ = function;
	_tmp57_ = vala_ccode_parameter_new ("_data", "gpointer*");
	_tmp58_ = _tmp57_;
	vala_ccode_function_add_parameter (_tmp56_, _tmp58_);
	_vala_ccode_node_unref0 (_tmp58_);
	_tmp59_ = function;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp59_);
	_tmp60_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp61_ = _tmp60_;
	_tmp62_ = vala_ccode_identifier_new ("_data");
	_tmp63_ = _tmp62_;
	_tmp64_ = vala_ccode_constant_new ("1");
	_tmp65_ = _tmp64_;
	_tmp66_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp63_, (ValaCCodeExpression*) _tmp65_);
	_tmp67_ = _tmp66_;
	_tmp68_ = vala_ccode_variable_declarator_new ("_connection", (ValaCCodeExpression*) _tmp67_, NULL);
	_tmp69_ = _tmp68_;
	vala_ccode_function_add_declaration (_tmp61_, "GDBusConnection *", (ValaCCodeDeclarator*) _tmp69_, 0);
	_vala_ccode_node_unref0 (_tmp69_);
	_vala_ccode_node_unref0 (_tmp67_);
	_vala_ccode_node_unref0 (_tmp65_);
	_vala_ccode_node_unref0 (_tmp63_);
	_tmp70_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp71_ = _tmp70_;
	_tmp72_ = vala_ccode_identifier_new ("_data");
	_tmp73_ = _tmp72_;
	_tmp74_ = vala_ccode_constant_new ("2");
	_tmp75_ = _tmp74_;
	_tmp76_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp73_, (ValaCCodeExpression*) _tmp75_);
	_tmp77_ = _tmp76_;
	_tmp78_ = vala_ccode_variable_declarator_new ("_path", (ValaCCodeExpression*) _tmp77_, NULL);
	_tmp79_ = _tmp78_;
	vala_ccode_function_add_declaration (_tmp71_, "const gchar *", (ValaCCodeDeclarator*) _tmp79_, 0);
	_vala_ccode_node_unref0 (_tmp79_);
	_vala_ccode_node_unref0 (_tmp77_);
	_vala_ccode_node_unref0 (_tmp75_);
	_vala_ccode_node_unref0 (_tmp73_);
	_tmp80_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp81_ = _tmp80_;
	_tmp82_ = vala_ccode_variable_declarator_new ("*_arguments", NULL, NULL);
	_tmp83_ = _tmp82_;
	vala_ccode_function_add_declaration (_tmp81_, "GVariant", (ValaCCodeDeclarator*) _tmp83_, 0);
	_vala_ccode_node_unref0 (_tmp83_);
	_tmp84_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp85_ = _tmp84_;
	_tmp86_ = vala_ccode_variable_declarator_new ("_arguments_builder", NULL, NULL);
	_tmp87_ = _tmp86_;
	vala_ccode_function_add_declaration (_tmp85_, "GVariantBuilder", (ValaCCodeDeclarator*) _tmp87_, 0);
	_vala_ccode_node_unref0 (_tmp87_);
	_tmp88_ = vala_ccode_identifier_new ("g_variant_builder_init");
	_tmp89_ = _tmp88_;
	_tmp90_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp89_);
	_tmp91_ = _tmp90_;
	_vala_ccode_node_unref0 (_tmp89_);
	builder_init = _tmp91_;
	_tmp92_ = builder_init;
	_tmp93_ = vala_ccode_identifier_new ("_arguments_builder");
	_tmp94_ = _tmp93_;
	_tmp95_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp94_);
	_tmp96_ = _tmp95_;
	vala_ccode_function_call_add_argument (_tmp92_, (ValaCCodeExpression*) _tmp96_);
	_vala_ccode_node_unref0 (_tmp96_);
	_vala_ccode_node_unref0 (_tmp94_);
	_tmp97_ = builder_init;
	_tmp98_ = vala_ccode_identifier_new ("G_VARIANT_TYPE_TUPLE");
	_tmp99_ = _tmp98_;
	vala_ccode_function_call_add_argument (_tmp97_, (ValaCCodeExpression*) _tmp99_);
	_vala_ccode_node_unref0 (_tmp99_);
	_tmp100_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp101_ = _tmp100_;
	_tmp102_ = builder_init;
	vala_ccode_function_add_expression (_tmp101_, (ValaCCodeExpression*) _tmp102_);
	{
		ValaList* _param_list = NULL;
		ValaSignal* _tmp103_ = NULL;
		ValaList* _tmp104_ = NULL;
		gint _param_size = 0;
		ValaList* _tmp105_ = NULL;
		gint _tmp106_ = 0;
		gint _tmp107_ = 0;
		gint _param_index = 0;
		_tmp103_ = sig;
		_tmp104_ = vala_signal_get_parameters (_tmp103_);
		_param_list = _tmp104_;
		_tmp105_ = _param_list;
		_tmp106_ = vala_collection_get_size ((ValaCollection*) _tmp105_);
		_tmp107_ = _tmp106_;
		_param_size = _tmp107_;
		_param_index = -1;
		while (TRUE) {
			gint _tmp108_ = 0;
			gint _tmp109_ = 0;
			gint _tmp110_ = 0;
			ValaParameter* param = NULL;
			ValaList* _tmp111_ = NULL;
			gint _tmp112_ = 0;
			gpointer _tmp113_ = NULL;
			gchar* param_name = NULL;
			ValaParameter* _tmp114_ = NULL;
			const gchar* _tmp115_ = NULL;
			const gchar* _tmp116_ = NULL;
			gchar* _tmp117_ = NULL;
			ValaCCodeExpression* expr = NULL;
			const gchar* _tmp118_ = NULL;
			ValaCCodeIdentifier* _tmp119_ = NULL;
			ValaParameter* _tmp120_ = NULL;
			ValaDataType* _tmp121_ = NULL;
			ValaDataType* _tmp122_ = NULL;
			gboolean _tmp123_ = FALSE;
			ValaParameter* _tmp126_ = NULL;
			ValaDataType* _tmp127_ = NULL;
			ValaDataType* _tmp128_ = NULL;
			ValaCCodeIdentifier* _tmp129_ = NULL;
			ValaCCodeIdentifier* _tmp130_ = NULL;
			ValaCCodeExpression* _tmp131_ = NULL;
			ValaParameter* _tmp132_ = NULL;
			_tmp108_ = _param_index;
			_param_index = _tmp108_ + 1;
			_tmp109_ = _param_index;
			_tmp110_ = _param_size;
			if (!(_tmp109_ < _tmp110_)) {
				break;
			}
			_tmp111_ = _param_list;
			_tmp112_ = _param_index;
			_tmp113_ = vala_list_get (_tmp111_, _tmp112_);
			param = (ValaParameter*) _tmp113_;
			_tmp114_ = param;
			_tmp115_ = vala_symbol_get_name ((ValaSymbol*) _tmp114_);
			_tmp116_ = _tmp115_;
			_tmp117_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp116_);
			param_name = _tmp117_;
			_tmp118_ = param_name;
			_tmp119_ = vala_ccode_identifier_new (_tmp118_);
			expr = (ValaCCodeExpression*) _tmp119_;
			_tmp120_ = param;
			_tmp121_ = vala_variable_get_variable_type ((ValaVariable*) _tmp120_);
			_tmp122_ = _tmp121_;
			_tmp123_ = vala_data_type_is_real_struct_type (_tmp122_);
			if (_tmp123_) {
				ValaCCodeExpression* _tmp124_ = NULL;
				ValaCCodeUnaryExpression* _tmp125_ = NULL;
				_tmp124_ = expr;
				_tmp125_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, _tmp124_);
				_vala_ccode_node_unref0 (expr);
				expr = (ValaCCodeExpression*) _tmp125_;
			}
			_tmp126_ = param;
			_tmp127_ = vala_variable_get_variable_type ((ValaVariable*) _tmp126_);
			_tmp128_ = _tmp127_;
			_tmp129_ = vala_ccode_identifier_new ("_arguments_builder");
			_tmp130_ = _tmp129_;
			_tmp131_ = expr;
			_tmp132_ = param;
			vala_gvariant_module_write_expression ((ValaGVariantModule*) self, _tmp128_, (ValaCCodeExpression*) _tmp130_, _tmp131_, (ValaSymbol*) _tmp132_);
			_vala_ccode_node_unref0 (_tmp130_);
			_vala_ccode_node_unref0 (expr);
			_g_free0 (param_name);
			_vala_code_node_unref0 (param);
		}
		_vala_iterable_unref0 (_param_list);
	}
	_tmp133_ = vala_ccode_identifier_new ("g_variant_builder_end");
	_tmp134_ = _tmp133_;
	_tmp135_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp134_);
	_tmp136_ = _tmp135_;
	_vala_ccode_node_unref0 (_tmp134_);
	builder_end = _tmp136_;
	_tmp137_ = vala_ccode_identifier_new ("_arguments_builder");
	_tmp138_ = _tmp137_;
	_tmp139_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp138_);
	_tmp140_ = _tmp139_;
	vala_ccode_function_call_add_argument (builder_end, (ValaCCodeExpression*) _tmp140_);
	_vala_ccode_node_unref0 (_tmp140_);
	_vala_ccode_node_unref0 (_tmp138_);
	_tmp141_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp142_ = _tmp141_;
	_tmp143_ = vala_ccode_identifier_new ("_arguments");
	_tmp144_ = _tmp143_;
	vala_ccode_function_add_assignment (_tmp142_, (ValaCCodeExpression*) _tmp144_, (ValaCCodeExpression*) builder_end);
	_vala_ccode_node_unref0 (_tmp144_);
	_tmp145_ = vala_ccode_identifier_new ("g_dbus_connection_emit_signal");
	_tmp146_ = _tmp145_;
	_tmp147_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp146_);
	_tmp148_ = _tmp147_;
	_vala_ccode_node_unref0 (_tmp146_);
	ccall = _tmp148_;
	_tmp149_ = vala_ccode_identifier_new ("_connection");
	_tmp150_ = _tmp149_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp150_);
	_vala_ccode_node_unref0 (_tmp150_);
	_tmp151_ = vala_ccode_constant_new ("NULL");
	_tmp152_ = _tmp151_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp152_);
	_vala_ccode_node_unref0 (_tmp152_);
	_tmp153_ = vala_ccode_identifier_new ("_path");
	_tmp154_ = _tmp153_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp154_);
	_vala_ccode_node_unref0 (_tmp154_);
	_tmp155_ = dbus_iface_name;
	_tmp156_ = g_strdup_printf ("\"%s\"", _tmp155_);
	_tmp157_ = _tmp156_;
	_tmp158_ = vala_ccode_constant_new (_tmp157_);
	_tmp159_ = _tmp158_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp159_);
	_vala_ccode_node_unref0 (_tmp159_);
	_g_free0 (_tmp157_);
	_tmp160_ = sig;
	_tmp161_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp160_);
	_tmp162_ = _tmp161_;
	_tmp163_ = g_strdup_printf ("\"%s\"", _tmp162_);
	_tmp164_ = _tmp163_;
	_tmp165_ = vala_ccode_constant_new (_tmp164_);
	_tmp166_ = _tmp165_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp166_);
	_vala_ccode_node_unref0 (_tmp166_);
	_g_free0 (_tmp164_);
	_g_free0 (_tmp162_);
	_tmp167_ = vala_ccode_identifier_new ("_arguments");
	_tmp168_ = _tmp167_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp168_);
	_vala_ccode_node_unref0 (_tmp168_);
	_tmp169_ = vala_ccode_constant_new ("NULL");
	_tmp170_ = _tmp169_;
	vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp170_);
	_vala_ccode_node_unref0 (_tmp170_);
	_tmp171_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp172_ = _tmp171_;
	vala_ccode_function_add_expression (_tmp172_, (ValaCCodeExpression*) ccall);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp173_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp174_ = function;
	vala_ccode_file_add_function_declaration (_tmp173_, _tmp174_);
	_tmp175_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp176_ = function;
	vala_ccode_file_add_function (_tmp175_, _tmp176_);
	result = wrapper_name;
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (builder_end);
	_vala_ccode_node_unref0 (builder_init);
	_vala_ccode_node_unref0 (function);
	return result;
}


static gchar* vala_gd_bus_server_module_generate_dbus_property_get_wrapper (ValaGDBusServerModule* self, ValaProperty* prop, ValaObjectTypeSymbol* sym) {
	gchar* result = NULL;
	gchar* wrapper_name = NULL;
	ValaProperty* _tmp0_ = NULL;
	ValaPropertyAccessor* _tmp1_ = NULL;
	ValaPropertyAccessor* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	ValaCCodeFunction* function = NULL;
	const gchar* _tmp7_ = NULL;
	ValaCCodeFunction* _tmp8_ = NULL;
	ValaCCodeFunction* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaObjectTypeSymbol* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	ValaCCodeParameter* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeFunction* _tmp18_ = NULL;
	ValaCCodeFunctionCall* ccall = NULL;
	ValaProperty* _tmp19_ = NULL;
	ValaPropertyAccessor* _tmp20_ = NULL;
	ValaPropertyAccessor* _tmp21_ = NULL;
	gchar* _tmp22_ = NULL;
	gchar* _tmp23_ = NULL;
	ValaCCodeIdentifier* _tmp24_ = NULL;
	ValaCCodeIdentifier* _tmp25_ = NULL;
	ValaCCodeFunctionCall* _tmp26_ = NULL;
	ValaCCodeFunctionCall* _tmp27_ = NULL;
	ValaCCodeFunctionCall* _tmp28_ = NULL;
	ValaCCodeIdentifier* _tmp29_ = NULL;
	ValaCCodeIdentifier* _tmp30_ = NULL;
	ValaProperty* _tmp31_ = NULL;
	ValaPropertyAccessor* _tmp32_ = NULL;
	ValaPropertyAccessor* _tmp33_ = NULL;
	ValaDataType* _tmp34_ = NULL;
	ValaDataType* _tmp35_ = NULL;
	gboolean _tmp36_ = FALSE;
	ValaCCodeExpression* reply_expr = NULL;
	ValaProperty* _tmp107_ = NULL;
	ValaPropertyAccessor* _tmp108_ = NULL;
	ValaPropertyAccessor* _tmp109_ = NULL;
	ValaDataType* _tmp110_ = NULL;
	ValaDataType* _tmp111_ = NULL;
	ValaCCodeIdentifier* _tmp112_ = NULL;
	ValaCCodeIdentifier* _tmp113_ = NULL;
	ValaCCodeExpression* _tmp114_ = NULL;
	ValaCCodeExpression* _tmp115_ = NULL;
	ValaCCodeFunction* _tmp116_ = NULL;
	ValaCCodeFunction* _tmp117_ = NULL;
	ValaCCodeVariableDeclarator* _tmp118_ = NULL;
	ValaCCodeVariableDeclarator* _tmp119_ = NULL;
	ValaCCodeFunction* _tmp120_ = NULL;
	ValaCCodeFunction* _tmp121_ = NULL;
	ValaCCodeIdentifier* _tmp122_ = NULL;
	ValaCCodeIdentifier* _tmp123_ = NULL;
	ValaCCodeExpression* _tmp124_ = NULL;
	ValaProperty* _tmp125_ = NULL;
	ValaPropertyAccessor* _tmp126_ = NULL;
	ValaPropertyAccessor* _tmp127_ = NULL;
	ValaDataType* _tmp128_ = NULL;
	ValaDataType* _tmp129_ = NULL;
	gboolean _tmp130_ = FALSE;
	ValaCCodeFunction* _tmp142_ = NULL;
	ValaCCodeFunction* _tmp143_ = NULL;
	ValaCCodeIdentifier* _tmp144_ = NULL;
	ValaCCodeIdentifier* _tmp145_ = NULL;
	ValaCCodeFile* _tmp146_ = NULL;
	ValaCCodeFunction* _tmp147_ = NULL;
	ValaCCodeFile* _tmp148_ = NULL;
	ValaCCodeFunction* _tmp149_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (prop != NULL, NULL);
	g_return_val_if_fail (sym != NULL, NULL);
	_tmp0_ = prop;
	_tmp1_ = vala_property_get_get_accessor (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup_printf ("_dbus_%s", _tmp4_);
	_tmp6_ = _tmp5_;
	_g_free0 (_tmp4_);
	wrapper_name = _tmp6_;
	_tmp7_ = wrapper_name;
	_tmp8_ = vala_ccode_function_new (_tmp7_, "GVariant*");
	function = _tmp8_;
	_tmp9_ = function;
	vala_ccode_function_set_modifiers (_tmp9_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp10_ = function;
	_tmp11_ = sym;
	_tmp12_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp11_);
	_tmp13_ = _tmp12_;
	_tmp14_ = g_strconcat (_tmp13_, "*", NULL);
	_tmp15_ = _tmp14_;
	_tmp16_ = vala_ccode_parameter_new ("self", _tmp15_);
	_tmp17_ = _tmp16_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp17_);
	_vala_ccode_node_unref0 (_tmp17_);
	_g_free0 (_tmp15_);
	_g_free0 (_tmp13_);
	_tmp18_ = function;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp18_);
	_tmp19_ = prop;
	_tmp20_ = vala_property_get_get_accessor (_tmp19_);
	_tmp21_ = _tmp20_;
	_tmp22_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp21_);
	_tmp23_ = _tmp22_;
	_tmp24_ = vala_ccode_identifier_new (_tmp23_);
	_tmp25_ = _tmp24_;
	_tmp26_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp25_);
	_tmp27_ = _tmp26_;
	_vala_ccode_node_unref0 (_tmp25_);
	_g_free0 (_tmp23_);
	ccall = _tmp27_;
	_tmp28_ = ccall;
	_tmp29_ = vala_ccode_identifier_new ("self");
	_tmp30_ = _tmp29_;
	vala_ccode_function_call_add_argument (_tmp28_, (ValaCCodeExpression*) _tmp30_);
	_vala_ccode_node_unref0 (_tmp30_);
	_tmp31_ = prop;
	_tmp32_ = vala_property_get_get_accessor (_tmp31_);
	_tmp33_ = _tmp32_;
	_tmp34_ = vala_property_accessor_get_value_type (_tmp33_);
	_tmp35_ = _tmp34_;
	_tmp36_ = vala_data_type_is_real_non_null_struct_type (_tmp35_);
	if (_tmp36_) {
		ValaCCodeFunction* _tmp37_ = NULL;
		ValaCCodeFunction* _tmp38_ = NULL;
		ValaProperty* _tmp39_ = NULL;
		ValaPropertyAccessor* _tmp40_ = NULL;
		ValaPropertyAccessor* _tmp41_ = NULL;
		ValaDataType* _tmp42_ = NULL;
		ValaDataType* _tmp43_ = NULL;
		gchar* _tmp44_ = NULL;
		gchar* _tmp45_ = NULL;
		ValaProperty* _tmp46_ = NULL;
		ValaPropertyAccessor* _tmp47_ = NULL;
		ValaPropertyAccessor* _tmp48_ = NULL;
		ValaDataType* _tmp49_ = NULL;
		ValaDataType* _tmp50_ = NULL;
		ValaCCodeExpression* _tmp51_ = NULL;
		ValaCCodeExpression* _tmp52_ = NULL;
		ValaCCodeVariableDeclarator* _tmp53_ = NULL;
		ValaCCodeVariableDeclarator* _tmp54_ = NULL;
		ValaCCodeFunctionCall* _tmp55_ = NULL;
		ValaCCodeIdentifier* _tmp56_ = NULL;
		ValaCCodeIdentifier* _tmp57_ = NULL;
		ValaCCodeUnaryExpression* _tmp58_ = NULL;
		ValaCCodeUnaryExpression* _tmp59_ = NULL;
		ValaCCodeFunction* _tmp60_ = NULL;
		ValaCCodeFunction* _tmp61_ = NULL;
		ValaCCodeFunctionCall* _tmp62_ = NULL;
		_tmp37_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp38_ = _tmp37_;
		_tmp39_ = prop;
		_tmp40_ = vala_property_get_get_accessor (_tmp39_);
		_tmp41_ = _tmp40_;
		_tmp42_ = vala_property_accessor_get_value_type (_tmp41_);
		_tmp43_ = _tmp42_;
		_tmp44_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp43_);
		_tmp45_ = _tmp44_;
		_tmp46_ = prop;
		_tmp47_ = vala_property_get_get_accessor (_tmp46_);
		_tmp48_ = _tmp47_;
		_tmp49_ = vala_property_accessor_get_value_type (_tmp48_);
		_tmp50_ = _tmp49_;
		_tmp51_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp50_, TRUE);
		_tmp52_ = _tmp51_;
		_tmp53_ = vala_ccode_variable_declarator_new_zero ("result", _tmp52_, NULL);
		_tmp54_ = _tmp53_;
		vala_ccode_function_add_declaration (_tmp38_, _tmp45_, (ValaCCodeDeclarator*) _tmp54_, 0);
		_vala_ccode_node_unref0 (_tmp54_);
		_vala_ccode_node_unref0 (_tmp52_);
		_g_free0 (_tmp45_);
		_tmp55_ = ccall;
		_tmp56_ = vala_ccode_identifier_new ("result");
		_tmp57_ = _tmp56_;
		_tmp58_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp57_);
		_tmp59_ = _tmp58_;
		vala_ccode_function_call_add_argument (_tmp55_, (ValaCCodeExpression*) _tmp59_);
		_vala_ccode_node_unref0 (_tmp59_);
		_vala_ccode_node_unref0 (_tmp57_);
		_tmp60_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp61_ = _tmp60_;
		_tmp62_ = ccall;
		vala_ccode_function_add_expression (_tmp61_, (ValaCCodeExpression*) _tmp62_);
	} else {
		ValaCCodeFunction* _tmp63_ = NULL;
		ValaCCodeFunction* _tmp64_ = NULL;
		ValaProperty* _tmp65_ = NULL;
		ValaPropertyAccessor* _tmp66_ = NULL;
		ValaPropertyAccessor* _tmp67_ = NULL;
		ValaDataType* _tmp68_ = NULL;
		ValaDataType* _tmp69_ = NULL;
		gchar* _tmp70_ = NULL;
		gchar* _tmp71_ = NULL;
		ValaCCodeVariableDeclarator* _tmp72_ = NULL;
		ValaCCodeVariableDeclarator* _tmp73_ = NULL;
		ValaCCodeFunction* _tmp74_ = NULL;
		ValaCCodeFunction* _tmp75_ = NULL;
		ValaCCodeIdentifier* _tmp76_ = NULL;
		ValaCCodeIdentifier* _tmp77_ = NULL;
		ValaCCodeFunctionCall* _tmp78_ = NULL;
		ValaArrayType* array_type = NULL;
		ValaProperty* _tmp79_ = NULL;
		ValaPropertyAccessor* _tmp80_ = NULL;
		ValaPropertyAccessor* _tmp81_ = NULL;
		ValaDataType* _tmp82_ = NULL;
		ValaDataType* _tmp83_ = NULL;
		ValaArrayType* _tmp84_ = NULL;
		ValaArrayType* _tmp85_ = NULL;
		_tmp63_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp64_ = _tmp63_;
		_tmp65_ = prop;
		_tmp66_ = vala_property_get_get_accessor (_tmp65_);
		_tmp67_ = _tmp66_;
		_tmp68_ = vala_property_accessor_get_value_type (_tmp67_);
		_tmp69_ = _tmp68_;
		_tmp70_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp69_);
		_tmp71_ = _tmp70_;
		_tmp72_ = vala_ccode_variable_declarator_new ("result", NULL, NULL);
		_tmp73_ = _tmp72_;
		vala_ccode_function_add_declaration (_tmp64_, _tmp71_, (ValaCCodeDeclarator*) _tmp73_, 0);
		_vala_ccode_node_unref0 (_tmp73_);
		_g_free0 (_tmp71_);
		_tmp74_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp75_ = _tmp74_;
		_tmp76_ = vala_ccode_identifier_new ("result");
		_tmp77_ = _tmp76_;
		_tmp78_ = ccall;
		vala_ccode_function_add_assignment (_tmp75_, (ValaCCodeExpression*) _tmp77_, (ValaCCodeExpression*) _tmp78_);
		_vala_ccode_node_unref0 (_tmp77_);
		_tmp79_ = prop;
		_tmp80_ = vala_property_get_get_accessor (_tmp79_);
		_tmp81_ = _tmp80_;
		_tmp82_ = vala_property_accessor_get_value_type (_tmp81_);
		_tmp83_ = _tmp82_;
		_tmp84_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp83_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp83_) : NULL);
		array_type = _tmp84_;
		_tmp85_ = array_type;
		if (_tmp85_ != NULL) {
			{
				gint dim = 0;
				dim = 1;
				{
					gboolean _tmp86_ = FALSE;
					_tmp86_ = TRUE;
					while (TRUE) {
						gint _tmp88_ = 0;
						ValaArrayType* _tmp89_ = NULL;
						gint _tmp90_ = 0;
						gint _tmp91_ = 0;
						gchar* length_cname = NULL;
						gint _tmp92_ = 0;
						gchar* _tmp93_ = NULL;
						ValaCCodeFunction* _tmp94_ = NULL;
						ValaCCodeFunction* _tmp95_ = NULL;
						const gchar* _tmp96_ = NULL;
						ValaCCodeConstant* _tmp97_ = NULL;
						ValaCCodeConstant* _tmp98_ = NULL;
						ValaCCodeVariableDeclarator* _tmp99_ = NULL;
						ValaCCodeVariableDeclarator* _tmp100_ = NULL;
						ValaCCodeFunctionCall* _tmp101_ = NULL;
						const gchar* _tmp102_ = NULL;
						ValaCCodeIdentifier* _tmp103_ = NULL;
						ValaCCodeIdentifier* _tmp104_ = NULL;
						ValaCCodeUnaryExpression* _tmp105_ = NULL;
						ValaCCodeUnaryExpression* _tmp106_ = NULL;
						if (!_tmp86_) {
							gint _tmp87_ = 0;
							_tmp87_ = dim;
							dim = _tmp87_ + 1;
						}
						_tmp86_ = FALSE;
						_tmp88_ = dim;
						_tmp89_ = array_type;
						_tmp90_ = vala_array_type_get_rank (_tmp89_);
						_tmp91_ = _tmp90_;
						if (!(_tmp88_ <= _tmp91_)) {
							break;
						}
						_tmp92_ = dim;
						_tmp93_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "result", _tmp92_);
						length_cname = _tmp93_;
						_tmp94_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
						_tmp95_ = _tmp94_;
						_tmp96_ = length_cname;
						_tmp97_ = vala_ccode_constant_new ("0");
						_tmp98_ = _tmp97_;
						_tmp99_ = vala_ccode_variable_declarator_new_zero (_tmp96_, (ValaCCodeExpression*) _tmp98_, NULL);
						_tmp100_ = _tmp99_;
						vala_ccode_function_add_declaration (_tmp95_, "int", (ValaCCodeDeclarator*) _tmp100_, 0);
						_vala_ccode_node_unref0 (_tmp100_);
						_vala_ccode_node_unref0 (_tmp98_);
						_tmp101_ = ccall;
						_tmp102_ = length_cname;
						_tmp103_ = vala_ccode_identifier_new (_tmp102_);
						_tmp104_ = _tmp103_;
						_tmp105_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp104_);
						_tmp106_ = _tmp105_;
						vala_ccode_function_call_add_argument (_tmp101_, (ValaCCodeExpression*) _tmp106_);
						_vala_ccode_node_unref0 (_tmp106_);
						_vala_ccode_node_unref0 (_tmp104_);
						_g_free0 (length_cname);
					}
				}
			}
		}
		_vala_code_node_unref0 (array_type);
	}
	_tmp107_ = prop;
	_tmp108_ = vala_property_get_get_accessor (_tmp107_);
	_tmp109_ = _tmp108_;
	_tmp110_ = vala_property_accessor_get_value_type (_tmp109_);
	_tmp111_ = _tmp110_;
	_tmp112_ = vala_ccode_identifier_new ("result");
	_tmp113_ = _tmp112_;
	_tmp114_ = vala_ccode_base_module_serialize_expression ((ValaCCodeBaseModule*) self, _tmp111_, (ValaCCodeExpression*) _tmp113_);
	_tmp115_ = _tmp114_;
	_vala_ccode_node_unref0 (_tmp113_);
	reply_expr = _tmp115_;
	_tmp116_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp117_ = _tmp116_;
	_tmp118_ = vala_ccode_variable_declarator_new ("_reply", NULL, NULL);
	_tmp119_ = _tmp118_;
	vala_ccode_function_add_declaration (_tmp117_, "GVariant*", (ValaCCodeDeclarator*) _tmp119_, 0);
	_vala_ccode_node_unref0 (_tmp119_);
	_tmp120_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp121_ = _tmp120_;
	_tmp122_ = vala_ccode_identifier_new ("_reply");
	_tmp123_ = _tmp122_;
	_tmp124_ = reply_expr;
	vala_ccode_function_add_assignment (_tmp121_, (ValaCCodeExpression*) _tmp123_, _tmp124_);
	_vala_ccode_node_unref0 (_tmp123_);
	_tmp125_ = prop;
	_tmp126_ = vala_property_get_get_accessor (_tmp125_);
	_tmp127_ = _tmp126_;
	_tmp128_ = vala_property_accessor_get_value_type (_tmp127_);
	_tmp129_ = _tmp128_;
	_tmp130_ = vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, _tmp129_);
	if (_tmp130_) {
		ValaLocalVariable* local = NULL;
		ValaProperty* _tmp131_ = NULL;
		ValaPropertyAccessor* _tmp132_ = NULL;
		ValaPropertyAccessor* _tmp133_ = NULL;
		ValaDataType* _tmp134_ = NULL;
		ValaDataType* _tmp135_ = NULL;
		ValaLocalVariable* _tmp136_ = NULL;
		ValaCCodeFunction* _tmp137_ = NULL;
		ValaCCodeFunction* _tmp138_ = NULL;
		ValaLocalVariable* _tmp139_ = NULL;
		ValaCCodeExpression* _tmp140_ = NULL;
		ValaCCodeExpression* _tmp141_ = NULL;
		_tmp131_ = prop;
		_tmp132_ = vala_property_get_get_accessor (_tmp131_);
		_tmp133_ = _tmp132_;
		_tmp134_ = vala_property_accessor_get_value_type (_tmp133_);
		_tmp135_ = _tmp134_;
		_tmp136_ = vala_local_variable_new (_tmp135_, ".result", NULL, NULL);
		local = _tmp136_;
		_tmp137_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp138_ = _tmp137_;
		_tmp139_ = local;
		_tmp140_ = vala_ccode_base_module_destroy_local ((ValaCCodeBaseModule*) self, _tmp139_);
		_tmp141_ = _tmp140_;
		vala_ccode_function_add_expression (_tmp138_, _tmp141_);
		_vala_ccode_node_unref0 (_tmp141_);
		_vala_code_node_unref0 (local);
	}
	_tmp142_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp143_ = _tmp142_;
	_tmp144_ = vala_ccode_identifier_new ("_reply");
	_tmp145_ = _tmp144_;
	vala_ccode_function_add_return (_tmp143_, (ValaCCodeExpression*) _tmp145_);
	_vala_ccode_node_unref0 (_tmp145_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp146_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp147_ = function;
	vala_ccode_file_add_function_declaration (_tmp146_, _tmp147_);
	_tmp148_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp149_ = function;
	vala_ccode_file_add_function (_tmp148_, _tmp149_);
	result = wrapper_name;
	_vala_ccode_node_unref0 (reply_expr);
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (function);
	return result;
}


static gchar* vala_gd_bus_server_module_generate_dbus_property_set_wrapper (ValaGDBusServerModule* self, ValaProperty* prop, ValaObjectTypeSymbol* sym) {
	gchar* result = NULL;
	gchar* wrapper_name = NULL;
	ValaProperty* _tmp0_ = NULL;
	ValaPropertyAccessor* _tmp1_ = NULL;
	ValaPropertyAccessor* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	ValaCCodeFunction* function = NULL;
	const gchar* _tmp7_ = NULL;
	ValaCCodeFunction* _tmp8_ = NULL;
	ValaCCodeFunction* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaObjectTypeSymbol* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	gchar* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	gchar* _tmp15_ = NULL;
	ValaCCodeParameter* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeFunction* _tmp18_ = NULL;
	ValaCCodeParameter* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeFunction* _tmp21_ = NULL;
	ValaCCodeFunctionCall* ccall = NULL;
	ValaProperty* _tmp22_ = NULL;
	ValaPropertyAccessor* _tmp23_ = NULL;
	ValaPropertyAccessor* _tmp24_ = NULL;
	gchar* _tmp25_ = NULL;
	gchar* _tmp26_ = NULL;
	ValaCCodeIdentifier* _tmp27_ = NULL;
	ValaCCodeIdentifier* _tmp28_ = NULL;
	ValaCCodeFunctionCall* _tmp29_ = NULL;
	ValaCCodeFunctionCall* _tmp30_ = NULL;
	ValaCCodeFunctionCall* _tmp31_ = NULL;
	ValaCCodeIdentifier* _tmp32_ = NULL;
	ValaCCodeIdentifier* _tmp33_ = NULL;
	ValaDataType* owned_type = NULL;
	ValaProperty* _tmp34_ = NULL;
	ValaDataType* _tmp35_ = NULL;
	ValaDataType* _tmp36_ = NULL;
	ValaDataType* _tmp37_ = NULL;
	ValaDataType* _tmp38_ = NULL;
	ValaCCodeFunction* _tmp39_ = NULL;
	ValaCCodeFunction* _tmp40_ = NULL;
	ValaDataType* _tmp41_ = NULL;
	gchar* _tmp42_ = NULL;
	gchar* _tmp43_ = NULL;
	ValaProperty* _tmp44_ = NULL;
	ValaDataType* _tmp45_ = NULL;
	ValaDataType* _tmp46_ = NULL;
	ValaCCodeExpression* _tmp47_ = NULL;
	ValaCCodeExpression* _tmp48_ = NULL;
	ValaCCodeVariableDeclarator* _tmp49_ = NULL;
	ValaCCodeVariableDeclarator* _tmp50_ = NULL;
	ValaStruct* st = NULL;
	ValaProperty* _tmp51_ = NULL;
	ValaDataType* _tmp52_ = NULL;
	ValaDataType* _tmp53_ = NULL;
	ValaTypeSymbol* _tmp54_ = NULL;
	ValaTypeSymbol* _tmp55_ = NULL;
	ValaStruct* _tmp56_ = NULL;
	gboolean _tmp57_ = FALSE;
	ValaStruct* _tmp58_ = NULL;
	ValaCCodeIdentifier* target = NULL;
	ValaCCodeIdentifier* _tmp93_ = NULL;
	ValaCCodeExpression* expr = NULL;
	ValaProperty* _tmp94_ = NULL;
	ValaDataType* _tmp95_ = NULL;
	ValaDataType* _tmp96_ = NULL;
	ValaCCodeIdentifier* _tmp97_ = NULL;
	ValaCCodeIdentifier* _tmp98_ = NULL;
	ValaCCodeIdentifier* _tmp99_ = NULL;
	ValaCCodeExpression* _tmp100_ = NULL;
	ValaCCodeExpression* _tmp101_ = NULL;
	ValaCCodeFunction* _tmp102_ = NULL;
	ValaCCodeFunction* _tmp103_ = NULL;
	ValaCCodeIdentifier* _tmp104_ = NULL;
	ValaCCodeExpression* _tmp105_ = NULL;
	ValaCCodeFunction* _tmp106_ = NULL;
	ValaCCodeFunction* _tmp107_ = NULL;
	ValaCCodeFunctionCall* _tmp108_ = NULL;
	ValaDataType* _tmp109_ = NULL;
	gboolean _tmp110_ = FALSE;
	ValaCCodeFile* _tmp118_ = NULL;
	ValaCCodeFunction* _tmp119_ = NULL;
	ValaCCodeFile* _tmp120_ = NULL;
	ValaCCodeFunction* _tmp121_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (prop != NULL, NULL);
	g_return_val_if_fail (sym != NULL, NULL);
	_tmp0_ = prop;
	_tmp1_ = vala_property_get_set_accessor (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup_printf ("_dbus_%s", _tmp4_);
	_tmp6_ = _tmp5_;
	_g_free0 (_tmp4_);
	wrapper_name = _tmp6_;
	_tmp7_ = wrapper_name;
	_tmp8_ = vala_ccode_function_new (_tmp7_, "void");
	function = _tmp8_;
	_tmp9_ = function;
	vala_ccode_function_set_modifiers (_tmp9_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp10_ = function;
	_tmp11_ = sym;
	_tmp12_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp11_);
	_tmp13_ = _tmp12_;
	_tmp14_ = g_strconcat (_tmp13_, "*", NULL);
	_tmp15_ = _tmp14_;
	_tmp16_ = vala_ccode_parameter_new ("self", _tmp15_);
	_tmp17_ = _tmp16_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp17_);
	_vala_ccode_node_unref0 (_tmp17_);
	_g_free0 (_tmp15_);
	_g_free0 (_tmp13_);
	_tmp18_ = function;
	_tmp19_ = vala_ccode_parameter_new ("_value", "GVariant*");
	_tmp20_ = _tmp19_;
	vala_ccode_function_add_parameter (_tmp18_, _tmp20_);
	_vala_ccode_node_unref0 (_tmp20_);
	_tmp21_ = function;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp21_);
	_tmp22_ = prop;
	_tmp23_ = vala_property_get_set_accessor (_tmp22_);
	_tmp24_ = _tmp23_;
	_tmp25_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp24_);
	_tmp26_ = _tmp25_;
	_tmp27_ = vala_ccode_identifier_new (_tmp26_);
	_tmp28_ = _tmp27_;
	_tmp29_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp28_);
	_tmp30_ = _tmp29_;
	_vala_ccode_node_unref0 (_tmp28_);
	_g_free0 (_tmp26_);
	ccall = _tmp30_;
	_tmp31_ = ccall;
	_tmp32_ = vala_ccode_identifier_new ("self");
	_tmp33_ = _tmp32_;
	vala_ccode_function_call_add_argument (_tmp31_, (ValaCCodeExpression*) _tmp33_);
	_vala_ccode_node_unref0 (_tmp33_);
	_tmp34_ = prop;
	_tmp35_ = vala_property_get_property_type (_tmp34_);
	_tmp36_ = _tmp35_;
	_tmp37_ = vala_data_type_copy (_tmp36_);
	owned_type = _tmp37_;
	_tmp38_ = owned_type;
	vala_data_type_set_value_owned (_tmp38_, TRUE);
	_tmp39_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp40_ = _tmp39_;
	_tmp41_ = owned_type;
	_tmp42_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp41_);
	_tmp43_ = _tmp42_;
	_tmp44_ = prop;
	_tmp45_ = vala_property_get_property_type (_tmp44_);
	_tmp46_ = _tmp45_;
	_tmp47_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp46_, TRUE);
	_tmp48_ = _tmp47_;
	_tmp49_ = vala_ccode_variable_declarator_new_zero ("value", _tmp48_, NULL);
	_tmp50_ = _tmp49_;
	vala_ccode_function_add_declaration (_tmp40_, _tmp43_, (ValaCCodeDeclarator*) _tmp50_, 0);
	_vala_ccode_node_unref0 (_tmp50_);
	_vala_ccode_node_unref0 (_tmp48_);
	_g_free0 (_tmp43_);
	_tmp51_ = prop;
	_tmp52_ = vala_property_get_property_type (_tmp51_);
	_tmp53_ = _tmp52_;
	_tmp54_ = vala_data_type_get_data_type (_tmp53_);
	_tmp55_ = _tmp54_;
	_tmp56_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp55_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp55_) : NULL);
	st = _tmp56_;
	_tmp58_ = st;
	if (_tmp58_ != NULL) {
		ValaStruct* _tmp59_ = NULL;
		gboolean _tmp60_ = FALSE;
		_tmp59_ = st;
		_tmp60_ = vala_struct_is_simple_type (_tmp59_);
		_tmp57_ = !_tmp60_;
	} else {
		_tmp57_ = FALSE;
	}
	if (_tmp57_) {
		ValaCCodeFunctionCall* _tmp61_ = NULL;
		ValaCCodeIdentifier* _tmp62_ = NULL;
		ValaCCodeIdentifier* _tmp63_ = NULL;
		ValaCCodeUnaryExpression* _tmp64_ = NULL;
		ValaCCodeUnaryExpression* _tmp65_ = NULL;
		_tmp61_ = ccall;
		_tmp62_ = vala_ccode_identifier_new ("value");
		_tmp63_ = _tmp62_;
		_tmp64_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp63_);
		_tmp65_ = _tmp64_;
		vala_ccode_function_call_add_argument (_tmp61_, (ValaCCodeExpression*) _tmp65_);
		_vala_ccode_node_unref0 (_tmp65_);
		_vala_ccode_node_unref0 (_tmp63_);
	} else {
		ValaCCodeFunctionCall* _tmp66_ = NULL;
		ValaCCodeIdentifier* _tmp67_ = NULL;
		ValaCCodeIdentifier* _tmp68_ = NULL;
		ValaArrayType* array_type = NULL;
		ValaProperty* _tmp69_ = NULL;
		ValaDataType* _tmp70_ = NULL;
		ValaDataType* _tmp71_ = NULL;
		ValaArrayType* _tmp72_ = NULL;
		ValaArrayType* _tmp73_ = NULL;
		_tmp66_ = ccall;
		_tmp67_ = vala_ccode_identifier_new ("value");
		_tmp68_ = _tmp67_;
		vala_ccode_function_call_add_argument (_tmp66_, (ValaCCodeExpression*) _tmp68_);
		_vala_ccode_node_unref0 (_tmp68_);
		_tmp69_ = prop;
		_tmp70_ = vala_property_get_property_type (_tmp69_);
		_tmp71_ = _tmp70_;
		_tmp72_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp71_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp71_) : NULL);
		array_type = _tmp72_;
		_tmp73_ = array_type;
		if (_tmp73_ != NULL) {
			{
				gint dim = 0;
				dim = 1;
				{
					gboolean _tmp74_ = FALSE;
					_tmp74_ = TRUE;
					while (TRUE) {
						gint _tmp76_ = 0;
						ValaArrayType* _tmp77_ = NULL;
						gint _tmp78_ = 0;
						gint _tmp79_ = 0;
						ValaCCodeFunction* _tmp80_ = NULL;
						ValaCCodeFunction* _tmp81_ = NULL;
						gint _tmp82_ = 0;
						gchar* _tmp83_ = NULL;
						gchar* _tmp84_ = NULL;
						ValaCCodeVariableDeclarator* _tmp85_ = NULL;
						ValaCCodeVariableDeclarator* _tmp86_ = NULL;
						ValaCCodeFunctionCall* _tmp87_ = NULL;
						gint _tmp88_ = 0;
						gchar* _tmp89_ = NULL;
						gchar* _tmp90_ = NULL;
						ValaCCodeIdentifier* _tmp91_ = NULL;
						ValaCCodeIdentifier* _tmp92_ = NULL;
						if (!_tmp74_) {
							gint _tmp75_ = 0;
							_tmp75_ = dim;
							dim = _tmp75_ + 1;
						}
						_tmp74_ = FALSE;
						_tmp76_ = dim;
						_tmp77_ = array_type;
						_tmp78_ = vala_array_type_get_rank (_tmp77_);
						_tmp79_ = _tmp78_;
						if (!(_tmp76_ <= _tmp79_)) {
							break;
						}
						_tmp80_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
						_tmp81_ = _tmp80_;
						_tmp82_ = dim;
						_tmp83_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "value", _tmp82_);
						_tmp84_ = _tmp83_;
						_tmp85_ = vala_ccode_variable_declarator_new (_tmp84_, NULL, NULL);
						_tmp86_ = _tmp85_;
						vala_ccode_function_add_declaration (_tmp81_, "int", (ValaCCodeDeclarator*) _tmp86_, 0);
						_vala_ccode_node_unref0 (_tmp86_);
						_g_free0 (_tmp84_);
						_tmp87_ = ccall;
						_tmp88_ = dim;
						_tmp89_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "value", _tmp88_);
						_tmp90_ = _tmp89_;
						_tmp91_ = vala_ccode_identifier_new (_tmp90_);
						_tmp92_ = _tmp91_;
						vala_ccode_function_call_add_argument (_tmp87_, (ValaCCodeExpression*) _tmp92_);
						_vala_ccode_node_unref0 (_tmp92_);
						_g_free0 (_tmp90_);
					}
				}
			}
		}
		_vala_code_node_unref0 (array_type);
	}
	_tmp93_ = vala_ccode_identifier_new ("value");
	target = _tmp93_;
	_tmp94_ = prop;
	_tmp95_ = vala_property_get_property_type (_tmp94_);
	_tmp96_ = _tmp95_;
	_tmp97_ = vala_ccode_identifier_new ("_value");
	_tmp98_ = _tmp97_;
	_tmp99_ = target;
	_tmp100_ = vala_ccode_base_module_deserialize_expression ((ValaCCodeBaseModule*) self, _tmp96_, (ValaCCodeExpression*) _tmp98_, (ValaCCodeExpression*) _tmp99_, NULL, NULL);
	_tmp101_ = _tmp100_;
	_vala_ccode_node_unref0 (_tmp98_);
	expr = _tmp101_;
	_tmp102_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp103_ = _tmp102_;
	_tmp104_ = target;
	_tmp105_ = expr;
	vala_ccode_function_add_assignment (_tmp103_, (ValaCCodeExpression*) _tmp104_, _tmp105_);
	_tmp106_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp107_ = _tmp106_;
	_tmp108_ = ccall;
	vala_ccode_function_add_expression (_tmp107_, (ValaCCodeExpression*) _tmp108_);
	_tmp109_ = owned_type;
	_tmp110_ = vala_ccode_base_module_requires_destroy ((ValaCCodeBaseModule*) self, _tmp109_);
	if (_tmp110_) {
		ValaLocalVariable* local = NULL;
		ValaDataType* _tmp111_ = NULL;
		ValaLocalVariable* _tmp112_ = NULL;
		ValaCCodeFunction* _tmp113_ = NULL;
		ValaCCodeFunction* _tmp114_ = NULL;
		ValaLocalVariable* _tmp115_ = NULL;
		ValaCCodeExpression* _tmp116_ = NULL;
		ValaCCodeExpression* _tmp117_ = NULL;
		_tmp111_ = owned_type;
		_tmp112_ = vala_local_variable_new (_tmp111_, "value", NULL, NULL);
		local = _tmp112_;
		_tmp113_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp114_ = _tmp113_;
		_tmp115_ = local;
		_tmp116_ = vala_ccode_base_module_destroy_local ((ValaCCodeBaseModule*) self, _tmp115_);
		_tmp117_ = _tmp116_;
		vala_ccode_function_add_expression (_tmp114_, _tmp117_);
		_vala_ccode_node_unref0 (_tmp117_);
		_vala_code_node_unref0 (local);
	}
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp118_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp119_ = function;
	vala_ccode_file_add_function_declaration (_tmp118_, _tmp119_);
	_tmp120_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp121_ = function;
	vala_ccode_file_add_function (_tmp120_, _tmp121_);
	result = wrapper_name;
	_vala_ccode_node_unref0 (expr);
	_vala_ccode_node_unref0 (target);
	_vala_code_node_unref0 (st);
	_vala_code_node_unref0 (owned_type);
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (function);
	return result;
}


static void vala_gd_bus_server_module_handle_signals (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym, gboolean connect) {
	gchar* dbus_iface_name = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp0_);
	dbus_iface_name = _tmp1_;
	_tmp2_ = dbus_iface_name;
	if (_tmp2_ == NULL) {
		_g_free0 (dbus_iface_name);
		return;
	}
	{
		ValaList* _sig_list = NULL;
		ValaObjectTypeSymbol* _tmp3_ = NULL;
		ValaList* _tmp4_ = NULL;
		gint _sig_size = 0;
		ValaList* _tmp5_ = NULL;
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
		gint _sig_index = 0;
		_tmp3_ = sym;
		_tmp4_ = vala_object_type_symbol_get_signals (_tmp3_);
		_sig_list = _tmp4_;
		_tmp5_ = _sig_list;
		_tmp6_ = vala_collection_get_size ((ValaCollection*) _tmp5_);
		_tmp7_ = _tmp6_;
		_sig_size = _tmp7_;
		_sig_index = -1;
		while (TRUE) {
			gint _tmp8_ = 0;
			gint _tmp9_ = 0;
			gint _tmp10_ = 0;
			ValaSignal* sig = NULL;
			ValaList* _tmp11_ = NULL;
			gint _tmp12_ = 0;
			gpointer _tmp13_ = NULL;
			ValaSignal* _tmp14_ = NULL;
			ValaSymbolAccessibility _tmp15_ = 0;
			ValaSymbolAccessibility _tmp16_ = 0;
			ValaSignal* _tmp17_ = NULL;
			gboolean _tmp18_ = FALSE;
			gboolean _tmp19_ = FALSE;
			_tmp8_ = _sig_index;
			_sig_index = _tmp8_ + 1;
			_tmp9_ = _sig_index;
			_tmp10_ = _sig_size;
			if (!(_tmp9_ < _tmp10_)) {
				break;
			}
			_tmp11_ = _sig_list;
			_tmp12_ = _sig_index;
			_tmp13_ = vala_list_get (_tmp11_, _tmp12_);
			sig = (ValaSignal*) _tmp13_;
			_tmp14_ = sig;
			_tmp15_ = vala_symbol_get_access ((ValaSymbol*) _tmp14_);
			_tmp16_ = _tmp15_;
			if (_tmp16_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC) {
				_vala_code_node_unref0 (sig);
				continue;
			}
			_tmp17_ = sig;
			_tmp18_ = vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp17_);
			if (!_tmp18_) {
				_vala_code_node_unref0 (sig);
				continue;
			}
			_tmp19_ = connect;
			if (_tmp19_) {
				ValaCCodeFunctionCall* connect_call = NULL;
				ValaCCodeIdentifier* _tmp20_ = NULL;
				ValaCCodeIdentifier* _tmp21_ = NULL;
				ValaCCodeFunctionCall* _tmp22_ = NULL;
				ValaCCodeFunctionCall* _tmp23_ = NULL;
				ValaCCodeFunctionCall* _tmp24_ = NULL;
				ValaCCodeIdentifier* _tmp25_ = NULL;
				ValaCCodeIdentifier* _tmp26_ = NULL;
				ValaCCodeFunctionCall* _tmp27_ = NULL;
				ValaSignal* _tmp28_ = NULL;
				ValaCCodeConstant* _tmp29_ = NULL;
				ValaCCodeConstant* _tmp30_ = NULL;
				ValaCCodeFunctionCall* _tmp31_ = NULL;
				ValaSignal* _tmp32_ = NULL;
				ValaObjectTypeSymbol* _tmp33_ = NULL;
				const gchar* _tmp34_ = NULL;
				gchar* _tmp35_ = NULL;
				gchar* _tmp36_ = NULL;
				ValaCCodeIdentifier* _tmp37_ = NULL;
				ValaCCodeIdentifier* _tmp38_ = NULL;
				ValaCCodeCastExpression* _tmp39_ = NULL;
				ValaCCodeCastExpression* _tmp40_ = NULL;
				ValaCCodeFunctionCall* _tmp41_ = NULL;
				ValaCCodeIdentifier* _tmp42_ = NULL;
				ValaCCodeIdentifier* _tmp43_ = NULL;
				ValaCCodeFunction* _tmp44_ = NULL;
				ValaCCodeFunction* _tmp45_ = NULL;
				ValaCCodeFunctionCall* _tmp46_ = NULL;
				_tmp20_ = vala_ccode_identifier_new ("g_signal_connect");
				_tmp21_ = _tmp20_;
				_tmp22_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp21_);
				_tmp23_ = _tmp22_;
				_vala_ccode_node_unref0 (_tmp21_);
				connect_call = _tmp23_;
				_tmp24_ = connect_call;
				_tmp25_ = vala_ccode_identifier_new ("object");
				_tmp26_ = _tmp25_;
				vala_ccode_function_call_add_argument (_tmp24_, (ValaCCodeExpression*) _tmp26_);
				_vala_ccode_node_unref0 (_tmp26_);
				_tmp27_ = connect_call;
				_tmp28_ = sig;
				_tmp29_ = vala_ccode_base_module_get_signal_canonical_constant ((ValaCCodeBaseModule*) self, _tmp28_, NULL);
				_tmp30_ = _tmp29_;
				vala_ccode_function_call_add_argument (_tmp27_, (ValaCCodeExpression*) _tmp30_);
				_vala_ccode_node_unref0 (_tmp30_);
				_tmp31_ = connect_call;
				_tmp32_ = sig;
				_tmp33_ = sym;
				_tmp34_ = dbus_iface_name;
				_tmp35_ = vala_gd_bus_server_module_generate_dbus_signal_wrapper (self, _tmp32_, _tmp33_, _tmp34_);
				_tmp36_ = _tmp35_;
				_tmp37_ = vala_ccode_identifier_new (_tmp36_);
				_tmp38_ = _tmp37_;
				_tmp39_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp38_, "GCallback");
				_tmp40_ = _tmp39_;
				vala_ccode_function_call_add_argument (_tmp31_, (ValaCCodeExpression*) _tmp40_);
				_vala_ccode_node_unref0 (_tmp40_);
				_vala_ccode_node_unref0 (_tmp38_);
				_g_free0 (_tmp36_);
				_tmp41_ = connect_call;
				_tmp42_ = vala_ccode_identifier_new ("data");
				_tmp43_ = _tmp42_;
				vala_ccode_function_call_add_argument (_tmp41_, (ValaCCodeExpression*) _tmp43_);
				_vala_ccode_node_unref0 (_tmp43_);
				_tmp44_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp45_ = _tmp44_;
				_tmp46_ = connect_call;
				vala_ccode_function_add_expression (_tmp45_, (ValaCCodeExpression*) _tmp46_);
				_vala_ccode_node_unref0 (connect_call);
			} else {
				ValaCCodeFunctionCall* disconnect_call = NULL;
				ValaCCodeIdentifier* _tmp47_ = NULL;
				ValaCCodeIdentifier* _tmp48_ = NULL;
				ValaCCodeFunctionCall* _tmp49_ = NULL;
				ValaCCodeFunctionCall* _tmp50_ = NULL;
				ValaCCodeFunctionCall* _tmp51_ = NULL;
				ValaCCodeIdentifier* _tmp52_ = NULL;
				ValaCCodeIdentifier* _tmp53_ = NULL;
				ValaCCodeConstant* _tmp54_ = NULL;
				ValaCCodeConstant* _tmp55_ = NULL;
				ValaCCodeElementAccess* _tmp56_ = NULL;
				ValaCCodeElementAccess* _tmp57_ = NULL;
				ValaCCodeFunctionCall* _tmp58_ = NULL;
				ValaObjectTypeSymbol* _tmp59_ = NULL;
				gchar* _tmp60_ = NULL;
				gchar* _tmp61_ = NULL;
				ValaSignal* _tmp62_ = NULL;
				gchar* _tmp63_ = NULL;
				gchar* _tmp64_ = NULL;
				gchar* _tmp65_ = NULL;
				gchar* _tmp66_ = NULL;
				ValaCCodeIdentifier* _tmp67_ = NULL;
				ValaCCodeIdentifier* _tmp68_ = NULL;
				ValaCCodeFunctionCall* _tmp69_ = NULL;
				ValaCCodeIdentifier* _tmp70_ = NULL;
				ValaCCodeIdentifier* _tmp71_ = NULL;
				ValaCCodeFunction* _tmp72_ = NULL;
				ValaCCodeFunction* _tmp73_ = NULL;
				ValaCCodeFunctionCall* _tmp74_ = NULL;
				_tmp47_ = vala_ccode_identifier_new ("g_signal_handlers_disconnect_by_func");
				_tmp48_ = _tmp47_;
				_tmp49_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp48_);
				_tmp50_ = _tmp49_;
				_vala_ccode_node_unref0 (_tmp48_);
				disconnect_call = _tmp50_;
				_tmp51_ = disconnect_call;
				_tmp52_ = vala_ccode_identifier_new ("data");
				_tmp53_ = _tmp52_;
				_tmp54_ = vala_ccode_constant_new ("0");
				_tmp55_ = _tmp54_;
				_tmp56_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp53_, (ValaCCodeExpression*) _tmp55_);
				_tmp57_ = _tmp56_;
				vala_ccode_function_call_add_argument (_tmp51_, (ValaCCodeExpression*) _tmp57_);
				_vala_ccode_node_unref0 (_tmp57_);
				_vala_ccode_node_unref0 (_tmp55_);
				_vala_ccode_node_unref0 (_tmp53_);
				_tmp58_ = disconnect_call;
				_tmp59_ = sym;
				_tmp60_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp59_, NULL);
				_tmp61_ = _tmp60_;
				_tmp62_ = sig;
				_tmp63_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp62_);
				_tmp64_ = _tmp63_;
				_tmp65_ = g_strdup_printf ("_dbus_%s_%s", _tmp61_, _tmp64_);
				_tmp66_ = _tmp65_;
				_tmp67_ = vala_ccode_identifier_new (_tmp66_);
				_tmp68_ = _tmp67_;
				vala_ccode_function_call_add_argument (_tmp58_, (ValaCCodeExpression*) _tmp68_);
				_vala_ccode_node_unref0 (_tmp68_);
				_g_free0 (_tmp66_);
				_g_free0 (_tmp64_);
				_g_free0 (_tmp61_);
				_tmp69_ = disconnect_call;
				_tmp70_ = vala_ccode_identifier_new ("data");
				_tmp71_ = _tmp70_;
				vala_ccode_function_call_add_argument (_tmp69_, (ValaCCodeExpression*) _tmp71_);
				_vala_ccode_node_unref0 (_tmp71_);
				_tmp72_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp73_ = _tmp72_;
				_tmp74_ = disconnect_call;
				vala_ccode_function_add_expression (_tmp73_, (ValaCCodeExpression*) _tmp74_);
				_vala_ccode_node_unref0 (disconnect_call);
			}
			_vala_code_node_unref0 (sig);
		}
		_vala_iterable_unref0 (_sig_list);
	}
	_g_free0 (dbus_iface_name);
}


static void vala_gd_bus_server_module_generate_interface_method_call_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym) {
	ValaCCodeFunction* cfunc = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ValaCCodeFunction* _tmp5_ = NULL;
	ValaCCodeFunction* _tmp6_ = NULL;
	ValaCCodeFunction* _tmp7_ = NULL;
	ValaCCodeParameter* _tmp8_ = NULL;
	ValaCCodeParameter* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeParameter* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeFunction* _tmp13_ = NULL;
	ValaCCodeParameter* _tmp14_ = NULL;
	ValaCCodeParameter* _tmp15_ = NULL;
	ValaCCodeFunction* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeParameter* _tmp18_ = NULL;
	ValaCCodeFunction* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeParameter* _tmp21_ = NULL;
	ValaCCodeFunction* _tmp22_ = NULL;
	ValaCCodeParameter* _tmp23_ = NULL;
	ValaCCodeParameter* _tmp24_ = NULL;
	ValaCCodeFunction* _tmp25_ = NULL;
	ValaCCodeParameter* _tmp26_ = NULL;
	ValaCCodeParameter* _tmp27_ = NULL;
	ValaCCodeFunction* _tmp28_ = NULL;
	ValaCCodeParameter* _tmp29_ = NULL;
	ValaCCodeParameter* _tmp30_ = NULL;
	ValaCCodeFunction* _tmp31_ = NULL;
	ValaCCodeFunction* _tmp32_ = NULL;
	ValaCCodeModifiers _tmp33_ = 0;
	ValaCCodeModifiers _tmp34_ = 0;
	ValaCCodeFunction* _tmp35_ = NULL;
	ValaCCodeFunction* _tmp36_ = NULL;
	ValaCCodeFunction* _tmp37_ = NULL;
	ValaCCodeIdentifier* _tmp38_ = NULL;
	ValaCCodeIdentifier* _tmp39_ = NULL;
	ValaCCodeVariableDeclarator* _tmp40_ = NULL;
	ValaCCodeVariableDeclarator* _tmp41_ = NULL;
	ValaCCodeFunction* _tmp42_ = NULL;
	ValaCCodeFunction* _tmp43_ = NULL;
	ValaCCodeIdentifier* _tmp44_ = NULL;
	ValaCCodeIdentifier* _tmp45_ = NULL;
	ValaCCodeConstant* _tmp46_ = NULL;
	ValaCCodeConstant* _tmp47_ = NULL;
	ValaCCodeElementAccess* _tmp48_ = NULL;
	ValaCCodeElementAccess* _tmp49_ = NULL;
	ValaCCodeVariableDeclarator* _tmp50_ = NULL;
	ValaCCodeVariableDeclarator* _tmp51_ = NULL;
	gboolean first = FALSE;
	gboolean _tmp129_ = FALSE;
	ValaCCodeFunctionCall* ccall = NULL;
	ValaCCodeIdentifier* _tmp132_ = NULL;
	ValaCCodeIdentifier* _tmp133_ = NULL;
	ValaCCodeFunctionCall* _tmp134_ = NULL;
	ValaCCodeFunctionCall* _tmp135_ = NULL;
	ValaCCodeFunctionCall* _tmp136_ = NULL;
	ValaCCodeIdentifier* _tmp137_ = NULL;
	ValaCCodeIdentifier* _tmp138_ = NULL;
	ValaCCodeFunction* _tmp139_ = NULL;
	ValaCCodeFunction* _tmp140_ = NULL;
	ValaCCodeFunctionCall* _tmp141_ = NULL;
	gboolean _tmp142_ = FALSE;
	ValaCCodeFile* _tmp145_ = NULL;
	ValaCCodeFunction* _tmp146_ = NULL;
	ValaCCodeFile* _tmp147_ = NULL;
	ValaCCodeFunction* _tmp148_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strconcat (_tmp2_, "dbus_interface_method_call", NULL);
	_tmp4_ = _tmp3_;
	_tmp5_ = vala_ccode_function_new (_tmp4_, "void");
	_tmp6_ = _tmp5_;
	_g_free0 (_tmp4_);
	_g_free0 (_tmp2_);
	cfunc = _tmp6_;
	_tmp7_ = cfunc;
	_tmp8_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp9_ = _tmp8_;
	vala_ccode_function_add_parameter (_tmp7_, _tmp9_);
	_vala_ccode_node_unref0 (_tmp9_);
	_tmp10_ = cfunc;
	_tmp11_ = vala_ccode_parameter_new ("sender", "const gchar*");
	_tmp12_ = _tmp11_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp12_);
	_vala_ccode_node_unref0 (_tmp12_);
	_tmp13_ = cfunc;
	_tmp14_ = vala_ccode_parameter_new ("object_path", "const gchar*");
	_tmp15_ = _tmp14_;
	vala_ccode_function_add_parameter (_tmp13_, _tmp15_);
	_vala_ccode_node_unref0 (_tmp15_);
	_tmp16_ = cfunc;
	_tmp17_ = vala_ccode_parameter_new ("interface_name", "const gchar*");
	_tmp18_ = _tmp17_;
	vala_ccode_function_add_parameter (_tmp16_, _tmp18_);
	_vala_ccode_node_unref0 (_tmp18_);
	_tmp19_ = cfunc;
	_tmp20_ = vala_ccode_parameter_new ("method_name", "const gchar*");
	_tmp21_ = _tmp20_;
	vala_ccode_function_add_parameter (_tmp19_, _tmp21_);
	_vala_ccode_node_unref0 (_tmp21_);
	_tmp22_ = cfunc;
	_tmp23_ = vala_ccode_parameter_new ("parameters", "GVariant*");
	_tmp24_ = _tmp23_;
	vala_ccode_function_add_parameter (_tmp22_, _tmp24_);
	_vala_ccode_node_unref0 (_tmp24_);
	_tmp25_ = cfunc;
	_tmp26_ = vala_ccode_parameter_new ("invocation", "GDBusMethodInvocation*");
	_tmp27_ = _tmp26_;
	vala_ccode_function_add_parameter (_tmp25_, _tmp27_);
	_vala_ccode_node_unref0 (_tmp27_);
	_tmp28_ = cfunc;
	_tmp29_ = vala_ccode_parameter_new ("user_data", "gpointer");
	_tmp30_ = _tmp29_;
	vala_ccode_function_add_parameter (_tmp28_, _tmp30_);
	_vala_ccode_node_unref0 (_tmp30_);
	_tmp31_ = cfunc;
	_tmp32_ = cfunc;
	_tmp33_ = vala_ccode_function_get_modifiers (_tmp32_);
	_tmp34_ = _tmp33_;
	vala_ccode_function_set_modifiers (_tmp32_, _tmp34_ | VALA_CCODE_MODIFIERS_STATIC);
	_tmp35_ = cfunc;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp35_);
	_tmp36_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp37_ = _tmp36_;
	_tmp38_ = vala_ccode_identifier_new ("user_data");
	_tmp39_ = _tmp38_;
	_tmp40_ = vala_ccode_variable_declarator_new ("data", (ValaCCodeExpression*) _tmp39_, NULL);
	_tmp41_ = _tmp40_;
	vala_ccode_function_add_declaration (_tmp37_, "gpointer*", (ValaCCodeDeclarator*) _tmp41_, 0);
	_vala_ccode_node_unref0 (_tmp41_);
	_vala_ccode_node_unref0 (_tmp39_);
	_tmp42_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp43_ = _tmp42_;
	_tmp44_ = vala_ccode_identifier_new ("data");
	_tmp45_ = _tmp44_;
	_tmp46_ = vala_ccode_constant_new ("0");
	_tmp47_ = _tmp46_;
	_tmp48_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp45_, (ValaCCodeExpression*) _tmp47_);
	_tmp49_ = _tmp48_;
	_tmp50_ = vala_ccode_variable_declarator_new ("object", (ValaCCodeExpression*) _tmp49_, NULL);
	_tmp51_ = _tmp50_;
	vala_ccode_function_add_declaration (_tmp43_, "gpointer", (ValaCCodeDeclarator*) _tmp51_, 0);
	_vala_ccode_node_unref0 (_tmp51_);
	_vala_ccode_node_unref0 (_tmp49_);
	_vala_ccode_node_unref0 (_tmp47_);
	_vala_ccode_node_unref0 (_tmp45_);
	first = TRUE;
	{
		ValaList* _m_list = NULL;
		ValaObjectTypeSymbol* _tmp52_ = NULL;
		ValaList* _tmp53_ = NULL;
		gint _m_size = 0;
		ValaList* _tmp54_ = NULL;
		gint _tmp55_ = 0;
		gint _tmp56_ = 0;
		gint _m_index = 0;
		_tmp52_ = sym;
		_tmp53_ = vala_object_type_symbol_get_methods (_tmp52_);
		_m_list = _tmp53_;
		_tmp54_ = _m_list;
		_tmp55_ = vala_collection_get_size ((ValaCollection*) _tmp54_);
		_tmp56_ = _tmp55_;
		_m_size = _tmp56_;
		_m_index = -1;
		while (TRUE) {
			gint _tmp57_ = 0;
			gint _tmp58_ = 0;
			gint _tmp59_ = 0;
			ValaMethod* m = NULL;
			ValaList* _tmp60_ = NULL;
			gint _tmp61_ = 0;
			gpointer _tmp62_ = NULL;
			gboolean _tmp63_ = FALSE;
			gboolean _tmp64_ = FALSE;
			gboolean _tmp65_ = FALSE;
			ValaMethod* _tmp66_ = NULL;
			ValaMethod* _tmp76_ = NULL;
			gboolean _tmp77_ = FALSE;
			ValaCCodeFile* _tmp78_ = NULL;
			ValaCCodeFunctionCall* ccheck = NULL;
			ValaCCodeIdentifier* _tmp79_ = NULL;
			ValaCCodeIdentifier* _tmp80_ = NULL;
			ValaCCodeFunctionCall* _tmp81_ = NULL;
			ValaCCodeFunctionCall* _tmp82_ = NULL;
			ValaCCodeFunctionCall* _tmp83_ = NULL;
			ValaCCodeIdentifier* _tmp84_ = NULL;
			ValaCCodeIdentifier* _tmp85_ = NULL;
			ValaCCodeFunctionCall* _tmp86_ = NULL;
			ValaMethod* _tmp87_ = NULL;
			gchar* _tmp88_ = NULL;
			gchar* _tmp89_ = NULL;
			gchar* _tmp90_ = NULL;
			gchar* _tmp91_ = NULL;
			ValaCCodeConstant* _tmp92_ = NULL;
			ValaCCodeConstant* _tmp93_ = NULL;
			gboolean _tmp94_ = FALSE;
			ValaCCodeFunctionCall* ccall = NULL;
			ValaMethod* _tmp109_ = NULL;
			ValaObjectTypeSymbol* _tmp110_ = NULL;
			gchar* _tmp111_ = NULL;
			gchar* _tmp112_ = NULL;
			ValaCCodeIdentifier* _tmp113_ = NULL;
			ValaCCodeIdentifier* _tmp114_ = NULL;
			ValaCCodeFunctionCall* _tmp115_ = NULL;
			ValaCCodeFunctionCall* _tmp116_ = NULL;
			ValaCCodeFunctionCall* _tmp117_ = NULL;
			ValaCCodeIdentifier* _tmp118_ = NULL;
			ValaCCodeIdentifier* _tmp119_ = NULL;
			ValaCCodeFunctionCall* _tmp120_ = NULL;
			ValaCCodeIdentifier* _tmp121_ = NULL;
			ValaCCodeIdentifier* _tmp122_ = NULL;
			ValaCCodeFunctionCall* _tmp123_ = NULL;
			ValaCCodeIdentifier* _tmp124_ = NULL;
			ValaCCodeIdentifier* _tmp125_ = NULL;
			ValaCCodeFunction* _tmp126_ = NULL;
			ValaCCodeFunction* _tmp127_ = NULL;
			ValaCCodeFunctionCall* _tmp128_ = NULL;
			_tmp57_ = _m_index;
			_m_index = _tmp57_ + 1;
			_tmp58_ = _m_index;
			_tmp59_ = _m_size;
			if (!(_tmp58_ < _tmp59_)) {
				break;
			}
			_tmp60_ = _m_list;
			_tmp61_ = _m_index;
			_tmp62_ = vala_list_get (_tmp60_, _tmp61_);
			m = (ValaMethod*) _tmp62_;
			_tmp66_ = m;
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp66_, VALA_TYPE_CREATION_METHOD)) {
				_tmp65_ = TRUE;
			} else {
				ValaMethod* _tmp67_ = NULL;
				ValaMemberBinding _tmp68_ = 0;
				ValaMemberBinding _tmp69_ = 0;
				_tmp67_ = m;
				_tmp68_ = vala_method_get_binding (_tmp67_);
				_tmp69_ = _tmp68_;
				_tmp65_ = _tmp69_ != VALA_MEMBER_BINDING_INSTANCE;
			}
			if (_tmp65_) {
				_tmp64_ = TRUE;
			} else {
				ValaMethod* _tmp70_ = NULL;
				gboolean _tmp71_ = FALSE;
				gboolean _tmp72_ = FALSE;
				_tmp70_ = m;
				_tmp71_ = vala_method_get_overrides (_tmp70_);
				_tmp72_ = _tmp71_;
				_tmp64_ = _tmp72_;
			}
			if (_tmp64_) {
				_tmp63_ = TRUE;
			} else {
				ValaMethod* _tmp73_ = NULL;
				ValaSymbolAccessibility _tmp74_ = 0;
				ValaSymbolAccessibility _tmp75_ = 0;
				_tmp73_ = m;
				_tmp74_ = vala_symbol_get_access ((ValaSymbol*) _tmp73_);
				_tmp75_ = _tmp74_;
				_tmp63_ = _tmp75_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC;
			}
			if (_tmp63_) {
				_vala_code_node_unref0 (m);
				continue;
			}
			_tmp76_ = m;
			_tmp77_ = vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp76_);
			if (!_tmp77_) {
				_vala_code_node_unref0 (m);
				continue;
			}
			_tmp78_ = ((ValaCCodeBaseModule*) self)->cfile;
			vala_ccode_file_add_include (_tmp78_, "string.h", FALSE);
			_tmp79_ = vala_ccode_identifier_new ("strcmp");
			_tmp80_ = _tmp79_;
			_tmp81_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp80_);
			_tmp82_ = _tmp81_;
			_vala_ccode_node_unref0 (_tmp80_);
			ccheck = _tmp82_;
			_tmp83_ = ccheck;
			_tmp84_ = vala_ccode_identifier_new ("method_name");
			_tmp85_ = _tmp84_;
			vala_ccode_function_call_add_argument (_tmp83_, (ValaCCodeExpression*) _tmp85_);
			_vala_ccode_node_unref0 (_tmp85_);
			_tmp86_ = ccheck;
			_tmp87_ = m;
			_tmp88_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp87_);
			_tmp89_ = _tmp88_;
			_tmp90_ = g_strdup_printf ("\"%s\"", _tmp89_);
			_tmp91_ = _tmp90_;
			_tmp92_ = vala_ccode_constant_new (_tmp91_);
			_tmp93_ = _tmp92_;
			vala_ccode_function_call_add_argument (_tmp86_, (ValaCCodeExpression*) _tmp93_);
			_vala_ccode_node_unref0 (_tmp93_);
			_g_free0 (_tmp91_);
			_g_free0 (_tmp89_);
			_tmp94_ = first;
			if (_tmp94_) {
				ValaCCodeFunction* _tmp95_ = NULL;
				ValaCCodeFunction* _tmp96_ = NULL;
				ValaCCodeFunctionCall* _tmp97_ = NULL;
				ValaCCodeConstant* _tmp98_ = NULL;
				ValaCCodeConstant* _tmp99_ = NULL;
				ValaCCodeBinaryExpression* _tmp100_ = NULL;
				ValaCCodeBinaryExpression* _tmp101_ = NULL;
				_tmp95_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp96_ = _tmp95_;
				_tmp97_ = ccheck;
				_tmp98_ = vala_ccode_constant_new ("0");
				_tmp99_ = _tmp98_;
				_tmp100_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp97_, (ValaCCodeExpression*) _tmp99_);
				_tmp101_ = _tmp100_;
				vala_ccode_function_open_if (_tmp96_, (ValaCCodeExpression*) _tmp101_);
				_vala_ccode_node_unref0 (_tmp101_);
				_vala_ccode_node_unref0 (_tmp99_);
				first = FALSE;
			} else {
				ValaCCodeFunction* _tmp102_ = NULL;
				ValaCCodeFunction* _tmp103_ = NULL;
				ValaCCodeFunctionCall* _tmp104_ = NULL;
				ValaCCodeConstant* _tmp105_ = NULL;
				ValaCCodeConstant* _tmp106_ = NULL;
				ValaCCodeBinaryExpression* _tmp107_ = NULL;
				ValaCCodeBinaryExpression* _tmp108_ = NULL;
				_tmp102_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp103_ = _tmp102_;
				_tmp104_ = ccheck;
				_tmp105_ = vala_ccode_constant_new ("0");
				_tmp106_ = _tmp105_;
				_tmp107_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp104_, (ValaCCodeExpression*) _tmp106_);
				_tmp108_ = _tmp107_;
				vala_ccode_function_else_if (_tmp103_, (ValaCCodeExpression*) _tmp108_);
				_vala_ccode_node_unref0 (_tmp108_);
				_vala_ccode_node_unref0 (_tmp106_);
			}
			_tmp109_ = m;
			_tmp110_ = sym;
			_tmp111_ = vala_gd_bus_server_module_generate_dbus_wrapper (self, _tmp109_, _tmp110_, FALSE);
			_tmp112_ = _tmp111_;
			_tmp113_ = vala_ccode_identifier_new (_tmp112_);
			_tmp114_ = _tmp113_;
			_tmp115_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp114_);
			_tmp116_ = _tmp115_;
			_vala_ccode_node_unref0 (_tmp114_);
			_g_free0 (_tmp112_);
			ccall = _tmp116_;
			_tmp117_ = ccall;
			_tmp118_ = vala_ccode_identifier_new ("object");
			_tmp119_ = _tmp118_;
			vala_ccode_function_call_add_argument (_tmp117_, (ValaCCodeExpression*) _tmp119_);
			_vala_ccode_node_unref0 (_tmp119_);
			_tmp120_ = ccall;
			_tmp121_ = vala_ccode_identifier_new ("parameters");
			_tmp122_ = _tmp121_;
			vala_ccode_function_call_add_argument (_tmp120_, (ValaCCodeExpression*) _tmp122_);
			_vala_ccode_node_unref0 (_tmp122_);
			_tmp123_ = ccall;
			_tmp124_ = vala_ccode_identifier_new ("invocation");
			_tmp125_ = _tmp124_;
			vala_ccode_function_call_add_argument (_tmp123_, (ValaCCodeExpression*) _tmp125_);
			_vala_ccode_node_unref0 (_tmp125_);
			_tmp126_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp127_ = _tmp126_;
			_tmp128_ = ccall;
			vala_ccode_function_add_expression (_tmp127_, (ValaCCodeExpression*) _tmp128_);
			_vala_ccode_node_unref0 (ccall);
			_vala_ccode_node_unref0 (ccheck);
			_vala_code_node_unref0 (m);
		}
		_vala_iterable_unref0 (_m_list);
	}
	_tmp129_ = first;
	if (!_tmp129_) {
		ValaCCodeFunction* _tmp130_ = NULL;
		ValaCCodeFunction* _tmp131_ = NULL;
		_tmp130_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp131_ = _tmp130_;
		vala_ccode_function_add_else (_tmp131_);
	}
	_tmp132_ = vala_ccode_identifier_new ("g_object_unref");
	_tmp133_ = _tmp132_;
	_tmp134_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp133_);
	_tmp135_ = _tmp134_;
	_vala_ccode_node_unref0 (_tmp133_);
	ccall = _tmp135_;
	_tmp136_ = ccall;
	_tmp137_ = vala_ccode_identifier_new ("invocation");
	_tmp138_ = _tmp137_;
	vala_ccode_function_call_add_argument (_tmp136_, (ValaCCodeExpression*) _tmp138_);
	_vala_ccode_node_unref0 (_tmp138_);
	_tmp139_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp140_ = _tmp139_;
	_tmp141_ = ccall;
	vala_ccode_function_add_expression (_tmp140_, (ValaCCodeExpression*) _tmp141_);
	_tmp142_ = first;
	if (!_tmp142_) {
		ValaCCodeFunction* _tmp143_ = NULL;
		ValaCCodeFunction* _tmp144_ = NULL;
		_tmp143_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp144_ = _tmp143_;
		vala_ccode_function_close (_tmp144_);
	}
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp145_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp146_ = cfunc;
	vala_ccode_file_add_function_declaration (_tmp145_, _tmp146_);
	_tmp147_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp148_ = cfunc;
	vala_ccode_file_add_function (_tmp147_, _tmp148_);
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (cfunc);
}


static void vala_gd_bus_server_module_generate_interface_get_property_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym) {
	ValaCCodeFunction* cfunc = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ValaCCodeFunction* _tmp5_ = NULL;
	ValaCCodeFunction* _tmp6_ = NULL;
	ValaCCodeFunction* _tmp7_ = NULL;
	ValaCCodeParameter* _tmp8_ = NULL;
	ValaCCodeParameter* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeParameter* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeFunction* _tmp13_ = NULL;
	ValaCCodeParameter* _tmp14_ = NULL;
	ValaCCodeParameter* _tmp15_ = NULL;
	ValaCCodeFunction* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeParameter* _tmp18_ = NULL;
	ValaCCodeFunction* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeParameter* _tmp21_ = NULL;
	ValaCCodeFunction* _tmp22_ = NULL;
	ValaCCodeParameter* _tmp23_ = NULL;
	ValaCCodeParameter* _tmp24_ = NULL;
	ValaCCodeFunction* _tmp25_ = NULL;
	ValaCCodeParameter* _tmp26_ = NULL;
	ValaCCodeParameter* _tmp27_ = NULL;
	ValaCCodeFunction* _tmp28_ = NULL;
	ValaCCodeFunction* _tmp29_ = NULL;
	ValaCCodeModifiers _tmp30_ = 0;
	ValaCCodeModifiers _tmp31_ = 0;
	ValaCCodeFile* _tmp32_ = NULL;
	ValaCCodeFunction* _tmp33_ = NULL;
	ValaCCodeFunction* _tmp34_ = NULL;
	ValaCCodeFunction* _tmp35_ = NULL;
	ValaCCodeFunction* _tmp36_ = NULL;
	ValaCCodeIdentifier* _tmp37_ = NULL;
	ValaCCodeIdentifier* _tmp38_ = NULL;
	ValaCCodeVariableDeclarator* _tmp39_ = NULL;
	ValaCCodeVariableDeclarator* _tmp40_ = NULL;
	ValaCCodeFunction* _tmp41_ = NULL;
	ValaCCodeFunction* _tmp42_ = NULL;
	ValaCCodeIdentifier* _tmp43_ = NULL;
	ValaCCodeIdentifier* _tmp44_ = NULL;
	ValaCCodeConstant* _tmp45_ = NULL;
	ValaCCodeConstant* _tmp46_ = NULL;
	ValaCCodeElementAccess* _tmp47_ = NULL;
	ValaCCodeElementAccess* _tmp48_ = NULL;
	ValaCCodeVariableDeclarator* _tmp49_ = NULL;
	ValaCCodeVariableDeclarator* _tmp50_ = NULL;
	gboolean firstif = FALSE;
	gboolean _tmp120_ = FALSE;
	ValaCCodeFunction* _tmp123_ = NULL;
	ValaCCodeFunction* _tmp124_ = NULL;
	ValaCCodeConstant* _tmp125_ = NULL;
	ValaCCodeConstant* _tmp126_ = NULL;
	ValaCCodeFile* _tmp127_ = NULL;
	ValaCCodeFunction* _tmp128_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strconcat (_tmp2_, "dbus_interface_get_property", NULL);
	_tmp4_ = _tmp3_;
	_tmp5_ = vala_ccode_function_new (_tmp4_, "GVariant*");
	_tmp6_ = _tmp5_;
	_g_free0 (_tmp4_);
	_g_free0 (_tmp2_);
	cfunc = _tmp6_;
	_tmp7_ = cfunc;
	_tmp8_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp9_ = _tmp8_;
	vala_ccode_function_add_parameter (_tmp7_, _tmp9_);
	_vala_ccode_node_unref0 (_tmp9_);
	_tmp10_ = cfunc;
	_tmp11_ = vala_ccode_parameter_new ("sender", "const gchar*");
	_tmp12_ = _tmp11_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp12_);
	_vala_ccode_node_unref0 (_tmp12_);
	_tmp13_ = cfunc;
	_tmp14_ = vala_ccode_parameter_new ("object_path", "const gchar*");
	_tmp15_ = _tmp14_;
	vala_ccode_function_add_parameter (_tmp13_, _tmp15_);
	_vala_ccode_node_unref0 (_tmp15_);
	_tmp16_ = cfunc;
	_tmp17_ = vala_ccode_parameter_new ("interface_name", "const gchar*");
	_tmp18_ = _tmp17_;
	vala_ccode_function_add_parameter (_tmp16_, _tmp18_);
	_vala_ccode_node_unref0 (_tmp18_);
	_tmp19_ = cfunc;
	_tmp20_ = vala_ccode_parameter_new ("property_name", "const gchar*");
	_tmp21_ = _tmp20_;
	vala_ccode_function_add_parameter (_tmp19_, _tmp21_);
	_vala_ccode_node_unref0 (_tmp21_);
	_tmp22_ = cfunc;
	_tmp23_ = vala_ccode_parameter_new ("error", "GError**");
	_tmp24_ = _tmp23_;
	vala_ccode_function_add_parameter (_tmp22_, _tmp24_);
	_vala_ccode_node_unref0 (_tmp24_);
	_tmp25_ = cfunc;
	_tmp26_ = vala_ccode_parameter_new ("user_data", "gpointer");
	_tmp27_ = _tmp26_;
	vala_ccode_function_add_parameter (_tmp25_, _tmp27_);
	_vala_ccode_node_unref0 (_tmp27_);
	_tmp28_ = cfunc;
	_tmp29_ = cfunc;
	_tmp30_ = vala_ccode_function_get_modifiers (_tmp29_);
	_tmp31_ = _tmp30_;
	vala_ccode_function_set_modifiers (_tmp29_, _tmp31_ | VALA_CCODE_MODIFIERS_STATIC);
	_tmp32_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp33_ = cfunc;
	vala_ccode_file_add_function_declaration (_tmp32_, _tmp33_);
	_tmp34_ = cfunc;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp34_);
	_tmp35_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp36_ = _tmp35_;
	_tmp37_ = vala_ccode_identifier_new ("user_data");
	_tmp38_ = _tmp37_;
	_tmp39_ = vala_ccode_variable_declarator_new ("data", (ValaCCodeExpression*) _tmp38_, NULL);
	_tmp40_ = _tmp39_;
	vala_ccode_function_add_declaration (_tmp36_, "gpointer*", (ValaCCodeDeclarator*) _tmp40_, 0);
	_vala_ccode_node_unref0 (_tmp40_);
	_vala_ccode_node_unref0 (_tmp38_);
	_tmp41_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp42_ = _tmp41_;
	_tmp43_ = vala_ccode_identifier_new ("data");
	_tmp44_ = _tmp43_;
	_tmp45_ = vala_ccode_constant_new ("0");
	_tmp46_ = _tmp45_;
	_tmp47_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp44_, (ValaCCodeExpression*) _tmp46_);
	_tmp48_ = _tmp47_;
	_tmp49_ = vala_ccode_variable_declarator_new ("object", (ValaCCodeExpression*) _tmp48_, NULL);
	_tmp50_ = _tmp49_;
	vala_ccode_function_add_declaration (_tmp42_, "gpointer", (ValaCCodeDeclarator*) _tmp50_, 0);
	_vala_ccode_node_unref0 (_tmp50_);
	_vala_ccode_node_unref0 (_tmp48_);
	_vala_ccode_node_unref0 (_tmp46_);
	_vala_ccode_node_unref0 (_tmp44_);
	firstif = TRUE;
	{
		ValaList* _prop_list = NULL;
		ValaObjectTypeSymbol* _tmp51_ = NULL;
		ValaList* _tmp52_ = NULL;
		gint _prop_size = 0;
		ValaList* _tmp53_ = NULL;
		gint _tmp54_ = 0;
		gint _tmp55_ = 0;
		gint _prop_index = 0;
		_tmp51_ = sym;
		_tmp52_ = vala_object_type_symbol_get_properties (_tmp51_);
		_prop_list = _tmp52_;
		_tmp53_ = _prop_list;
		_tmp54_ = vala_collection_get_size ((ValaCollection*) _tmp53_);
		_tmp55_ = _tmp54_;
		_prop_size = _tmp55_;
		_prop_index = -1;
		while (TRUE) {
			gint _tmp56_ = 0;
			gint _tmp57_ = 0;
			gint _tmp58_ = 0;
			ValaProperty* prop = NULL;
			ValaList* _tmp59_ = NULL;
			gint _tmp60_ = 0;
			gpointer _tmp61_ = NULL;
			gboolean _tmp62_ = FALSE;
			gboolean _tmp63_ = FALSE;
			ValaProperty* _tmp64_ = NULL;
			ValaMemberBinding _tmp65_ = 0;
			ValaMemberBinding _tmp66_ = 0;
			ValaProperty* _tmp73_ = NULL;
			gboolean _tmp74_ = FALSE;
			ValaProperty* _tmp75_ = NULL;
			ValaPropertyAccessor* _tmp76_ = NULL;
			ValaPropertyAccessor* _tmp77_ = NULL;
			ValaCCodeFile* _tmp78_ = NULL;
			ValaCCodeFunctionCall* ccheck = NULL;
			ValaCCodeIdentifier* _tmp79_ = NULL;
			ValaCCodeIdentifier* _tmp80_ = NULL;
			ValaCCodeFunctionCall* _tmp81_ = NULL;
			ValaCCodeFunctionCall* _tmp82_ = NULL;
			ValaCCodeFunctionCall* _tmp83_ = NULL;
			ValaCCodeIdentifier* _tmp84_ = NULL;
			ValaCCodeIdentifier* _tmp85_ = NULL;
			ValaCCodeFunctionCall* _tmp86_ = NULL;
			ValaProperty* _tmp87_ = NULL;
			gchar* _tmp88_ = NULL;
			gchar* _tmp89_ = NULL;
			gchar* _tmp90_ = NULL;
			gchar* _tmp91_ = NULL;
			ValaCCodeConstant* _tmp92_ = NULL;
			ValaCCodeConstant* _tmp93_ = NULL;
			ValaCCodeBinaryExpression* cond = NULL;
			ValaCCodeFunctionCall* _tmp94_ = NULL;
			ValaCCodeConstant* _tmp95_ = NULL;
			ValaCCodeConstant* _tmp96_ = NULL;
			ValaCCodeBinaryExpression* _tmp97_ = NULL;
			ValaCCodeBinaryExpression* _tmp98_ = NULL;
			gboolean _tmp99_ = FALSE;
			ValaCCodeFunctionCall* ccall = NULL;
			ValaProperty* _tmp106_ = NULL;
			ValaObjectTypeSymbol* _tmp107_ = NULL;
			gchar* _tmp108_ = NULL;
			gchar* _tmp109_ = NULL;
			ValaCCodeIdentifier* _tmp110_ = NULL;
			ValaCCodeIdentifier* _tmp111_ = NULL;
			ValaCCodeFunctionCall* _tmp112_ = NULL;
			ValaCCodeFunctionCall* _tmp113_ = NULL;
			ValaCCodeFunctionCall* _tmp114_ = NULL;
			ValaCCodeIdentifier* _tmp115_ = NULL;
			ValaCCodeIdentifier* _tmp116_ = NULL;
			ValaCCodeFunction* _tmp117_ = NULL;
			ValaCCodeFunction* _tmp118_ = NULL;
			ValaCCodeFunctionCall* _tmp119_ = NULL;
			_tmp56_ = _prop_index;
			_prop_index = _tmp56_ + 1;
			_tmp57_ = _prop_index;
			_tmp58_ = _prop_size;
			if (!(_tmp57_ < _tmp58_)) {
				break;
			}
			_tmp59_ = _prop_list;
			_tmp60_ = _prop_index;
			_tmp61_ = vala_list_get (_tmp59_, _tmp60_);
			prop = (ValaProperty*) _tmp61_;
			_tmp64_ = prop;
			_tmp65_ = vala_property_get_binding (_tmp64_);
			_tmp66_ = _tmp65_;
			if (_tmp66_ != VALA_MEMBER_BINDING_INSTANCE) {
				_tmp63_ = TRUE;
			} else {
				ValaProperty* _tmp67_ = NULL;
				gboolean _tmp68_ = FALSE;
				gboolean _tmp69_ = FALSE;
				_tmp67_ = prop;
				_tmp68_ = vala_property_get_overrides (_tmp67_);
				_tmp69_ = _tmp68_;
				_tmp63_ = _tmp69_;
			}
			if (_tmp63_) {
				_tmp62_ = TRUE;
			} else {
				ValaProperty* _tmp70_ = NULL;
				ValaSymbolAccessibility _tmp71_ = 0;
				ValaSymbolAccessibility _tmp72_ = 0;
				_tmp70_ = prop;
				_tmp71_ = vala_symbol_get_access ((ValaSymbol*) _tmp70_);
				_tmp72_ = _tmp71_;
				_tmp62_ = _tmp72_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC;
			}
			if (_tmp62_) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp73_ = prop;
			_tmp74_ = vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp73_);
			if (!_tmp74_) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp75_ = prop;
			_tmp76_ = vala_property_get_get_accessor (_tmp75_);
			_tmp77_ = _tmp76_;
			if (_tmp77_ == NULL) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp78_ = ((ValaCCodeBaseModule*) self)->cfile;
			vala_ccode_file_add_include (_tmp78_, "string.h", FALSE);
			_tmp79_ = vala_ccode_identifier_new ("strcmp");
			_tmp80_ = _tmp79_;
			_tmp81_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp80_);
			_tmp82_ = _tmp81_;
			_vala_ccode_node_unref0 (_tmp80_);
			ccheck = _tmp82_;
			_tmp83_ = ccheck;
			_tmp84_ = vala_ccode_identifier_new ("property_name");
			_tmp85_ = _tmp84_;
			vala_ccode_function_call_add_argument (_tmp83_, (ValaCCodeExpression*) _tmp85_);
			_vala_ccode_node_unref0 (_tmp85_);
			_tmp86_ = ccheck;
			_tmp87_ = prop;
			_tmp88_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp87_);
			_tmp89_ = _tmp88_;
			_tmp90_ = g_strdup_printf ("\"%s\"", _tmp89_);
			_tmp91_ = _tmp90_;
			_tmp92_ = vala_ccode_constant_new (_tmp91_);
			_tmp93_ = _tmp92_;
			vala_ccode_function_call_add_argument (_tmp86_, (ValaCCodeExpression*) _tmp93_);
			_vala_ccode_node_unref0 (_tmp93_);
			_g_free0 (_tmp91_);
			_g_free0 (_tmp89_);
			_tmp94_ = ccheck;
			_tmp95_ = vala_ccode_constant_new ("0");
			_tmp96_ = _tmp95_;
			_tmp97_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp94_, (ValaCCodeExpression*) _tmp96_);
			_tmp98_ = _tmp97_;
			_vala_ccode_node_unref0 (_tmp96_);
			cond = _tmp98_;
			_tmp99_ = firstif;
			if (_tmp99_) {
				ValaCCodeFunction* _tmp100_ = NULL;
				ValaCCodeFunction* _tmp101_ = NULL;
				ValaCCodeBinaryExpression* _tmp102_ = NULL;
				_tmp100_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp101_ = _tmp100_;
				_tmp102_ = cond;
				vala_ccode_function_open_if (_tmp101_, (ValaCCodeExpression*) _tmp102_);
				firstif = FALSE;
			} else {
				ValaCCodeFunction* _tmp103_ = NULL;
				ValaCCodeFunction* _tmp104_ = NULL;
				ValaCCodeBinaryExpression* _tmp105_ = NULL;
				_tmp103_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp104_ = _tmp103_;
				_tmp105_ = cond;
				vala_ccode_function_else_if (_tmp104_, (ValaCCodeExpression*) _tmp105_);
			}
			_tmp106_ = prop;
			_tmp107_ = sym;
			_tmp108_ = vala_gd_bus_server_module_generate_dbus_property_get_wrapper (self, _tmp106_, _tmp107_);
			_tmp109_ = _tmp108_;
			_tmp110_ = vala_ccode_identifier_new (_tmp109_);
			_tmp111_ = _tmp110_;
			_tmp112_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp111_);
			_tmp113_ = _tmp112_;
			_vala_ccode_node_unref0 (_tmp111_);
			_g_free0 (_tmp109_);
			ccall = _tmp113_;
			_tmp114_ = ccall;
			_tmp115_ = vala_ccode_identifier_new ("object");
			_tmp116_ = _tmp115_;
			vala_ccode_function_call_add_argument (_tmp114_, (ValaCCodeExpression*) _tmp116_);
			_vala_ccode_node_unref0 (_tmp116_);
			_tmp117_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp118_ = _tmp117_;
			_tmp119_ = ccall;
			vala_ccode_function_add_return (_tmp118_, (ValaCCodeExpression*) _tmp119_);
			_vala_ccode_node_unref0 (ccall);
			_vala_ccode_node_unref0 (cond);
			_vala_ccode_node_unref0 (ccheck);
			_vala_code_node_unref0 (prop);
		}
		_vala_iterable_unref0 (_prop_list);
	}
	_tmp120_ = firstif;
	if (!_tmp120_) {
		ValaCCodeFunction* _tmp121_ = NULL;
		ValaCCodeFunction* _tmp122_ = NULL;
		_tmp121_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp122_ = _tmp121_;
		vala_ccode_function_close (_tmp122_);
	}
	_tmp123_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp124_ = _tmp123_;
	_tmp125_ = vala_ccode_constant_new ("NULL");
	_tmp126_ = _tmp125_;
	vala_ccode_function_add_return (_tmp124_, (ValaCCodeExpression*) _tmp126_);
	_vala_ccode_node_unref0 (_tmp126_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp127_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp128_ = cfunc;
	vala_ccode_file_add_function (_tmp127_, _tmp128_);
	_vala_ccode_node_unref0 (cfunc);
}


static void vala_gd_bus_server_module_generate_interface_set_property_function (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym) {
	ValaCCodeFunction* cfunc = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	ValaCCodeFunction* _tmp5_ = NULL;
	ValaCCodeFunction* _tmp6_ = NULL;
	ValaCCodeFunction* _tmp7_ = NULL;
	ValaCCodeParameter* _tmp8_ = NULL;
	ValaCCodeParameter* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeParameter* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeFunction* _tmp13_ = NULL;
	ValaCCodeParameter* _tmp14_ = NULL;
	ValaCCodeParameter* _tmp15_ = NULL;
	ValaCCodeFunction* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeParameter* _tmp18_ = NULL;
	ValaCCodeFunction* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeParameter* _tmp21_ = NULL;
	ValaCCodeFunction* _tmp22_ = NULL;
	ValaCCodeParameter* _tmp23_ = NULL;
	ValaCCodeParameter* _tmp24_ = NULL;
	ValaCCodeFunction* _tmp25_ = NULL;
	ValaCCodeParameter* _tmp26_ = NULL;
	ValaCCodeParameter* _tmp27_ = NULL;
	ValaCCodeFunction* _tmp28_ = NULL;
	ValaCCodeParameter* _tmp29_ = NULL;
	ValaCCodeParameter* _tmp30_ = NULL;
	ValaCCodeFunction* _tmp31_ = NULL;
	ValaCCodeFunction* _tmp32_ = NULL;
	ValaCCodeModifiers _tmp33_ = 0;
	ValaCCodeModifiers _tmp34_ = 0;
	ValaCCodeFile* _tmp35_ = NULL;
	ValaCCodeFunction* _tmp36_ = NULL;
	ValaCCodeFunction* _tmp37_ = NULL;
	ValaCCodeFunction* _tmp38_ = NULL;
	ValaCCodeFunction* _tmp39_ = NULL;
	ValaCCodeIdentifier* _tmp40_ = NULL;
	ValaCCodeIdentifier* _tmp41_ = NULL;
	ValaCCodeVariableDeclarator* _tmp42_ = NULL;
	ValaCCodeVariableDeclarator* _tmp43_ = NULL;
	ValaCCodeFunction* _tmp44_ = NULL;
	ValaCCodeFunction* _tmp45_ = NULL;
	ValaCCodeIdentifier* _tmp46_ = NULL;
	ValaCCodeIdentifier* _tmp47_ = NULL;
	ValaCCodeConstant* _tmp48_ = NULL;
	ValaCCodeConstant* _tmp49_ = NULL;
	ValaCCodeElementAccess* _tmp50_ = NULL;
	ValaCCodeElementAccess* _tmp51_ = NULL;
	ValaCCodeVariableDeclarator* _tmp52_ = NULL;
	ValaCCodeVariableDeclarator* _tmp53_ = NULL;
	gboolean firstif = FALSE;
	gboolean _tmp130_ = FALSE;
	ValaCCodeFunction* _tmp133_ = NULL;
	ValaCCodeFunction* _tmp134_ = NULL;
	ValaCCodeConstant* _tmp135_ = NULL;
	ValaCCodeConstant* _tmp136_ = NULL;
	ValaCCodeFile* _tmp137_ = NULL;
	ValaCCodeFunction* _tmp138_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strconcat (_tmp2_, "dbus_interface_set_property", NULL);
	_tmp4_ = _tmp3_;
	_tmp5_ = vala_ccode_function_new (_tmp4_, "gboolean");
	_tmp6_ = _tmp5_;
	_g_free0 (_tmp4_);
	_g_free0 (_tmp2_);
	cfunc = _tmp6_;
	_tmp7_ = cfunc;
	_tmp8_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp9_ = _tmp8_;
	vala_ccode_function_add_parameter (_tmp7_, _tmp9_);
	_vala_ccode_node_unref0 (_tmp9_);
	_tmp10_ = cfunc;
	_tmp11_ = vala_ccode_parameter_new ("sender", "const gchar*");
	_tmp12_ = _tmp11_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp12_);
	_vala_ccode_node_unref0 (_tmp12_);
	_tmp13_ = cfunc;
	_tmp14_ = vala_ccode_parameter_new ("object_path", "const gchar*");
	_tmp15_ = _tmp14_;
	vala_ccode_function_add_parameter (_tmp13_, _tmp15_);
	_vala_ccode_node_unref0 (_tmp15_);
	_tmp16_ = cfunc;
	_tmp17_ = vala_ccode_parameter_new ("interface_name", "const gchar*");
	_tmp18_ = _tmp17_;
	vala_ccode_function_add_parameter (_tmp16_, _tmp18_);
	_vala_ccode_node_unref0 (_tmp18_);
	_tmp19_ = cfunc;
	_tmp20_ = vala_ccode_parameter_new ("property_name", "const gchar*");
	_tmp21_ = _tmp20_;
	vala_ccode_function_add_parameter (_tmp19_, _tmp21_);
	_vala_ccode_node_unref0 (_tmp21_);
	_tmp22_ = cfunc;
	_tmp23_ = vala_ccode_parameter_new ("value", "GVariant*");
	_tmp24_ = _tmp23_;
	vala_ccode_function_add_parameter (_tmp22_, _tmp24_);
	_vala_ccode_node_unref0 (_tmp24_);
	_tmp25_ = cfunc;
	_tmp26_ = vala_ccode_parameter_new ("error", "GError**");
	_tmp27_ = _tmp26_;
	vala_ccode_function_add_parameter (_tmp25_, _tmp27_);
	_vala_ccode_node_unref0 (_tmp27_);
	_tmp28_ = cfunc;
	_tmp29_ = vala_ccode_parameter_new ("user_data", "gpointer");
	_tmp30_ = _tmp29_;
	vala_ccode_function_add_parameter (_tmp28_, _tmp30_);
	_vala_ccode_node_unref0 (_tmp30_);
	_tmp31_ = cfunc;
	_tmp32_ = cfunc;
	_tmp33_ = vala_ccode_function_get_modifiers (_tmp32_);
	_tmp34_ = _tmp33_;
	vala_ccode_function_set_modifiers (_tmp32_, _tmp34_ | VALA_CCODE_MODIFIERS_STATIC);
	_tmp35_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp36_ = cfunc;
	vala_ccode_file_add_function_declaration (_tmp35_, _tmp36_);
	_tmp37_ = cfunc;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp37_);
	_tmp38_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp39_ = _tmp38_;
	_tmp40_ = vala_ccode_identifier_new ("user_data");
	_tmp41_ = _tmp40_;
	_tmp42_ = vala_ccode_variable_declarator_new ("data", (ValaCCodeExpression*) _tmp41_, NULL);
	_tmp43_ = _tmp42_;
	vala_ccode_function_add_declaration (_tmp39_, "gpointer*", (ValaCCodeDeclarator*) _tmp43_, 0);
	_vala_ccode_node_unref0 (_tmp43_);
	_vala_ccode_node_unref0 (_tmp41_);
	_tmp44_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp45_ = _tmp44_;
	_tmp46_ = vala_ccode_identifier_new ("data");
	_tmp47_ = _tmp46_;
	_tmp48_ = vala_ccode_constant_new ("0");
	_tmp49_ = _tmp48_;
	_tmp50_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp47_, (ValaCCodeExpression*) _tmp49_);
	_tmp51_ = _tmp50_;
	_tmp52_ = vala_ccode_variable_declarator_new ("object", (ValaCCodeExpression*) _tmp51_, NULL);
	_tmp53_ = _tmp52_;
	vala_ccode_function_add_declaration (_tmp45_, "gpointer", (ValaCCodeDeclarator*) _tmp53_, 0);
	_vala_ccode_node_unref0 (_tmp53_);
	_vala_ccode_node_unref0 (_tmp51_);
	_vala_ccode_node_unref0 (_tmp49_);
	_vala_ccode_node_unref0 (_tmp47_);
	firstif = TRUE;
	{
		ValaList* _prop_list = NULL;
		ValaObjectTypeSymbol* _tmp54_ = NULL;
		ValaList* _tmp55_ = NULL;
		gint _prop_size = 0;
		ValaList* _tmp56_ = NULL;
		gint _tmp57_ = 0;
		gint _tmp58_ = 0;
		gint _prop_index = 0;
		_tmp54_ = sym;
		_tmp55_ = vala_object_type_symbol_get_properties (_tmp54_);
		_prop_list = _tmp55_;
		_tmp56_ = _prop_list;
		_tmp57_ = vala_collection_get_size ((ValaCollection*) _tmp56_);
		_tmp58_ = _tmp57_;
		_prop_size = _tmp58_;
		_prop_index = -1;
		while (TRUE) {
			gint _tmp59_ = 0;
			gint _tmp60_ = 0;
			gint _tmp61_ = 0;
			ValaProperty* prop = NULL;
			ValaList* _tmp62_ = NULL;
			gint _tmp63_ = 0;
			gpointer _tmp64_ = NULL;
			gboolean _tmp65_ = FALSE;
			gboolean _tmp66_ = FALSE;
			ValaProperty* _tmp67_ = NULL;
			ValaMemberBinding _tmp68_ = 0;
			ValaMemberBinding _tmp69_ = 0;
			ValaProperty* _tmp76_ = NULL;
			gboolean _tmp77_ = FALSE;
			ValaProperty* _tmp78_ = NULL;
			ValaPropertyAccessor* _tmp79_ = NULL;
			ValaPropertyAccessor* _tmp80_ = NULL;
			ValaCCodeFile* _tmp81_ = NULL;
			ValaCCodeFunctionCall* ccheck = NULL;
			ValaCCodeIdentifier* _tmp82_ = NULL;
			ValaCCodeIdentifier* _tmp83_ = NULL;
			ValaCCodeFunctionCall* _tmp84_ = NULL;
			ValaCCodeFunctionCall* _tmp85_ = NULL;
			ValaCCodeFunctionCall* _tmp86_ = NULL;
			ValaCCodeIdentifier* _tmp87_ = NULL;
			ValaCCodeIdentifier* _tmp88_ = NULL;
			ValaCCodeFunctionCall* _tmp89_ = NULL;
			ValaProperty* _tmp90_ = NULL;
			gchar* _tmp91_ = NULL;
			gchar* _tmp92_ = NULL;
			gchar* _tmp93_ = NULL;
			gchar* _tmp94_ = NULL;
			ValaCCodeConstant* _tmp95_ = NULL;
			ValaCCodeConstant* _tmp96_ = NULL;
			ValaCCodeBinaryExpression* cond = NULL;
			ValaCCodeFunctionCall* _tmp97_ = NULL;
			ValaCCodeConstant* _tmp98_ = NULL;
			ValaCCodeConstant* _tmp99_ = NULL;
			ValaCCodeBinaryExpression* _tmp100_ = NULL;
			ValaCCodeBinaryExpression* _tmp101_ = NULL;
			gboolean _tmp102_ = FALSE;
			ValaCCodeFunctionCall* ccall = NULL;
			ValaProperty* _tmp109_ = NULL;
			ValaObjectTypeSymbol* _tmp110_ = NULL;
			gchar* _tmp111_ = NULL;
			gchar* _tmp112_ = NULL;
			ValaCCodeIdentifier* _tmp113_ = NULL;
			ValaCCodeIdentifier* _tmp114_ = NULL;
			ValaCCodeFunctionCall* _tmp115_ = NULL;
			ValaCCodeFunctionCall* _tmp116_ = NULL;
			ValaCCodeFunctionCall* _tmp117_ = NULL;
			ValaCCodeIdentifier* _tmp118_ = NULL;
			ValaCCodeIdentifier* _tmp119_ = NULL;
			ValaCCodeFunctionCall* _tmp120_ = NULL;
			ValaCCodeIdentifier* _tmp121_ = NULL;
			ValaCCodeIdentifier* _tmp122_ = NULL;
			ValaCCodeFunction* _tmp123_ = NULL;
			ValaCCodeFunction* _tmp124_ = NULL;
			ValaCCodeFunctionCall* _tmp125_ = NULL;
			ValaCCodeFunction* _tmp126_ = NULL;
			ValaCCodeFunction* _tmp127_ = NULL;
			ValaCCodeConstant* _tmp128_ = NULL;
			ValaCCodeConstant* _tmp129_ = NULL;
			_tmp59_ = _prop_index;
			_prop_index = _tmp59_ + 1;
			_tmp60_ = _prop_index;
			_tmp61_ = _prop_size;
			if (!(_tmp60_ < _tmp61_)) {
				break;
			}
			_tmp62_ = _prop_list;
			_tmp63_ = _prop_index;
			_tmp64_ = vala_list_get (_tmp62_, _tmp63_);
			prop = (ValaProperty*) _tmp64_;
			_tmp67_ = prop;
			_tmp68_ = vala_property_get_binding (_tmp67_);
			_tmp69_ = _tmp68_;
			if (_tmp69_ != VALA_MEMBER_BINDING_INSTANCE) {
				_tmp66_ = TRUE;
			} else {
				ValaProperty* _tmp70_ = NULL;
				gboolean _tmp71_ = FALSE;
				gboolean _tmp72_ = FALSE;
				_tmp70_ = prop;
				_tmp71_ = vala_property_get_overrides (_tmp70_);
				_tmp72_ = _tmp71_;
				_tmp66_ = _tmp72_;
			}
			if (_tmp66_) {
				_tmp65_ = TRUE;
			} else {
				ValaProperty* _tmp73_ = NULL;
				ValaSymbolAccessibility _tmp74_ = 0;
				ValaSymbolAccessibility _tmp75_ = 0;
				_tmp73_ = prop;
				_tmp74_ = vala_symbol_get_access ((ValaSymbol*) _tmp73_);
				_tmp75_ = _tmp74_;
				_tmp65_ = _tmp75_ != VALA_SYMBOL_ACCESSIBILITY_PUBLIC;
			}
			if (_tmp65_) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp76_ = prop;
			_tmp77_ = vala_gd_bus_module_is_dbus_visible ((ValaCodeNode*) _tmp76_);
			if (!_tmp77_) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp78_ = prop;
			_tmp79_ = vala_property_get_set_accessor (_tmp78_);
			_tmp80_ = _tmp79_;
			if (_tmp80_ == NULL) {
				_vala_code_node_unref0 (prop);
				continue;
			}
			_tmp81_ = ((ValaCCodeBaseModule*) self)->cfile;
			vala_ccode_file_add_include (_tmp81_, "string.h", FALSE);
			_tmp82_ = vala_ccode_identifier_new ("strcmp");
			_tmp83_ = _tmp82_;
			_tmp84_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp83_);
			_tmp85_ = _tmp84_;
			_vala_ccode_node_unref0 (_tmp83_);
			ccheck = _tmp85_;
			_tmp86_ = ccheck;
			_tmp87_ = vala_ccode_identifier_new ("property_name");
			_tmp88_ = _tmp87_;
			vala_ccode_function_call_add_argument (_tmp86_, (ValaCCodeExpression*) _tmp88_);
			_vala_ccode_node_unref0 (_tmp88_);
			_tmp89_ = ccheck;
			_tmp90_ = prop;
			_tmp91_ = vala_gd_bus_module_get_dbus_name_for_member ((ValaSymbol*) _tmp90_);
			_tmp92_ = _tmp91_;
			_tmp93_ = g_strdup_printf ("\"%s\"", _tmp92_);
			_tmp94_ = _tmp93_;
			_tmp95_ = vala_ccode_constant_new (_tmp94_);
			_tmp96_ = _tmp95_;
			vala_ccode_function_call_add_argument (_tmp89_, (ValaCCodeExpression*) _tmp96_);
			_vala_ccode_node_unref0 (_tmp96_);
			_g_free0 (_tmp94_);
			_g_free0 (_tmp92_);
			_tmp97_ = ccheck;
			_tmp98_ = vala_ccode_constant_new ("0");
			_tmp99_ = _tmp98_;
			_tmp100_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp97_, (ValaCCodeExpression*) _tmp99_);
			_tmp101_ = _tmp100_;
			_vala_ccode_node_unref0 (_tmp99_);
			cond = _tmp101_;
			_tmp102_ = firstif;
			if (_tmp102_) {
				ValaCCodeFunction* _tmp103_ = NULL;
				ValaCCodeFunction* _tmp104_ = NULL;
				ValaCCodeBinaryExpression* _tmp105_ = NULL;
				_tmp103_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp104_ = _tmp103_;
				_tmp105_ = cond;
				vala_ccode_function_open_if (_tmp104_, (ValaCCodeExpression*) _tmp105_);
				firstif = FALSE;
			} else {
				ValaCCodeFunction* _tmp106_ = NULL;
				ValaCCodeFunction* _tmp107_ = NULL;
				ValaCCodeBinaryExpression* _tmp108_ = NULL;
				_tmp106_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
				_tmp107_ = _tmp106_;
				_tmp108_ = cond;
				vala_ccode_function_else_if (_tmp107_, (ValaCCodeExpression*) _tmp108_);
			}
			_tmp109_ = prop;
			_tmp110_ = sym;
			_tmp111_ = vala_gd_bus_server_module_generate_dbus_property_set_wrapper (self, _tmp109_, _tmp110_);
			_tmp112_ = _tmp111_;
			_tmp113_ = vala_ccode_identifier_new (_tmp112_);
			_tmp114_ = _tmp113_;
			_tmp115_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp114_);
			_tmp116_ = _tmp115_;
			_vala_ccode_node_unref0 (_tmp114_);
			_g_free0 (_tmp112_);
			ccall = _tmp116_;
			_tmp117_ = ccall;
			_tmp118_ = vala_ccode_identifier_new ("object");
			_tmp119_ = _tmp118_;
			vala_ccode_function_call_add_argument (_tmp117_, (ValaCCodeExpression*) _tmp119_);
			_vala_ccode_node_unref0 (_tmp119_);
			_tmp120_ = ccall;
			_tmp121_ = vala_ccode_identifier_new ("value");
			_tmp122_ = _tmp121_;
			vala_ccode_function_call_add_argument (_tmp120_, (ValaCCodeExpression*) _tmp122_);
			_vala_ccode_node_unref0 (_tmp122_);
			_tmp123_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp124_ = _tmp123_;
			_tmp125_ = ccall;
			vala_ccode_function_add_expression (_tmp124_, (ValaCCodeExpression*) _tmp125_);
			_tmp126_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
			_tmp127_ = _tmp126_;
			_tmp128_ = vala_ccode_constant_new ("TRUE");
			_tmp129_ = _tmp128_;
			vala_ccode_function_add_return (_tmp127_, (ValaCCodeExpression*) _tmp129_);
			_vala_ccode_node_unref0 (_tmp129_);
			_vala_ccode_node_unref0 (ccall);
			_vala_ccode_node_unref0 (cond);
			_vala_ccode_node_unref0 (ccheck);
			_vala_code_node_unref0 (prop);
		}
		_vala_iterable_unref0 (_prop_list);
	}
	_tmp130_ = firstif;
	if (!_tmp130_) {
		ValaCCodeFunction* _tmp131_ = NULL;
		ValaCCodeFunction* _tmp132_ = NULL;
		_tmp131_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp132_ = _tmp131_;
		vala_ccode_function_close (_tmp132_);
	}
	_tmp133_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp134_ = _tmp133_;
	_tmp135_ = vala_ccode_constant_new ("FALSE");
	_tmp136_ = _tmp135_;
	vala_ccode_function_add_return (_tmp134_, (ValaCCodeExpression*) _tmp136_);
	_vala_ccode_node_unref0 (_tmp136_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp137_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp138_ = cfunc;
	vala_ccode_file_add_function (_tmp137_, _tmp138_);
	_vala_ccode_node_unref0 (cfunc);
}


static ValaCCodeExpression* vala_gd_bus_server_module_get_interface_vtable (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym) {
	ValaCCodeExpression* result = NULL;
	ValaCCodeInitializerList* vtable = NULL;
	ValaCCodeInitializerList* _tmp0_ = NULL;
	ValaObjectTypeSymbol* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	ValaCCodeIdentifier* _tmp6_ = NULL;
	ValaCCodeIdentifier* _tmp7_ = NULL;
	ValaObjectTypeSymbol* _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	ValaCCodeIdentifier* _tmp13_ = NULL;
	ValaCCodeIdentifier* _tmp14_ = NULL;
	ValaObjectTypeSymbol* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	gchar* _tmp17_ = NULL;
	gchar* _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	ValaCCodeIdentifier* _tmp20_ = NULL;
	ValaCCodeIdentifier* _tmp21_ = NULL;
	ValaObjectTypeSymbol* _tmp22_ = NULL;
	ValaObjectTypeSymbol* _tmp23_ = NULL;
	ValaObjectTypeSymbol* _tmp24_ = NULL;
	ValaCCodeDeclaration* _cdecl_ = NULL;
	ValaCCodeDeclaration* _tmp25_ = NULL;
	ValaObjectTypeSymbol* _tmp26_ = NULL;
	gchar* _tmp27_ = NULL;
	gchar* _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	gchar* _tmp30_ = NULL;
	gchar* _tmp31_ = NULL;
	gchar* _tmp32_ = NULL;
	ValaCCodeVariableDeclarator* _tmp33_ = NULL;
	ValaCCodeVariableDeclarator* _tmp34_ = NULL;
	ValaCCodeFile* _tmp35_ = NULL;
	ValaObjectTypeSymbol* _tmp36_ = NULL;
	gchar* _tmp37_ = NULL;
	gchar* _tmp38_ = NULL;
	gchar* _tmp39_ = NULL;
	gchar* _tmp40_ = NULL;
	gchar* _tmp41_ = NULL;
	gchar* _tmp42_ = NULL;
	ValaCCodeIdentifier* _tmp43_ = NULL;
	ValaCCodeExpression* _tmp44_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (sym != NULL, NULL);
	_tmp0_ = vala_ccode_initializer_list_new ();
	vtable = _tmp0_;
	_tmp1_ = sym;
	_tmp2_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strconcat (_tmp3_, "dbus_interface_method_call", NULL);
	_tmp5_ = _tmp4_;
	_tmp6_ = vala_ccode_identifier_new (_tmp5_);
	_tmp7_ = _tmp6_;
	vala_ccode_initializer_list_append (vtable, (ValaCCodeExpression*) _tmp7_);
	_vala_ccode_node_unref0 (_tmp7_);
	_g_free0 (_tmp5_);
	_g_free0 (_tmp3_);
	_tmp8_ = sym;
	_tmp9_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = g_strconcat (_tmp10_, "dbus_interface_get_property", NULL);
	_tmp12_ = _tmp11_;
	_tmp13_ = vala_ccode_identifier_new (_tmp12_);
	_tmp14_ = _tmp13_;
	vala_ccode_initializer_list_append (vtable, (ValaCCodeExpression*) _tmp14_);
	_vala_ccode_node_unref0 (_tmp14_);
	_g_free0 (_tmp12_);
	_g_free0 (_tmp10_);
	_tmp15_ = sym;
	_tmp16_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp15_);
	_tmp17_ = _tmp16_;
	_tmp18_ = g_strconcat (_tmp17_, "dbus_interface_set_property", NULL);
	_tmp19_ = _tmp18_;
	_tmp20_ = vala_ccode_identifier_new (_tmp19_);
	_tmp21_ = _tmp20_;
	vala_ccode_initializer_list_append (vtable, (ValaCCodeExpression*) _tmp21_);
	_vala_ccode_node_unref0 (_tmp21_);
	_g_free0 (_tmp19_);
	_g_free0 (_tmp17_);
	_tmp22_ = sym;
	vala_gd_bus_server_module_generate_interface_method_call_function (self, _tmp22_);
	_tmp23_ = sym;
	vala_gd_bus_server_module_generate_interface_get_property_function (self, _tmp23_);
	_tmp24_ = sym;
	vala_gd_bus_server_module_generate_interface_set_property_function (self, _tmp24_);
	_tmp25_ = vala_ccode_declaration_new ("const GDBusInterfaceVTable");
	_cdecl_ = _tmp25_;
	_tmp26_ = sym;
	_tmp27_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp26_);
	_tmp28_ = _tmp27_;
	_tmp29_ = g_strconcat ("_", _tmp28_, NULL);
	_tmp30_ = _tmp29_;
	_tmp31_ = g_strconcat (_tmp30_, "dbus_interface_vtable", NULL);
	_tmp32_ = _tmp31_;
	_tmp33_ = vala_ccode_variable_declarator_new (_tmp32_, (ValaCCodeExpression*) vtable, NULL);
	_tmp34_ = _tmp33_;
	vala_ccode_declaration_add_declarator (_cdecl_, (ValaCCodeDeclarator*) _tmp34_);
	_vala_ccode_node_unref0 (_tmp34_);
	_g_free0 (_tmp32_);
	_g_free0 (_tmp30_);
	_g_free0 (_tmp28_);
	vala_ccode_declaration_set_modifiers (_cdecl_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp35_ = ((ValaCCodeBaseModule*) self)->cfile;
	vala_ccode_file_add_constant_declaration (_tmp35_, (ValaCCodeNode*) _cdecl_);
	_tmp36_ = sym;
	_tmp37_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp36_);
	_tmp38_ = _tmp37_;
	_tmp39_ = g_strconcat ("_", _tmp38_, NULL);
	_tmp40_ = _tmp39_;
	_tmp41_ = g_strconcat (_tmp40_, "dbus_interface_vtable", NULL);
	_tmp42_ = _tmp41_;
	_tmp43_ = vala_ccode_identifier_new (_tmp42_);
	_tmp44_ = (ValaCCodeExpression*) _tmp43_;
	_g_free0 (_tmp42_);
	_g_free0 (_tmp40_);
	_g_free0 (_tmp38_);
	result = _tmp44_;
	_vala_ccode_node_unref0 (_cdecl_);
	_vala_ccode_node_unref0 (vtable);
	return result;
}


static gchar* vala_gd_bus_server_module_generate_register_object_function (ValaGDBusServerModule* self) {
	gchar* result = NULL;
	gchar* register_object_func = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	ValaCCodeFile* _tmp3_ = NULL;
	ValaCCodeFunction* function = NULL;
	const gchar* _tmp4_ = NULL;
	ValaCCodeFunction* _tmp5_ = NULL;
	ValaCCodeFunction* _tmp6_ = NULL;
	ValaCCodeFunction* _tmp7_ = NULL;
	ValaCCodeParameter* _tmp8_ = NULL;
	ValaCCodeParameter* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeParameter* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeFunction* _tmp13_ = NULL;
	ValaCCodeParameter* _tmp14_ = NULL;
	ValaCCodeParameter* _tmp15_ = NULL;
	ValaCCodeFunction* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeParameter* _tmp18_ = NULL;
	ValaCCodeFunction* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeParameter* _tmp21_ = NULL;
	ValaCCodeFunction* _tmp22_ = NULL;
	ValaCCodeFunctionCall* quark = NULL;
	ValaCCodeIdentifier* _tmp23_ = NULL;
	ValaCCodeIdentifier* _tmp24_ = NULL;
	ValaCCodeFunctionCall* _tmp25_ = NULL;
	ValaCCodeFunctionCall* _tmp26_ = NULL;
	ValaCCodeFunctionCall* _tmp27_ = NULL;
	ValaCCodeConstant* _tmp28_ = NULL;
	ValaCCodeConstant* _tmp29_ = NULL;
	ValaCCodeFunctionCall* get_qdata = NULL;
	ValaCCodeIdentifier* _tmp30_ = NULL;
	ValaCCodeIdentifier* _tmp31_ = NULL;
	ValaCCodeFunctionCall* _tmp32_ = NULL;
	ValaCCodeFunctionCall* _tmp33_ = NULL;
	ValaCCodeFunctionCall* _tmp34_ = NULL;
	ValaCCodeIdentifier* _tmp35_ = NULL;
	ValaCCodeIdentifier* _tmp36_ = NULL;
	ValaCCodeFunctionCall* _tmp37_ = NULL;
	ValaCCodeFunctionCall* _tmp38_ = NULL;
	ValaCCodeFunction* _tmp39_ = NULL;
	ValaCCodeFunction* _tmp40_ = NULL;
	ValaCCodeVariableDeclarator* _tmp41_ = NULL;
	ValaCCodeVariableDeclarator* _tmp42_ = NULL;
	ValaCCodeFunction* _tmp43_ = NULL;
	ValaCCodeFunction* _tmp44_ = NULL;
	ValaCCodeIdentifier* _tmp45_ = NULL;
	ValaCCodeIdentifier* _tmp46_ = NULL;
	ValaCCodeFunctionCall* _tmp47_ = NULL;
	ValaCCodeFunction* _tmp48_ = NULL;
	ValaCCodeFunction* _tmp49_ = NULL;
	ValaCCodeIdentifier* _tmp50_ = NULL;
	ValaCCodeIdentifier* _tmp51_ = NULL;
	ValaCCodeUnaryExpression* _tmp52_ = NULL;
	ValaCCodeUnaryExpression* _tmp53_ = NULL;
	ValaCCodeFunctionCall* set_error = NULL;
	ValaCCodeIdentifier* _tmp54_ = NULL;
	ValaCCodeIdentifier* _tmp55_ = NULL;
	ValaCCodeFunctionCall* _tmp56_ = NULL;
	ValaCCodeFunctionCall* _tmp57_ = NULL;
	ValaCCodeFunctionCall* _tmp58_ = NULL;
	ValaCCodeIdentifier* _tmp59_ = NULL;
	ValaCCodeIdentifier* _tmp60_ = NULL;
	ValaCCodeFunctionCall* _tmp61_ = NULL;
	ValaCCodeIdentifier* _tmp62_ = NULL;
	ValaCCodeIdentifier* _tmp63_ = NULL;
	ValaCCodeFunctionCall* _tmp64_ = NULL;
	ValaCCodeIdentifier* _tmp65_ = NULL;
	ValaCCodeIdentifier* _tmp66_ = NULL;
	ValaCCodeFunctionCall* _tmp67_ = NULL;
	ValaCCodeConstant* _tmp68_ = NULL;
	ValaCCodeConstant* _tmp69_ = NULL;
	ValaCCodeFunction* _tmp70_ = NULL;
	ValaCCodeFunction* _tmp71_ = NULL;
	ValaCCodeFunctionCall* _tmp72_ = NULL;
	ValaCCodeFunction* _tmp73_ = NULL;
	ValaCCodeFunction* _tmp74_ = NULL;
	ValaCCodeConstant* _tmp75_ = NULL;
	ValaCCodeConstant* _tmp76_ = NULL;
	ValaCCodeFunction* _tmp77_ = NULL;
	ValaCCodeFunction* _tmp78_ = NULL;
	ValaCCodeCastExpression* register_object = NULL;
	ValaCCodeIdentifier* _tmp79_ = NULL;
	ValaCCodeIdentifier* _tmp80_ = NULL;
	ValaCCodeCastExpression* _tmp81_ = NULL;
	ValaCCodeCastExpression* _tmp82_ = NULL;
	ValaCCodeFunctionCall* ccall = NULL;
	ValaCCodeCastExpression* _tmp83_ = NULL;
	ValaCCodeFunctionCall* _tmp84_ = NULL;
	ValaCCodeFunctionCall* _tmp85_ = NULL;
	ValaCCodeIdentifier* _tmp86_ = NULL;
	ValaCCodeIdentifier* _tmp87_ = NULL;
	ValaCCodeFunctionCall* _tmp88_ = NULL;
	ValaCCodeIdentifier* _tmp89_ = NULL;
	ValaCCodeIdentifier* _tmp90_ = NULL;
	ValaCCodeFunctionCall* _tmp91_ = NULL;
	ValaCCodeIdentifier* _tmp92_ = NULL;
	ValaCCodeIdentifier* _tmp93_ = NULL;
	ValaCCodeFunctionCall* _tmp94_ = NULL;
	ValaCCodeIdentifier* _tmp95_ = NULL;
	ValaCCodeIdentifier* _tmp96_ = NULL;
	ValaCCodeFunction* _tmp97_ = NULL;
	ValaCCodeFunction* _tmp98_ = NULL;
	ValaCCodeFunctionCall* _tmp99_ = NULL;
	ValaCCodeFile* _tmp100_ = NULL;
	ValaCCodeFunction* _tmp101_ = NULL;
	ValaCCodeFile* _tmp102_ = NULL;
	ValaCCodeFunction* _tmp103_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup ("_vala_g_dbus_connection_register_object");
	register_object_func = _tmp0_;
	_tmp1_ = register_object_func;
	_tmp2_ = vala_ccode_base_module_add_wrapper ((ValaCCodeBaseModule*) self, _tmp1_);
	if (!_tmp2_) {
		result = register_object_func;
		return result;
	}
	_tmp3_ = ((ValaCCodeBaseModule*) self)->cfile;
	vala_ccode_file_add_include (_tmp3_, "gio/gio.h", FALSE);
	_tmp4_ = register_object_func;
	_tmp5_ = vala_ccode_function_new (_tmp4_, "guint");
	function = _tmp5_;
	_tmp6_ = function;
	vala_ccode_function_set_modifiers (_tmp6_, VALA_CCODE_MODIFIERS_STATIC);
	_tmp7_ = function;
	_tmp8_ = vala_ccode_parameter_new ("type", "GType");
	_tmp9_ = _tmp8_;
	vala_ccode_function_add_parameter (_tmp7_, _tmp9_);
	_vala_ccode_node_unref0 (_tmp9_);
	_tmp10_ = function;
	_tmp11_ = vala_ccode_parameter_new ("object", "void*");
	_tmp12_ = _tmp11_;
	vala_ccode_function_add_parameter (_tmp10_, _tmp12_);
	_vala_ccode_node_unref0 (_tmp12_);
	_tmp13_ = function;
	_tmp14_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp15_ = _tmp14_;
	vala_ccode_function_add_parameter (_tmp13_, _tmp15_);
	_vala_ccode_node_unref0 (_tmp15_);
	_tmp16_ = function;
	_tmp17_ = vala_ccode_parameter_new ("path", "const gchar*");
	_tmp18_ = _tmp17_;
	vala_ccode_function_add_parameter (_tmp16_, _tmp18_);
	_vala_ccode_node_unref0 (_tmp18_);
	_tmp19_ = function;
	_tmp20_ = vala_ccode_parameter_new ("error", "GError**");
	_tmp21_ = _tmp20_;
	vala_ccode_function_add_parameter (_tmp19_, _tmp21_);
	_vala_ccode_node_unref0 (_tmp21_);
	_tmp22_ = function;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp22_);
	_tmp23_ = vala_ccode_identifier_new ("g_quark_from_static_string");
	_tmp24_ = _tmp23_;
	_tmp25_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp24_);
	_tmp26_ = _tmp25_;
	_vala_ccode_node_unref0 (_tmp24_);
	quark = _tmp26_;
	_tmp27_ = quark;
	_tmp28_ = vala_ccode_constant_new ("\"vala-dbus-register-object\"");
	_tmp29_ = _tmp28_;
	vala_ccode_function_call_add_argument (_tmp27_, (ValaCCodeExpression*) _tmp29_);
	_vala_ccode_node_unref0 (_tmp29_);
	_tmp30_ = vala_ccode_identifier_new ("g_type_get_qdata");
	_tmp31_ = _tmp30_;
	_tmp32_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp31_);
	_tmp33_ = _tmp32_;
	_vala_ccode_node_unref0 (_tmp31_);
	get_qdata = _tmp33_;
	_tmp34_ = get_qdata;
	_tmp35_ = vala_ccode_identifier_new ("type");
	_tmp36_ = _tmp35_;
	vala_ccode_function_call_add_argument (_tmp34_, (ValaCCodeExpression*) _tmp36_);
	_vala_ccode_node_unref0 (_tmp36_);
	_tmp37_ = get_qdata;
	_tmp38_ = quark;
	vala_ccode_function_call_add_argument (_tmp37_, (ValaCCodeExpression*) _tmp38_);
	_tmp39_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp40_ = _tmp39_;
	_tmp41_ = vala_ccode_variable_declarator_new ("*func", NULL, NULL);
	_tmp42_ = _tmp41_;
	vala_ccode_function_add_declaration (_tmp40_, "void", (ValaCCodeDeclarator*) _tmp42_, 0);
	_vala_ccode_node_unref0 (_tmp42_);
	_tmp43_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp44_ = _tmp43_;
	_tmp45_ = vala_ccode_identifier_new ("func");
	_tmp46_ = _tmp45_;
	_tmp47_ = get_qdata;
	vala_ccode_function_add_assignment (_tmp44_, (ValaCCodeExpression*) _tmp46_, (ValaCCodeExpression*) _tmp47_);
	_vala_ccode_node_unref0 (_tmp46_);
	_tmp48_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp49_ = _tmp48_;
	_tmp50_ = vala_ccode_identifier_new ("func");
	_tmp51_ = _tmp50_;
	_tmp52_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_LOGICAL_NEGATION, (ValaCCodeExpression*) _tmp51_);
	_tmp53_ = _tmp52_;
	vala_ccode_function_open_if (_tmp49_, (ValaCCodeExpression*) _tmp53_);
	_vala_ccode_node_unref0 (_tmp53_);
	_vala_ccode_node_unref0 (_tmp51_);
	_tmp54_ = vala_ccode_identifier_new ("g_set_error_literal");
	_tmp55_ = _tmp54_;
	_tmp56_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp55_);
	_tmp57_ = _tmp56_;
	_vala_ccode_node_unref0 (_tmp55_);
	set_error = _tmp57_;
	_tmp58_ = set_error;
	_tmp59_ = vala_ccode_identifier_new ("error");
	_tmp60_ = _tmp59_;
	vala_ccode_function_call_add_argument (_tmp58_, (ValaCCodeExpression*) _tmp60_);
	_vala_ccode_node_unref0 (_tmp60_);
	_tmp61_ = set_error;
	_tmp62_ = vala_ccode_identifier_new ("G_IO_ERROR");
	_tmp63_ = _tmp62_;
	vala_ccode_function_call_add_argument (_tmp61_, (ValaCCodeExpression*) _tmp63_);
	_vala_ccode_node_unref0 (_tmp63_);
	_tmp64_ = set_error;
	_tmp65_ = vala_ccode_identifier_new ("G_IO_ERROR_FAILED");
	_tmp66_ = _tmp65_;
	vala_ccode_function_call_add_argument (_tmp64_, (ValaCCodeExpression*) _tmp66_);
	_vala_ccode_node_unref0 (_tmp66_);
	_tmp67_ = set_error;
	_tmp68_ = vala_ccode_constant_new ("\"The specified type does not support D-Bus registration\"");
	_tmp69_ = _tmp68_;
	vala_ccode_function_call_add_argument (_tmp67_, (ValaCCodeExpression*) _tmp69_);
	_vala_ccode_node_unref0 (_tmp69_);
	_tmp70_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp71_ = _tmp70_;
	_tmp72_ = set_error;
	vala_ccode_function_add_expression (_tmp71_, (ValaCCodeExpression*) _tmp72_);
	_tmp73_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp74_ = _tmp73_;
	_tmp75_ = vala_ccode_constant_new ("0");
	_tmp76_ = _tmp75_;
	vala_ccode_function_add_return (_tmp74_, (ValaCCodeExpression*) _tmp76_);
	_vala_ccode_node_unref0 (_tmp76_);
	_tmp77_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp78_ = _tmp77_;
	vala_ccode_function_close (_tmp78_);
	_tmp79_ = vala_ccode_identifier_new ("func");
	_tmp80_ = _tmp79_;
	_tmp81_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp80_, "guint (*) (void *, GDBusConnection *, const gchar *, GError **)");
	_tmp82_ = _tmp81_;
	_vala_ccode_node_unref0 (_tmp80_);
	register_object = _tmp82_;
	_tmp83_ = register_object;
	_tmp84_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp83_);
	ccall = _tmp84_;
	_tmp85_ = ccall;
	_tmp86_ = vala_ccode_identifier_new ("object");
	_tmp87_ = _tmp86_;
	vala_ccode_function_call_add_argument (_tmp85_, (ValaCCodeExpression*) _tmp87_);
	_vala_ccode_node_unref0 (_tmp87_);
	_tmp88_ = ccall;
	_tmp89_ = vala_ccode_identifier_new ("connection");
	_tmp90_ = _tmp89_;
	vala_ccode_function_call_add_argument (_tmp88_, (ValaCCodeExpression*) _tmp90_);
	_vala_ccode_node_unref0 (_tmp90_);
	_tmp91_ = ccall;
	_tmp92_ = vala_ccode_identifier_new ("path");
	_tmp93_ = _tmp92_;
	vala_ccode_function_call_add_argument (_tmp91_, (ValaCCodeExpression*) _tmp93_);
	_vala_ccode_node_unref0 (_tmp93_);
	_tmp94_ = ccall;
	_tmp95_ = vala_ccode_identifier_new ("error");
	_tmp96_ = _tmp95_;
	vala_ccode_function_call_add_argument (_tmp94_, (ValaCCodeExpression*) _tmp96_);
	_vala_ccode_node_unref0 (_tmp96_);
	_tmp97_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp98_ = _tmp97_;
	_tmp99_ = ccall;
	vala_ccode_function_add_return (_tmp98_, (ValaCCodeExpression*) _tmp99_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp100_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp101_ = function;
	vala_ccode_file_add_function_declaration (_tmp100_, _tmp101_);
	_tmp102_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp103_ = function;
	vala_ccode_file_add_function (_tmp102_, _tmp103_);
	result = register_object_func;
	_vala_ccode_node_unref0 (ccall);
	_vala_ccode_node_unref0 (register_object);
	_vala_ccode_node_unref0 (set_error);
	_vala_ccode_node_unref0 (get_qdata);
	_vala_ccode_node_unref0 (quark);
	_vala_ccode_node_unref0 (function);
	return result;
}


static void vala_gd_bus_server_module_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr) {
	ValaGDBusServerModule * self;
	ValaMethodType* mtype = NULL;
	ValaMethodCall* _tmp0_ = NULL;
	ValaExpression* _tmp1_ = NULL;
	ValaExpression* _tmp2_ = NULL;
	ValaDataType* _tmp3_ = NULL;
	ValaDataType* _tmp4_ = NULL;
	ValaMethodType* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
	ValaMethodType* _tmp7_ = NULL;
	ValaMemberAccess* ma = NULL;
	ValaMethodCall* _tmp14_ = NULL;
	ValaExpression* _tmp15_ = NULL;
	ValaExpression* _tmp16_ = NULL;
	ValaMemberAccess* _tmp17_ = NULL;
	ValaDataType* type_arg = NULL;
	ValaMemberAccess* _tmp18_ = NULL;
	ValaList* _tmp19_ = NULL;
	ValaList* _tmp20_ = NULL;
	gpointer _tmp21_ = NULL;
	ValaDataType* _tmp22_ = NULL;
	ValaCCodeFunctionCall* cregister = NULL;
	ValaObjectType* object_type = NULL;
	ValaDataType* _tmp23_ = NULL;
	ValaObjectType* _tmp24_ = NULL;
	ValaObjectType* _tmp25_ = NULL;
	ValaList* args = NULL;
	ValaMethodCall* _tmp54_ = NULL;
	ValaList* _tmp55_ = NULL;
	ValaExpression* path_arg = NULL;
	ValaList* _tmp56_ = NULL;
	gpointer _tmp57_ = NULL;
	ValaExpression* obj_arg = NULL;
	ValaList* _tmp58_ = NULL;
	gpointer _tmp59_ = NULL;
	ValaCCodeFunctionCall* _tmp60_ = NULL;
	ValaExpression* _tmp61_ = NULL;
	ValaCCodeExpression* _tmp62_ = NULL;
	ValaCCodeExpression* _tmp63_ = NULL;
	ValaCCodeFunctionCall* _tmp64_ = NULL;
	ValaMemberAccess* _tmp65_ = NULL;
	ValaExpression* _tmp66_ = NULL;
	ValaExpression* _tmp67_ = NULL;
	ValaCCodeExpression* _tmp68_ = NULL;
	ValaCCodeExpression* _tmp69_ = NULL;
	ValaCCodeFunctionCall* _tmp70_ = NULL;
	ValaExpression* _tmp71_ = NULL;
	ValaCCodeExpression* _tmp72_ = NULL;
	ValaCCodeExpression* _tmp73_ = NULL;
	ValaCCodeFunctionCall* _tmp74_ = NULL;
	ValaCCodeExpression* _tmp75_ = NULL;
	ValaCCodeExpression* _tmp76_ = NULL;
	ValaCCodeUnaryExpression* _tmp77_ = NULL;
	ValaCCodeUnaryExpression* _tmp78_ = NULL;
	ValaMethodCall* _tmp79_ = NULL;
	ValaCodeNode* _tmp80_ = NULL;
	ValaCodeNode* _tmp81_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (expr != NULL);
	_tmp0_ = expr;
	_tmp1_ = vala_method_call_get_call (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = vala_expression_get_value_type (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, VALA_TYPE_METHOD_TYPE) ? ((ValaMethodType*) _tmp4_) : NULL);
	mtype = _tmp5_;
	_tmp7_ = mtype;
	if (_tmp7_ == NULL) {
		_tmp6_ = TRUE;
	} else {
		ValaMethodType* _tmp8_ = NULL;
		ValaMethod* _tmp9_ = NULL;
		ValaMethod* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		gchar* _tmp12_ = NULL;
		_tmp8_ = mtype;
		_tmp9_ = vala_method_type_get_method_symbol (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp10_);
		_tmp12_ = _tmp11_;
		_tmp6_ = g_strcmp0 (_tmp12_, "g_dbus_connection_register_object") != 0;
		_g_free0 (_tmp12_);
	}
	if (_tmp6_) {
		ValaMethodCall* _tmp13_ = NULL;
		_tmp13_ = expr;
		VALA_CODE_VISITOR_CLASS (vala_gd_bus_server_module_parent_class)->visit_method_call ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp13_);
		_vala_code_node_unref0 (mtype);
		return;
	}
	_tmp14_ = expr;
	_tmp15_ = vala_method_call_get_call (_tmp14_);
	_tmp16_ = _tmp15_;
	_tmp17_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, VALA_TYPE_MEMBER_ACCESS, ValaMemberAccess));
	ma = _tmp17_;
	_tmp18_ = ma;
	_tmp19_ = vala_member_access_get_type_arguments (_tmp18_);
	_tmp20_ = _tmp19_;
	_tmp21_ = vala_list_get (_tmp20_, 0);
	_tmp22_ = (ValaDataType*) _tmp21_;
	_vala_iterable_unref0 (_tmp20_);
	type_arg = _tmp22_;
	_tmp23_ = type_arg;
	_tmp24_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, VALA_TYPE_OBJECT_TYPE) ? ((ValaObjectType*) _tmp23_) : NULL);
	object_type = _tmp24_;
	_tmp25_ = object_type;
	if (_tmp25_ != NULL) {
		ValaObjectType* _tmp26_ = NULL;
		ValaObjectTypeSymbol* _tmp27_ = NULL;
		ValaObjectTypeSymbol* _tmp28_ = NULL;
		gchar* _tmp29_ = NULL;
		gchar* _tmp30_ = NULL;
		gboolean _tmp31_ = FALSE;
		ValaObjectType* _tmp35_ = NULL;
		ValaObjectTypeSymbol* _tmp36_ = NULL;
		ValaObjectTypeSymbol* _tmp37_ = NULL;
		gchar* _tmp38_ = NULL;
		gchar* _tmp39_ = NULL;
		gchar* _tmp40_ = NULL;
		gchar* _tmp41_ = NULL;
		ValaCCodeIdentifier* _tmp42_ = NULL;
		ValaCCodeIdentifier* _tmp43_ = NULL;
		ValaCCodeFunctionCall* _tmp44_ = NULL;
		_tmp26_ = object_type;
		_tmp27_ = vala_object_type_get_type_symbol (_tmp26_);
		_tmp28_ = _tmp27_;
		_tmp29_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp28_);
		_tmp30_ = _tmp29_;
		_tmp31_ = _tmp30_ == NULL;
		_g_free0 (_tmp30_);
		if (_tmp31_) {
			ValaMethodCall* _tmp32_ = NULL;
			ValaSourceReference* _tmp33_ = NULL;
			ValaSourceReference* _tmp34_ = NULL;
			_tmp32_ = expr;
			_tmp33_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp32_);
			_tmp34_ = _tmp33_;
			vala_report_error (_tmp34_, "DBusConnection.register_object requires type argument with [DBus (name" \
" = ...)] attribute");
			_vala_code_node_unref0 (object_type);
			_vala_ccode_node_unref0 (cregister);
			_vala_code_node_unref0 (type_arg);
			_vala_code_node_unref0 (ma);
			_vala_code_node_unref0 (mtype);
			return;
		}
		_tmp35_ = object_type;
		_tmp36_ = vala_object_type_get_type_symbol (_tmp35_);
		_tmp37_ = _tmp36_;
		_tmp38_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp37_);
		_tmp39_ = _tmp38_;
		_tmp40_ = g_strdup_printf ("%sregister_object", _tmp39_);
		_tmp41_ = _tmp40_;
		_tmp42_ = vala_ccode_identifier_new (_tmp41_);
		_tmp43_ = _tmp42_;
		_tmp44_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp43_);
		_vala_ccode_node_unref0 (cregister);
		cregister = _tmp44_;
		_vala_ccode_node_unref0 (_tmp43_);
		_g_free0 (_tmp41_);
		_g_free0 (_tmp39_);
	} else {
		gchar* _tmp45_ = NULL;
		gchar* _tmp46_ = NULL;
		ValaCCodeIdentifier* _tmp47_ = NULL;
		ValaCCodeIdentifier* _tmp48_ = NULL;
		ValaCCodeFunctionCall* _tmp49_ = NULL;
		ValaCCodeFunctionCall* _tmp50_ = NULL;
		ValaDataType* _tmp51_ = NULL;
		ValaCCodeExpression* _tmp52_ = NULL;
		ValaCCodeExpression* _tmp53_ = NULL;
		_tmp45_ = vala_gd_bus_server_module_generate_register_object_function (self);
		_tmp46_ = _tmp45_;
		_tmp47_ = vala_ccode_identifier_new (_tmp46_);
		_tmp48_ = _tmp47_;
		_tmp49_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp48_);
		_vala_ccode_node_unref0 (cregister);
		cregister = _tmp49_;
		_vala_ccode_node_unref0 (_tmp48_);
		_g_free0 (_tmp46_);
		_tmp50_ = cregister;
		_tmp51_ = type_arg;
		_tmp52_ = vala_ccode_base_module_get_type_id_expression ((ValaCCodeBaseModule*) self, _tmp51_, FALSE);
		_tmp53_ = _tmp52_;
		vala_ccode_function_call_add_argument (_tmp50_, _tmp53_);
		_vala_ccode_node_unref0 (_tmp53_);
	}
	_tmp54_ = expr;
	_tmp55_ = vala_method_call_get_argument_list (_tmp54_);
	args = _tmp55_;
	_tmp56_ = args;
	_tmp57_ = vala_list_get (_tmp56_, 0);
	path_arg = (ValaExpression*) _tmp57_;
	_tmp58_ = args;
	_tmp59_ = vala_list_get (_tmp58_, 1);
	obj_arg = (ValaExpression*) _tmp59_;
	vala_ccode_base_module_set_current_method_inner_error ((ValaCCodeBaseModule*) self, TRUE);
	_tmp60_ = cregister;
	_tmp61_ = obj_arg;
	_tmp62_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp61_);
	_tmp63_ = _tmp62_;
	vala_ccode_function_call_add_argument (_tmp60_, _tmp63_);
	_vala_ccode_node_unref0 (_tmp63_);
	_tmp64_ = cregister;
	_tmp65_ = ma;
	_tmp66_ = vala_member_access_get_inner (_tmp65_);
	_tmp67_ = _tmp66_;
	_tmp68_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp67_);
	_tmp69_ = _tmp68_;
	vala_ccode_function_call_add_argument (_tmp64_, _tmp69_);
	_vala_ccode_node_unref0 (_tmp69_);
	_tmp70_ = cregister;
	_tmp71_ = path_arg;
	_tmp72_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp71_);
	_tmp73_ = _tmp72_;
	vala_ccode_function_call_add_argument (_tmp70_, _tmp73_);
	_vala_ccode_node_unref0 (_tmp73_);
	_tmp74_ = cregister;
	_tmp75_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, "_inner_error_");
	_tmp76_ = _tmp75_;
	_tmp77_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp76_);
	_tmp78_ = _tmp77_;
	vala_ccode_function_call_add_argument (_tmp74_, (ValaCCodeExpression*) _tmp78_);
	_vala_ccode_node_unref0 (_tmp78_);
	_vala_ccode_node_unref0 (_tmp76_);
	_tmp79_ = expr;
	_tmp80_ = vala_code_node_get_parent_node ((ValaCodeNode*) _tmp79_);
	_tmp81_ = _tmp80_;
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp81_, VALA_TYPE_EXPRESSION_STATEMENT)) {
		ValaCCodeFunction* _tmp82_ = NULL;
		ValaCCodeFunction* _tmp83_ = NULL;
		ValaCCodeFunctionCall* _tmp84_ = NULL;
		_tmp82_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp83_ = _tmp82_;
		_tmp84_ = cregister;
		vala_ccode_function_add_expression (_tmp83_, (ValaCCodeExpression*) _tmp84_);
	} else {
		ValaLocalVariable* temp_var = NULL;
		ValaMethodCall* _tmp85_ = NULL;
		ValaDataType* _tmp86_ = NULL;
		ValaDataType* _tmp87_ = NULL;
		ValaMethodCall* _tmp88_ = NULL;
		ValaDataType* _tmp89_ = NULL;
		ValaDataType* _tmp90_ = NULL;
		gboolean _tmp91_ = FALSE;
		gboolean _tmp92_ = FALSE;
		ValaLocalVariable* _tmp93_ = NULL;
		ValaCCodeExpression* temp_ref = NULL;
		ValaLocalVariable* _tmp94_ = NULL;
		const gchar* _tmp95_ = NULL;
		const gchar* _tmp96_ = NULL;
		ValaCCodeExpression* _tmp97_ = NULL;
		ValaLocalVariable* _tmp98_ = NULL;
		ValaCCodeFunction* _tmp99_ = NULL;
		ValaCCodeFunction* _tmp100_ = NULL;
		ValaCCodeExpression* _tmp101_ = NULL;
		ValaCCodeFunctionCall* _tmp102_ = NULL;
		ValaMethodCall* _tmp103_ = NULL;
		ValaCCodeExpression* _tmp104_ = NULL;
		_tmp85_ = expr;
		_tmp86_ = vala_expression_get_value_type ((ValaExpression*) _tmp85_);
		_tmp87_ = _tmp86_;
		_tmp88_ = expr;
		_tmp89_ = vala_expression_get_value_type ((ValaExpression*) _tmp88_);
		_tmp90_ = _tmp89_;
		_tmp91_ = vala_data_type_get_value_owned (_tmp90_);
		_tmp92_ = _tmp91_;
		_tmp93_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, _tmp87_, _tmp92_, NULL, TRUE);
		temp_var = _tmp93_;
		_tmp94_ = temp_var;
		_tmp95_ = vala_symbol_get_name ((ValaSymbol*) _tmp94_);
		_tmp96_ = _tmp95_;
		_tmp97_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp96_);
		temp_ref = _tmp97_;
		_tmp98_ = temp_var;
		vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, _tmp98_);
		_tmp99_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
		_tmp100_ = _tmp99_;
		_tmp101_ = temp_ref;
		_tmp102_ = cregister;
		vala_ccode_function_add_assignment (_tmp100_, _tmp101_, (ValaCCodeExpression*) _tmp102_);
		_tmp103_ = expr;
		_tmp104_ = temp_ref;
		vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp103_, _tmp104_);
		_vala_ccode_node_unref0 (temp_ref);
		_vala_code_node_unref0 (temp_var);
	}
	_vala_code_node_unref0 (obj_arg);
	_vala_code_node_unref0 (path_arg);
	_vala_iterable_unref0 (args);
	_vala_code_node_unref0 (object_type);
	_vala_ccode_node_unref0 (cregister);
	_vala_code_node_unref0 (type_arg);
	_vala_code_node_unref0 (ma);
	_vala_code_node_unref0 (mtype);
}


static void vala_gd_bus_server_module_real_generate_class_declaration (ValaCCodeBaseModule* base, ValaClass* cl, ValaCCodeFile* decl_space) {
	ValaGDBusServerModule * self;
	ValaClass* _tmp0_ = NULL;
	ValaCCodeFile* _tmp1_ = NULL;
	ValaClass* _tmp2_ = NULL;
	ValaCCodeFile* _tmp3_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (cl != NULL);
	g_return_if_fail (decl_space != NULL);
	_tmp0_ = cl;
	_tmp1_ = decl_space;
	VALA_CCODE_BASE_MODULE_CLASS (vala_gd_bus_server_module_parent_class)->generate_class_declaration ((ValaCCodeBaseModule*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp0_, _tmp1_);
	_tmp2_ = cl;
	_tmp3_ = decl_space;
	vala_gd_bus_server_module_generate_object_type_symbol_declaration (self, (ValaObjectTypeSymbol*) _tmp2_, _tmp3_);
}


static void vala_gd_bus_server_module_real_generate_interface_declaration (ValaCCodeBaseModule* base, ValaInterface* iface, ValaCCodeFile* decl_space) {
	ValaGDBusServerModule * self;
	ValaInterface* _tmp0_ = NULL;
	ValaCCodeFile* _tmp1_ = NULL;
	ValaInterface* _tmp2_ = NULL;
	ValaCCodeFile* _tmp3_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (iface != NULL);
	g_return_if_fail (decl_space != NULL);
	_tmp0_ = iface;
	_tmp1_ = decl_space;
	VALA_CCODE_BASE_MODULE_CLASS (vala_gd_bus_server_module_parent_class)->generate_interface_declaration ((ValaCCodeBaseModule*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp0_, _tmp1_);
	_tmp2_ = iface;
	_tmp3_ = decl_space;
	vala_gd_bus_server_module_generate_object_type_symbol_declaration (self, (ValaObjectTypeSymbol*) _tmp2_, _tmp3_);
}


static void vala_gd_bus_server_module_real_visit_class (ValaCodeVisitor* base, ValaClass* cl) {
	ValaGDBusServerModule * self;
	ValaClass* _tmp0_ = NULL;
	ValaClass* _tmp1_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (cl != NULL);
	_tmp0_ = cl;
	VALA_CODE_VISITOR_CLASS (vala_gd_bus_server_module_parent_class)->visit_class ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp0_);
	_tmp1_ = cl;
	vala_gd_bus_server_module_visit_object_type_symbol (self, (ValaObjectTypeSymbol*) _tmp1_);
}


static void vala_gd_bus_server_module_real_visit_interface (ValaCodeVisitor* base, ValaInterface* iface) {
	ValaGDBusServerModule * self;
	ValaInterface* _tmp0_ = NULL;
	ValaInterface* _tmp1_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (iface != NULL);
	_tmp0_ = iface;
	VALA_CODE_VISITOR_CLASS (vala_gd_bus_server_module_parent_class)->visit_interface ((ValaCodeVisitor*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp0_);
	_tmp1_ = iface;
	vala_gd_bus_server_module_visit_object_type_symbol (self, (ValaObjectTypeSymbol*) _tmp1_);
}


static void vala_gd_bus_server_module_generate_object_type_symbol_declaration (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym, ValaCCodeFile* decl_space) {
	gchar* dbus_iface_name = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* register_object_name = NULL;
	ValaObjectTypeSymbol* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	ValaCCodeFile* _tmp8_ = NULL;
	ValaObjectTypeSymbol* _tmp9_ = NULL;
	const gchar* _tmp10_ = NULL;
	gboolean _tmp11_ = FALSE;
	ValaCCodeFile* _tmp12_ = NULL;
	ValaCCodeFunction* cfunc = NULL;
	const gchar* _tmp13_ = NULL;
	ValaCCodeFunction* _tmp14_ = NULL;
	ValaCCodeFunction* _tmp15_ = NULL;
	ValaCCodeParameter* _tmp16_ = NULL;
	ValaCCodeParameter* _tmp17_ = NULL;
	ValaCCodeFunction* _tmp18_ = NULL;
	ValaCCodeParameter* _tmp19_ = NULL;
	ValaCCodeParameter* _tmp20_ = NULL;
	ValaCCodeFunction* _tmp21_ = NULL;
	ValaCCodeParameter* _tmp22_ = NULL;
	ValaCCodeParameter* _tmp23_ = NULL;
	ValaCCodeFunction* _tmp24_ = NULL;
	ValaCCodeParameter* _tmp25_ = NULL;
	ValaCCodeParameter* _tmp26_ = NULL;
	ValaObjectTypeSymbol* _tmp27_ = NULL;
	gboolean _tmp28_ = FALSE;
	ValaCCodeFile* _tmp44_ = NULL;
	ValaCCodeFunction* _tmp45_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	g_return_if_fail (decl_space != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp0_);
	dbus_iface_name = _tmp1_;
	_tmp2_ = dbus_iface_name;
	if (_tmp2_ == NULL) {
		_g_free0 (dbus_iface_name);
		return;
	}
	_tmp3_ = sym;
	_tmp4_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = g_strdup_printf ("%sregister_object", _tmp5_);
	_tmp7_ = _tmp6_;
	_g_free0 (_tmp5_);
	register_object_name = _tmp7_;
	_tmp8_ = decl_space;
	_tmp9_ = sym;
	_tmp10_ = register_object_name;
	_tmp11_ = vala_ccode_base_module_add_symbol_declaration ((ValaCCodeBaseModule*) self, _tmp8_, (ValaSymbol*) _tmp9_, _tmp10_);
	if (_tmp11_) {
		_g_free0 (register_object_name);
		_g_free0 (dbus_iface_name);
		return;
	}
	_tmp12_ = decl_space;
	vala_ccode_file_add_include (_tmp12_, "gio/gio.h", FALSE);
	_tmp13_ = register_object_name;
	_tmp14_ = vala_ccode_function_new (_tmp13_, "guint");
	cfunc = _tmp14_;
	_tmp15_ = cfunc;
	_tmp16_ = vala_ccode_parameter_new ("object", "void*");
	_tmp17_ = _tmp16_;
	vala_ccode_function_add_parameter (_tmp15_, _tmp17_);
	_vala_ccode_node_unref0 (_tmp17_);
	_tmp18_ = cfunc;
	_tmp19_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp20_ = _tmp19_;
	vala_ccode_function_add_parameter (_tmp18_, _tmp20_);
	_vala_ccode_node_unref0 (_tmp20_);
	_tmp21_ = cfunc;
	_tmp22_ = vala_ccode_parameter_new ("path", "const gchar*");
	_tmp23_ = _tmp22_;
	vala_ccode_function_add_parameter (_tmp21_, _tmp23_);
	_vala_ccode_node_unref0 (_tmp23_);
	_tmp24_ = cfunc;
	_tmp25_ = vala_ccode_parameter_new ("error", "GError**");
	_tmp26_ = _tmp25_;
	vala_ccode_function_add_parameter (_tmp24_, _tmp26_);
	_vala_ccode_node_unref0 (_tmp26_);
	_tmp27_ = sym;
	_tmp28_ = vala_symbol_is_private_symbol ((ValaSymbol*) _tmp27_);
	if (_tmp28_) {
		ValaCCodeFunction* _tmp29_ = NULL;
		ValaCCodeFunction* _tmp30_ = NULL;
		ValaCCodeModifiers _tmp31_ = 0;
		ValaCCodeModifiers _tmp32_ = 0;
		_tmp29_ = cfunc;
		_tmp30_ = cfunc;
		_tmp31_ = vala_ccode_function_get_modifiers (_tmp30_);
		_tmp32_ = _tmp31_;
		vala_ccode_function_set_modifiers (_tmp30_, _tmp32_ | VALA_CCODE_MODIFIERS_STATIC);
	} else {
		gboolean _tmp33_ = FALSE;
		ValaCodeContext* _tmp34_ = NULL;
		ValaCodeContext* _tmp35_ = NULL;
		gboolean _tmp36_ = FALSE;
		gboolean _tmp37_ = FALSE;
		_tmp34_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
		_tmp35_ = _tmp34_;
		_tmp36_ = vala_code_context_get_hide_internal (_tmp35_);
		_tmp37_ = _tmp36_;
		if (_tmp37_) {
			ValaObjectTypeSymbol* _tmp38_ = NULL;
			gboolean _tmp39_ = FALSE;
			_tmp38_ = sym;
			_tmp39_ = vala_symbol_is_internal_symbol ((ValaSymbol*) _tmp38_);
			_tmp33_ = _tmp39_;
		} else {
			_tmp33_ = FALSE;
		}
		if (_tmp33_) {
			ValaCCodeFunction* _tmp40_ = NULL;
			ValaCCodeFunction* _tmp41_ = NULL;
			ValaCCodeModifiers _tmp42_ = 0;
			ValaCCodeModifiers _tmp43_ = 0;
			_tmp40_ = cfunc;
			_tmp41_ = cfunc;
			_tmp42_ = vala_ccode_function_get_modifiers (_tmp41_);
			_tmp43_ = _tmp42_;
			vala_ccode_function_set_modifiers (_tmp41_, _tmp43_ | VALA_CCODE_MODIFIERS_INTERNAL);
		}
	}
	_tmp44_ = decl_space;
	_tmp45_ = cfunc;
	vala_ccode_file_add_function_declaration (_tmp44_, _tmp45_);
	_vala_ccode_node_unref0 (cfunc);
	_g_free0 (register_object_name);
	_g_free0 (dbus_iface_name);
}


static void vala_gd_bus_server_module_visit_object_type_symbol (ValaGDBusServerModule* self, ValaObjectTypeSymbol* sym) {
	gchar* dbus_iface_name = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	ValaCCodeFile* _tmp3_ = NULL;
	ValaCCodeFunction* cfunc = NULL;
	ValaObjectTypeSymbol* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	ValaCCodeFunction* _tmp9_ = NULL;
	ValaCCodeFunction* _tmp10_ = NULL;
	ValaCCodeFunction* _tmp11_ = NULL;
	ValaCCodeParameter* _tmp12_ = NULL;
	ValaCCodeParameter* _tmp13_ = NULL;
	ValaCCodeFunction* _tmp14_ = NULL;
	ValaCCodeParameter* _tmp15_ = NULL;
	ValaCCodeParameter* _tmp16_ = NULL;
	ValaCCodeFunction* _tmp17_ = NULL;
	ValaCCodeParameter* _tmp18_ = NULL;
	ValaCCodeParameter* _tmp19_ = NULL;
	ValaCCodeFunction* _tmp20_ = NULL;
	ValaCCodeParameter* _tmp21_ = NULL;
	ValaCCodeParameter* _tmp22_ = NULL;
	ValaObjectTypeSymbol* _tmp23_ = NULL;
	gboolean _tmp24_ = FALSE;
	ValaCCodeFunction* _tmp40_ = NULL;
	ValaCCodeFunction* _tmp41_ = NULL;
	ValaCCodeFunction* _tmp42_ = NULL;
	ValaCCodeVariableDeclarator* _tmp43_ = NULL;
	ValaCCodeVariableDeclarator* _tmp44_ = NULL;
	ValaCCodeFunction* _tmp45_ = NULL;
	ValaCCodeFunction* _tmp46_ = NULL;
	ValaCCodeVariableDeclarator* _tmp47_ = NULL;
	ValaCCodeVariableDeclarator* _tmp48_ = NULL;
	ValaCCodeFunctionCall* alloc_data = NULL;
	ValaCCodeIdentifier* _tmp49_ = NULL;
	ValaCCodeIdentifier* _tmp50_ = NULL;
	ValaCCodeFunctionCall* _tmp51_ = NULL;
	ValaCCodeFunctionCall* _tmp52_ = NULL;
	ValaCCodeFunctionCall* _tmp53_ = NULL;
	ValaCCodeIdentifier* _tmp54_ = NULL;
	ValaCCodeIdentifier* _tmp55_ = NULL;
	ValaCCodeFunctionCall* _tmp56_ = NULL;
	ValaCCodeConstant* _tmp57_ = NULL;
	ValaCCodeConstant* _tmp58_ = NULL;
	ValaCCodeFunction* _tmp59_ = NULL;
	ValaCCodeFunction* _tmp60_ = NULL;
	ValaCCodeIdentifier* _tmp61_ = NULL;
	ValaCCodeIdentifier* _tmp62_ = NULL;
	ValaCCodeFunctionCall* _tmp63_ = NULL;
	gchar* ref_function = NULL;
	ValaObjectTypeSymbol* _tmp64_ = NULL;
	gchar* _tmp65_ = NULL;
	gboolean _tmp66_ = FALSE;
	ValaObjectTypeSymbol* _tmp67_ = NULL;
	ValaCCodeFunctionCall* ref_object = NULL;
	const gchar* _tmp77_ = NULL;
	ValaCCodeIdentifier* _tmp78_ = NULL;
	ValaCCodeIdentifier* _tmp79_ = NULL;
	ValaCCodeFunctionCall* _tmp80_ = NULL;
	ValaCCodeFunctionCall* _tmp81_ = NULL;
	ValaCCodeFunctionCall* _tmp82_ = NULL;
	ValaCCodeIdentifier* _tmp83_ = NULL;
	ValaCCodeIdentifier* _tmp84_ = NULL;
	ValaCCodeFunction* _tmp85_ = NULL;
	ValaCCodeFunction* _tmp86_ = NULL;
	ValaCCodeIdentifier* _tmp87_ = NULL;
	ValaCCodeIdentifier* _tmp88_ = NULL;
	ValaCCodeConstant* _tmp89_ = NULL;
	ValaCCodeConstant* _tmp90_ = NULL;
	ValaCCodeElementAccess* _tmp91_ = NULL;
	ValaCCodeElementAccess* _tmp92_ = NULL;
	ValaCCodeFunctionCall* _tmp93_ = NULL;
	ValaCCodeIdentifier* _tmp94_ = NULL;
	ValaCCodeIdentifier* _tmp95_ = NULL;
	ValaCCodeFunctionCall* _tmp96_ = NULL;
	ValaCCodeFunctionCall* _tmp97_ = NULL;
	ValaCCodeIdentifier* _tmp98_ = NULL;
	ValaCCodeIdentifier* _tmp99_ = NULL;
	ValaCCodeFunction* _tmp100_ = NULL;
	ValaCCodeFunction* _tmp101_ = NULL;
	ValaCCodeIdentifier* _tmp102_ = NULL;
	ValaCCodeIdentifier* _tmp103_ = NULL;
	ValaCCodeConstant* _tmp104_ = NULL;
	ValaCCodeConstant* _tmp105_ = NULL;
	ValaCCodeElementAccess* _tmp106_ = NULL;
	ValaCCodeElementAccess* _tmp107_ = NULL;
	ValaCCodeFunctionCall* _tmp108_ = NULL;
	ValaCCodeFunctionCall* dup_path = NULL;
	ValaCCodeIdentifier* _tmp109_ = NULL;
	ValaCCodeIdentifier* _tmp110_ = NULL;
	ValaCCodeFunctionCall* _tmp111_ = NULL;
	ValaCCodeFunctionCall* _tmp112_ = NULL;
	ValaCCodeFunctionCall* _tmp113_ = NULL;
	ValaCCodeIdentifier* _tmp114_ = NULL;
	ValaCCodeIdentifier* _tmp115_ = NULL;
	ValaCCodeFunction* _tmp116_ = NULL;
	ValaCCodeFunction* _tmp117_ = NULL;
	ValaCCodeIdentifier* _tmp118_ = NULL;
	ValaCCodeIdentifier* _tmp119_ = NULL;
	ValaCCodeConstant* _tmp120_ = NULL;
	ValaCCodeConstant* _tmp121_ = NULL;
	ValaCCodeElementAccess* _tmp122_ = NULL;
	ValaCCodeElementAccess* _tmp123_ = NULL;
	ValaCCodeFunctionCall* _tmp124_ = NULL;
	ValaCCodeFunctionCall* cregister = NULL;
	ValaCCodeIdentifier* _tmp125_ = NULL;
	ValaCCodeIdentifier* _tmp126_ = NULL;
	ValaCCodeFunctionCall* _tmp127_ = NULL;
	ValaCCodeFunctionCall* _tmp128_ = NULL;
	ValaCCodeFunctionCall* _tmp129_ = NULL;
	ValaCCodeIdentifier* _tmp130_ = NULL;
	ValaCCodeIdentifier* _tmp131_ = NULL;
	ValaCCodeFunctionCall* _tmp132_ = NULL;
	ValaCCodeIdentifier* _tmp133_ = NULL;
	ValaCCodeIdentifier* _tmp134_ = NULL;
	ValaCCodeFunctionCall* _tmp135_ = NULL;
	ValaObjectTypeSymbol* _tmp136_ = NULL;
	ValaCCodeExpression* _tmp137_ = NULL;
	ValaCCodeExpression* _tmp138_ = NULL;
	ValaCCodeUnaryExpression* _tmp139_ = NULL;
	ValaCCodeUnaryExpression* _tmp140_ = NULL;
	ValaCCodeCastExpression* _tmp141_ = NULL;
	ValaCCodeCastExpression* _tmp142_ = NULL;
	ValaCCodeFunctionCall* _tmp143_ = NULL;
	ValaObjectTypeSymbol* _tmp144_ = NULL;
	ValaCCodeExpression* _tmp145_ = NULL;
	ValaCCodeExpression* _tmp146_ = NULL;
	ValaCCodeUnaryExpression* _tmp147_ = NULL;
	ValaCCodeUnaryExpression* _tmp148_ = NULL;
	ValaCCodeFunctionCall* _tmp149_ = NULL;
	ValaCCodeIdentifier* _tmp150_ = NULL;
	ValaCCodeIdentifier* _tmp151_ = NULL;
	ValaCCodeFunctionCall* _tmp152_ = NULL;
	ValaObjectTypeSymbol* _tmp153_ = NULL;
	gchar* _tmp154_ = NULL;
	gchar* _tmp155_ = NULL;
	gchar* _tmp156_ = NULL;
	gchar* _tmp157_ = NULL;
	gchar* _tmp158_ = NULL;
	gchar* _tmp159_ = NULL;
	ValaCCodeIdentifier* _tmp160_ = NULL;
	ValaCCodeIdentifier* _tmp161_ = NULL;
	ValaCCodeFunctionCall* _tmp162_ = NULL;
	ValaCCodeIdentifier* _tmp163_ = NULL;
	ValaCCodeIdentifier* _tmp164_ = NULL;
	ValaCCodeFunction* _tmp165_ = NULL;
	ValaCCodeFunction* _tmp166_ = NULL;
	ValaCCodeIdentifier* _tmp167_ = NULL;
	ValaCCodeIdentifier* _tmp168_ = NULL;
	ValaCCodeFunctionCall* _tmp169_ = NULL;
	ValaCCodeFunction* _tmp170_ = NULL;
	ValaCCodeFunction* _tmp171_ = NULL;
	ValaCCodeIdentifier* _tmp172_ = NULL;
	ValaCCodeIdentifier* _tmp173_ = NULL;
	ValaCCodeUnaryExpression* _tmp174_ = NULL;
	ValaCCodeUnaryExpression* _tmp175_ = NULL;
	ValaCCodeFunction* _tmp176_ = NULL;
	ValaCCodeFunction* _tmp177_ = NULL;
	ValaCCodeConstant* _tmp178_ = NULL;
	ValaCCodeConstant* _tmp179_ = NULL;
	ValaCCodeFunction* _tmp180_ = NULL;
	ValaCCodeFunction* _tmp181_ = NULL;
	ValaObjectTypeSymbol* _tmp182_ = NULL;
	ValaCCodeFunction* _tmp183_ = NULL;
	ValaCCodeFunction* _tmp184_ = NULL;
	ValaCCodeIdentifier* _tmp185_ = NULL;
	ValaCCodeIdentifier* _tmp186_ = NULL;
	ValaCCodeFile* _tmp187_ = NULL;
	ValaCCodeFunction* _tmp188_ = NULL;
	ValaObjectTypeSymbol* _tmp189_ = NULL;
	gchar* _tmp190_ = NULL;
	gchar* _tmp191_ = NULL;
	gchar* _tmp192_ = NULL;
	gchar* _tmp193_ = NULL;
	gchar* _tmp194_ = NULL;
	gchar* _tmp195_ = NULL;
	ValaCCodeFunction* _tmp196_ = NULL;
	ValaCCodeFunction* _tmp197_ = NULL;
	ValaCCodeParameter* _tmp198_ = NULL;
	ValaCCodeParameter* _tmp199_ = NULL;
	ValaCCodeFunction* _tmp200_ = NULL;
	ValaCCodeFunction* _tmp201_ = NULL;
	ValaCCodeModifiers _tmp202_ = 0;
	ValaCCodeModifiers _tmp203_ = 0;
	ValaCCodeFunction* _tmp204_ = NULL;
	ValaCCodeFunction* _tmp205_ = NULL;
	ValaCCodeFunction* _tmp206_ = NULL;
	ValaCCodeIdentifier* _tmp207_ = NULL;
	ValaCCodeIdentifier* _tmp208_ = NULL;
	ValaCCodeVariableDeclarator* _tmp209_ = NULL;
	ValaCCodeVariableDeclarator* _tmp210_ = NULL;
	ValaObjectTypeSymbol* _tmp211_ = NULL;
	ValaCCodeFunctionCall* unref_object = NULL;
	ValaObjectTypeSymbol* _tmp212_ = NULL;
	gchar* _tmp213_ = NULL;
	gchar* _tmp214_ = NULL;
	ValaCCodeIdentifier* _tmp215_ = NULL;
	ValaCCodeIdentifier* _tmp216_ = NULL;
	ValaCCodeFunctionCall* _tmp217_ = NULL;
	ValaCCodeFunctionCall* _tmp218_ = NULL;
	ValaCCodeFunctionCall* _tmp219_ = NULL;
	ValaCCodeIdentifier* _tmp220_ = NULL;
	ValaCCodeIdentifier* _tmp221_ = NULL;
	ValaCCodeConstant* _tmp222_ = NULL;
	ValaCCodeConstant* _tmp223_ = NULL;
	ValaCCodeElementAccess* _tmp224_ = NULL;
	ValaCCodeElementAccess* _tmp225_ = NULL;
	ValaCCodeFunction* _tmp226_ = NULL;
	ValaCCodeFunction* _tmp227_ = NULL;
	ValaCCodeFunctionCall* _tmp228_ = NULL;
	ValaCCodeIdentifier* _tmp229_ = NULL;
	ValaCCodeIdentifier* _tmp230_ = NULL;
	ValaCCodeFunctionCall* _tmp231_ = NULL;
	ValaCCodeFunctionCall* _tmp232_ = NULL;
	ValaCCodeIdentifier* _tmp233_ = NULL;
	ValaCCodeIdentifier* _tmp234_ = NULL;
	ValaCCodeConstant* _tmp235_ = NULL;
	ValaCCodeConstant* _tmp236_ = NULL;
	ValaCCodeElementAccess* _tmp237_ = NULL;
	ValaCCodeElementAccess* _tmp238_ = NULL;
	ValaCCodeFunction* _tmp239_ = NULL;
	ValaCCodeFunction* _tmp240_ = NULL;
	ValaCCodeFunctionCall* _tmp241_ = NULL;
	ValaCCodeFunctionCall* free_path = NULL;
	ValaCCodeIdentifier* _tmp242_ = NULL;
	ValaCCodeIdentifier* _tmp243_ = NULL;
	ValaCCodeFunctionCall* _tmp244_ = NULL;
	ValaCCodeFunctionCall* _tmp245_ = NULL;
	ValaCCodeFunctionCall* _tmp246_ = NULL;
	ValaCCodeIdentifier* _tmp247_ = NULL;
	ValaCCodeIdentifier* _tmp248_ = NULL;
	ValaCCodeConstant* _tmp249_ = NULL;
	ValaCCodeConstant* _tmp250_ = NULL;
	ValaCCodeElementAccess* _tmp251_ = NULL;
	ValaCCodeElementAccess* _tmp252_ = NULL;
	ValaCCodeFunction* _tmp253_ = NULL;
	ValaCCodeFunction* _tmp254_ = NULL;
	ValaCCodeFunctionCall* _tmp255_ = NULL;
	ValaCCodeFunctionCall* free_data = NULL;
	ValaCCodeIdentifier* _tmp256_ = NULL;
	ValaCCodeIdentifier* _tmp257_ = NULL;
	ValaCCodeFunctionCall* _tmp258_ = NULL;
	ValaCCodeFunctionCall* _tmp259_ = NULL;
	ValaCCodeFunctionCall* _tmp260_ = NULL;
	ValaCCodeIdentifier* _tmp261_ = NULL;
	ValaCCodeIdentifier* _tmp262_ = NULL;
	ValaCCodeFunction* _tmp263_ = NULL;
	ValaCCodeFunction* _tmp264_ = NULL;
	ValaCCodeFunctionCall* _tmp265_ = NULL;
	ValaCCodeFile* _tmp266_ = NULL;
	ValaCCodeFunction* _tmp267_ = NULL;
	ValaCCodeFile* _tmp268_ = NULL;
	ValaCCodeFunction* _tmp269_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp0_);
	dbus_iface_name = _tmp1_;
	_tmp2_ = dbus_iface_name;
	if (_tmp2_ == NULL) {
		_g_free0 (dbus_iface_name);
		return;
	}
	_tmp3_ = ((ValaCCodeBaseModule*) self)->cfile;
	vala_ccode_file_add_include (_tmp3_, "gio/gio.h", FALSE);
	_tmp4_ = sym;
	_tmp5_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = g_strconcat (_tmp6_, "register_object", NULL);
	_tmp8_ = _tmp7_;
	_tmp9_ = vala_ccode_function_new (_tmp8_, "guint");
	_tmp10_ = _tmp9_;
	_g_free0 (_tmp8_);
	_g_free0 (_tmp6_);
	cfunc = _tmp10_;
	_tmp11_ = cfunc;
	_tmp12_ = vala_ccode_parameter_new ("object", "gpointer");
	_tmp13_ = _tmp12_;
	vala_ccode_function_add_parameter (_tmp11_, _tmp13_);
	_vala_ccode_node_unref0 (_tmp13_);
	_tmp14_ = cfunc;
	_tmp15_ = vala_ccode_parameter_new ("connection", "GDBusConnection*");
	_tmp16_ = _tmp15_;
	vala_ccode_function_add_parameter (_tmp14_, _tmp16_);
	_vala_ccode_node_unref0 (_tmp16_);
	_tmp17_ = cfunc;
	_tmp18_ = vala_ccode_parameter_new ("path", "const gchar*");
	_tmp19_ = _tmp18_;
	vala_ccode_function_add_parameter (_tmp17_, _tmp19_);
	_vala_ccode_node_unref0 (_tmp19_);
	_tmp20_ = cfunc;
	_tmp21_ = vala_ccode_parameter_new ("error", "GError**");
	_tmp22_ = _tmp21_;
	vala_ccode_function_add_parameter (_tmp20_, _tmp22_);
	_vala_ccode_node_unref0 (_tmp22_);
	_tmp23_ = sym;
	_tmp24_ = vala_symbol_is_private_symbol ((ValaSymbol*) _tmp23_);
	if (_tmp24_) {
		ValaCCodeFunction* _tmp25_ = NULL;
		ValaCCodeFunction* _tmp26_ = NULL;
		ValaCCodeModifiers _tmp27_ = 0;
		ValaCCodeModifiers _tmp28_ = 0;
		_tmp25_ = cfunc;
		_tmp26_ = cfunc;
		_tmp27_ = vala_ccode_function_get_modifiers (_tmp26_);
		_tmp28_ = _tmp27_;
		vala_ccode_function_set_modifiers (_tmp26_, _tmp28_ | VALA_CCODE_MODIFIERS_STATIC);
	} else {
		gboolean _tmp29_ = FALSE;
		ValaCodeContext* _tmp30_ = NULL;
		ValaCodeContext* _tmp31_ = NULL;
		gboolean _tmp32_ = FALSE;
		gboolean _tmp33_ = FALSE;
		_tmp30_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
		_tmp31_ = _tmp30_;
		_tmp32_ = vala_code_context_get_hide_internal (_tmp31_);
		_tmp33_ = _tmp32_;
		if (_tmp33_) {
			ValaObjectTypeSymbol* _tmp34_ = NULL;
			gboolean _tmp35_ = FALSE;
			_tmp34_ = sym;
			_tmp35_ = vala_symbol_is_internal_symbol ((ValaSymbol*) _tmp34_);
			_tmp29_ = _tmp35_;
		} else {
			_tmp29_ = FALSE;
		}
		if (_tmp29_) {
			ValaCCodeFunction* _tmp36_ = NULL;
			ValaCCodeFunction* _tmp37_ = NULL;
			ValaCCodeModifiers _tmp38_ = 0;
			ValaCCodeModifiers _tmp39_ = 0;
			_tmp36_ = cfunc;
			_tmp37_ = cfunc;
			_tmp38_ = vala_ccode_function_get_modifiers (_tmp37_);
			_tmp39_ = _tmp38_;
			vala_ccode_function_set_modifiers (_tmp37_, _tmp39_ | VALA_CCODE_MODIFIERS_INTERNAL);
		}
	}
	_tmp40_ = cfunc;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp40_);
	_tmp41_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp42_ = _tmp41_;
	_tmp43_ = vala_ccode_variable_declarator_new ("result", NULL, NULL);
	_tmp44_ = _tmp43_;
	vala_ccode_function_add_declaration (_tmp42_, "guint", (ValaCCodeDeclarator*) _tmp44_, 0);
	_vala_ccode_node_unref0 (_tmp44_);
	_tmp45_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp46_ = _tmp45_;
	_tmp47_ = vala_ccode_variable_declarator_new ("*data", NULL, NULL);
	_tmp48_ = _tmp47_;
	vala_ccode_function_add_declaration (_tmp46_, "gpointer", (ValaCCodeDeclarator*) _tmp48_, 0);
	_vala_ccode_node_unref0 (_tmp48_);
	_tmp49_ = vala_ccode_identifier_new ("g_new");
	_tmp50_ = _tmp49_;
	_tmp51_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp50_);
	_tmp52_ = _tmp51_;
	_vala_ccode_node_unref0 (_tmp50_);
	alloc_data = _tmp52_;
	_tmp53_ = alloc_data;
	_tmp54_ = vala_ccode_identifier_new ("gpointer");
	_tmp55_ = _tmp54_;
	vala_ccode_function_call_add_argument (_tmp53_, (ValaCCodeExpression*) _tmp55_);
	_vala_ccode_node_unref0 (_tmp55_);
	_tmp56_ = alloc_data;
	_tmp57_ = vala_ccode_constant_new ("3");
	_tmp58_ = _tmp57_;
	vala_ccode_function_call_add_argument (_tmp56_, (ValaCCodeExpression*) _tmp58_);
	_vala_ccode_node_unref0 (_tmp58_);
	_tmp59_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp60_ = _tmp59_;
	_tmp61_ = vala_ccode_identifier_new ("data");
	_tmp62_ = _tmp61_;
	_tmp63_ = alloc_data;
	vala_ccode_function_add_assignment (_tmp60_, (ValaCCodeExpression*) _tmp62_, (ValaCCodeExpression*) _tmp63_);
	_vala_ccode_node_unref0 (_tmp62_);
	_tmp64_ = sym;
	_tmp65_ = vala_ccode_base_module_get_ccode_ref_function ((ValaTypeSymbol*) _tmp64_);
	ref_function = _tmp65_;
	_tmp67_ = sym;
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp67_, VALA_TYPE_INTERFACE)) {
		const gchar* _tmp68_ = NULL;
		_tmp68_ = ref_function;
		_tmp66_ = _tmp68_ == NULL;
	} else {
		_tmp66_ = FALSE;
	}
	if (_tmp66_) {
		ValaObjectTypeSymbol* _tmp69_ = NULL;
		ValaSourceReference* _tmp70_ = NULL;
		ValaSourceReference* _tmp71_ = NULL;
		ValaObjectTypeSymbol* _tmp72_ = NULL;
		gchar* _tmp73_ = NULL;
		gchar* _tmp74_ = NULL;
		gchar* _tmp75_ = NULL;
		gchar* _tmp76_ = NULL;
		_tmp69_ = sym;
		_tmp70_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp69_);
		_tmp71_ = _tmp70_;
		_tmp72_ = sym;
		_tmp73_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp72_);
		_tmp74_ = _tmp73_;
		_tmp75_ = g_strdup_printf ("missing class prerequisite for interface `%s', add GLib.Object to inte" \
"rface declaration if unsure", _tmp74_);
		_tmp76_ = _tmp75_;
		vala_report_error (_tmp71_, _tmp76_);
		_g_free0 (_tmp76_);
		_g_free0 (_tmp74_);
		_g_free0 (ref_function);
		_vala_ccode_node_unref0 (alloc_data);
		_vala_ccode_node_unref0 (cfunc);
		_g_free0 (dbus_iface_name);
		return;
	}
	_tmp77_ = ref_function;
	_tmp78_ = vala_ccode_identifier_new (_tmp77_);
	_tmp79_ = _tmp78_;
	_tmp80_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp79_);
	_tmp81_ = _tmp80_;
	_vala_ccode_node_unref0 (_tmp79_);
	ref_object = _tmp81_;
	_tmp82_ = ref_object;
	_tmp83_ = vala_ccode_identifier_new ("object");
	_tmp84_ = _tmp83_;
	vala_ccode_function_call_add_argument (_tmp82_, (ValaCCodeExpression*) _tmp84_);
	_vala_ccode_node_unref0 (_tmp84_);
	_tmp85_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp86_ = _tmp85_;
	_tmp87_ = vala_ccode_identifier_new ("data");
	_tmp88_ = _tmp87_;
	_tmp89_ = vala_ccode_constant_new ("0");
	_tmp90_ = _tmp89_;
	_tmp91_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp88_, (ValaCCodeExpression*) _tmp90_);
	_tmp92_ = _tmp91_;
	_tmp93_ = ref_object;
	vala_ccode_function_add_assignment (_tmp86_, (ValaCCodeExpression*) _tmp92_, (ValaCCodeExpression*) _tmp93_);
	_vala_ccode_node_unref0 (_tmp92_);
	_vala_ccode_node_unref0 (_tmp90_);
	_vala_ccode_node_unref0 (_tmp88_);
	_tmp94_ = vala_ccode_identifier_new ("g_object_ref");
	_tmp95_ = _tmp94_;
	_tmp96_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp95_);
	_vala_ccode_node_unref0 (ref_object);
	ref_object = _tmp96_;
	_vala_ccode_node_unref0 (_tmp95_);
	_tmp97_ = ref_object;
	_tmp98_ = vala_ccode_identifier_new ("connection");
	_tmp99_ = _tmp98_;
	vala_ccode_function_call_add_argument (_tmp97_, (ValaCCodeExpression*) _tmp99_);
	_vala_ccode_node_unref0 (_tmp99_);
	_tmp100_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp101_ = _tmp100_;
	_tmp102_ = vala_ccode_identifier_new ("data");
	_tmp103_ = _tmp102_;
	_tmp104_ = vala_ccode_constant_new ("1");
	_tmp105_ = _tmp104_;
	_tmp106_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp103_, (ValaCCodeExpression*) _tmp105_);
	_tmp107_ = _tmp106_;
	_tmp108_ = ref_object;
	vala_ccode_function_add_assignment (_tmp101_, (ValaCCodeExpression*) _tmp107_, (ValaCCodeExpression*) _tmp108_);
	_vala_ccode_node_unref0 (_tmp107_);
	_vala_ccode_node_unref0 (_tmp105_);
	_vala_ccode_node_unref0 (_tmp103_);
	_tmp109_ = vala_ccode_identifier_new ("g_strdup");
	_tmp110_ = _tmp109_;
	_tmp111_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp110_);
	_tmp112_ = _tmp111_;
	_vala_ccode_node_unref0 (_tmp110_);
	dup_path = _tmp112_;
	_tmp113_ = dup_path;
	_tmp114_ = vala_ccode_identifier_new ("path");
	_tmp115_ = _tmp114_;
	vala_ccode_function_call_add_argument (_tmp113_, (ValaCCodeExpression*) _tmp115_);
	_vala_ccode_node_unref0 (_tmp115_);
	_tmp116_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp117_ = _tmp116_;
	_tmp118_ = vala_ccode_identifier_new ("data");
	_tmp119_ = _tmp118_;
	_tmp120_ = vala_ccode_constant_new ("2");
	_tmp121_ = _tmp120_;
	_tmp122_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp119_, (ValaCCodeExpression*) _tmp121_);
	_tmp123_ = _tmp122_;
	_tmp124_ = dup_path;
	vala_ccode_function_add_assignment (_tmp117_, (ValaCCodeExpression*) _tmp123_, (ValaCCodeExpression*) _tmp124_);
	_vala_ccode_node_unref0 (_tmp123_);
	_vala_ccode_node_unref0 (_tmp121_);
	_vala_ccode_node_unref0 (_tmp119_);
	_tmp125_ = vala_ccode_identifier_new ("g_dbus_connection_register_object");
	_tmp126_ = _tmp125_;
	_tmp127_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp126_);
	_tmp128_ = _tmp127_;
	_vala_ccode_node_unref0 (_tmp126_);
	cregister = _tmp128_;
	_tmp129_ = cregister;
	_tmp130_ = vala_ccode_identifier_new ("connection");
	_tmp131_ = _tmp130_;
	vala_ccode_function_call_add_argument (_tmp129_, (ValaCCodeExpression*) _tmp131_);
	_vala_ccode_node_unref0 (_tmp131_);
	_tmp132_ = cregister;
	_tmp133_ = vala_ccode_identifier_new ("path");
	_tmp134_ = _tmp133_;
	vala_ccode_function_call_add_argument (_tmp132_, (ValaCCodeExpression*) _tmp134_);
	_vala_ccode_node_unref0 (_tmp134_);
	_tmp135_ = cregister;
	_tmp136_ = sym;
	_tmp137_ = vala_gd_bus_module_get_interface_info ((ValaGDBusModule*) self, _tmp136_);
	_tmp138_ = _tmp137_;
	_tmp139_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp138_);
	_tmp140_ = _tmp139_;
	_tmp141_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp140_, "GDBusInterfaceInfo *");
	_tmp142_ = _tmp141_;
	vala_ccode_function_call_add_argument (_tmp135_, (ValaCCodeExpression*) _tmp142_);
	_vala_ccode_node_unref0 (_tmp142_);
	_vala_ccode_node_unref0 (_tmp140_);
	_vala_ccode_node_unref0 (_tmp138_);
	_tmp143_ = cregister;
	_tmp144_ = sym;
	_tmp145_ = vala_gd_bus_server_module_get_interface_vtable (self, _tmp144_);
	_tmp146_ = _tmp145_;
	_tmp147_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp146_);
	_tmp148_ = _tmp147_;
	vala_ccode_function_call_add_argument (_tmp143_, (ValaCCodeExpression*) _tmp148_);
	_vala_ccode_node_unref0 (_tmp148_);
	_vala_ccode_node_unref0 (_tmp146_);
	_tmp149_ = cregister;
	_tmp150_ = vala_ccode_identifier_new ("data");
	_tmp151_ = _tmp150_;
	vala_ccode_function_call_add_argument (_tmp149_, (ValaCCodeExpression*) _tmp151_);
	_vala_ccode_node_unref0 (_tmp151_);
	_tmp152_ = cregister;
	_tmp153_ = sym;
	_tmp154_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp153_);
	_tmp155_ = _tmp154_;
	_tmp156_ = g_strconcat ("_", _tmp155_, NULL);
	_tmp157_ = _tmp156_;
	_tmp158_ = g_strconcat (_tmp157_, "unregister_object", NULL);
	_tmp159_ = _tmp158_;
	_tmp160_ = vala_ccode_identifier_new (_tmp159_);
	_tmp161_ = _tmp160_;
	vala_ccode_function_call_add_argument (_tmp152_, (ValaCCodeExpression*) _tmp161_);
	_vala_ccode_node_unref0 (_tmp161_);
	_g_free0 (_tmp159_);
	_g_free0 (_tmp157_);
	_g_free0 (_tmp155_);
	_tmp162_ = cregister;
	_tmp163_ = vala_ccode_identifier_new ("error");
	_tmp164_ = _tmp163_;
	vala_ccode_function_call_add_argument (_tmp162_, (ValaCCodeExpression*) _tmp164_);
	_vala_ccode_node_unref0 (_tmp164_);
	_tmp165_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp166_ = _tmp165_;
	_tmp167_ = vala_ccode_identifier_new ("result");
	_tmp168_ = _tmp167_;
	_tmp169_ = cregister;
	vala_ccode_function_add_assignment (_tmp166_, (ValaCCodeExpression*) _tmp168_, (ValaCCodeExpression*) _tmp169_);
	_vala_ccode_node_unref0 (_tmp168_);
	_tmp170_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp171_ = _tmp170_;
	_tmp172_ = vala_ccode_identifier_new ("result");
	_tmp173_ = _tmp172_;
	_tmp174_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_LOGICAL_NEGATION, (ValaCCodeExpression*) _tmp173_);
	_tmp175_ = _tmp174_;
	vala_ccode_function_open_if (_tmp171_, (ValaCCodeExpression*) _tmp175_);
	_vala_ccode_node_unref0 (_tmp175_);
	_vala_ccode_node_unref0 (_tmp173_);
	_tmp176_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp177_ = _tmp176_;
	_tmp178_ = vala_ccode_constant_new ("0");
	_tmp179_ = _tmp178_;
	vala_ccode_function_add_return (_tmp177_, (ValaCCodeExpression*) _tmp179_);
	_vala_ccode_node_unref0 (_tmp179_);
	_tmp180_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp181_ = _tmp180_;
	vala_ccode_function_close (_tmp181_);
	_tmp182_ = sym;
	vala_gd_bus_server_module_handle_signals (self, _tmp182_, TRUE);
	_tmp183_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp184_ = _tmp183_;
	_tmp185_ = vala_ccode_identifier_new ("result");
	_tmp186_ = _tmp185_;
	vala_ccode_function_add_return (_tmp184_, (ValaCCodeExpression*) _tmp186_);
	_vala_ccode_node_unref0 (_tmp186_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp187_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp188_ = cfunc;
	vala_ccode_file_add_function (_tmp187_, _tmp188_);
	_tmp189_ = sym;
	_tmp190_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp189_);
	_tmp191_ = _tmp190_;
	_tmp192_ = g_strconcat ("_", _tmp191_, NULL);
	_tmp193_ = _tmp192_;
	_tmp194_ = g_strconcat (_tmp193_, "unregister_object", NULL);
	_tmp195_ = _tmp194_;
	_tmp196_ = vala_ccode_function_new (_tmp195_, "void");
	_vala_ccode_node_unref0 (cfunc);
	cfunc = _tmp196_;
	_g_free0 (_tmp195_);
	_g_free0 (_tmp193_);
	_g_free0 (_tmp191_);
	_tmp197_ = cfunc;
	_tmp198_ = vala_ccode_parameter_new ("user_data", "gpointer");
	_tmp199_ = _tmp198_;
	vala_ccode_function_add_parameter (_tmp197_, _tmp199_);
	_vala_ccode_node_unref0 (_tmp199_);
	_tmp200_ = cfunc;
	_tmp201_ = cfunc;
	_tmp202_ = vala_ccode_function_get_modifiers (_tmp201_);
	_tmp203_ = _tmp202_;
	vala_ccode_function_set_modifiers (_tmp201_, _tmp203_ | VALA_CCODE_MODIFIERS_STATIC);
	_tmp204_ = cfunc;
	vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, _tmp204_);
	_tmp205_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp206_ = _tmp205_;
	_tmp207_ = vala_ccode_identifier_new ("user_data");
	_tmp208_ = _tmp207_;
	_tmp209_ = vala_ccode_variable_declarator_new ("data", (ValaCCodeExpression*) _tmp208_, NULL);
	_tmp210_ = _tmp209_;
	vala_ccode_function_add_declaration (_tmp206_, "gpointer*", (ValaCCodeDeclarator*) _tmp210_, 0);
	_vala_ccode_node_unref0 (_tmp210_);
	_vala_ccode_node_unref0 (_tmp208_);
	_tmp211_ = sym;
	vala_gd_bus_server_module_handle_signals (self, _tmp211_, FALSE);
	_tmp212_ = sym;
	_tmp213_ = vala_ccode_base_module_get_ccode_unref_function (_tmp212_);
	_tmp214_ = _tmp213_;
	_tmp215_ = vala_ccode_identifier_new (_tmp214_);
	_tmp216_ = _tmp215_;
	_tmp217_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp216_);
	_tmp218_ = _tmp217_;
	_vala_ccode_node_unref0 (_tmp216_);
	_g_free0 (_tmp214_);
	unref_object = _tmp218_;
	_tmp219_ = unref_object;
	_tmp220_ = vala_ccode_identifier_new ("data");
	_tmp221_ = _tmp220_;
	_tmp222_ = vala_ccode_constant_new ("0");
	_tmp223_ = _tmp222_;
	_tmp224_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp221_, (ValaCCodeExpression*) _tmp223_);
	_tmp225_ = _tmp224_;
	vala_ccode_function_call_add_argument (_tmp219_, (ValaCCodeExpression*) _tmp225_);
	_vala_ccode_node_unref0 (_tmp225_);
	_vala_ccode_node_unref0 (_tmp223_);
	_vala_ccode_node_unref0 (_tmp221_);
	_tmp226_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp227_ = _tmp226_;
	_tmp228_ = unref_object;
	vala_ccode_function_add_expression (_tmp227_, (ValaCCodeExpression*) _tmp228_);
	_tmp229_ = vala_ccode_identifier_new ("g_object_unref");
	_tmp230_ = _tmp229_;
	_tmp231_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp230_);
	_vala_ccode_node_unref0 (unref_object);
	unref_object = _tmp231_;
	_vala_ccode_node_unref0 (_tmp230_);
	_tmp232_ = unref_object;
	_tmp233_ = vala_ccode_identifier_new ("data");
	_tmp234_ = _tmp233_;
	_tmp235_ = vala_ccode_constant_new ("1");
	_tmp236_ = _tmp235_;
	_tmp237_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp234_, (ValaCCodeExpression*) _tmp236_);
	_tmp238_ = _tmp237_;
	vala_ccode_function_call_add_argument (_tmp232_, (ValaCCodeExpression*) _tmp238_);
	_vala_ccode_node_unref0 (_tmp238_);
	_vala_ccode_node_unref0 (_tmp236_);
	_vala_ccode_node_unref0 (_tmp234_);
	_tmp239_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp240_ = _tmp239_;
	_tmp241_ = unref_object;
	vala_ccode_function_add_expression (_tmp240_, (ValaCCodeExpression*) _tmp241_);
	_tmp242_ = vala_ccode_identifier_new ("g_free");
	_tmp243_ = _tmp242_;
	_tmp244_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp243_);
	_tmp245_ = _tmp244_;
	_vala_ccode_node_unref0 (_tmp243_);
	free_path = _tmp245_;
	_tmp246_ = free_path;
	_tmp247_ = vala_ccode_identifier_new ("data");
	_tmp248_ = _tmp247_;
	_tmp249_ = vala_ccode_constant_new ("2");
	_tmp250_ = _tmp249_;
	_tmp251_ = vala_ccode_element_access_new ((ValaCCodeExpression*) _tmp248_, (ValaCCodeExpression*) _tmp250_);
	_tmp252_ = _tmp251_;
	vala_ccode_function_call_add_argument (_tmp246_, (ValaCCodeExpression*) _tmp252_);
	_vala_ccode_node_unref0 (_tmp252_);
	_vala_ccode_node_unref0 (_tmp250_);
	_vala_ccode_node_unref0 (_tmp248_);
	_tmp253_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp254_ = _tmp253_;
	_tmp255_ = free_path;
	vala_ccode_function_add_expression (_tmp254_, (ValaCCodeExpression*) _tmp255_);
	_tmp256_ = vala_ccode_identifier_new ("g_free");
	_tmp257_ = _tmp256_;
	_tmp258_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp257_);
	_tmp259_ = _tmp258_;
	_vala_ccode_node_unref0 (_tmp257_);
	free_data = _tmp259_;
	_tmp260_ = free_data;
	_tmp261_ = vala_ccode_identifier_new ("data");
	_tmp262_ = _tmp261_;
	vala_ccode_function_call_add_argument (_tmp260_, (ValaCCodeExpression*) _tmp262_);
	_vala_ccode_node_unref0 (_tmp262_);
	_tmp263_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
	_tmp264_ = _tmp263_;
	_tmp265_ = free_data;
	vala_ccode_function_add_expression (_tmp264_, (ValaCCodeExpression*) _tmp265_);
	vala_ccode_base_module_pop_function ((ValaCCodeBaseModule*) self);
	_tmp266_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp267_ = cfunc;
	vala_ccode_file_add_function_declaration (_tmp266_, _tmp267_);
	_tmp268_ = ((ValaCCodeBaseModule*) self)->cfile;
	_tmp269_ = cfunc;
	vala_ccode_file_add_function (_tmp268_, _tmp269_);
	_vala_ccode_node_unref0 (free_data);
	_vala_ccode_node_unref0 (free_path);
	_vala_ccode_node_unref0 (unref_object);
	_vala_ccode_node_unref0 (cregister);
	_vala_ccode_node_unref0 (dup_path);
	_vala_ccode_node_unref0 (ref_object);
	_g_free0 (ref_function);
	_vala_ccode_node_unref0 (alloc_data);
	_vala_ccode_node_unref0 (cfunc);
	_g_free0 (dbus_iface_name);
}


static void vala_gd_bus_server_module_real_register_dbus_info (ValaCCodeBaseModule* base, ValaCCodeBlock* block, ValaObjectTypeSymbol* sym) {
	ValaGDBusServerModule * self;
	gchar* dbus_iface_name = NULL;
	ValaObjectTypeSymbol* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	ValaCCodeBlock* _tmp3_ = NULL;
	ValaObjectTypeSymbol* _tmp4_ = NULL;
	ValaCCodeFunctionCall* quark = NULL;
	ValaCCodeIdentifier* _tmp5_ = NULL;
	ValaCCodeIdentifier* _tmp6_ = NULL;
	ValaCCodeFunctionCall* _tmp7_ = NULL;
	ValaCCodeFunctionCall* _tmp8_ = NULL;
	ValaCCodeFunctionCall* _tmp9_ = NULL;
	ValaCCodeConstant* _tmp10_ = NULL;
	ValaCCodeConstant* _tmp11_ = NULL;
	ValaCCodeFunctionCall* set_qdata = NULL;
	ValaCCodeIdentifier* _tmp12_ = NULL;
	ValaCCodeIdentifier* _tmp13_ = NULL;
	ValaCCodeFunctionCall* _tmp14_ = NULL;
	ValaCCodeFunctionCall* _tmp15_ = NULL;
	ValaCCodeFunctionCall* _tmp16_ = NULL;
	ValaObjectTypeSymbol* _tmp17_ = NULL;
	gchar* _tmp18_ = NULL;
	gchar* _tmp19_ = NULL;
	gchar* _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	ValaCCodeIdentifier* _tmp22_ = NULL;
	ValaCCodeIdentifier* _tmp23_ = NULL;
	ValaCCodeFunctionCall* _tmp24_ = NULL;
	ValaCCodeFunctionCall* _tmp25_ = NULL;
	ValaCCodeFunctionCall* _tmp26_ = NULL;
	ValaObjectTypeSymbol* _tmp27_ = NULL;
	gchar* _tmp28_ = NULL;
	gchar* _tmp29_ = NULL;
	gchar* _tmp30_ = NULL;
	gchar* _tmp31_ = NULL;
	ValaCCodeIdentifier* _tmp32_ = NULL;
	ValaCCodeIdentifier* _tmp33_ = NULL;
	ValaCCodeCastExpression* _tmp34_ = NULL;
	ValaCCodeCastExpression* _tmp35_ = NULL;
	ValaCCodeBlock* _tmp36_ = NULL;
	ValaCCodeFunctionCall* _tmp37_ = NULL;
	ValaCCodeExpressionStatement* _tmp38_ = NULL;
	ValaCCodeExpressionStatement* _tmp39_ = NULL;
	self = (ValaGDBusServerModule*) base;
	g_return_if_fail (block != NULL);
	g_return_if_fail (sym != NULL);
	_tmp0_ = sym;
	_tmp1_ = vala_gd_bus_module_get_dbus_name ((ValaTypeSymbol*) _tmp0_);
	dbus_iface_name = _tmp1_;
	_tmp2_ = dbus_iface_name;
	if (_tmp2_ == NULL) {
		_g_free0 (dbus_iface_name);
		return;
	}
	_tmp3_ = block;
	_tmp4_ = sym;
	VALA_CCODE_BASE_MODULE_CLASS (vala_gd_bus_server_module_parent_class)->register_dbus_info ((ValaCCodeBaseModule*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule), _tmp3_, _tmp4_);
	_tmp5_ = vala_ccode_identifier_new ("g_quark_from_static_string");
	_tmp6_ = _tmp5_;
	_tmp7_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp6_);
	_tmp8_ = _tmp7_;
	_vala_ccode_node_unref0 (_tmp6_);
	quark = _tmp8_;
	_tmp9_ = quark;
	_tmp10_ = vala_ccode_constant_new ("\"vala-dbus-register-object\"");
	_tmp11_ = _tmp10_;
	vala_ccode_function_call_add_argument (_tmp9_, (ValaCCodeExpression*) _tmp11_);
	_vala_ccode_node_unref0 (_tmp11_);
	_tmp12_ = vala_ccode_identifier_new ("g_type_set_qdata");
	_tmp13_ = _tmp12_;
	_tmp14_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp13_);
	_tmp15_ = _tmp14_;
	_vala_ccode_node_unref0 (_tmp13_);
	set_qdata = _tmp15_;
	_tmp16_ = set_qdata;
	_tmp17_ = sym;
	_tmp18_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp17_, NULL);
	_tmp19_ = _tmp18_;
	_tmp20_ = g_strdup_printf ("%s_type_id", _tmp19_);
	_tmp21_ = _tmp20_;
	_tmp22_ = vala_ccode_identifier_new (_tmp21_);
	_tmp23_ = _tmp22_;
	vala_ccode_function_call_add_argument (_tmp16_, (ValaCCodeExpression*) _tmp23_);
	_vala_ccode_node_unref0 (_tmp23_);
	_g_free0 (_tmp21_);
	_g_free0 (_tmp19_);
	_tmp24_ = set_qdata;
	_tmp25_ = quark;
	vala_ccode_function_call_add_argument (_tmp24_, (ValaCCodeExpression*) _tmp25_);
	_tmp26_ = set_qdata;
	_tmp27_ = sym;
	_tmp28_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp27_);
	_tmp29_ = _tmp28_;
	_tmp30_ = g_strconcat (_tmp29_, "register_object", NULL);
	_tmp31_ = _tmp30_;
	_tmp32_ = vala_ccode_identifier_new (_tmp31_);
	_tmp33_ = _tmp32_;
	_tmp34_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp33_, "void*");
	_tmp35_ = _tmp34_;
	vala_ccode_function_call_add_argument (_tmp26_, (ValaCCodeExpression*) _tmp35_);
	_vala_ccode_node_unref0 (_tmp35_);
	_vala_ccode_node_unref0 (_tmp33_);
	_g_free0 (_tmp31_);
	_g_free0 (_tmp29_);
	_tmp36_ = block;
	_tmp37_ = set_qdata;
	_tmp38_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp37_);
	_tmp39_ = _tmp38_;
	vala_ccode_block_add_statement (_tmp36_, (ValaCCodeNode*) _tmp39_);
	_vala_ccode_node_unref0 (_tmp39_);
	_vala_ccode_node_unref0 (set_qdata);
	_vala_ccode_node_unref0 (quark);
	_g_free0 (dbus_iface_name);
}


ValaGDBusServerModule* vala_gd_bus_server_module_construct (GType object_type) {
	ValaGDBusServerModule* self = NULL;
	self = (ValaGDBusServerModule*) vala_gd_bus_client_module_construct (object_type);
	return self;
}


ValaGDBusServerModule* vala_gd_bus_server_module_new (void) {
	return vala_gd_bus_server_module_construct (VALA_TYPE_GD_BUS_SERVER_MODULE);
}


static void vala_gd_bus_server_module_class_init (ValaGDBusServerModuleClass * klass) {
	vala_gd_bus_server_module_parent_class = g_type_class_peek_parent (klass);
	((ValaCodeVisitorClass *) klass)->visit_method_call = vala_gd_bus_server_module_real_visit_method_call;
	((ValaCCodeBaseModuleClass *) klass)->generate_class_declaration = vala_gd_bus_server_module_real_generate_class_declaration;
	((ValaCCodeBaseModuleClass *) klass)->generate_interface_declaration = vala_gd_bus_server_module_real_generate_interface_declaration;
	((ValaCodeVisitorClass *) klass)->visit_class = vala_gd_bus_server_module_real_visit_class;
	((ValaCodeVisitorClass *) klass)->visit_interface = vala_gd_bus_server_module_real_visit_interface;
	((ValaCCodeBaseModuleClass *) klass)->register_dbus_info = vala_gd_bus_server_module_real_register_dbus_info;
}


static void vala_gd_bus_server_module_instance_init (ValaGDBusServerModule * self) {
}


GType vala_gd_bus_server_module_get_type (void) {
	static volatile gsize vala_gd_bus_server_module_type_id__volatile = 0;
	if (g_once_init_enter (&vala_gd_bus_server_module_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ValaGDBusServerModuleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_gd_bus_server_module_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaGDBusServerModule), 0, (GInstanceInitFunc) vala_gd_bus_server_module_instance_init, NULL };
		GType vala_gd_bus_server_module_type_id;
		vala_gd_bus_server_module_type_id = g_type_register_static (VALA_TYPE_GD_BUS_CLIENT_MODULE, "ValaGDBusServerModule", &g_define_type_info, 0);
		g_once_init_leave (&vala_gd_bus_server_module_type_id__volatile, vala_gd_bus_server_module_type_id);
	}
	return vala_gd_bus_server_module_type_id__volatile;
}



