/* systemd-interfaces.c generated by valac 0.14.0, the Vala compiler
 * generated from systemd-interfaces.vala, do not modify */


#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>


#define TYPE_MANAGER (manager_get_type ())
#define MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MANAGER, Manager))
#define IS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MANAGER))
#define MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MANAGER, ManagerIface))

typedef struct _Manager Manager;
typedef struct _ManagerIface ManagerIface;

#define TYPE_MANAGER_PROXY (manager_proxy_get_type ())

#define MANAGER_TYPE_UNIT_INFO (manager_unit_info_get_type ())
typedef struct _ManagerUnitInfo ManagerUnitInfo;

#define MANAGER_TYPE_JOB_INFO (manager_job_info_get_type ())
typedef struct _ManagerJobInfo ManagerJobInfo;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef GDBusProxy ManagerProxy;
typedef GDBusProxyClass ManagerProxyClass;

#define TYPE_UNIT (unit_get_type ())
#define UNIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UNIT, Unit))
#define IS_UNIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UNIT))
#define UNIT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_UNIT, UnitIface))

typedef struct _Unit Unit;
typedef struct _UnitIface UnitIface;

#define TYPE_UNIT_PROXY (unit_proxy_get_type ())

#define UNIT_TYPE_JOB_LINK (unit_job_link_get_type ())
typedef struct _UnitJobLink UnitJobLink;
typedef GDBusProxy UnitProxy;
typedef GDBusProxyClass UnitProxyClass;

#define TYPE_JOB (job_get_type ())
#define JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JOB, Job))
#define IS_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JOB))
#define JOB_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_JOB, JobIface))

typedef struct _Job Job;
typedef struct _JobIface JobIface;

#define TYPE_JOB_PROXY (job_proxy_get_type ())

#define JOB_TYPE_UNIT_LINK (job_unit_link_get_type ())
typedef struct _JobUnitLink JobUnitLink;
typedef GDBusProxy JobProxy;
typedef GDBusProxyClass JobProxyClass;

#define TYPE_PROPERTIES (properties_get_type ())
#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties))
#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES))
#define PROPERTIES_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_PROPERTIES, PropertiesIface))

typedef struct _Properties Properties;
typedef struct _PropertiesIface PropertiesIface;

#define TYPE_PROPERTIES_PROXY (properties_proxy_get_type ())
typedef GDBusProxy PropertiesProxy;
typedef GDBusProxyClass PropertiesProxyClass;
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))

struct _ManagerUnitInfo {
	gchar* id;
	gchar* description;
	gchar* load_state;
	gchar* active_state;
	gchar* sub_state;
	gchar* following;
	char* unit_path;
	guint32 job_id;
	gchar* job_type;
	char* job_path;
};

struct _ManagerJobInfo {
	guint32 id;
	gchar* name;
	gchar* type;
	gchar* state;
	char* job_path;
	char* unit_path;
};

struct _ManagerIface {
	GTypeInterface parent_iface;
	ManagerUnitInfo* (*list_units) (Manager* self, int* result_length1, GError** error);
	ManagerJobInfo* (*list_jobs) (Manager* self, int* result_length1, GError** error);
	char* (*get_unit) (Manager* self, const gchar* name, GError** error);
	char* (*get_unit_by_pid) (Manager* self, guint32 pid, GError** error);
	char* (*load_unit) (Manager* self, const gchar* name, GError** error);
	char* (*get_job) (Manager* self, guint32 id, GError** error);
	char* (*start_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*stop_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*reload_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*restart_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*try_restart_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*reload_or_restart_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	char* (*reload_or_try_restart_unit) (Manager* self, const gchar* name, const gchar* mode, GError** error);
	void (*reset_failed_unit) (Manager* self, const gchar* name, GError** error);
	void (*clear_jobs) (Manager* self, GError** error);
	void (*subscribe) (Manager* self, GError** error);
	void (*unsubscribe) (Manager* self, GError** error);
	gchar* (*dump) (Manager* self, GError** error);
	void (*reload) (Manager* self, GError** error);
	void (*reexecute) (Manager* self, GError** error);
	void (*exit) (Manager* self, GError** error);
	void (*halt) (Manager* self, GError** error);
	void (*power_off) (Manager* self, GError** error);
	void (*reboot) (Manager* self, GError** error);
	void (*kexec) (Manager* self, GError** error);
	char* (*create_snapshot) (Manager* self, const gchar* name, gboolean cleanup, GError** error);
	void (*set_environment) (Manager* self, gchar** names, int names_length1, GError** error);
	void (*unset_environment) (Manager* self, gchar** names, int names_length1, GError** error);
	gchar** (*get_environment) (Manager* self, int* result_length1);
};

struct _UnitJobLink {
	guint32 id;
	char* path;
};

struct _UnitIface {
	GTypeInterface parent_iface;
	char* (*start) (Unit* self, const gchar* mode, GError** error);
	char* (*stop) (Unit* self, const gchar* mode, GError** error);
	char* (*reload) (Unit* self, const gchar* mode, GError** error);
	char* (*restart) (Unit* self, const gchar* mode, GError** error);
	char* (*try_restart) (Unit* self, const gchar* mode, GError** error);
	char* (*reload_or_restart) (Unit* self, const gchar* mode, GError** error);
	char* (*reload_or_try_restart) (Unit* self, const gchar* mode, GError** error);
	void (*reset_failed) (Unit* self, GError** error);
	gchar* (*get_id) (Unit* self);
	gchar** (*get_names) (Unit* self, int* result_length1);
	gchar* (*get_following) (Unit* self);
	gchar** (*get_requires) (Unit* self, int* result_length1);
	gchar** (*get_requires_overridable) (Unit* self, int* result_length1);
	gchar** (*get_requisite) (Unit* self, int* result_length1);
	gchar** (*get_requisite_overridable) (Unit* self, int* result_length1);
	gchar** (*get_wants) (Unit* self, int* result_length1);
	gchar** (*get_required_by) (Unit* self, int* result_length1);
	gchar** (*get_required_by_overridable) (Unit* self, int* result_length1);
	gchar** (*get_wanted_by) (Unit* self, int* result_length1);
	gchar** (*get_conflicts) (Unit* self, int* result_length1);
	gchar** (*get_conflicted_by) (Unit* self, int* result_length1);
	gchar** (*get_before) (Unit* self, int* result_length1);
	gchar** (*get_after) (Unit* self, int* result_length1);
	gchar** (*get_on_failure) (Unit* self, int* result_length1);
	gchar* (*get_description) (Unit* self);
	gchar* (*get_load_state) (Unit* self);
	gchar* (*get_active_state) (Unit* self);
	gchar* (*get_sub_state) (Unit* self);
	gchar* (*get_fragment_path) (Unit* self);
	guint64 (*get_inactive_exit_timestamp) (Unit* self);
	guint64 (*get_active_enter_timestamp) (Unit* self);
	guint64 (*get_active_exit_timestamp) (Unit* self);
	guint64 (*get_inactive_enter_timestamp) (Unit* self);
	gboolean (*get_can_start) (Unit* self);
	gboolean (*get_can_stop) (Unit* self);
	gboolean (*get_can_reload) (Unit* self);
	void (*get_job) (Unit* self, UnitJobLink* value);
	gboolean (*get_recursive_stop) (Unit* self);
	gboolean (*get_stop_when_unneeded) (Unit* self);
	gboolean (*get_refuse_manual_start) (Unit* self);
	gboolean (*get_refuse_manual_stop) (Unit* self);
	gboolean (*get_default_dependencies) (Unit* self);
	gchar* (*get_default_control_group) (Unit* self);
	gchar** (*get_control_groups) (Unit* self, int* result_length1);
	gboolean (*get_need_daemon_reload) (Unit* self);
	guint64 (*get_job_timeout_usec) (Unit* self);
};

struct _JobUnitLink {
	gchar* id;
	char* path;
};

struct _JobIface {
	GTypeInterface parent_iface;
	void (*cancel) (Job* self, GError** error);
	guint32 (*get_id) (Job* self);
	gchar* (*get_state) (Job* self);
	gchar* (*get_job_type) (Job* self);
	void (*get_unit) (Job* self, JobUnitLink* value);
};

struct _PropertiesIface {
	GTypeInterface parent_iface;
	GVariant* (*get) (Properties* self, const gchar* iface, const gchar* property, GError** error);
};



GType manager_proxy_get_type (void) G_GNUC_CONST;
guint manager_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType manager_unit_info_get_type (void) G_GNUC_CONST;
ManagerUnitInfo* manager_unit_info_dup (const ManagerUnitInfo* self);
void manager_unit_info_free (ManagerUnitInfo* self);
void manager_unit_info_copy (const ManagerUnitInfo* self, ManagerUnitInfo* dest);
void manager_unit_info_destroy (ManagerUnitInfo* self);
GType manager_job_info_get_type (void) G_GNUC_CONST;
ManagerJobInfo* manager_job_info_dup (const ManagerJobInfo* self);
void manager_job_info_free (ManagerJobInfo* self);
void manager_job_info_copy (const ManagerJobInfo* self, ManagerJobInfo* dest);
void manager_job_info_destroy (ManagerJobInfo* self);
GType manager_get_type (void) G_GNUC_CONST;
ManagerUnitInfo* manager_list_units (Manager* self, int* result_length1, GError** error);
ManagerJobInfo* manager_list_jobs (Manager* self, int* result_length1, GError** error);
char* manager_get_unit (Manager* self, const gchar* name, GError** error);
char* manager_get_unit_by_pid (Manager* self, guint32 pid, GError** error);
char* manager_load_unit (Manager* self, const gchar* name, GError** error);
char* manager_get_job (Manager* self, guint32 id, GError** error);
char* manager_start_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_stop_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_reload_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_reload_or_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
char* manager_reload_or_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
void manager_reset_failed_unit (Manager* self, const gchar* name, GError** error);
void manager_clear_jobs (Manager* self, GError** error);
void manager_subscribe (Manager* self, GError** error);
void manager_unsubscribe (Manager* self, GError** error);
gchar* manager_dump (Manager* self, GError** error);
void manager_reload (Manager* self, GError** error);
void manager_reexecute (Manager* self, GError** error);
void manager_exit (Manager* self, GError** error);
void manager_halt (Manager* self, GError** error);
void manager_power_off (Manager* self, GError** error);
void manager_reboot (Manager* self, GError** error);
void manager_kexec (Manager* self, GError** error);
char* manager_create_snapshot (Manager* self, const gchar* name, gboolean cleanup, GError** error);
void manager_set_environment (Manager* self, gchar** names, int names_length1, GError** error);
void manager_unset_environment (Manager* self, gchar** names, int names_length1, GError** error);
gchar** manager_get_environment (Manager* self, int* result_length1);
static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__UINT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__UINT_STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
static void manager_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static void _dbus_handle_manager_unit_new (Manager* self, GVariant* parameters);
static void _dbus_handle_manager_unit_removed (Manager* self, GVariant* parameters);
static void _dbus_handle_manager_job_new (Manager* self, GVariant* parameters);
static void _dbus_handle_manager_job_removed (Manager* self, GVariant* parameters);
static ManagerUnitInfo* manager_proxy_list_units (Manager* self, int* result_length1, GError** error);
static ManagerJobInfo* manager_proxy_list_jobs (Manager* self, int* result_length1, GError** error);
static char* manager_proxy_get_unit (Manager* self, const gchar* name, GError** error);
static char* manager_proxy_get_unit_by_pid (Manager* self, guint32 pid, GError** error);
static char* manager_proxy_load_unit (Manager* self, const gchar* name, GError** error);
static char* manager_proxy_get_job (Manager* self, guint32 id, GError** error);
static char* manager_proxy_start_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_stop_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_reload_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_reload_or_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static char* manager_proxy_reload_or_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error);
static void manager_proxy_reset_failed_unit (Manager* self, const gchar* name, GError** error);
static void manager_proxy_clear_jobs (Manager* self, GError** error);
static void manager_proxy_subscribe (Manager* self, GError** error);
static void manager_proxy_unsubscribe (Manager* self, GError** error);
static gchar* manager_proxy_dump (Manager* self, GError** error);
static void manager_proxy_reload (Manager* self, GError** error);
static void manager_proxy_reexecute (Manager* self, GError** error);
static void manager_proxy_exit (Manager* self, GError** error);
static void manager_proxy_halt (Manager* self, GError** error);
static void manager_proxy_power_off (Manager* self, GError** error);
static void manager_proxy_reboot (Manager* self, GError** error);
static void manager_proxy_kexec (Manager* self, GError** error);
static char* manager_proxy_create_snapshot (Manager* self, const gchar* name, gboolean cleanup, GError** error);
static void manager_proxy_set_environment (Manager* self, gchar** names, int names_length1, GError** error);
static void manager_proxy_unset_environment (Manager* self, gchar** names, int names_length1, GError** error);
static gchar** manager_dbus_proxy_get_environment (Manager* self, int* result_length1);
static void manager_proxy_manager_interface_init (ManagerIface* iface);
static void _vala_ManagerUnitInfo_array_free (ManagerUnitInfo* array, gint array_length);
static void _dbus_manager_list_units (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _vala_ManagerJobInfo_array_free (ManagerJobInfo* array, gint array_length);
static void _dbus_manager_list_jobs (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_get_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_get_unit_by_pid (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_load_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_get_job (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_start_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_stop_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reload_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_try_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reload_or_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reload_or_try_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reset_failed_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_clear_jobs (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_subscribe (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_unsubscribe (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_dump (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reload (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reexecute (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_exit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_halt (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_power_off (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_reboot (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_kexec (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_create_snapshot (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_set_environment (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_manager_unset_environment (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void manager_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* manager_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static GVariant* _dbus_manager_get_environment (Manager* self);
static gboolean manager_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _dbus_manager_unit_new (GObject* _sender, const gchar* id, const char* path, gpointer* _data);
static void _dbus_manager_unit_removed (GObject* _sender, const gchar* id, const char* path, gpointer* _data);
static void _dbus_manager_job_new (GObject* _sender, guint32 id, const char* path, gpointer* _data);
static void _dbus_manager_job_removed (GObject* _sender, guint32 id, const char* path, const gchar* res, gpointer* _data);
static void _manager_unregister_object (gpointer user_data);
GType unit_proxy_get_type (void) G_GNUC_CONST;
guint unit_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType unit_job_link_get_type (void) G_GNUC_CONST;
UnitJobLink* unit_job_link_dup (const UnitJobLink* self);
void unit_job_link_free (UnitJobLink* self);
void unit_job_link_copy (const UnitJobLink* self, UnitJobLink* dest);
void unit_job_link_destroy (UnitJobLink* self);
GType unit_get_type (void) G_GNUC_CONST;
char* unit_start (Unit* self, const gchar* mode, GError** error);
char* unit_stop (Unit* self, const gchar* mode, GError** error);
char* unit_reload (Unit* self, const gchar* mode, GError** error);
char* unit_restart (Unit* self, const gchar* mode, GError** error);
char* unit_try_restart (Unit* self, const gchar* mode, GError** error);
char* unit_reload_or_restart (Unit* self, const gchar* mode, GError** error);
char* unit_reload_or_try_restart (Unit* self, const gchar* mode, GError** error);
void unit_reset_failed (Unit* self, GError** error);
gchar* unit_get_id (Unit* self);
gchar** unit_get_names (Unit* self, int* result_length1);
gchar* unit_get_following (Unit* self);
gchar** unit_get_requires (Unit* self, int* result_length1);
gchar** unit_get_requires_overridable (Unit* self, int* result_length1);
gchar** unit_get_requisite (Unit* self, int* result_length1);
gchar** unit_get_requisite_overridable (Unit* self, int* result_length1);
gchar** unit_get_wants (Unit* self, int* result_length1);
gchar** unit_get_required_by (Unit* self, int* result_length1);
gchar** unit_get_required_by_overridable (Unit* self, int* result_length1);
gchar** unit_get_wanted_by (Unit* self, int* result_length1);
gchar** unit_get_conflicts (Unit* self, int* result_length1);
gchar** unit_get_conflicted_by (Unit* self, int* result_length1);
gchar** unit_get_before (Unit* self, int* result_length1);
gchar** unit_get_after (Unit* self, int* result_length1);
gchar** unit_get_on_failure (Unit* self, int* result_length1);
gchar* unit_get_description (Unit* self);
gchar* unit_get_load_state (Unit* self);
gchar* unit_get_active_state (Unit* self);
gchar* unit_get_sub_state (Unit* self);
gchar* unit_get_fragment_path (Unit* self);
guint64 unit_get_inactive_exit_timestamp (Unit* self);
guint64 unit_get_active_enter_timestamp (Unit* self);
guint64 unit_get_active_exit_timestamp (Unit* self);
guint64 unit_get_inactive_enter_timestamp (Unit* self);
gboolean unit_get_can_start (Unit* self);
gboolean unit_get_can_stop (Unit* self);
gboolean unit_get_can_reload (Unit* self);
void unit_get_job (Unit* self, UnitJobLink* result);
gboolean unit_get_recursive_stop (Unit* self);
gboolean unit_get_stop_when_unneeded (Unit* self);
gboolean unit_get_refuse_manual_start (Unit* self);
gboolean unit_get_refuse_manual_stop (Unit* self);
gboolean unit_get_default_dependencies (Unit* self);
gchar* unit_get_default_control_group (Unit* self);
gchar** unit_get_control_groups (Unit* self, int* result_length1);
gboolean unit_get_need_daemon_reload (Unit* self);
guint64 unit_get_job_timeout_usec (Unit* self);
static void unit_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static char* unit_proxy_start (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_stop (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_reload (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_restart (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_try_restart (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_reload_or_restart (Unit* self, const gchar* mode, GError** error);
static char* unit_proxy_reload_or_try_restart (Unit* self, const gchar* mode, GError** error);
static void unit_proxy_reset_failed (Unit* self, GError** error);
static gchar* unit_dbus_proxy_get_id (Unit* self);
static gchar** unit_dbus_proxy_get_names (Unit* self, int* result_length1);
static gchar* unit_dbus_proxy_get_following (Unit* self);
static gchar** unit_dbus_proxy_get_requires (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_requires_overridable (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_requisite (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_requisite_overridable (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_wants (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_required_by (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_required_by_overridable (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_wanted_by (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_conflicts (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_conflicted_by (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_before (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_after (Unit* self, int* result_length1);
static gchar** unit_dbus_proxy_get_on_failure (Unit* self, int* result_length1);
static gchar* unit_dbus_proxy_get_description (Unit* self);
static gchar* unit_dbus_proxy_get_load_state (Unit* self);
static gchar* unit_dbus_proxy_get_active_state (Unit* self);
static gchar* unit_dbus_proxy_get_sub_state (Unit* self);
static gchar* unit_dbus_proxy_get_fragment_path (Unit* self);
static guint64 unit_dbus_proxy_get_inactive_exit_timestamp (Unit* self);
static guint64 unit_dbus_proxy_get_active_enter_timestamp (Unit* self);
static guint64 unit_dbus_proxy_get_active_exit_timestamp (Unit* self);
static guint64 unit_dbus_proxy_get_inactive_enter_timestamp (Unit* self);
static gboolean unit_dbus_proxy_get_can_start (Unit* self);
static gboolean unit_dbus_proxy_get_can_stop (Unit* self);
static gboolean unit_dbus_proxy_get_can_reload (Unit* self);
static void unit_dbus_proxy_get_job (Unit* self, UnitJobLink* result);
static gboolean unit_dbus_proxy_get_recursive_stop (Unit* self);
static gboolean unit_dbus_proxy_get_stop_when_unneeded (Unit* self);
static gboolean unit_dbus_proxy_get_refuse_manual_start (Unit* self);
static gboolean unit_dbus_proxy_get_refuse_manual_stop (Unit* self);
static gboolean unit_dbus_proxy_get_default_dependencies (Unit* self);
static gchar* unit_dbus_proxy_get_default_control_group (Unit* self);
static gchar** unit_dbus_proxy_get_control_groups (Unit* self, int* result_length1);
static gboolean unit_dbus_proxy_get_need_daemon_reload (Unit* self);
static guint64 unit_dbus_proxy_get_job_timeout_usec (Unit* self);
static void unit_proxy_unit_interface_init (UnitIface* iface);
static void _dbus_unit_start (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_stop (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_reload (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_try_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_reload_or_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_reload_or_try_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void _dbus_unit_reset_failed (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void unit_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* unit_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static GVariant* _dbus_unit_get_id (Unit* self);
static GVariant* _dbus_unit_get_names (Unit* self);
static GVariant* _dbus_unit_get_following (Unit* self);
static GVariant* _dbus_unit_get_requires (Unit* self);
static GVariant* _dbus_unit_get_requires_overridable (Unit* self);
static GVariant* _dbus_unit_get_requisite (Unit* self);
static GVariant* _dbus_unit_get_requisite_overridable (Unit* self);
static GVariant* _dbus_unit_get_wants (Unit* self);
static GVariant* _dbus_unit_get_required_by (Unit* self);
static GVariant* _dbus_unit_get_required_by_overridable (Unit* self);
static GVariant* _dbus_unit_get_wanted_by (Unit* self);
static GVariant* _dbus_unit_get_conflicts (Unit* self);
static GVariant* _dbus_unit_get_conflicted_by (Unit* self);
static GVariant* _dbus_unit_get_before (Unit* self);
static GVariant* _dbus_unit_get_after (Unit* self);
static GVariant* _dbus_unit_get_on_failure (Unit* self);
static GVariant* _dbus_unit_get_description (Unit* self);
static GVariant* _dbus_unit_get_load_state (Unit* self);
static GVariant* _dbus_unit_get_active_state (Unit* self);
static GVariant* _dbus_unit_get_sub_state (Unit* self);
static GVariant* _dbus_unit_get_fragment_path (Unit* self);
static GVariant* _dbus_unit_get_inactive_exit_timestamp (Unit* self);
static GVariant* _dbus_unit_get_active_enter_timestamp (Unit* self);
static GVariant* _dbus_unit_get_active_exit_timestamp (Unit* self);
static GVariant* _dbus_unit_get_inactive_enter_timestamp (Unit* self);
static GVariant* _dbus_unit_get_can_start (Unit* self);
static GVariant* _dbus_unit_get_can_stop (Unit* self);
static GVariant* _dbus_unit_get_can_reload (Unit* self);
static GVariant* _dbus_unit_get_job (Unit* self);
static GVariant* _dbus_unit_get_recursive_stop (Unit* self);
static GVariant* _dbus_unit_get_stop_when_unneeded (Unit* self);
static GVariant* _dbus_unit_get_refuse_manual_start (Unit* self);
static GVariant* _dbus_unit_get_refuse_manual_stop (Unit* self);
static GVariant* _dbus_unit_get_default_dependencies (Unit* self);
static GVariant* _dbus_unit_get_default_control_group (Unit* self);
static GVariant* _dbus_unit_get_control_groups (Unit* self);
static GVariant* _dbus_unit_get_need_daemon_reload (Unit* self);
static GVariant* _dbus_unit_get_job_timeout_usec (Unit* self);
static gboolean unit_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _unit_unregister_object (gpointer user_data);
GType job_proxy_get_type (void) G_GNUC_CONST;
guint job_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType job_unit_link_get_type (void) G_GNUC_CONST;
JobUnitLink* job_unit_link_dup (const JobUnitLink* self);
void job_unit_link_free (JobUnitLink* self);
void job_unit_link_copy (const JobUnitLink* self, JobUnitLink* dest);
void job_unit_link_destroy (JobUnitLink* self);
GType job_get_type (void) G_GNUC_CONST;
void job_cancel (Job* self, GError** error);
guint32 job_get_id (Job* self);
gchar* job_get_state (Job* self);
gchar* job_get_job_type (Job* self);
void job_get_unit (Job* self, JobUnitLink* result);
static void job_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static void job_proxy_cancel (Job* self, GError** error);
static guint32 job_dbus_proxy_get_id (Job* self);
static gchar* job_dbus_proxy_get_state (Job* self);
static gchar* job_dbus_proxy_get_job_type (Job* self);
static void job_dbus_proxy_get_unit (Job* self, JobUnitLink* result);
static void job_proxy_job_interface_init (JobIface* iface);
static void _dbus_job_cancel (Job* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void job_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* job_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static GVariant* _dbus_job_get_id (Job* self);
static GVariant* _dbus_job_get_state (Job* self);
static GVariant* _dbus_job_get_job_type (Job* self);
static GVariant* _dbus_job_get_unit (Job* self);
static gboolean job_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _job_unregister_object (gpointer user_data);
GType properties_proxy_get_type (void) G_GNUC_CONST;
guint properties_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType properties_get_type (void) G_GNUC_CONST;
GVariant* properties_get (Properties* self, const gchar* iface, const gchar* property, GError** error);
static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
static void properties_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static void _dbus_handle_properties_properties_changed (Properties* self, GVariant* parameters);
static GVariant* properties_proxy_get (Properties* self, const gchar* iface, const gchar* property, GError** error);
static void properties_proxy_properties_interface_init (PropertiesIface* iface);
static void _dbus_properties_get (Properties* self, GVariant* parameters, GDBusMethodInvocation* invocation);
static void properties_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* properties_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static gboolean properties_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _dbus_properties_properties_changed (GObject* _sender, const gchar* iface, GHashTable* changed_properties, gchar** invalidated_properties, int invalidated_properties_length1, gpointer* _data);
static void _properties_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);

static const GDBusArgInfo _manager_dbus_arg_info_list_units_result = {-1, "result", "a(ssssssouso)"};
static const GDBusArgInfo * const _manager_dbus_arg_info_list_units_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_list_units_out[] = {&_manager_dbus_arg_info_list_units_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_list_units = {-1, "ListUnits", (GDBusArgInfo **) (&_manager_dbus_arg_info_list_units_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_list_units_out)};
static const GDBusArgInfo _manager_dbus_arg_info_list_jobs_result = {-1, "result", "a(usssoo)"};
static const GDBusArgInfo * const _manager_dbus_arg_info_list_jobs_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_list_jobs_out[] = {&_manager_dbus_arg_info_list_jobs_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_list_jobs = {-1, "ListJobs", (GDBusArgInfo **) (&_manager_dbus_arg_info_list_jobs_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_list_jobs_out)};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_unit_in[] = {&_manager_dbus_arg_info_get_unit_name, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_unit_out[] = {&_manager_dbus_arg_info_get_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_get_unit = {-1, "GetUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_get_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_get_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_by_pid_pid = {-1, "pid", "u"};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_by_pid_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_unit_by_pid_in[] = {&_manager_dbus_arg_info_get_unit_by_pid_pid, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_unit_by_pid_out[] = {&_manager_dbus_arg_info_get_unit_by_pid_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_get_unit_by_pid = {-1, "GetUnitByPid", (GDBusArgInfo **) (&_manager_dbus_arg_info_get_unit_by_pid_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_get_unit_by_pid_out)};
static const GDBusArgInfo _manager_dbus_arg_info_load_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_load_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_load_unit_in[] = {&_manager_dbus_arg_info_load_unit_name, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_load_unit_out[] = {&_manager_dbus_arg_info_load_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_load_unit = {-1, "LoadUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_load_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_load_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_get_job_id = {-1, "id", "u"};
static const GDBusArgInfo _manager_dbus_arg_info_get_job_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_job_in[] = {&_manager_dbus_arg_info_get_job_id, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_get_job_out[] = {&_manager_dbus_arg_info_get_job_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_get_job = {-1, "GetJob", (GDBusArgInfo **) (&_manager_dbus_arg_info_get_job_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_get_job_out)};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_start_unit_in[] = {&_manager_dbus_arg_info_start_unit_name, &_manager_dbus_arg_info_start_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_start_unit_out[] = {&_manager_dbus_arg_info_start_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_start_unit = {-1, "StartUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_start_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_start_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_stop_unit_in[] = {&_manager_dbus_arg_info_stop_unit_name, &_manager_dbus_arg_info_stop_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_stop_unit_out[] = {&_manager_dbus_arg_info_stop_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_stop_unit = {-1, "StopUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_stop_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_stop_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_unit_in[] = {&_manager_dbus_arg_info_reload_unit_name, &_manager_dbus_arg_info_reload_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_unit_out[] = {&_manager_dbus_arg_info_reload_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reload_unit = {-1, "ReloadUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_restart_unit_in[] = {&_manager_dbus_arg_info_restart_unit_name, &_manager_dbus_arg_info_restart_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_restart_unit_out[] = {&_manager_dbus_arg_info_restart_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_restart_unit = {-1, "RestartUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_restart_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_restart_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_try_restart_unit_in[] = {&_manager_dbus_arg_info_try_restart_unit_name, &_manager_dbus_arg_info_try_restart_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_try_restart_unit_out[] = {&_manager_dbus_arg_info_try_restart_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_try_restart_unit = {-1, "TryRestartUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_try_restart_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_try_restart_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_or_restart_unit_in[] = {&_manager_dbus_arg_info_reload_or_restart_unit_name, &_manager_dbus_arg_info_reload_or_restart_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_or_restart_unit_out[] = {&_manager_dbus_arg_info_reload_or_restart_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reload_or_restart_unit = {-1, "ReloadOrRestartUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_or_restart_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_or_restart_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_mode = {-1, "mode", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_or_try_restart_unit_in[] = {&_manager_dbus_arg_info_reload_or_try_restart_unit_name, &_manager_dbus_arg_info_reload_or_try_restart_unit_mode, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_or_try_restart_unit_out[] = {&_manager_dbus_arg_info_reload_or_try_restart_unit_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reload_or_try_restart_unit = {-1, "ReloadOrTryRestartUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_or_try_restart_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_or_try_restart_unit_out)};
static const GDBusArgInfo _manager_dbus_arg_info_reset_failed_unit_name = {-1, "name", "s"};
static const GDBusArgInfo * const _manager_dbus_arg_info_reset_failed_unit_in[] = {&_manager_dbus_arg_info_reset_failed_unit_name, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reset_failed_unit_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reset_failed_unit = {-1, "ResetFailedUnit", (GDBusArgInfo **) (&_manager_dbus_arg_info_reset_failed_unit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reset_failed_unit_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_clear_jobs_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_clear_jobs_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_clear_jobs = {-1, "ClearJobs", (GDBusArgInfo **) (&_manager_dbus_arg_info_clear_jobs_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_clear_jobs_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_subscribe_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_subscribe_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_subscribe = {-1, "Subscribe", (GDBusArgInfo **) (&_manager_dbus_arg_info_subscribe_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_subscribe_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_unsubscribe_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_unsubscribe_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_unsubscribe = {-1, "Unsubscribe", (GDBusArgInfo **) (&_manager_dbus_arg_info_unsubscribe_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_unsubscribe_out)};
static const GDBusArgInfo _manager_dbus_arg_info_dump_result = {-1, "result", "s"};
static const GDBusArgInfo * const _manager_dbus_arg_info_dump_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_dump_out[] = {&_manager_dbus_arg_info_dump_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_dump = {-1, "Dump", (GDBusArgInfo **) (&_manager_dbus_arg_info_dump_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_dump_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reload_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reload = {-1, "Reload", (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reload_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_reexecute_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reexecute_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reexecute = {-1, "Reexecute", (GDBusArgInfo **) (&_manager_dbus_arg_info_reexecute_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reexecute_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_exit_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_exit_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_exit = {-1, "Exit", (GDBusArgInfo **) (&_manager_dbus_arg_info_exit_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_exit_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_halt_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_halt_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_halt = {-1, "Halt", (GDBusArgInfo **) (&_manager_dbus_arg_info_halt_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_halt_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_power_off_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_power_off_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_power_off = {-1, "PowerOff", (GDBusArgInfo **) (&_manager_dbus_arg_info_power_off_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_power_off_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_reboot_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_reboot_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_reboot = {-1, "Reboot", (GDBusArgInfo **) (&_manager_dbus_arg_info_reboot_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_reboot_out)};
static const GDBusArgInfo * const _manager_dbus_arg_info_kexec_in[] = {NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_kexec_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_kexec = {-1, "Kexec", (GDBusArgInfo **) (&_manager_dbus_arg_info_kexec_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_kexec_out)};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_name = {-1, "name", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_cleanup = {-1, "cleanup", "b"};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_result = {-1, "result", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_create_snapshot_in[] = {&_manager_dbus_arg_info_create_snapshot_name, &_manager_dbus_arg_info_create_snapshot_cleanup, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_create_snapshot_out[] = {&_manager_dbus_arg_info_create_snapshot_result, NULL};
static const GDBusMethodInfo _manager_dbus_method_info_create_snapshot = {-1, "CreateSnapshot", (GDBusArgInfo **) (&_manager_dbus_arg_info_create_snapshot_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_create_snapshot_out)};
static const GDBusArgInfo _manager_dbus_arg_info_set_environment_names = {-1, "names", "as"};
static const GDBusArgInfo * const _manager_dbus_arg_info_set_environment_in[] = {&_manager_dbus_arg_info_set_environment_names, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_set_environment_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_set_environment = {-1, "SetEnvironment", (GDBusArgInfo **) (&_manager_dbus_arg_info_set_environment_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_set_environment_out)};
static const GDBusArgInfo _manager_dbus_arg_info_unset_environment_names = {-1, "names", "as"};
static const GDBusArgInfo * const _manager_dbus_arg_info_unset_environment_in[] = {&_manager_dbus_arg_info_unset_environment_names, NULL};
static const GDBusArgInfo * const _manager_dbus_arg_info_unset_environment_out[] = {NULL};
static const GDBusMethodInfo _manager_dbus_method_info_unset_environment = {-1, "UnsetEnvironment", (GDBusArgInfo **) (&_manager_dbus_arg_info_unset_environment_in), (GDBusArgInfo **) (&_manager_dbus_arg_info_unset_environment_out)};
static const GDBusMethodInfo * const _manager_dbus_method_info[] = {&_manager_dbus_method_info_list_units, &_manager_dbus_method_info_list_jobs, &_manager_dbus_method_info_get_unit, &_manager_dbus_method_info_get_unit_by_pid, &_manager_dbus_method_info_load_unit, &_manager_dbus_method_info_get_job, &_manager_dbus_method_info_start_unit, &_manager_dbus_method_info_stop_unit, &_manager_dbus_method_info_reload_unit, &_manager_dbus_method_info_restart_unit, &_manager_dbus_method_info_try_restart_unit, &_manager_dbus_method_info_reload_or_restart_unit, &_manager_dbus_method_info_reload_or_try_restart_unit, &_manager_dbus_method_info_reset_failed_unit, &_manager_dbus_method_info_clear_jobs, &_manager_dbus_method_info_subscribe, &_manager_dbus_method_info_unsubscribe, &_manager_dbus_method_info_dump, &_manager_dbus_method_info_reload, &_manager_dbus_method_info_reexecute, &_manager_dbus_method_info_exit, &_manager_dbus_method_info_halt, &_manager_dbus_method_info_power_off, &_manager_dbus_method_info_reboot, &_manager_dbus_method_info_kexec, &_manager_dbus_method_info_create_snapshot, &_manager_dbus_method_info_set_environment, &_manager_dbus_method_info_unset_environment, NULL};
static const GDBusArgInfo _manager_dbus_arg_info_unit_new_id = {-1, "id", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_unit_new_path = {-1, "path", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_unit_new[] = {&_manager_dbus_arg_info_unit_new_id, &_manager_dbus_arg_info_unit_new_path, NULL};
static const GDBusSignalInfo _manager_dbus_signal_info_unit_new = {-1, "UnitNew", (GDBusArgInfo **) (&_manager_dbus_arg_info_unit_new)};
static const GDBusArgInfo _manager_dbus_arg_info_unit_removed_id = {-1, "id", "s"};
static const GDBusArgInfo _manager_dbus_arg_info_unit_removed_path = {-1, "path", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_unit_removed[] = {&_manager_dbus_arg_info_unit_removed_id, &_manager_dbus_arg_info_unit_removed_path, NULL};
static const GDBusSignalInfo _manager_dbus_signal_info_unit_removed = {-1, "UnitRemoved", (GDBusArgInfo **) (&_manager_dbus_arg_info_unit_removed)};
static const GDBusArgInfo _manager_dbus_arg_info_job_new_id = {-1, "id", "u"};
static const GDBusArgInfo _manager_dbus_arg_info_job_new_path = {-1, "path", "o"};
static const GDBusArgInfo * const _manager_dbus_arg_info_job_new[] = {&_manager_dbus_arg_info_job_new_id, &_manager_dbus_arg_info_job_new_path, NULL};
static const GDBusSignalInfo _manager_dbus_signal_info_job_new = {-1, "JobNew", (GDBusArgInfo **) (&_manager_dbus_arg_info_job_new)};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_id = {-1, "id", "u"};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_path = {-1, "path", "o"};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_res = {-1, "res", "s"};
static const GDBusArgInfo * const _manager_dbus_arg_info_job_removed[] = {&_manager_dbus_arg_info_job_removed_id, &_manager_dbus_arg_info_job_removed_path, &_manager_dbus_arg_info_job_removed_res, NULL};
static const GDBusSignalInfo _manager_dbus_signal_info_job_removed = {-1, "JobRemoved", (GDBusArgInfo **) (&_manager_dbus_arg_info_job_removed)};
static const GDBusSignalInfo * const _manager_dbus_signal_info[] = {&_manager_dbus_signal_info_unit_new, &_manager_dbus_signal_info_unit_removed, &_manager_dbus_signal_info_job_new, &_manager_dbus_signal_info_job_removed, NULL};
static const GDBusPropertyInfo _manager_dbus_property_info_environment = {-1, "Environment", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo * const _manager_dbus_property_info[] = {&_manager_dbus_property_info_environment, NULL};
static const GDBusInterfaceInfo _manager_dbus_interface_info = {-1, "org.freedesktop.systemd1.Manager", (GDBusMethodInfo **) (&_manager_dbus_method_info), (GDBusSignalInfo **) (&_manager_dbus_signal_info), (GDBusPropertyInfo **) (&_manager_dbus_property_info)};
static const GDBusInterfaceVTable _manager_dbus_interface_vtable = {manager_dbus_interface_method_call, manager_dbus_interface_get_property, manager_dbus_interface_set_property};
static const GDBusArgInfo _unit_dbus_arg_info_start_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_start_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_start_in[] = {&_unit_dbus_arg_info_start_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_start_out[] = {&_unit_dbus_arg_info_start_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_start = {-1, "Start", (GDBusArgInfo **) (&_unit_dbus_arg_info_start_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_start_out)};
static const GDBusArgInfo _unit_dbus_arg_info_stop_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_stop_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_stop_in[] = {&_unit_dbus_arg_info_stop_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_stop_out[] = {&_unit_dbus_arg_info_stop_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_stop = {-1, "Stop", (GDBusArgInfo **) (&_unit_dbus_arg_info_stop_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_stop_out)};
static const GDBusArgInfo _unit_dbus_arg_info_reload_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_reload_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_in[] = {&_unit_dbus_arg_info_reload_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_out[] = {&_unit_dbus_arg_info_reload_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_reload = {-1, "Reload", (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_out)};
static const GDBusArgInfo _unit_dbus_arg_info_restart_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_restart_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_restart_in[] = {&_unit_dbus_arg_info_restart_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_restart_out[] = {&_unit_dbus_arg_info_restart_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_restart = {-1, "Restart", (GDBusArgInfo **) (&_unit_dbus_arg_info_restart_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_restart_out)};
static const GDBusArgInfo _unit_dbus_arg_info_try_restart_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_try_restart_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_try_restart_in[] = {&_unit_dbus_arg_info_try_restart_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_try_restart_out[] = {&_unit_dbus_arg_info_try_restart_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_try_restart = {-1, "TryRestart", (GDBusArgInfo **) (&_unit_dbus_arg_info_try_restart_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_try_restart_out)};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_restart_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_restart_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_or_restart_in[] = {&_unit_dbus_arg_info_reload_or_restart_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_or_restart_out[] = {&_unit_dbus_arg_info_reload_or_restart_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_reload_or_restart = {-1, "ReloadOrRestart", (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_or_restart_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_or_restart_out)};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_try_restart_mode = {-1, "mode", "s"};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_try_restart_result = {-1, "result", "o"};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_or_try_restart_in[] = {&_unit_dbus_arg_info_reload_or_try_restart_mode, NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_reload_or_try_restart_out[] = {&_unit_dbus_arg_info_reload_or_try_restart_result, NULL};
static const GDBusMethodInfo _unit_dbus_method_info_reload_or_try_restart = {-1, "ReloadOrTryRestart", (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_or_try_restart_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_reload_or_try_restart_out)};
static const GDBusArgInfo * const _unit_dbus_arg_info_reset_failed_in[] = {NULL};
static const GDBusArgInfo * const _unit_dbus_arg_info_reset_failed_out[] = {NULL};
static const GDBusMethodInfo _unit_dbus_method_info_reset_failed = {-1, "ResetFailed", (GDBusArgInfo **) (&_unit_dbus_arg_info_reset_failed_in), (GDBusArgInfo **) (&_unit_dbus_arg_info_reset_failed_out)};
static const GDBusMethodInfo * const _unit_dbus_method_info[] = {&_unit_dbus_method_info_start, &_unit_dbus_method_info_stop, &_unit_dbus_method_info_reload, &_unit_dbus_method_info_restart, &_unit_dbus_method_info_try_restart, &_unit_dbus_method_info_reload_or_restart, &_unit_dbus_method_info_reload_or_try_restart, &_unit_dbus_method_info_reset_failed, NULL};
static const GDBusSignalInfo * const _unit_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_id = {-1, "Id", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_names = {-1, "Names", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_following = {-1, "Following", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_requires = {-1, "Requires", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_requires_overridable = {-1, "RequiresOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_requisite = {-1, "Requisite", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_requisite_overridable = {-1, "RequisiteOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_wants = {-1, "Wants", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_required_by = {-1, "RequiredBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_required_by_overridable = {-1, "RequiredByOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_wanted_by = {-1, "WantedBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_conflicts = {-1, "Conflicts", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_conflicted_by = {-1, "ConflictedBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_before = {-1, "Before", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_after = {-1, "After", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_on_failure = {-1, "OnFailure", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_description = {-1, "Description", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_load_state = {-1, "LoadState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_active_state = {-1, "ActiveState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_sub_state = {-1, "SubState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_fragment_path = {-1, "FragmentPath", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_inactive_exit_timestamp = {-1, "InactiveExitTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_active_enter_timestamp = {-1, "ActiveEnterTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_active_exit_timestamp = {-1, "ActiveExitTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_inactive_enter_timestamp = {-1, "InactiveEnterTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_can_start = {-1, "CanStart", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_can_stop = {-1, "CanStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_can_reload = {-1, "CanReload", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_job = {-1, "Job", "(uo)", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_recursive_stop = {-1, "RecursiveStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_stop_when_unneeded = {-1, "StopWhenUnneeded", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_refuse_manual_start = {-1, "RefuseManualStart", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_refuse_manual_stop = {-1, "RefuseManualStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_default_dependencies = {-1, "DefaultDependencies", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_default_control_group = {-1, "DefaultControlGroup", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_control_groups = {-1, "ControlGroups", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_need_daemon_reload = {-1, "NeedDaemonReload", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _unit_dbus_property_info_job_timeout_usec = {-1, "JobTimeoutUsec", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo * const _unit_dbus_property_info[] = {&_unit_dbus_property_info_id, &_unit_dbus_property_info_names, &_unit_dbus_property_info_following, &_unit_dbus_property_info_requires, &_unit_dbus_property_info_requires_overridable, &_unit_dbus_property_info_requisite, &_unit_dbus_property_info_requisite_overridable, &_unit_dbus_property_info_wants, &_unit_dbus_property_info_required_by, &_unit_dbus_property_info_required_by_overridable, &_unit_dbus_property_info_wanted_by, &_unit_dbus_property_info_conflicts, &_unit_dbus_property_info_conflicted_by, &_unit_dbus_property_info_before, &_unit_dbus_property_info_after, &_unit_dbus_property_info_on_failure, &_unit_dbus_property_info_description, &_unit_dbus_property_info_load_state, &_unit_dbus_property_info_active_state, &_unit_dbus_property_info_sub_state, &_unit_dbus_property_info_fragment_path, &_unit_dbus_property_info_inactive_exit_timestamp, &_unit_dbus_property_info_active_enter_timestamp, &_unit_dbus_property_info_active_exit_timestamp, &_unit_dbus_property_info_inactive_enter_timestamp, &_unit_dbus_property_info_can_start, &_unit_dbus_property_info_can_stop, &_unit_dbus_property_info_can_reload, &_unit_dbus_property_info_job, &_unit_dbus_property_info_recursive_stop, &_unit_dbus_property_info_stop_when_unneeded, &_unit_dbus_property_info_refuse_manual_start, &_unit_dbus_property_info_refuse_manual_stop, &_unit_dbus_property_info_default_dependencies, &_unit_dbus_property_info_default_control_group, &_unit_dbus_property_info_control_groups, &_unit_dbus_property_info_need_daemon_reload, &_unit_dbus_property_info_job_timeout_usec, NULL};
static const GDBusInterfaceInfo _unit_dbus_interface_info = {-1, "org.freedesktop.systemd1.Unit", (GDBusMethodInfo **) (&_unit_dbus_method_info), (GDBusSignalInfo **) (&_unit_dbus_signal_info), (GDBusPropertyInfo **) (&_unit_dbus_property_info)};
static const GDBusInterfaceVTable _unit_dbus_interface_vtable = {unit_dbus_interface_method_call, unit_dbus_interface_get_property, unit_dbus_interface_set_property};
static const GDBusArgInfo * const _job_dbus_arg_info_cancel_in[] = {NULL};
static const GDBusArgInfo * const _job_dbus_arg_info_cancel_out[] = {NULL};
static const GDBusMethodInfo _job_dbus_method_info_cancel = {-1, "Cancel", (GDBusArgInfo **) (&_job_dbus_arg_info_cancel_in), (GDBusArgInfo **) (&_job_dbus_arg_info_cancel_out)};
static const GDBusMethodInfo * const _job_dbus_method_info[] = {&_job_dbus_method_info_cancel, NULL};
static const GDBusSignalInfo * const _job_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _job_dbus_property_info_id = {-1, "Id", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _job_dbus_property_info_state = {-1, "State", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _job_dbus_property_info_job_type = {-1, "JobType", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _job_dbus_property_info_unit = {-1, "Unit", "(so)", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo * const _job_dbus_property_info[] = {&_job_dbus_property_info_id, &_job_dbus_property_info_state, &_job_dbus_property_info_job_type, &_job_dbus_property_info_unit, NULL};
static const GDBusInterfaceInfo _job_dbus_interface_info = {-1, "org.freedesktop.systemd1.Job", (GDBusMethodInfo **) (&_job_dbus_method_info), (GDBusSignalInfo **) (&_job_dbus_signal_info), (GDBusPropertyInfo **) (&_job_dbus_property_info)};
static const GDBusInterfaceVTable _job_dbus_interface_vtable = {job_dbus_interface_method_call, job_dbus_interface_get_property, job_dbus_interface_set_property};
static const GDBusArgInfo _properties_dbus_arg_info_get_iface = {-1, "iface", "s"};
static const GDBusArgInfo _properties_dbus_arg_info_get_property = {-1, "property", "s"};
static const GDBusArgInfo _properties_dbus_arg_info_get_result = {-1, "result", "v"};
static const GDBusArgInfo * const _properties_dbus_arg_info_get_in[] = {&_properties_dbus_arg_info_get_iface, &_properties_dbus_arg_info_get_property, NULL};
static const GDBusArgInfo * const _properties_dbus_arg_info_get_out[] = {&_properties_dbus_arg_info_get_result, NULL};
static const GDBusMethodInfo _properties_dbus_method_info_get = {-1, "Get", (GDBusArgInfo **) (&_properties_dbus_arg_info_get_in), (GDBusArgInfo **) (&_properties_dbus_arg_info_get_out)};
static const GDBusMethodInfo * const _properties_dbus_method_info[] = {&_properties_dbus_method_info_get, NULL};
static const GDBusArgInfo _properties_dbus_arg_info_properties_changed_iface = {-1, "iface", "s"};
static const GDBusArgInfo _properties_dbus_arg_info_properties_changed_changed_properties = {-1, "changed_properties", "a{sv}"};
static const GDBusArgInfo _properties_dbus_arg_info_properties_changed_invalidated_properties = {-1, "invalidated_properties", "as"};
static const GDBusArgInfo * const _properties_dbus_arg_info_properties_changed[] = {&_properties_dbus_arg_info_properties_changed_iface, &_properties_dbus_arg_info_properties_changed_changed_properties, &_properties_dbus_arg_info_properties_changed_invalidated_properties, NULL};
static const GDBusSignalInfo _properties_dbus_signal_info_properties_changed = {-1, "PropertiesChanged", (GDBusArgInfo **) (&_properties_dbus_arg_info_properties_changed)};
static const GDBusSignalInfo * const _properties_dbus_signal_info[] = {&_properties_dbus_signal_info_properties_changed, NULL};
static const GDBusPropertyInfo * const _properties_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _properties_dbus_interface_info = {-1, "org.freedesktop.Properties", (GDBusMethodInfo **) (&_properties_dbus_method_info), (GDBusSignalInfo **) (&_properties_dbus_signal_info), (GDBusPropertyInfo **) (&_properties_dbus_property_info)};
static const GDBusInterfaceVTable _properties_dbus_interface_vtable = {properties_dbus_interface_method_call, properties_dbus_interface_get_property, properties_dbus_interface_set_property};

ManagerUnitInfo* manager_list_units (Manager* self, int* result_length1, GError** error) {
#line 47 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 47 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->list_units (self, result_length1, error);
#line 785 "systemd-interfaces.c"
}


ManagerJobInfo* manager_list_jobs (Manager* self, int* result_length1, GError** error) {
#line 48 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 48 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->list_jobs (self, result_length1, error);
#line 794 "systemd-interfaces.c"
}


char* manager_get_unit (Manager* self, const gchar* name, GError** error) {
#line 50 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 50 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->get_unit (self, name, error);
#line 803 "systemd-interfaces.c"
}


char* manager_get_unit_by_pid (Manager* self, guint32 pid, GError** error) {
#line 51 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 51 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->get_unit_by_pid (self, pid, error);
#line 812 "systemd-interfaces.c"
}


char* manager_load_unit (Manager* self, const gchar* name, GError** error) {
#line 52 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 52 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->load_unit (self, name, error);
#line 821 "systemd-interfaces.c"
}


char* manager_get_job (Manager* self, guint32 id, GError** error) {
#line 53 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 53 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->get_job (self, id, error);
#line 830 "systemd-interfaces.c"
}


char* manager_start_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 55 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 55 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->start_unit (self, name, mode, error);
#line 839 "systemd-interfaces.c"
}


char* manager_stop_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 56 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 56 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->stop_unit (self, name, mode, error);
#line 848 "systemd-interfaces.c"
}


char* manager_reload_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 57 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 57 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->reload_unit (self, name, mode, error);
#line 857 "systemd-interfaces.c"
}


char* manager_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 58 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 58 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->restart_unit (self, name, mode, error);
#line 866 "systemd-interfaces.c"
}


char* manager_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 59 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 59 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->try_restart_unit (self, name, mode, error);
#line 875 "systemd-interfaces.c"
}


char* manager_reload_or_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 60 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 60 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->reload_or_restart_unit (self, name, mode, error);
#line 884 "systemd-interfaces.c"
}


char* manager_reload_or_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
#line 61 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 61 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->reload_or_try_restart_unit (self, name, mode, error);
#line 893 "systemd-interfaces.c"
}


void manager_reset_failed_unit (Manager* self, const gchar* name, GError** error) {
#line 63 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 63 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->reset_failed_unit (self, name, error);
#line 902 "systemd-interfaces.c"
}


void manager_clear_jobs (Manager* self, GError** error) {
#line 65 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 65 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->clear_jobs (self, error);
#line 911 "systemd-interfaces.c"
}


void manager_subscribe (Manager* self, GError** error) {
#line 67 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 67 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->subscribe (self, error);
#line 920 "systemd-interfaces.c"
}


void manager_unsubscribe (Manager* self, GError** error) {
#line 68 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 68 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->unsubscribe (self, error);
#line 929 "systemd-interfaces.c"
}


gchar* manager_dump (Manager* self, GError** error) {
#line 70 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 70 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->dump (self, error);
#line 938 "systemd-interfaces.c"
}


void manager_reload (Manager* self, GError** error) {
#line 72 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 72 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->reload (self, error);
#line 947 "systemd-interfaces.c"
}


void manager_reexecute (Manager* self, GError** error) {
#line 73 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 73 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->reexecute (self, error);
#line 956 "systemd-interfaces.c"
}


void manager_exit (Manager* self, GError** error) {
#line 74 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 74 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->exit (self, error);
#line 965 "systemd-interfaces.c"
}


void manager_halt (Manager* self, GError** error) {
#line 75 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 75 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->halt (self, error);
#line 974 "systemd-interfaces.c"
}


void manager_power_off (Manager* self, GError** error) {
#line 76 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 76 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->power_off (self, error);
#line 983 "systemd-interfaces.c"
}


void manager_reboot (Manager* self, GError** error) {
#line 77 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 77 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->reboot (self, error);
#line 992 "systemd-interfaces.c"
}


void manager_kexec (Manager* self, GError** error) {
#line 78 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 78 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->kexec (self, error);
#line 1001 "systemd-interfaces.c"
}


char* manager_create_snapshot (Manager* self, const gchar* name, gboolean cleanup, GError** error) {
#line 80 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 80 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->create_snapshot (self, name, cleanup, error);
#line 1010 "systemd-interfaces.c"
}


void manager_set_environment (Manager* self, gchar** names, int names_length1, GError** error) {
#line 82 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 82 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->set_environment (self, names, names_length1, error);
#line 1019 "systemd-interfaces.c"
}


void manager_unset_environment (Manager* self, gchar** names, int names_length1, GError** error) {
#line 83 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 83 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	MANAGER_GET_INTERFACE (self)->unset_environment (self, names, names_length1, error);
#line 1028 "systemd-interfaces.c"
}


gchar** manager_get_environment (Manager* self, int* result_length1) {
#line 45 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 45 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return MANAGER_GET_INTERFACE (self)->get_environment (self, result_length1);
#line 1037 "systemd-interfaces.c"
}


static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
	typedef void (*GMarshalFunc_VOID__STRING_STRING) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 3);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1056 "systemd-interfaces.c"
	} else {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1062 "systemd-interfaces.c"
	}
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), data2);
#line 1068 "systemd-interfaces.c"
}


static void g_cclosure_user_marshal_VOID__UINT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
	typedef void (*GMarshalFunc_VOID__UINT_STRING) (gpointer data1, guint32 arg_1, gpointer arg_2, gpointer data2);
	register GMarshalFunc_VOID__UINT_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 3);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1087 "systemd-interfaces.c"
	} else {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1093 "systemd-interfaces.c"
	}
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__UINT_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback (data1, g_value_get_uint (param_values + 1), g_value_get_string (param_values + 2), data2);
#line 1099 "systemd-interfaces.c"
}


static void g_cclosure_user_marshal_VOID__UINT_STRING_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
	typedef void (*GMarshalFunc_VOID__UINT_STRING_STRING) (gpointer data1, guint32 arg_1, gpointer arg_2, const char* arg_3, gpointer data2);
	register GMarshalFunc_VOID__UINT_STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 4);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1118 "systemd-interfaces.c"
	} else {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1124 "systemd-interfaces.c"
	}
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__UINT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback (data1, g_value_get_uint (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), data2);
#line 1130 "systemd-interfaces.c"
}


void manager_unit_info_copy (const ManagerUnitInfo* self, ManagerUnitInfo* dest) {
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	const char* _tmp12_;
	const char* _tmp13_;
	guint32 _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	const char* _tmp17_;
	const char* _tmp18_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp0_ = (*self).id;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).id);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).id = _tmp1_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp2_ = (*self).description;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).description);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).description = _tmp3_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp4_ = (*self).load_state;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).load_state);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).load_state = _tmp5_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp6_ = (*self).active_state;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).active_state);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).active_state = _tmp7_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp8_ = (*self).sub_state;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp9_ = g_strdup (_tmp8_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).sub_state);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).sub_state = _tmp9_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp10_ = (*self).following;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp11_ = g_strdup (_tmp10_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).following);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).following = _tmp11_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp12_ = (*self).unit_path;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp13_ = g_strdup (_tmp12_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).unit_path);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).unit_path = _tmp13_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp14_ = (*self).job_id;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).job_id = _tmp14_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp15_ = (*self).job_type;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp16_ = g_strdup (_tmp15_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).job_type);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).job_type = _tmp16_;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp17_ = (*self).job_path;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp18_ = g_strdup (_tmp17_);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).job_path);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).job_path = _tmp18_;
#line 1230 "systemd-interfaces.c"
}


void manager_unit_info_destroy (ManagerUnitInfo* self) {
#line 24 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).id);
#line 25 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).description);
#line 26 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).load_state);
#line 27 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).active_state);
#line 28 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).sub_state);
#line 29 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).following);
#line 30 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).unit_path);
#line 32 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).job_type);
#line 33 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).job_path);
#line 1253 "systemd-interfaces.c"
}


ManagerUnitInfo* manager_unit_info_dup (const ManagerUnitInfo* self) {
	ManagerUnitInfo* dup;
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	dup = g_new0 (ManagerUnitInfo, 1);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	manager_unit_info_copy (self, dup);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return dup;
#line 1265 "systemd-interfaces.c"
}


void manager_unit_info_free (ManagerUnitInfo* self) {
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	manager_unit_info_destroy (self);
#line 23 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_free (self);
#line 1274 "systemd-interfaces.c"
}


GType manager_unit_info_get_type (void) {
	static volatile gsize manager_unit_info_type_id__volatile = 0;
	if (g_once_init_enter (&manager_unit_info_type_id__volatile)) {
		GType manager_unit_info_type_id;
		manager_unit_info_type_id = g_boxed_type_register_static ("ManagerUnitInfo", (GBoxedCopyFunc) manager_unit_info_dup, (GBoxedFreeFunc) manager_unit_info_free);
		g_once_init_leave (&manager_unit_info_type_id__volatile, manager_unit_info_type_id);
	}
	return manager_unit_info_type_id__volatile;
}


void manager_job_info_copy (const ManagerJobInfo* self, ManagerJobInfo* dest) {
	guint32 _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	const char* _tmp7_;
	const char* _tmp8_;
	const char* _tmp9_;
	const char* _tmp10_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp0_ = (*self).id;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).id = _tmp0_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp1_ = (*self).name;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).name);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).name = _tmp2_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp3_ = (*self).type;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).type);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).type = _tmp4_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp5_ = (*self).state;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp6_ = g_strdup (_tmp5_);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).state);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).state = _tmp6_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp7_ = (*self).job_path;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp8_ = g_strdup (_tmp7_);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).job_path);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).job_path = _tmp8_;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp9_ = (*self).unit_path;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp10_ = g_strdup (_tmp9_);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).unit_path);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).unit_path = _tmp10_;
#line 1345 "systemd-interfaces.c"
}


void manager_job_info_destroy (ManagerJobInfo* self) {
#line 38 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).name);
#line 39 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).type);
#line 40 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).state);
#line 41 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).job_path);
#line 42 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).unit_path);
#line 1360 "systemd-interfaces.c"
}


ManagerJobInfo* manager_job_info_dup (const ManagerJobInfo* self) {
	ManagerJobInfo* dup;
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	dup = g_new0 (ManagerJobInfo, 1);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	manager_job_info_copy (self, dup);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return dup;
#line 1372 "systemd-interfaces.c"
}


void manager_job_info_free (ManagerJobInfo* self) {
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	manager_job_info_destroy (self);
#line 36 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_free (self);
#line 1381 "systemd-interfaces.c"
}


GType manager_job_info_get_type (void) {
	static volatile gsize manager_job_info_type_id__volatile = 0;
	if (g_once_init_enter (&manager_job_info_type_id__volatile)) {
		GType manager_job_info_type_id;
		manager_job_info_type_id = g_boxed_type_register_static ("ManagerJobInfo", (GBoxedCopyFunc) manager_job_info_dup, (GBoxedFreeFunc) manager_job_info_free);
		g_once_init_leave (&manager_job_info_type_id__volatile, manager_job_info_type_id);
	}
	return manager_job_info_type_id__volatile;
}


static void manager_base_init (ManagerIface * iface) {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	static gboolean initialized = FALSE;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (!initialized) {
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		initialized = TRUE;
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		g_signal_new ("unit_new", TYPE_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		g_signal_new ("unit_removed", TYPE_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		g_signal_new ("job_new", TYPE_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT_STRING, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_STRING);
#line 21 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		g_signal_new ("job_removed", TYPE_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT_STRING_STRING, G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING);
#line 1411 "systemd-interfaces.c"
	}
}


/***
  This file is part of systemd.

  Copyright 2010 Lennart Poettering

  systemd is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  systemd 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
  General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
GType manager_get_type (void) {
	static volatile gsize manager_type_id__volatile = 0;
	if (g_once_init_enter (&manager_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ManagerIface), (GBaseInitFunc) manager_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType manager_type_id;
		manager_type_id = g_type_register_static (G_TYPE_INTERFACE, "Manager", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (manager_type_id, G_TYPE_DBUS_PROXY);
		g_type_set_qdata (manager_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) manager_proxy_get_type);
		g_type_set_qdata (manager_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.systemd1.Manager");
		g_type_set_qdata (manager_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) manager_register_object);
		g_once_init_leave (&manager_type_id__volatile, manager_type_id);
	}
	return manager_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (ManagerProxy, manager_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_MANAGER, manager_proxy_manager_interface_init) )
static void manager_proxy_class_init (ManagerProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = manager_proxy_g_signal;
}


static void _dbus_handle_manager_unit_new (Manager* self, GVariant* parameters) {
	GVariantIter _arguments_iter;
	gchar* id = NULL;
	GVariant* _tmp0_;
	char* path = NULL;
	GVariant* _tmp1_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp0_ = g_variant_iter_next_value (&_arguments_iter);
	id = g_variant_dup_string (_tmp0_, NULL);
	g_variant_unref (_tmp0_);
	_tmp1_ = g_variant_iter_next_value (&_arguments_iter);
	path = g_variant_dup_string (_tmp1_, NULL);
	g_variant_unref (_tmp1_);
	g_signal_emit_by_name (self, "unit-new", id, path);
	_g_free0 (id);
	_g_free0 (path);
}


static void _dbus_handle_manager_unit_removed (Manager* self, GVariant* parameters) {
	GVariantIter _arguments_iter;
	gchar* id = NULL;
	GVariant* _tmp2_;
	char* path = NULL;
	GVariant* _tmp3_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp2_ = g_variant_iter_next_value (&_arguments_iter);
	id = g_variant_dup_string (_tmp2_, NULL);
	g_variant_unref (_tmp2_);
	_tmp3_ = g_variant_iter_next_value (&_arguments_iter);
	path = g_variant_dup_string (_tmp3_, NULL);
	g_variant_unref (_tmp3_);
	g_signal_emit_by_name (self, "unit-removed", id, path);
	_g_free0 (id);
	_g_free0 (path);
}


static void _dbus_handle_manager_job_new (Manager* self, GVariant* parameters) {
	GVariantIter _arguments_iter;
	guint32 id = 0U;
	GVariant* _tmp4_;
	char* path = NULL;
	GVariant* _tmp5_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp4_ = g_variant_iter_next_value (&_arguments_iter);
	id = g_variant_get_uint32 (_tmp4_);
	g_variant_unref (_tmp4_);
	_tmp5_ = g_variant_iter_next_value (&_arguments_iter);
	path = g_variant_dup_string (_tmp5_, NULL);
	g_variant_unref (_tmp5_);
	g_signal_emit_by_name (self, "job-new", id, path);
	_g_free0 (path);
}


static void _dbus_handle_manager_job_removed (Manager* self, GVariant* parameters) {
	GVariantIter _arguments_iter;
	guint32 id = 0U;
	GVariant* _tmp6_;
	char* path = NULL;
	GVariant* _tmp7_;
	gchar* res = NULL;
	GVariant* _tmp8_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp6_ = g_variant_iter_next_value (&_arguments_iter);
	id = g_variant_get_uint32 (_tmp6_);
	g_variant_unref (_tmp6_);
	_tmp7_ = g_variant_iter_next_value (&_arguments_iter);
	path = g_variant_dup_string (_tmp7_, NULL);
	g_variant_unref (_tmp7_);
	_tmp8_ = g_variant_iter_next_value (&_arguments_iter);
	res = g_variant_dup_string (_tmp8_, NULL);
	g_variant_unref (_tmp8_);
	g_signal_emit_by_name (self, "job-removed", id, path, res);
	_g_free0 (path);
	_g_free0 (res);
}


static void manager_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
	if (strcmp (signal_name, "UnitNew") == 0) {
		_dbus_handle_manager_unit_new ((Manager*) proxy, parameters);
	} else if (strcmp (signal_name, "UnitRemoved") == 0) {
		_dbus_handle_manager_unit_removed ((Manager*) proxy, parameters);
	} else if (strcmp (signal_name, "JobNew") == 0) {
		_dbus_handle_manager_job_new ((Manager*) proxy, parameters);
	} else if (strcmp (signal_name, "JobRemoved") == 0) {
		_dbus_handle_manager_job_removed ((Manager*) proxy, parameters);
	}
}


static void manager_proxy_init (ManagerProxy* self) {
}


static ManagerUnitInfo* manager_proxy_list_units (Manager* self, int* result_length1, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	ManagerUnitInfo* _result;
	int _result_length1;
	GVariant* _tmp9_;
	ManagerUnitInfo* _tmp10_;
	int _tmp10__length;
	int _tmp10__size;
	int _tmp10__length1;
	GVariantIter _tmp11_;
	GVariant* _tmp12_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ListUnits");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_result_length1 = 0;
	_tmp9_ = g_variant_iter_next_value (&_reply_iter);
	_tmp10_ = g_new (ManagerUnitInfo, 5);
	_tmp10__length = 0;
	_tmp10__size = 4;
	_tmp10__length1 = 0;
	g_variant_iter_init (&_tmp11_, _tmp9_);
	for (; (_tmp12_ = g_variant_iter_next_value (&_tmp11_)) != NULL; _tmp10__length1++) {
		ManagerUnitInfo _tmp13_;
		GVariantIter _tmp14_;
		GVariant* _tmp15_;
		GVariant* _tmp16_;
		GVariant* _tmp17_;
		GVariant* _tmp18_;
		GVariant* _tmp19_;
		GVariant* _tmp20_;
		GVariant* _tmp21_;
		GVariant* _tmp22_;
		GVariant* _tmp23_;
		GVariant* _tmp24_;
		if (_tmp10__size == _tmp10__length) {
			_tmp10__size = 2 * _tmp10__size;
			_tmp10_ = g_renew (ManagerUnitInfo, _tmp10_, _tmp10__size + 1);
		}
		g_variant_iter_init (&_tmp14_, _tmp12_);
		_tmp15_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.id = g_variant_dup_string (_tmp15_, NULL);
		g_variant_unref (_tmp15_);
		_tmp16_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.description = g_variant_dup_string (_tmp16_, NULL);
		g_variant_unref (_tmp16_);
		_tmp17_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.load_state = g_variant_dup_string (_tmp17_, NULL);
		g_variant_unref (_tmp17_);
		_tmp18_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.active_state = g_variant_dup_string (_tmp18_, NULL);
		g_variant_unref (_tmp18_);
		_tmp19_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.sub_state = g_variant_dup_string (_tmp19_, NULL);
		g_variant_unref (_tmp19_);
		_tmp20_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.following = g_variant_dup_string (_tmp20_, NULL);
		g_variant_unref (_tmp20_);
		_tmp21_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.unit_path = g_variant_dup_string (_tmp21_, NULL);
		g_variant_unref (_tmp21_);
		_tmp22_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.job_id = g_variant_get_uint32 (_tmp22_);
		g_variant_unref (_tmp22_);
		_tmp23_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.job_type = g_variant_dup_string (_tmp23_, NULL);
		g_variant_unref (_tmp23_);
		_tmp24_ = g_variant_iter_next_value (&_tmp14_);
		_tmp13_.job_path = g_variant_dup_string (_tmp24_, NULL);
		g_variant_unref (_tmp24_);
		_tmp10_[_tmp10__length++] = _tmp13_;
		g_variant_unref (_tmp12_);
	}
	_result_length1 = _tmp10__length1;
	_result = _tmp10_;
	g_variant_unref (_tmp9_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}


static ManagerJobInfo* manager_proxy_list_jobs (Manager* self, int* result_length1, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	ManagerJobInfo* _result;
	int _result_length1;
	GVariant* _tmp25_;
	ManagerJobInfo* _tmp26_;
	int _tmp26__length;
	int _tmp26__size;
	int _tmp26__length1;
	GVariantIter _tmp27_;
	GVariant* _tmp28_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ListJobs");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_result_length1 = 0;
	_tmp25_ = g_variant_iter_next_value (&_reply_iter);
	_tmp26_ = g_new (ManagerJobInfo, 5);
	_tmp26__length = 0;
	_tmp26__size = 4;
	_tmp26__length1 = 0;
	g_variant_iter_init (&_tmp27_, _tmp25_);
	for (; (_tmp28_ = g_variant_iter_next_value (&_tmp27_)) != NULL; _tmp26__length1++) {
		ManagerJobInfo _tmp29_;
		GVariantIter _tmp30_;
		GVariant* _tmp31_;
		GVariant* _tmp32_;
		GVariant* _tmp33_;
		GVariant* _tmp34_;
		GVariant* _tmp35_;
		GVariant* _tmp36_;
		if (_tmp26__size == _tmp26__length) {
			_tmp26__size = 2 * _tmp26__size;
			_tmp26_ = g_renew (ManagerJobInfo, _tmp26_, _tmp26__size + 1);
		}
		g_variant_iter_init (&_tmp30_, _tmp28_);
		_tmp31_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.id = g_variant_get_uint32 (_tmp31_);
		g_variant_unref (_tmp31_);
		_tmp32_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.name = g_variant_dup_string (_tmp32_, NULL);
		g_variant_unref (_tmp32_);
		_tmp33_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.type = g_variant_dup_string (_tmp33_, NULL);
		g_variant_unref (_tmp33_);
		_tmp34_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.state = g_variant_dup_string (_tmp34_, NULL);
		g_variant_unref (_tmp34_);
		_tmp35_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.job_path = g_variant_dup_string (_tmp35_, NULL);
		g_variant_unref (_tmp35_);
		_tmp36_ = g_variant_iter_next_value (&_tmp30_);
		_tmp29_.unit_path = g_variant_dup_string (_tmp36_, NULL);
		g_variant_unref (_tmp36_);
		_tmp26_[_tmp26__length++] = _tmp29_;
		g_variant_unref (_tmp28_);
	}
	_result_length1 = _tmp26__length1;
	_result = _tmp26_;
	g_variant_unref (_tmp25_);
	*result_length1 = _result_length1;
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_get_unit (Manager* self, const gchar* name, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp37_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "GetUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp37_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp37_, NULL);
	g_variant_unref (_tmp37_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_get_unit_by_pid (Manager* self, guint32 pid, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp38_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "GetUnitByPid");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (pid));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp38_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp38_, NULL);
	g_variant_unref (_tmp38_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_load_unit (Manager* self, const gchar* name, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp39_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "LoadUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp39_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp39_, NULL);
	g_variant_unref (_tmp39_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_get_job (Manager* self, guint32 id, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp40_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "GetJob");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (id));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp40_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp40_, NULL);
	g_variant_unref (_tmp40_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_start_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp41_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "StartUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp41_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp41_, NULL);
	g_variant_unref (_tmp41_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_stop_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp42_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "StopUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp42_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp42_, NULL);
	g_variant_unref (_tmp42_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_reload_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp43_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ReloadUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp43_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp43_, NULL);
	g_variant_unref (_tmp43_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp44_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "RestartUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp44_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp44_, NULL);
	g_variant_unref (_tmp44_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp45_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "TryRestartUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp45_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp45_, NULL);
	g_variant_unref (_tmp45_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_reload_or_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp46_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ReloadOrRestartUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp46_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp46_, NULL);
	g_variant_unref (_tmp46_);
	g_object_unref (_reply_message);
	return _result;
}


static char* manager_proxy_reload_or_try_restart_unit (Manager* self, const gchar* name, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp47_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ReloadOrTryRestartUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp47_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp47_, NULL);
	g_variant_unref (_tmp47_);
	g_object_unref (_reply_message);
	return _result;
}


static void manager_proxy_reset_failed_unit (Manager* self, const gchar* name, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ResetFailedUnit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_clear_jobs (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "ClearJobs");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_subscribe (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Subscribe");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_unsubscribe (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Unsubscribe");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static gchar* manager_proxy_dump (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result;
	GVariant* _tmp48_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Dump");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp48_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp48_, NULL);
	g_variant_unref (_tmp48_);
	g_object_unref (_reply_message);
	return _result;
}


static void manager_proxy_reload (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Reload");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_reexecute (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Reexecute");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_exit (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Exit");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_halt (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Halt");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_power_off (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "PowerOff");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_reboot (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Reboot");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_kexec (Manager* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "Kexec");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static char* manager_proxy_create_snapshot (Manager* self, const gchar* name, gboolean cleanup, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp49_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "CreateSnapshot");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (cleanup));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp49_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp49_, NULL);
	g_variant_unref (_tmp49_);
	g_object_unref (_reply_message);
	return _result;
}


static void manager_proxy_set_environment (Manager* self, gchar** names, int names_length1, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp50_;
	GVariantBuilder _tmp51_;
	int _tmp52_;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "SetEnvironment");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_tmp50_ = names;
	g_variant_builder_init (&_tmp51_, G_VARIANT_TYPE ("as"));
	for (_tmp52_ = 0; _tmp52_ < names_length1; _tmp52_++) {
		g_variant_builder_add_value (&_tmp51_, g_variant_new_string (*_tmp50_));
		_tmp50_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp51_));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static void manager_proxy_unset_environment (Manager* self, gchar** names, int names_length1, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp53_;
	GVariantBuilder _tmp54_;
	int _tmp55_;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Manager", "UnsetEnvironment");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_tmp53_ = names;
	g_variant_builder_init (&_tmp54_, G_VARIANT_TYPE ("as"));
	for (_tmp55_ = 0; _tmp55_ < names_length1; _tmp55_++) {
		g_variant_builder_add_value (&_tmp54_, g_variant_new_string (*_tmp53_));
		_tmp53_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp54_));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static gchar** manager_dbus_proxy_get_environment (Manager* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp56_;
	int _tmp56__length;
	int _tmp56__size;
	int _tmp56__length1;
	GVariantIter _tmp57_;
	GVariant* _tmp58_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Environment");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Manager"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Environment"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp56_ = g_new (gchar*, 5);
	_tmp56__length = 0;
	_tmp56__size = 4;
	_tmp56__length1 = 0;
	g_variant_iter_init (&_tmp57_, _inner_reply);
	for (; (_tmp58_ = g_variant_iter_next_value (&_tmp57_)) != NULL; _tmp56__length1++) {
		if (_tmp56__size == _tmp56__length) {
			_tmp56__size = 2 * _tmp56__size;
			_tmp56_ = g_renew (gchar*, _tmp56_, _tmp56__size + 1);
		}
		_tmp56_[_tmp56__length++] = g_variant_dup_string (_tmp58_, NULL);
		g_variant_unref (_tmp58_);
	}
	_result_length1 = _tmp56__length1;
	_tmp56_[_tmp56__length] = NULL;
	_result = _tmp56_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static void manager_proxy_manager_interface_init (ManagerIface* iface) {
	iface->list_units = manager_proxy_list_units;
	iface->list_jobs = manager_proxy_list_jobs;
	iface->get_unit = manager_proxy_get_unit;
	iface->get_unit_by_pid = manager_proxy_get_unit_by_pid;
	iface->load_unit = manager_proxy_load_unit;
	iface->get_job = manager_proxy_get_job;
	iface->start_unit = manager_proxy_start_unit;
	iface->stop_unit = manager_proxy_stop_unit;
	iface->reload_unit = manager_proxy_reload_unit;
	iface->restart_unit = manager_proxy_restart_unit;
	iface->try_restart_unit = manager_proxy_try_restart_unit;
	iface->reload_or_restart_unit = manager_proxy_reload_or_restart_unit;
	iface->reload_or_try_restart_unit = manager_proxy_reload_or_try_restart_unit;
	iface->reset_failed_unit = manager_proxy_reset_failed_unit;
	iface->clear_jobs = manager_proxy_clear_jobs;
	iface->subscribe = manager_proxy_subscribe;
	iface->unsubscribe = manager_proxy_unsubscribe;
	iface->dump = manager_proxy_dump;
	iface->reload = manager_proxy_reload;
	iface->reexecute = manager_proxy_reexecute;
	iface->exit = manager_proxy_exit;
	iface->halt = manager_proxy_halt;
	iface->power_off = manager_proxy_power_off;
	iface->reboot = manager_proxy_reboot;
	iface->kexec = manager_proxy_kexec;
	iface->create_snapshot = manager_proxy_create_snapshot;
	iface->set_environment = manager_proxy_set_environment;
	iface->unset_environment = manager_proxy_unset_environment;
	iface->get_environment = manager_dbus_proxy_get_environment;
}


static void _vala_ManagerUnitInfo_array_free (ManagerUnitInfo* array, gint array_length) {
	if (array != NULL) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			manager_unit_info_destroy (&array[i]);
		}
	}
	g_free (array);
}


static void _dbus_manager_list_units (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	ManagerUnitInfo* result;
	int result_length1 = 0;
	ManagerUnitInfo* _tmp59_;
	GVariantBuilder _tmp60_;
	int _tmp61_;
	g_variant_iter_init (&_arguments_iter, parameters);
	result = manager_list_units (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_tmp59_ = result;
	g_variant_builder_init (&_tmp60_, G_VARIANT_TYPE ("a(ssssssouso)"));
	for (_tmp61_ = 0; _tmp61_ < result_length1; _tmp61_++) {
		GVariantBuilder _tmp62_;
		g_variant_builder_init (&_tmp62_, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).id));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).description));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).load_state));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).active_state));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).sub_state));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).following));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_object_path ((*_tmp59_).unit_path));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_uint32 ((*_tmp59_).job_id));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_string ((*_tmp59_).job_type));
		g_variant_builder_add_value (&_tmp62_, g_variant_new_object_path ((*_tmp59_).job_path));
		g_variant_builder_add_value (&_tmp60_, g_variant_builder_end (&_tmp62_));
		_tmp59_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp60_));
	result = (_vala_ManagerUnitInfo_array_free (result, result_length1), NULL);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _vala_ManagerJobInfo_array_free (ManagerJobInfo* array, gint array_length) {
	if (array != NULL) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			manager_job_info_destroy (&array[i]);
		}
	}
	g_free (array);
}


static void _dbus_manager_list_jobs (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	ManagerJobInfo* result;
	int result_length1 = 0;
	ManagerJobInfo* _tmp63_;
	GVariantBuilder _tmp64_;
	int _tmp65_;
	g_variant_iter_init (&_arguments_iter, parameters);
	result = manager_list_jobs (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_tmp63_ = result;
	g_variant_builder_init (&_tmp64_, G_VARIANT_TYPE ("a(usssoo)"));
	for (_tmp65_ = 0; _tmp65_ < result_length1; _tmp65_++) {
		GVariantBuilder _tmp66_;
		g_variant_builder_init (&_tmp66_, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_tmp66_, g_variant_new_uint32 ((*_tmp63_).id));
		g_variant_builder_add_value (&_tmp66_, g_variant_new_string ((*_tmp63_).name));
		g_variant_builder_add_value (&_tmp66_, g_variant_new_string ((*_tmp63_).type));
		g_variant_builder_add_value (&_tmp66_, g_variant_new_string ((*_tmp63_).state));
		g_variant_builder_add_value (&_tmp66_, g_variant_new_object_path ((*_tmp63_).job_path));
		g_variant_builder_add_value (&_tmp66_, g_variant_new_object_path ((*_tmp63_).unit_path));
		g_variant_builder_add_value (&_tmp64_, g_variant_builder_end (&_tmp66_));
		_tmp63_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp64_));
	result = (_vala_ManagerJobInfo_array_free (result, result_length1), NULL);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_get_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp67_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp67_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp67_, NULL);
	g_variant_unref (_tmp67_);
	result = manager_get_unit (self, name, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_get_unit_by_pid (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	guint32 pid = 0U;
	GVariant* _tmp68_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp68_ = g_variant_iter_next_value (&_arguments_iter);
	pid = g_variant_get_uint32 (_tmp68_);
	g_variant_unref (_tmp68_);
	result = manager_get_unit_by_pid (self, pid, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_load_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp69_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp69_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp69_, NULL);
	g_variant_unref (_tmp69_);
	result = manager_load_unit (self, name, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_get_job (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	guint32 id = 0U;
	GVariant* _tmp70_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp70_ = g_variant_iter_next_value (&_arguments_iter);
	id = g_variant_get_uint32 (_tmp70_);
	g_variant_unref (_tmp70_);
	result = manager_get_job (self, id, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_start_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp71_;
	gchar* mode = NULL;
	GVariant* _tmp72_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp71_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp71_, NULL);
	g_variant_unref (_tmp71_);
	_tmp72_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp72_, NULL);
	g_variant_unref (_tmp72_);
	result = manager_start_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_stop_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp73_;
	gchar* mode = NULL;
	GVariant* _tmp74_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp73_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp73_, NULL);
	g_variant_unref (_tmp73_);
	_tmp74_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp74_, NULL);
	g_variant_unref (_tmp74_);
	result = manager_stop_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reload_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp75_;
	gchar* mode = NULL;
	GVariant* _tmp76_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp75_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp75_, NULL);
	g_variant_unref (_tmp75_);
	_tmp76_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp76_, NULL);
	g_variant_unref (_tmp76_);
	result = manager_reload_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp77_;
	gchar* mode = NULL;
	GVariant* _tmp78_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp77_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp77_, NULL);
	g_variant_unref (_tmp77_);
	_tmp78_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp78_, NULL);
	g_variant_unref (_tmp78_);
	result = manager_restart_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_try_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp79_;
	gchar* mode = NULL;
	GVariant* _tmp80_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp79_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp79_, NULL);
	g_variant_unref (_tmp79_);
	_tmp80_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp80_, NULL);
	g_variant_unref (_tmp80_);
	result = manager_try_restart_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reload_or_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp81_;
	gchar* mode = NULL;
	GVariant* _tmp82_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp81_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp81_, NULL);
	g_variant_unref (_tmp81_);
	_tmp82_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp82_, NULL);
	g_variant_unref (_tmp82_);
	result = manager_reload_or_restart_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reload_or_try_restart_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp83_;
	gchar* mode = NULL;
	GVariant* _tmp84_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp83_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp83_, NULL);
	g_variant_unref (_tmp83_);
	_tmp84_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp84_, NULL);
	g_variant_unref (_tmp84_);
	result = manager_reload_or_try_restart_unit (self, name, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reset_failed_unit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp85_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp85_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp85_, NULL);
	g_variant_unref (_tmp85_);
	manager_reset_failed_unit (self, name, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_clear_jobs (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_clear_jobs (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_subscribe (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_subscribe (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_unsubscribe (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_unsubscribe (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_dump (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	result = manager_dump (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reload (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_reload (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reexecute (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_reexecute (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_exit (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_exit (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_halt (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_halt (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_power_off (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_power_off (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_reboot (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_reboot (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_kexec (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	manager_kexec (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_create_snapshot (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp86_;
	gboolean cleanup = FALSE;
	GVariant* _tmp87_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp86_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp86_, NULL);
	g_variant_unref (_tmp86_);
	_tmp87_ = g_variant_iter_next_value (&_arguments_iter);
	cleanup = g_variant_get_boolean (_tmp87_);
	g_variant_unref (_tmp87_);
	result = manager_create_snapshot (self, name, cleanup, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (name);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_set_environment (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar** names = NULL;
	int names_length1 = 0;
	GVariant* _tmp88_;
	gchar** _tmp89_;
	int _tmp89__length;
	int _tmp89__size;
	int _tmp89__length1;
	GVariantIter _tmp90_;
	GVariant* _tmp91_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp88_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp89_ = g_new (gchar*, 5);
	_tmp89__length = 0;
	_tmp89__size = 4;
	_tmp89__length1 = 0;
	g_variant_iter_init (&_tmp90_, _tmp88_);
	for (; (_tmp91_ = g_variant_iter_next_value (&_tmp90_)) != NULL; _tmp89__length1++) {
		if (_tmp89__size == _tmp89__length) {
			_tmp89__size = 2 * _tmp89__size;
			_tmp89_ = g_renew (gchar*, _tmp89_, _tmp89__size + 1);
		}
		_tmp89_[_tmp89__length++] = g_variant_dup_string (_tmp91_, NULL);
		g_variant_unref (_tmp91_);
	}
	names_length1 = _tmp89__length1;
	_tmp89_[_tmp89__length] = NULL;
	names = _tmp89_;
	g_variant_unref (_tmp88_);
	manager_set_environment (self, names, names_length1, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_manager_unset_environment (Manager* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar** names = NULL;
	int names_length1 = 0;
	GVariant* _tmp92_;
	gchar** _tmp93_;
	int _tmp93__length;
	int _tmp93__size;
	int _tmp93__length1;
	GVariantIter _tmp94_;
	GVariant* _tmp95_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp92_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp93_ = g_new (gchar*, 5);
	_tmp93__length = 0;
	_tmp93__size = 4;
	_tmp93__length1 = 0;
	g_variant_iter_init (&_tmp94_, _tmp92_);
	for (; (_tmp95_ = g_variant_iter_next_value (&_tmp94_)) != NULL; _tmp93__length1++) {
		if (_tmp93__size == _tmp93__length) {
			_tmp93__size = 2 * _tmp93__size;
			_tmp93_ = g_renew (gchar*, _tmp93_, _tmp93__size + 1);
		}
		_tmp93_[_tmp93__length++] = g_variant_dup_string (_tmp95_, NULL);
		g_variant_unref (_tmp95_);
	}
	names_length1 = _tmp93__length1;
	_tmp93_[_tmp93__length] = NULL;
	names = _tmp93_;
	g_variant_unref (_tmp92_);
	manager_unset_environment (self, names, names_length1, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void manager_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "ListUnits") == 0) {
		_dbus_manager_list_units (object, parameters, invocation);
	} else if (strcmp (method_name, "ListJobs") == 0) {
		_dbus_manager_list_jobs (object, parameters, invocation);
	} else if (strcmp (method_name, "GetUnit") == 0) {
		_dbus_manager_get_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "GetUnitByPid") == 0) {
		_dbus_manager_get_unit_by_pid (object, parameters, invocation);
	} else if (strcmp (method_name, "LoadUnit") == 0) {
		_dbus_manager_load_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "GetJob") == 0) {
		_dbus_manager_get_job (object, parameters, invocation);
	} else if (strcmp (method_name, "StartUnit") == 0) {
		_dbus_manager_start_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "StopUnit") == 0) {
		_dbus_manager_stop_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "ReloadUnit") == 0) {
		_dbus_manager_reload_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "RestartUnit") == 0) {
		_dbus_manager_restart_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "TryRestartUnit") == 0) {
		_dbus_manager_try_restart_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "ReloadOrRestartUnit") == 0) {
		_dbus_manager_reload_or_restart_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "ReloadOrTryRestartUnit") == 0) {
		_dbus_manager_reload_or_try_restart_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "ResetFailedUnit") == 0) {
		_dbus_manager_reset_failed_unit (object, parameters, invocation);
	} else if (strcmp (method_name, "ClearJobs") == 0) {
		_dbus_manager_clear_jobs (object, parameters, invocation);
	} else if (strcmp (method_name, "Subscribe") == 0) {
		_dbus_manager_subscribe (object, parameters, invocation);
	} else if (strcmp (method_name, "Unsubscribe") == 0) {
		_dbus_manager_unsubscribe (object, parameters, invocation);
	} else if (strcmp (method_name, "Dump") == 0) {
		_dbus_manager_dump (object, parameters, invocation);
	} else if (strcmp (method_name, "Reload") == 0) {
		_dbus_manager_reload (object, parameters, invocation);
	} else if (strcmp (method_name, "Reexecute") == 0) {
		_dbus_manager_reexecute (object, parameters, invocation);
	} else if (strcmp (method_name, "Exit") == 0) {
		_dbus_manager_exit (object, parameters, invocation);
	} else if (strcmp (method_name, "Halt") == 0) {
		_dbus_manager_halt (object, parameters, invocation);
	} else if (strcmp (method_name, "PowerOff") == 0) {
		_dbus_manager_power_off (object, parameters, invocation);
	} else if (strcmp (method_name, "Reboot") == 0) {
		_dbus_manager_reboot (object, parameters, invocation);
	} else if (strcmp (method_name, "Kexec") == 0) {
		_dbus_manager_kexec (object, parameters, invocation);
	} else if (strcmp (method_name, "CreateSnapshot") == 0) {
		_dbus_manager_create_snapshot (object, parameters, invocation);
	} else if (strcmp (method_name, "SetEnvironment") == 0) {
		_dbus_manager_set_environment (object, parameters, invocation);
	} else if (strcmp (method_name, "UnsetEnvironment") == 0) {
		_dbus_manager_unset_environment (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}


static GVariant* _dbus_manager_get_environment (Manager* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp96_;
	GVariantBuilder _tmp97_;
	int _tmp98_;
	GVariant* _reply;
	result = manager_get_environment (self, &result_length1);
	_tmp96_ = result;
	g_variant_builder_init (&_tmp97_, G_VARIANT_TYPE ("as"));
	for (_tmp98_ = 0; _tmp98_ < result_length1; _tmp98_++) {
		g_variant_builder_add_value (&_tmp97_, g_variant_new_string (*_tmp96_));
		_tmp96_++;
	}
	_reply = g_variant_builder_end (&_tmp97_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* manager_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "Environment") == 0) {
		return _dbus_manager_get_environment (object);
	}
	return NULL;
}


static gboolean manager_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


static void _dbus_manager_unit_new (GObject* _sender, const gchar* id, const char* path, gpointer* _data) {
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (id));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (path));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.systemd1.Manager", "UnitNew", _arguments, NULL);
}


static void _dbus_manager_unit_removed (GObject* _sender, const gchar* id, const char* path, gpointer* _data) {
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (id));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (path));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.systemd1.Manager", "UnitRemoved", _arguments, NULL);
}


static void _dbus_manager_job_new (GObject* _sender, guint32 id, const char* path, gpointer* _data) {
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (id));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (path));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.systemd1.Manager", "JobNew", _arguments, NULL);
}


static void _dbus_manager_job_removed (GObject* _sender, guint32 id, const char* path, const gchar* res, gpointer* _data) {
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (id));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (path));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (res));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.systemd1.Manager", "JobRemoved", _arguments, NULL);
}


guint manager_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_manager_dbus_interface_info), &_manager_dbus_interface_vtable, data, _manager_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "unit-new", (GCallback) _dbus_manager_unit_new, data);
	g_signal_connect (object, "unit-removed", (GCallback) _dbus_manager_unit_removed, data);
	g_signal_connect (object, "job-new", (GCallback) _dbus_manager_job_new, data);
	g_signal_connect (object, "job-removed", (GCallback) _dbus_manager_job_removed, data);
	return result;
}


static void _manager_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_signal_handlers_disconnect_by_func (data[0], _dbus_manager_unit_new, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_manager_unit_removed, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_manager_job_new, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_manager_job_removed, data);
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


char* unit_start (Unit* self, const gchar* mode, GError** error) {
#line 137 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 137 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->start (self, mode, error);
#line 3695 "systemd-interfaces.c"
}


char* unit_stop (Unit* self, const gchar* mode, GError** error) {
#line 138 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 138 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->stop (self, mode, error);
#line 3704 "systemd-interfaces.c"
}


char* unit_reload (Unit* self, const gchar* mode, GError** error) {
#line 139 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 139 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->reload (self, mode, error);
#line 3713 "systemd-interfaces.c"
}


char* unit_restart (Unit* self, const gchar* mode, GError** error) {
#line 140 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 140 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->restart (self, mode, error);
#line 3722 "systemd-interfaces.c"
}


char* unit_try_restart (Unit* self, const gchar* mode, GError** error) {
#line 141 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 141 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->try_restart (self, mode, error);
#line 3731 "systemd-interfaces.c"
}


char* unit_reload_or_restart (Unit* self, const gchar* mode, GError** error) {
#line 142 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 142 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->reload_or_restart (self, mode, error);
#line 3740 "systemd-interfaces.c"
}


char* unit_reload_or_try_restart (Unit* self, const gchar* mode, GError** error) {
#line 143 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 143 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->reload_or_try_restart (self, mode, error);
#line 3749 "systemd-interfaces.c"
}


void unit_reset_failed (Unit* self, GError** error) {
#line 145 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 145 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	UNIT_GET_INTERFACE (self)->reset_failed (self, error);
#line 3758 "systemd-interfaces.c"
}


gchar* unit_get_id (Unit* self) {
#line 98 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 98 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_id (self);
#line 3767 "systemd-interfaces.c"
}


gchar** unit_get_names (Unit* self, int* result_length1) {
#line 99 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 99 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_names (self, result_length1);
#line 3776 "systemd-interfaces.c"
}


gchar* unit_get_following (Unit* self) {
#line 100 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 100 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_following (self);
#line 3785 "systemd-interfaces.c"
}


gchar** unit_get_requires (Unit* self, int* result_length1) {
#line 101 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 101 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_requires (self, result_length1);
#line 3794 "systemd-interfaces.c"
}


gchar** unit_get_requires_overridable (Unit* self, int* result_length1) {
#line 102 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 102 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_requires_overridable (self, result_length1);
#line 3803 "systemd-interfaces.c"
}


gchar** unit_get_requisite (Unit* self, int* result_length1) {
#line 103 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 103 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_requisite (self, result_length1);
#line 3812 "systemd-interfaces.c"
}


gchar** unit_get_requisite_overridable (Unit* self, int* result_length1) {
#line 104 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 104 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_requisite_overridable (self, result_length1);
#line 3821 "systemd-interfaces.c"
}


gchar** unit_get_wants (Unit* self, int* result_length1) {
#line 105 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 105 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_wants (self, result_length1);
#line 3830 "systemd-interfaces.c"
}


gchar** unit_get_required_by (Unit* self, int* result_length1) {
#line 106 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 106 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_required_by (self, result_length1);
#line 3839 "systemd-interfaces.c"
}


gchar** unit_get_required_by_overridable (Unit* self, int* result_length1) {
#line 107 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 107 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_required_by_overridable (self, result_length1);
#line 3848 "systemd-interfaces.c"
}


gchar** unit_get_wanted_by (Unit* self, int* result_length1) {
#line 108 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 108 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_wanted_by (self, result_length1);
#line 3857 "systemd-interfaces.c"
}


gchar** unit_get_conflicts (Unit* self, int* result_length1) {
#line 109 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 109 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_conflicts (self, result_length1);
#line 3866 "systemd-interfaces.c"
}


gchar** unit_get_conflicted_by (Unit* self, int* result_length1) {
#line 110 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 110 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_conflicted_by (self, result_length1);
#line 3875 "systemd-interfaces.c"
}


gchar** unit_get_before (Unit* self, int* result_length1) {
#line 111 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 111 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_before (self, result_length1);
#line 3884 "systemd-interfaces.c"
}


gchar** unit_get_after (Unit* self, int* result_length1) {
#line 112 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 112 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_after (self, result_length1);
#line 3893 "systemd-interfaces.c"
}


gchar** unit_get_on_failure (Unit* self, int* result_length1) {
#line 113 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 113 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_on_failure (self, result_length1);
#line 3902 "systemd-interfaces.c"
}


gchar* unit_get_description (Unit* self) {
#line 114 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 114 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_description (self);
#line 3911 "systemd-interfaces.c"
}


gchar* unit_get_load_state (Unit* self) {
#line 115 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 115 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_load_state (self);
#line 3920 "systemd-interfaces.c"
}


gchar* unit_get_active_state (Unit* self) {
#line 116 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 116 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_active_state (self);
#line 3929 "systemd-interfaces.c"
}


gchar* unit_get_sub_state (Unit* self) {
#line 117 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 117 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_sub_state (self);
#line 3938 "systemd-interfaces.c"
}


gchar* unit_get_fragment_path (Unit* self) {
#line 118 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 118 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_fragment_path (self);
#line 3947 "systemd-interfaces.c"
}


guint64 unit_get_inactive_exit_timestamp (Unit* self) {
#line 119 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 119 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_inactive_exit_timestamp (self);
#line 3956 "systemd-interfaces.c"
}


guint64 unit_get_active_enter_timestamp (Unit* self) {
#line 120 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 120 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_active_enter_timestamp (self);
#line 3965 "systemd-interfaces.c"
}


guint64 unit_get_active_exit_timestamp (Unit* self) {
#line 121 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 121 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_active_exit_timestamp (self);
#line 3974 "systemd-interfaces.c"
}


guint64 unit_get_inactive_enter_timestamp (Unit* self) {
#line 122 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 122 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_inactive_enter_timestamp (self);
#line 3983 "systemd-interfaces.c"
}


gboolean unit_get_can_start (Unit* self) {
#line 123 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 123 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_can_start (self);
#line 3992 "systemd-interfaces.c"
}


gboolean unit_get_can_stop (Unit* self) {
#line 124 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 124 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_can_stop (self);
#line 4001 "systemd-interfaces.c"
}


gboolean unit_get_can_reload (Unit* self) {
#line 125 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 125 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_can_reload (self);
#line 4010 "systemd-interfaces.c"
}


void unit_get_job (Unit* self, UnitJobLink* result) {
#line 126 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 126 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	UNIT_GET_INTERFACE (self)->get_job (self, result);
#line 4019 "systemd-interfaces.c"
}


gboolean unit_get_recursive_stop (Unit* self) {
#line 127 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 127 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_recursive_stop (self);
#line 4028 "systemd-interfaces.c"
}


gboolean unit_get_stop_when_unneeded (Unit* self) {
#line 128 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 128 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_stop_when_unneeded (self);
#line 4037 "systemd-interfaces.c"
}


gboolean unit_get_refuse_manual_start (Unit* self) {
#line 129 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 129 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_refuse_manual_start (self);
#line 4046 "systemd-interfaces.c"
}


gboolean unit_get_refuse_manual_stop (Unit* self) {
#line 130 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 130 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_refuse_manual_stop (self);
#line 4055 "systemd-interfaces.c"
}


gboolean unit_get_default_dependencies (Unit* self) {
#line 131 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 131 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_default_dependencies (self);
#line 4064 "systemd-interfaces.c"
}


gchar* unit_get_default_control_group (Unit* self) {
#line 132 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 132 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_default_control_group (self);
#line 4073 "systemd-interfaces.c"
}


gchar** unit_get_control_groups (Unit* self, int* result_length1) {
#line 133 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 133 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_control_groups (self, result_length1);
#line 4082 "systemd-interfaces.c"
}


gboolean unit_get_need_daemon_reload (Unit* self) {
#line 134 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 134 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_need_daemon_reload (self);
#line 4091 "systemd-interfaces.c"
}


guint64 unit_get_job_timeout_usec (Unit* self) {
#line 135 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 135 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return UNIT_GET_INTERFACE (self)->get_job_timeout_usec (self);
#line 4100 "systemd-interfaces.c"
}


void unit_job_link_copy (const UnitJobLink* self, UnitJobLink* dest) {
	guint32 _tmp0_;
	const char* _tmp1_;
	const char* _tmp2_;
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp0_ = (*self).id;
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).id = _tmp0_;
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp1_ = (*self).path;
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).path);
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).path = _tmp2_;
#line 4120 "systemd-interfaces.c"
}


void unit_job_link_destroy (UnitJobLink* self) {
#line 95 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).path);
#line 4127 "systemd-interfaces.c"
}


UnitJobLink* unit_job_link_dup (const UnitJobLink* self) {
	UnitJobLink* dup;
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	dup = g_new0 (UnitJobLink, 1);
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	unit_job_link_copy (self, dup);
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return dup;
#line 4139 "systemd-interfaces.c"
}


void unit_job_link_free (UnitJobLink* self) {
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	unit_job_link_destroy (self);
#line 93 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_free (self);
#line 4148 "systemd-interfaces.c"
}


GType unit_job_link_get_type (void) {
	static volatile gsize unit_job_link_type_id__volatile = 0;
	if (g_once_init_enter (&unit_job_link_type_id__volatile)) {
		GType unit_job_link_type_id;
		unit_job_link_type_id = g_boxed_type_register_static ("UnitJobLink", (GBoxedCopyFunc) unit_job_link_dup, (GBoxedFreeFunc) unit_job_link_free);
		g_once_init_leave (&unit_job_link_type_id__volatile, unit_job_link_type_id);
	}
	return unit_job_link_type_id__volatile;
}


static void unit_base_init (UnitIface * iface) {
#line 92 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	static gboolean initialized = FALSE;
#line 92 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (!initialized) {
#line 92 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		initialized = TRUE;
#line 4170 "systemd-interfaces.c"
	}
}


GType unit_get_type (void) {
	static volatile gsize unit_type_id__volatile = 0;
	if (g_once_init_enter (&unit_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (UnitIface), (GBaseInitFunc) unit_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType unit_type_id;
		unit_type_id = g_type_register_static (G_TYPE_INTERFACE, "Unit", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (unit_type_id, G_TYPE_DBUS_PROXY);
		g_type_set_qdata (unit_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) unit_proxy_get_type);
		g_type_set_qdata (unit_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.systemd1.Unit");
		g_type_set_qdata (unit_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) unit_register_object);
		g_once_init_leave (&unit_type_id__volatile, unit_type_id);
	}
	return unit_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (UnitProxy, unit_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_UNIT, unit_proxy_unit_interface_init) )
static void unit_proxy_class_init (UnitProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = unit_proxy_g_signal;
}


static void unit_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
}


static void unit_proxy_init (UnitProxy* self) {
}


static char* unit_proxy_start (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp99_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "Start");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp99_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp99_, NULL);
	g_variant_unref (_tmp99_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_stop (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp100_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "Stop");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp100_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp100_, NULL);
	g_variant_unref (_tmp100_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_reload (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp101_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "Reload");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp101_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp101_, NULL);
	g_variant_unref (_tmp101_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_restart (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp102_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "Restart");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp102_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp102_, NULL);
	g_variant_unref (_tmp102_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_try_restart (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp103_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "TryRestart");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp103_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp103_, NULL);
	g_variant_unref (_tmp103_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_reload_or_restart (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp104_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "ReloadOrRestart");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp104_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp104_, NULL);
	g_variant_unref (_tmp104_);
	g_object_unref (_reply_message);
	return _result;
}


static char* unit_proxy_reload_or_try_restart (Unit* self, const gchar* mode, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	char* _result;
	GVariant* _tmp105_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "ReloadOrTryRestart");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (mode));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp105_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp105_, NULL);
	g_variant_unref (_tmp105_);
	g_object_unref (_reply_message);
	return _result;
}


static void unit_proxy_reset_failed (Unit* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Unit", "ResetFailed");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static gchar* unit_dbus_proxy_get_id (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Id");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Id"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_names (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp106_;
	int _tmp106__length;
	int _tmp106__size;
	int _tmp106__length1;
	GVariantIter _tmp107_;
	GVariant* _tmp108_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Names");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Names"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp106_ = g_new (gchar*, 5);
	_tmp106__length = 0;
	_tmp106__size = 4;
	_tmp106__length1 = 0;
	g_variant_iter_init (&_tmp107_, _inner_reply);
	for (; (_tmp108_ = g_variant_iter_next_value (&_tmp107_)) != NULL; _tmp106__length1++) {
		if (_tmp106__size == _tmp106__length) {
			_tmp106__size = 2 * _tmp106__size;
			_tmp106_ = g_renew (gchar*, _tmp106_, _tmp106__size + 1);
		}
		_tmp106_[_tmp106__length++] = g_variant_dup_string (_tmp108_, NULL);
		g_variant_unref (_tmp108_);
	}
	_result_length1 = _tmp106__length1;
	_tmp106_[_tmp106__length] = NULL;
	_result = _tmp106_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_following (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Following");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Following"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_requires (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp109_;
	int _tmp109__length;
	int _tmp109__size;
	int _tmp109__length1;
	GVariantIter _tmp110_;
	GVariant* _tmp111_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Requires");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Requires"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp109_ = g_new (gchar*, 5);
	_tmp109__length = 0;
	_tmp109__size = 4;
	_tmp109__length1 = 0;
	g_variant_iter_init (&_tmp110_, _inner_reply);
	for (; (_tmp111_ = g_variant_iter_next_value (&_tmp110_)) != NULL; _tmp109__length1++) {
		if (_tmp109__size == _tmp109__length) {
			_tmp109__size = 2 * _tmp109__size;
			_tmp109_ = g_renew (gchar*, _tmp109_, _tmp109__size + 1);
		}
		_tmp109_[_tmp109__length++] = g_variant_dup_string (_tmp111_, NULL);
		g_variant_unref (_tmp111_);
	}
	_result_length1 = _tmp109__length1;
	_tmp109_[_tmp109__length] = NULL;
	_result = _tmp109_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_requires_overridable (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp112_;
	int _tmp112__length;
	int _tmp112__size;
	int _tmp112__length1;
	GVariantIter _tmp113_;
	GVariant* _tmp114_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RequiresOverridable");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RequiresOverridable"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp112_ = g_new (gchar*, 5);
	_tmp112__length = 0;
	_tmp112__size = 4;
	_tmp112__length1 = 0;
	g_variant_iter_init (&_tmp113_, _inner_reply);
	for (; (_tmp114_ = g_variant_iter_next_value (&_tmp113_)) != NULL; _tmp112__length1++) {
		if (_tmp112__size == _tmp112__length) {
			_tmp112__size = 2 * _tmp112__size;
			_tmp112_ = g_renew (gchar*, _tmp112_, _tmp112__size + 1);
		}
		_tmp112_[_tmp112__length++] = g_variant_dup_string (_tmp114_, NULL);
		g_variant_unref (_tmp114_);
	}
	_result_length1 = _tmp112__length1;
	_tmp112_[_tmp112__length] = NULL;
	_result = _tmp112_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_requisite (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp115_;
	int _tmp115__length;
	int _tmp115__size;
	int _tmp115__length1;
	GVariantIter _tmp116_;
	GVariant* _tmp117_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Requisite");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Requisite"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp115_ = g_new (gchar*, 5);
	_tmp115__length = 0;
	_tmp115__size = 4;
	_tmp115__length1 = 0;
	g_variant_iter_init (&_tmp116_, _inner_reply);
	for (; (_tmp117_ = g_variant_iter_next_value (&_tmp116_)) != NULL; _tmp115__length1++) {
		if (_tmp115__size == _tmp115__length) {
			_tmp115__size = 2 * _tmp115__size;
			_tmp115_ = g_renew (gchar*, _tmp115_, _tmp115__size + 1);
		}
		_tmp115_[_tmp115__length++] = g_variant_dup_string (_tmp117_, NULL);
		g_variant_unref (_tmp117_);
	}
	_result_length1 = _tmp115__length1;
	_tmp115_[_tmp115__length] = NULL;
	_result = _tmp115_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_requisite_overridable (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp118_;
	int _tmp118__length;
	int _tmp118__size;
	int _tmp118__length1;
	GVariantIter _tmp119_;
	GVariant* _tmp120_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RequisiteOverridable");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RequisiteOverridable"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp118_ = g_new (gchar*, 5);
	_tmp118__length = 0;
	_tmp118__size = 4;
	_tmp118__length1 = 0;
	g_variant_iter_init (&_tmp119_, _inner_reply);
	for (; (_tmp120_ = g_variant_iter_next_value (&_tmp119_)) != NULL; _tmp118__length1++) {
		if (_tmp118__size == _tmp118__length) {
			_tmp118__size = 2 * _tmp118__size;
			_tmp118_ = g_renew (gchar*, _tmp118_, _tmp118__size + 1);
		}
		_tmp118_[_tmp118__length++] = g_variant_dup_string (_tmp120_, NULL);
		g_variant_unref (_tmp120_);
	}
	_result_length1 = _tmp118__length1;
	_tmp118_[_tmp118__length] = NULL;
	_result = _tmp118_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_wants (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp121_;
	int _tmp121__length;
	int _tmp121__size;
	int _tmp121__length1;
	GVariantIter _tmp122_;
	GVariant* _tmp123_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Wants");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Wants"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp121_ = g_new (gchar*, 5);
	_tmp121__length = 0;
	_tmp121__size = 4;
	_tmp121__length1 = 0;
	g_variant_iter_init (&_tmp122_, _inner_reply);
	for (; (_tmp123_ = g_variant_iter_next_value (&_tmp122_)) != NULL; _tmp121__length1++) {
		if (_tmp121__size == _tmp121__length) {
			_tmp121__size = 2 * _tmp121__size;
			_tmp121_ = g_renew (gchar*, _tmp121_, _tmp121__size + 1);
		}
		_tmp121_[_tmp121__length++] = g_variant_dup_string (_tmp123_, NULL);
		g_variant_unref (_tmp123_);
	}
	_result_length1 = _tmp121__length1;
	_tmp121_[_tmp121__length] = NULL;
	_result = _tmp121_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_required_by (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp124_;
	int _tmp124__length;
	int _tmp124__size;
	int _tmp124__length1;
	GVariantIter _tmp125_;
	GVariant* _tmp126_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RequiredBy");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RequiredBy"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp124_ = g_new (gchar*, 5);
	_tmp124__length = 0;
	_tmp124__size = 4;
	_tmp124__length1 = 0;
	g_variant_iter_init (&_tmp125_, _inner_reply);
	for (; (_tmp126_ = g_variant_iter_next_value (&_tmp125_)) != NULL; _tmp124__length1++) {
		if (_tmp124__size == _tmp124__length) {
			_tmp124__size = 2 * _tmp124__size;
			_tmp124_ = g_renew (gchar*, _tmp124_, _tmp124__size + 1);
		}
		_tmp124_[_tmp124__length++] = g_variant_dup_string (_tmp126_, NULL);
		g_variant_unref (_tmp126_);
	}
	_result_length1 = _tmp124__length1;
	_tmp124_[_tmp124__length] = NULL;
	_result = _tmp124_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_required_by_overridable (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp127_;
	int _tmp127__length;
	int _tmp127__size;
	int _tmp127__length1;
	GVariantIter _tmp128_;
	GVariant* _tmp129_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RequiredByOverridable");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RequiredByOverridable"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp127_ = g_new (gchar*, 5);
	_tmp127__length = 0;
	_tmp127__size = 4;
	_tmp127__length1 = 0;
	g_variant_iter_init (&_tmp128_, _inner_reply);
	for (; (_tmp129_ = g_variant_iter_next_value (&_tmp128_)) != NULL; _tmp127__length1++) {
		if (_tmp127__size == _tmp127__length) {
			_tmp127__size = 2 * _tmp127__size;
			_tmp127_ = g_renew (gchar*, _tmp127_, _tmp127__size + 1);
		}
		_tmp127_[_tmp127__length++] = g_variant_dup_string (_tmp129_, NULL);
		g_variant_unref (_tmp129_);
	}
	_result_length1 = _tmp127__length1;
	_tmp127_[_tmp127__length] = NULL;
	_result = _tmp127_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_wanted_by (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp130_;
	int _tmp130__length;
	int _tmp130__size;
	int _tmp130__length1;
	GVariantIter _tmp131_;
	GVariant* _tmp132_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "WantedBy");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("WantedBy"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp130_ = g_new (gchar*, 5);
	_tmp130__length = 0;
	_tmp130__size = 4;
	_tmp130__length1 = 0;
	g_variant_iter_init (&_tmp131_, _inner_reply);
	for (; (_tmp132_ = g_variant_iter_next_value (&_tmp131_)) != NULL; _tmp130__length1++) {
		if (_tmp130__size == _tmp130__length) {
			_tmp130__size = 2 * _tmp130__size;
			_tmp130_ = g_renew (gchar*, _tmp130_, _tmp130__size + 1);
		}
		_tmp130_[_tmp130__length++] = g_variant_dup_string (_tmp132_, NULL);
		g_variant_unref (_tmp132_);
	}
	_result_length1 = _tmp130__length1;
	_tmp130_[_tmp130__length] = NULL;
	_result = _tmp130_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_conflicts (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp133_;
	int _tmp133__length;
	int _tmp133__size;
	int _tmp133__length1;
	GVariantIter _tmp134_;
	GVariant* _tmp135_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Conflicts");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Conflicts"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp133_ = g_new (gchar*, 5);
	_tmp133__length = 0;
	_tmp133__size = 4;
	_tmp133__length1 = 0;
	g_variant_iter_init (&_tmp134_, _inner_reply);
	for (; (_tmp135_ = g_variant_iter_next_value (&_tmp134_)) != NULL; _tmp133__length1++) {
		if (_tmp133__size == _tmp133__length) {
			_tmp133__size = 2 * _tmp133__size;
			_tmp133_ = g_renew (gchar*, _tmp133_, _tmp133__size + 1);
		}
		_tmp133_[_tmp133__length++] = g_variant_dup_string (_tmp135_, NULL);
		g_variant_unref (_tmp135_);
	}
	_result_length1 = _tmp133__length1;
	_tmp133_[_tmp133__length] = NULL;
	_result = _tmp133_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_conflicted_by (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp136_;
	int _tmp136__length;
	int _tmp136__size;
	int _tmp136__length1;
	GVariantIter _tmp137_;
	GVariant* _tmp138_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ConflictedBy");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ConflictedBy"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp136_ = g_new (gchar*, 5);
	_tmp136__length = 0;
	_tmp136__size = 4;
	_tmp136__length1 = 0;
	g_variant_iter_init (&_tmp137_, _inner_reply);
	for (; (_tmp138_ = g_variant_iter_next_value (&_tmp137_)) != NULL; _tmp136__length1++) {
		if (_tmp136__size == _tmp136__length) {
			_tmp136__size = 2 * _tmp136__size;
			_tmp136_ = g_renew (gchar*, _tmp136_, _tmp136__size + 1);
		}
		_tmp136_[_tmp136__length++] = g_variant_dup_string (_tmp138_, NULL);
		g_variant_unref (_tmp138_);
	}
	_result_length1 = _tmp136__length1;
	_tmp136_[_tmp136__length] = NULL;
	_result = _tmp136_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_before (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp139_;
	int _tmp139__length;
	int _tmp139__size;
	int _tmp139__length1;
	GVariantIter _tmp140_;
	GVariant* _tmp141_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Before");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Before"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp139_ = g_new (gchar*, 5);
	_tmp139__length = 0;
	_tmp139__size = 4;
	_tmp139__length1 = 0;
	g_variant_iter_init (&_tmp140_, _inner_reply);
	for (; (_tmp141_ = g_variant_iter_next_value (&_tmp140_)) != NULL; _tmp139__length1++) {
		if (_tmp139__size == _tmp139__length) {
			_tmp139__size = 2 * _tmp139__size;
			_tmp139_ = g_renew (gchar*, _tmp139_, _tmp139__size + 1);
		}
		_tmp139_[_tmp139__length++] = g_variant_dup_string (_tmp141_, NULL);
		g_variant_unref (_tmp141_);
	}
	_result_length1 = _tmp139__length1;
	_tmp139_[_tmp139__length] = NULL;
	_result = _tmp139_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_after (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp142_;
	int _tmp142__length;
	int _tmp142__size;
	int _tmp142__length1;
	GVariantIter _tmp143_;
	GVariant* _tmp144_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "After");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("After"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp142_ = g_new (gchar*, 5);
	_tmp142__length = 0;
	_tmp142__size = 4;
	_tmp142__length1 = 0;
	g_variant_iter_init (&_tmp143_, _inner_reply);
	for (; (_tmp144_ = g_variant_iter_next_value (&_tmp143_)) != NULL; _tmp142__length1++) {
		if (_tmp142__size == _tmp142__length) {
			_tmp142__size = 2 * _tmp142__size;
			_tmp142_ = g_renew (gchar*, _tmp142_, _tmp142__size + 1);
		}
		_tmp142_[_tmp142__length++] = g_variant_dup_string (_tmp144_, NULL);
		g_variant_unref (_tmp144_);
	}
	_result_length1 = _tmp142__length1;
	_tmp142_[_tmp142__length] = NULL;
	_result = _tmp142_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_on_failure (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp145_;
	int _tmp145__length;
	int _tmp145__size;
	int _tmp145__length1;
	GVariantIter _tmp146_;
	GVariant* _tmp147_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "OnFailure");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("OnFailure"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp145_ = g_new (gchar*, 5);
	_tmp145__length = 0;
	_tmp145__size = 4;
	_tmp145__length1 = 0;
	g_variant_iter_init (&_tmp146_, _inner_reply);
	for (; (_tmp147_ = g_variant_iter_next_value (&_tmp146_)) != NULL; _tmp145__length1++) {
		if (_tmp145__size == _tmp145__length) {
			_tmp145__size = 2 * _tmp145__size;
			_tmp145_ = g_renew (gchar*, _tmp145_, _tmp145__size + 1);
		}
		_tmp145_[_tmp145__length++] = g_variant_dup_string (_tmp147_, NULL);
		g_variant_unref (_tmp147_);
	}
	_result_length1 = _tmp145__length1;
	_tmp145_[_tmp145__length] = NULL;
	_result = _tmp145_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_description (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Description");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Description"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_load_state (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "LoadState");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("LoadState"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_active_state (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ActiveState");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ActiveState"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_sub_state (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "SubState");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("SubState"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_fragment_path (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "FragmentPath");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("FragmentPath"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static guint64 unit_dbus_proxy_get_inactive_exit_timestamp (Unit* self) {
	GVariant *_inner_reply;
	guint64 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "InactiveExitTimestamp");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("InactiveExitTimestamp"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0ULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint64 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static guint64 unit_dbus_proxy_get_active_enter_timestamp (Unit* self) {
	GVariant *_inner_reply;
	guint64 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ActiveEnterTimestamp");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ActiveEnterTimestamp"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0ULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint64 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static guint64 unit_dbus_proxy_get_active_exit_timestamp (Unit* self) {
	GVariant *_inner_reply;
	guint64 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ActiveExitTimestamp");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ActiveExitTimestamp"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0ULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint64 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static guint64 unit_dbus_proxy_get_inactive_enter_timestamp (Unit* self) {
	GVariant *_inner_reply;
	guint64 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "InactiveEnterTimestamp");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("InactiveEnterTimestamp"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0ULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint64 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_can_start (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanStart");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanStart"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_can_stop (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanStop");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanStop"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_can_reload (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "CanReload");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("CanReload"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static void unit_dbus_proxy_get_job (Unit* self, UnitJobLink* result) {
	GVariant *_inner_reply;
	UnitJobLink _tmp148_;
	GVariantIter _tmp149_;
	GVariant* _tmp150_;
	GVariant* _tmp151_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Job");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Job"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	g_variant_iter_init (&_tmp149_, _inner_reply);
	_tmp150_ = g_variant_iter_next_value (&_tmp149_);
	_tmp148_.id = g_variant_get_uint32 (_tmp150_);
	g_variant_unref (_tmp150_);
	_tmp151_ = g_variant_iter_next_value (&_tmp149_);
	_tmp148_.path = g_variant_dup_string (_tmp151_, NULL);
	g_variant_unref (_tmp151_);
	*result = _tmp148_;
	g_variant_unref (_inner_reply);
	return;
}


static gboolean unit_dbus_proxy_get_recursive_stop (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RecursiveStop");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RecursiveStop"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_stop_when_unneeded (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "StopWhenUnneeded");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("StopWhenUnneeded"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_refuse_manual_start (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RefuseManualStart");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RefuseManualStart"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_refuse_manual_stop (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RefuseManualStop");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RefuseManualStop"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_default_dependencies (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DefaultDependencies");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DefaultDependencies"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* unit_dbus_proxy_get_default_control_group (Unit* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "DefaultControlGroup");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("DefaultControlGroup"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar** unit_dbus_proxy_get_control_groups (Unit* self, int* result_length1) {
	GVariant *_inner_reply;
	gchar** _result;
	int _result_length1;
	gchar** _tmp152_;
	int _tmp152__length;
	int _tmp152__size;
	int _tmp152__length1;
	GVariantIter _tmp153_;
	GVariant* _tmp154_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ControlGroups");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ControlGroups"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result_length1 = 0;
	_tmp152_ = g_new (gchar*, 5);
	_tmp152__length = 0;
	_tmp152__size = 4;
	_tmp152__length1 = 0;
	g_variant_iter_init (&_tmp153_, _inner_reply);
	for (; (_tmp154_ = g_variant_iter_next_value (&_tmp153_)) != NULL; _tmp152__length1++) {
		if (_tmp152__size == _tmp152__length) {
			_tmp152__size = 2 * _tmp152__size;
			_tmp152_ = g_renew (gchar*, _tmp152_, _tmp152__size + 1);
		}
		_tmp152_[_tmp152__length++] = g_variant_dup_string (_tmp154_, NULL);
		g_variant_unref (_tmp154_);
	}
	_result_length1 = _tmp152__length1;
	_tmp152_[_tmp152__length] = NULL;
	_result = _tmp152_;
	*result_length1 = _result_length1;
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean unit_dbus_proxy_get_need_daemon_reload (Unit* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "NeedDaemonReload");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("NeedDaemonReload"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static guint64 unit_dbus_proxy_get_job_timeout_usec (Unit* self) {
	GVariant *_inner_reply;
	guint64 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "JobTimeoutUsec");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Unit"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("JobTimeoutUsec"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0ULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint64 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static void unit_proxy_unit_interface_init (UnitIface* iface) {
	iface->start = unit_proxy_start;
	iface->stop = unit_proxy_stop;
	iface->reload = unit_proxy_reload;
	iface->restart = unit_proxy_restart;
	iface->try_restart = unit_proxy_try_restart;
	iface->reload_or_restart = unit_proxy_reload_or_restart;
	iface->reload_or_try_restart = unit_proxy_reload_or_try_restart;
	iface->reset_failed = unit_proxy_reset_failed;
	iface->get_id = unit_dbus_proxy_get_id;
	iface->get_names = unit_dbus_proxy_get_names;
	iface->get_following = unit_dbus_proxy_get_following;
	iface->get_requires = unit_dbus_proxy_get_requires;
	iface->get_requires_overridable = unit_dbus_proxy_get_requires_overridable;
	iface->get_requisite = unit_dbus_proxy_get_requisite;
	iface->get_requisite_overridable = unit_dbus_proxy_get_requisite_overridable;
	iface->get_wants = unit_dbus_proxy_get_wants;
	iface->get_required_by = unit_dbus_proxy_get_required_by;
	iface->get_required_by_overridable = unit_dbus_proxy_get_required_by_overridable;
	iface->get_wanted_by = unit_dbus_proxy_get_wanted_by;
	iface->get_conflicts = unit_dbus_proxy_get_conflicts;
	iface->get_conflicted_by = unit_dbus_proxy_get_conflicted_by;
	iface->get_before = unit_dbus_proxy_get_before;
	iface->get_after = unit_dbus_proxy_get_after;
	iface->get_on_failure = unit_dbus_proxy_get_on_failure;
	iface->get_description = unit_dbus_proxy_get_description;
	iface->get_load_state = unit_dbus_proxy_get_load_state;
	iface->get_active_state = unit_dbus_proxy_get_active_state;
	iface->get_sub_state = unit_dbus_proxy_get_sub_state;
	iface->get_fragment_path = unit_dbus_proxy_get_fragment_path;
	iface->get_inactive_exit_timestamp = unit_dbus_proxy_get_inactive_exit_timestamp;
	iface->get_active_enter_timestamp = unit_dbus_proxy_get_active_enter_timestamp;
	iface->get_active_exit_timestamp = unit_dbus_proxy_get_active_exit_timestamp;
	iface->get_inactive_enter_timestamp = unit_dbus_proxy_get_inactive_enter_timestamp;
	iface->get_can_start = unit_dbus_proxy_get_can_start;
	iface->get_can_stop = unit_dbus_proxy_get_can_stop;
	iface->get_can_reload = unit_dbus_proxy_get_can_reload;
	iface->get_job = unit_dbus_proxy_get_job;
	iface->get_recursive_stop = unit_dbus_proxy_get_recursive_stop;
	iface->get_stop_when_unneeded = unit_dbus_proxy_get_stop_when_unneeded;
	iface->get_refuse_manual_start = unit_dbus_proxy_get_refuse_manual_start;
	iface->get_refuse_manual_stop = unit_dbus_proxy_get_refuse_manual_stop;
	iface->get_default_dependencies = unit_dbus_proxy_get_default_dependencies;
	iface->get_default_control_group = unit_dbus_proxy_get_default_control_group;
	iface->get_control_groups = unit_dbus_proxy_get_control_groups;
	iface->get_need_daemon_reload = unit_dbus_proxy_get_need_daemon_reload;
	iface->get_job_timeout_usec = unit_dbus_proxy_get_job_timeout_usec;
}


static void _dbus_unit_start (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp155_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp155_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp155_, NULL);
	g_variant_unref (_tmp155_);
	result = unit_start (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_stop (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp156_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp156_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp156_, NULL);
	g_variant_unref (_tmp156_);
	result = unit_stop (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_reload (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp157_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp157_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp157_, NULL);
	g_variant_unref (_tmp157_);
	result = unit_reload (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp158_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp158_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp158_, NULL);
	g_variant_unref (_tmp158_);
	result = unit_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_try_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp159_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp159_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp159_, NULL);
	g_variant_unref (_tmp159_);
	result = unit_try_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_reload_or_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp160_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp160_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp160_, NULL);
	g_variant_unref (_tmp160_);
	result = unit_reload_or_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_reload_or_try_restart (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp161_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp161_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp161_, NULL);
	g_variant_unref (_tmp161_);
	result = unit_reload_or_try_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (mode);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void _dbus_unit_reset_failed (Unit* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	unit_reset_failed (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void unit_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "Start") == 0) {
		_dbus_unit_start (object, parameters, invocation);
	} else if (strcmp (method_name, "Stop") == 0) {
		_dbus_unit_stop (object, parameters, invocation);
	} else if (strcmp (method_name, "Reload") == 0) {
		_dbus_unit_reload (object, parameters, invocation);
	} else if (strcmp (method_name, "Restart") == 0) {
		_dbus_unit_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "TryRestart") == 0) {
		_dbus_unit_try_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "ReloadOrRestart") == 0) {
		_dbus_unit_reload_or_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "ReloadOrTryRestart") == 0) {
		_dbus_unit_reload_or_try_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "ResetFailed") == 0) {
		_dbus_unit_reset_failed (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}


static GVariant* _dbus_unit_get_id (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_id (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_names (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp162_;
	GVariantBuilder _tmp163_;
	int _tmp164_;
	GVariant* _reply;
	result = unit_get_names (self, &result_length1);
	_tmp162_ = result;
	g_variant_builder_init (&_tmp163_, G_VARIANT_TYPE ("as"));
	for (_tmp164_ = 0; _tmp164_ < result_length1; _tmp164_++) {
		g_variant_builder_add_value (&_tmp163_, g_variant_new_string (*_tmp162_));
		_tmp162_++;
	}
	_reply = g_variant_builder_end (&_tmp163_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_following (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_following (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_requires (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp165_;
	GVariantBuilder _tmp166_;
	int _tmp167_;
	GVariant* _reply;
	result = unit_get_requires (self, &result_length1);
	_tmp165_ = result;
	g_variant_builder_init (&_tmp166_, G_VARIANT_TYPE ("as"));
	for (_tmp167_ = 0; _tmp167_ < result_length1; _tmp167_++) {
		g_variant_builder_add_value (&_tmp166_, g_variant_new_string (*_tmp165_));
		_tmp165_++;
	}
	_reply = g_variant_builder_end (&_tmp166_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_requires_overridable (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp168_;
	GVariantBuilder _tmp169_;
	int _tmp170_;
	GVariant* _reply;
	result = unit_get_requires_overridable (self, &result_length1);
	_tmp168_ = result;
	g_variant_builder_init (&_tmp169_, G_VARIANT_TYPE ("as"));
	for (_tmp170_ = 0; _tmp170_ < result_length1; _tmp170_++) {
		g_variant_builder_add_value (&_tmp169_, g_variant_new_string (*_tmp168_));
		_tmp168_++;
	}
	_reply = g_variant_builder_end (&_tmp169_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_requisite (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp171_;
	GVariantBuilder _tmp172_;
	int _tmp173_;
	GVariant* _reply;
	result = unit_get_requisite (self, &result_length1);
	_tmp171_ = result;
	g_variant_builder_init (&_tmp172_, G_VARIANT_TYPE ("as"));
	for (_tmp173_ = 0; _tmp173_ < result_length1; _tmp173_++) {
		g_variant_builder_add_value (&_tmp172_, g_variant_new_string (*_tmp171_));
		_tmp171_++;
	}
	_reply = g_variant_builder_end (&_tmp172_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_requisite_overridable (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp174_;
	GVariantBuilder _tmp175_;
	int _tmp176_;
	GVariant* _reply;
	result = unit_get_requisite_overridable (self, &result_length1);
	_tmp174_ = result;
	g_variant_builder_init (&_tmp175_, G_VARIANT_TYPE ("as"));
	for (_tmp176_ = 0; _tmp176_ < result_length1; _tmp176_++) {
		g_variant_builder_add_value (&_tmp175_, g_variant_new_string (*_tmp174_));
		_tmp174_++;
	}
	_reply = g_variant_builder_end (&_tmp175_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_wants (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp177_;
	GVariantBuilder _tmp178_;
	int _tmp179_;
	GVariant* _reply;
	result = unit_get_wants (self, &result_length1);
	_tmp177_ = result;
	g_variant_builder_init (&_tmp178_, G_VARIANT_TYPE ("as"));
	for (_tmp179_ = 0; _tmp179_ < result_length1; _tmp179_++) {
		g_variant_builder_add_value (&_tmp178_, g_variant_new_string (*_tmp177_));
		_tmp177_++;
	}
	_reply = g_variant_builder_end (&_tmp178_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_required_by (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp180_;
	GVariantBuilder _tmp181_;
	int _tmp182_;
	GVariant* _reply;
	result = unit_get_required_by (self, &result_length1);
	_tmp180_ = result;
	g_variant_builder_init (&_tmp181_, G_VARIANT_TYPE ("as"));
	for (_tmp182_ = 0; _tmp182_ < result_length1; _tmp182_++) {
		g_variant_builder_add_value (&_tmp181_, g_variant_new_string (*_tmp180_));
		_tmp180_++;
	}
	_reply = g_variant_builder_end (&_tmp181_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_required_by_overridable (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp183_;
	GVariantBuilder _tmp184_;
	int _tmp185_;
	GVariant* _reply;
	result = unit_get_required_by_overridable (self, &result_length1);
	_tmp183_ = result;
	g_variant_builder_init (&_tmp184_, G_VARIANT_TYPE ("as"));
	for (_tmp185_ = 0; _tmp185_ < result_length1; _tmp185_++) {
		g_variant_builder_add_value (&_tmp184_, g_variant_new_string (*_tmp183_));
		_tmp183_++;
	}
	_reply = g_variant_builder_end (&_tmp184_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_wanted_by (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp186_;
	GVariantBuilder _tmp187_;
	int _tmp188_;
	GVariant* _reply;
	result = unit_get_wanted_by (self, &result_length1);
	_tmp186_ = result;
	g_variant_builder_init (&_tmp187_, G_VARIANT_TYPE ("as"));
	for (_tmp188_ = 0; _tmp188_ < result_length1; _tmp188_++) {
		g_variant_builder_add_value (&_tmp187_, g_variant_new_string (*_tmp186_));
		_tmp186_++;
	}
	_reply = g_variant_builder_end (&_tmp187_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_conflicts (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp189_;
	GVariantBuilder _tmp190_;
	int _tmp191_;
	GVariant* _reply;
	result = unit_get_conflicts (self, &result_length1);
	_tmp189_ = result;
	g_variant_builder_init (&_tmp190_, G_VARIANT_TYPE ("as"));
	for (_tmp191_ = 0; _tmp191_ < result_length1; _tmp191_++) {
		g_variant_builder_add_value (&_tmp190_, g_variant_new_string (*_tmp189_));
		_tmp189_++;
	}
	_reply = g_variant_builder_end (&_tmp190_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_conflicted_by (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp192_;
	GVariantBuilder _tmp193_;
	int _tmp194_;
	GVariant* _reply;
	result = unit_get_conflicted_by (self, &result_length1);
	_tmp192_ = result;
	g_variant_builder_init (&_tmp193_, G_VARIANT_TYPE ("as"));
	for (_tmp194_ = 0; _tmp194_ < result_length1; _tmp194_++) {
		g_variant_builder_add_value (&_tmp193_, g_variant_new_string (*_tmp192_));
		_tmp192_++;
	}
	_reply = g_variant_builder_end (&_tmp193_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_before (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp195_;
	GVariantBuilder _tmp196_;
	int _tmp197_;
	GVariant* _reply;
	result = unit_get_before (self, &result_length1);
	_tmp195_ = result;
	g_variant_builder_init (&_tmp196_, G_VARIANT_TYPE ("as"));
	for (_tmp197_ = 0; _tmp197_ < result_length1; _tmp197_++) {
		g_variant_builder_add_value (&_tmp196_, g_variant_new_string (*_tmp195_));
		_tmp195_++;
	}
	_reply = g_variant_builder_end (&_tmp196_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_after (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp198_;
	GVariantBuilder _tmp199_;
	int _tmp200_;
	GVariant* _reply;
	result = unit_get_after (self, &result_length1);
	_tmp198_ = result;
	g_variant_builder_init (&_tmp199_, G_VARIANT_TYPE ("as"));
	for (_tmp200_ = 0; _tmp200_ < result_length1; _tmp200_++) {
		g_variant_builder_add_value (&_tmp199_, g_variant_new_string (*_tmp198_));
		_tmp198_++;
	}
	_reply = g_variant_builder_end (&_tmp199_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_on_failure (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp201_;
	GVariantBuilder _tmp202_;
	int _tmp203_;
	GVariant* _reply;
	result = unit_get_on_failure (self, &result_length1);
	_tmp201_ = result;
	g_variant_builder_init (&_tmp202_, G_VARIANT_TYPE ("as"));
	for (_tmp203_ = 0; _tmp203_ < result_length1; _tmp203_++) {
		g_variant_builder_add_value (&_tmp202_, g_variant_new_string (*_tmp201_));
		_tmp201_++;
	}
	_reply = g_variant_builder_end (&_tmp202_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_description (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_description (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_load_state (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_load_state (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_active_state (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_active_state (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_sub_state (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_sub_state (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_fragment_path (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_fragment_path (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_inactive_exit_timestamp (Unit* self) {
	guint64 result;
	GVariant* _reply;
	result = unit_get_inactive_exit_timestamp (self);
	_reply = g_variant_new_uint64 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_active_enter_timestamp (Unit* self) {
	guint64 result;
	GVariant* _reply;
	result = unit_get_active_enter_timestamp (self);
	_reply = g_variant_new_uint64 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_active_exit_timestamp (Unit* self) {
	guint64 result;
	GVariant* _reply;
	result = unit_get_active_exit_timestamp (self);
	_reply = g_variant_new_uint64 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_inactive_enter_timestamp (Unit* self) {
	guint64 result;
	GVariant* _reply;
	result = unit_get_inactive_enter_timestamp (self);
	_reply = g_variant_new_uint64 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_can_start (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_can_start (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_can_stop (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_can_stop (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_can_reload (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_can_reload (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_job (Unit* self) {
	UnitJobLink result = {0};
	GVariantBuilder _tmp204_;
	GVariant* _reply;
	unit_get_job (self, &result);
	g_variant_builder_init (&_tmp204_, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_tmp204_, g_variant_new_uint32 (result.id));
	g_variant_builder_add_value (&_tmp204_, g_variant_new_object_path (result.path));
	_reply = g_variant_builder_end (&_tmp204_);
	unit_job_link_destroy (&result);
	return _reply;
}


static GVariant* _dbus_unit_get_recursive_stop (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_recursive_stop (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_stop_when_unneeded (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_stop_when_unneeded (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_refuse_manual_start (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_refuse_manual_start (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_refuse_manual_stop (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_refuse_manual_stop (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_default_dependencies (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_default_dependencies (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_default_control_group (Unit* self) {
	gchar* result;
	GVariant* _reply;
	result = unit_get_default_control_group (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_unit_get_control_groups (Unit* self) {
	gchar** result;
	int result_length1;
	gchar** _tmp205_;
	GVariantBuilder _tmp206_;
	int _tmp207_;
	GVariant* _reply;
	result = unit_get_control_groups (self, &result_length1);
	_tmp205_ = result;
	g_variant_builder_init (&_tmp206_, G_VARIANT_TYPE ("as"));
	for (_tmp207_ = 0; _tmp207_ < result_length1; _tmp207_++) {
		g_variant_builder_add_value (&_tmp206_, g_variant_new_string (*_tmp205_));
		_tmp205_++;
	}
	_reply = g_variant_builder_end (&_tmp206_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}


static GVariant* _dbus_unit_get_need_daemon_reload (Unit* self) {
	gboolean result;
	GVariant* _reply;
	result = unit_get_need_daemon_reload (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_unit_get_job_timeout_usec (Unit* self) {
	guint64 result;
	GVariant* _reply;
	result = unit_get_job_timeout_usec (self);
	_reply = g_variant_new_uint64 (result);
	return _reply;
}


static GVariant* unit_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "Id") == 0) {
		return _dbus_unit_get_id (object);
	} else if (strcmp (property_name, "Names") == 0) {
		return _dbus_unit_get_names (object);
	} else if (strcmp (property_name, "Following") == 0) {
		return _dbus_unit_get_following (object);
	} else if (strcmp (property_name, "Requires") == 0) {
		return _dbus_unit_get_requires (object);
	} else if (strcmp (property_name, "RequiresOverridable") == 0) {
		return _dbus_unit_get_requires_overridable (object);
	} else if (strcmp (property_name, "Requisite") == 0) {
		return _dbus_unit_get_requisite (object);
	} else if (strcmp (property_name, "RequisiteOverridable") == 0) {
		return _dbus_unit_get_requisite_overridable (object);
	} else if (strcmp (property_name, "Wants") == 0) {
		return _dbus_unit_get_wants (object);
	} else if (strcmp (property_name, "RequiredBy") == 0) {
		return _dbus_unit_get_required_by (object);
	} else if (strcmp (property_name, "RequiredByOverridable") == 0) {
		return _dbus_unit_get_required_by_overridable (object);
	} else if (strcmp (property_name, "WantedBy") == 0) {
		return _dbus_unit_get_wanted_by (object);
	} else if (strcmp (property_name, "Conflicts") == 0) {
		return _dbus_unit_get_conflicts (object);
	} else if (strcmp (property_name, "ConflictedBy") == 0) {
		return _dbus_unit_get_conflicted_by (object);
	} else if (strcmp (property_name, "Before") == 0) {
		return _dbus_unit_get_before (object);
	} else if (strcmp (property_name, "After") == 0) {
		return _dbus_unit_get_after (object);
	} else if (strcmp (property_name, "OnFailure") == 0) {
		return _dbus_unit_get_on_failure (object);
	} else if (strcmp (property_name, "Description") == 0) {
		return _dbus_unit_get_description (object);
	} else if (strcmp (property_name, "LoadState") == 0) {
		return _dbus_unit_get_load_state (object);
	} else if (strcmp (property_name, "ActiveState") == 0) {
		return _dbus_unit_get_active_state (object);
	} else if (strcmp (property_name, "SubState") == 0) {
		return _dbus_unit_get_sub_state (object);
	} else if (strcmp (property_name, "FragmentPath") == 0) {
		return _dbus_unit_get_fragment_path (object);
	} else if (strcmp (property_name, "InactiveExitTimestamp") == 0) {
		return _dbus_unit_get_inactive_exit_timestamp (object);
	} else if (strcmp (property_name, "ActiveEnterTimestamp") == 0) {
		return _dbus_unit_get_active_enter_timestamp (object);
	} else if (strcmp (property_name, "ActiveExitTimestamp") == 0) {
		return _dbus_unit_get_active_exit_timestamp (object);
	} else if (strcmp (property_name, "InactiveEnterTimestamp") == 0) {
		return _dbus_unit_get_inactive_enter_timestamp (object);
	} else if (strcmp (property_name, "CanStart") == 0) {
		return _dbus_unit_get_can_start (object);
	} else if (strcmp (property_name, "CanStop") == 0) {
		return _dbus_unit_get_can_stop (object);
	} else if (strcmp (property_name, "CanReload") == 0) {
		return _dbus_unit_get_can_reload (object);
	} else if (strcmp (property_name, "Job") == 0) {
		return _dbus_unit_get_job (object);
	} else if (strcmp (property_name, "RecursiveStop") == 0) {
		return _dbus_unit_get_recursive_stop (object);
	} else if (strcmp (property_name, "StopWhenUnneeded") == 0) {
		return _dbus_unit_get_stop_when_unneeded (object);
	} else if (strcmp (property_name, "RefuseManualStart") == 0) {
		return _dbus_unit_get_refuse_manual_start (object);
	} else if (strcmp (property_name, "RefuseManualStop") == 0) {
		return _dbus_unit_get_refuse_manual_stop (object);
	} else if (strcmp (property_name, "DefaultDependencies") == 0) {
		return _dbus_unit_get_default_dependencies (object);
	} else if (strcmp (property_name, "DefaultControlGroup") == 0) {
		return _dbus_unit_get_default_control_group (object);
	} else if (strcmp (property_name, "ControlGroups") == 0) {
		return _dbus_unit_get_control_groups (object);
	} else if (strcmp (property_name, "NeedDaemonReload") == 0) {
		return _dbus_unit_get_need_daemon_reload (object);
	} else if (strcmp (property_name, "JobTimeoutUsec") == 0) {
		return _dbus_unit_get_job_timeout_usec (object);
	}
	return NULL;
}


static gboolean unit_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


guint unit_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_unit_dbus_interface_info), &_unit_dbus_interface_vtable, data, _unit_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}


static void _unit_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


void job_cancel (Job* self, GError** error) {
#line 160 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 160 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	JOB_GET_INTERFACE (self)->cancel (self, error);
#line 6747 "systemd-interfaces.c"
}


guint32 job_get_id (Job* self) {
#line 155 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0U);
#line 155 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return JOB_GET_INTERFACE (self)->get_id (self);
#line 6756 "systemd-interfaces.c"
}


gchar* job_get_state (Job* self) {
#line 156 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 156 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return JOB_GET_INTERFACE (self)->get_state (self);
#line 6765 "systemd-interfaces.c"
}


gchar* job_get_job_type (Job* self) {
#line 157 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 157 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return JOB_GET_INTERFACE (self)->get_job_type (self);
#line 6774 "systemd-interfaces.c"
}


void job_get_unit (Job* self, JobUnitLink* result) {
#line 158 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 158 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	JOB_GET_INTERFACE (self)->get_unit (self, result);
#line 6783 "systemd-interfaces.c"
}


void job_unit_link_copy (const JobUnitLink* self, JobUnitLink* dest) {
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	const char* _tmp2_;
	const char* _tmp3_;
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp0_ = (*self).id;
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).id);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).id = _tmp1_;
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp2_ = (*self).path;
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*dest).path);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	(*dest).path = _tmp3_;
#line 6808 "systemd-interfaces.c"
}


void job_unit_link_destroy (JobUnitLink* self) {
#line 151 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).id);
#line 152 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	_g_free0 ((*self).path);
#line 6817 "systemd-interfaces.c"
}


JobUnitLink* job_unit_link_dup (const JobUnitLink* self) {
	JobUnitLink* dup;
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	dup = g_new0 (JobUnitLink, 1);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	job_unit_link_copy (self, dup);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return dup;
#line 6829 "systemd-interfaces.c"
}


void job_unit_link_free (JobUnitLink* self) {
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	job_unit_link_destroy (self);
#line 150 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_free (self);
#line 6838 "systemd-interfaces.c"
}


GType job_unit_link_get_type (void) {
	static volatile gsize job_unit_link_type_id__volatile = 0;
	if (g_once_init_enter (&job_unit_link_type_id__volatile)) {
		GType job_unit_link_type_id;
		job_unit_link_type_id = g_boxed_type_register_static ("JobUnitLink", (GBoxedCopyFunc) job_unit_link_dup, (GBoxedFreeFunc) job_unit_link_free);
		g_once_init_leave (&job_unit_link_type_id__volatile, job_unit_link_type_id);
	}
	return job_unit_link_type_id__volatile;
}


static void job_base_init (JobIface * iface) {
#line 149 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	static gboolean initialized = FALSE;
#line 149 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (!initialized) {
#line 149 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		initialized = TRUE;
#line 6860 "systemd-interfaces.c"
	}
}


GType job_get_type (void) {
	static volatile gsize job_type_id__volatile = 0;
	if (g_once_init_enter (&job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (JobIface), (GBaseInitFunc) job_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType job_type_id;
		job_type_id = g_type_register_static (G_TYPE_INTERFACE, "Job", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (job_type_id, G_TYPE_DBUS_PROXY);
		g_type_set_qdata (job_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) job_proxy_get_type);
		g_type_set_qdata (job_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.systemd1.Job");
		g_type_set_qdata (job_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) job_register_object);
		g_once_init_leave (&job_type_id__volatile, job_type_id);
	}
	return job_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (JobProxy, job_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_JOB, job_proxy_job_interface_init) )
static void job_proxy_class_init (JobProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = job_proxy_g_signal;
}


static void job_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
}


static void job_proxy_init (JobProxy* self) {
}


static void job_proxy_cancel (Job* self, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.systemd1.Job", "Cancel");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return;
	}
	g_object_unref (_reply_message);
}


static guint32 job_dbus_proxy_get_id (Job* self) {
	GVariant *_inner_reply;
	guint32 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Id");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Job"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Id"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0U;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_uint32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* job_dbus_proxy_get_state (Job* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "State");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Job"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("State"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* job_dbus_proxy_get_job_type (Job* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "JobType");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Job"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("JobType"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static void job_dbus_proxy_get_unit (Job* self, JobUnitLink* result) {
	GVariant *_inner_reply;
	JobUnitLink _tmp208_;
	GVariantIter _tmp209_;
	GVariant* _tmp210_;
	GVariant* _tmp211_;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Unit");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.systemd1.Job"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Unit"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	g_variant_iter_init (&_tmp209_, _inner_reply);
	_tmp210_ = g_variant_iter_next_value (&_tmp209_);
	_tmp208_.id = g_variant_dup_string (_tmp210_, NULL);
	g_variant_unref (_tmp210_);
	_tmp211_ = g_variant_iter_next_value (&_tmp209_);
	_tmp208_.path = g_variant_dup_string (_tmp211_, NULL);
	g_variant_unref (_tmp211_);
	*result = _tmp208_;
	g_variant_unref (_inner_reply);
	return;
}


static void job_proxy_job_interface_init (JobIface* iface) {
	iface->cancel = job_proxy_cancel;
	iface->get_id = job_dbus_proxy_get_id;
	iface->get_state = job_dbus_proxy_get_state;
	iface->get_job_type = job_dbus_proxy_get_job_type;
	iface->get_unit = job_dbus_proxy_get_unit;
}


static void _dbus_job_cancel (Job* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, parameters);
	job_cancel (self, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void job_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "Cancel") == 0) {
		_dbus_job_cancel (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}


static GVariant* _dbus_job_get_id (Job* self) {
	guint32 result;
	GVariant* _reply;
	result = job_get_id (self);
	_reply = g_variant_new_uint32 (result);
	return _reply;
}


static GVariant* _dbus_job_get_state (Job* self) {
	gchar* result;
	GVariant* _reply;
	result = job_get_state (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_job_get_job_type (Job* self) {
	gchar* result;
	GVariant* _reply;
	result = job_get_job_type (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_job_get_unit (Job* self) {
	JobUnitLink result = {0};
	GVariantBuilder _tmp212_;
	GVariant* _reply;
	job_get_unit (self, &result);
	g_variant_builder_init (&_tmp212_, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_tmp212_, g_variant_new_string (result.id));
	g_variant_builder_add_value (&_tmp212_, g_variant_new_object_path (result.path));
	_reply = g_variant_builder_end (&_tmp212_);
	job_unit_link_destroy (&result);
	return _reply;
}


static GVariant* job_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "Id") == 0) {
		return _dbus_job_get_id (object);
	} else if (strcmp (property_name, "State") == 0) {
		return _dbus_job_get_state (object);
	} else if (strcmp (property_name, "JobType") == 0) {
		return _dbus_job_get_job_type (object);
	} else if (strcmp (property_name, "Unit") == 0) {
		return _dbus_job_get_unit (object);
	}
	return NULL;
}


static gboolean job_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


guint job_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_job_dbus_interface_info), &_job_dbus_interface_vtable, data, _job_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}


static void _job_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


GVariant* properties_get (Properties* self, const gchar* iface, const gchar* property, GError** error) {
#line 165 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 165 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	return PROPERTIES_GET_INTERFACE (self)->get (self, iface, property, error);
#line 7172 "systemd-interfaces.c"
}


static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
	typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer arg_3, gint arg_4, gpointer data2);
	register GMarshalFunc_VOID__STRING_BOXED_BOXED_INT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 5);
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = closure->data;
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 7191 "systemd-interfaces.c"
	} else {
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		data2 = closure->data;
#line 7197 "systemd-interfaces.c"
	}
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (marshal_data ? marshal_data : cc->callback);
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	callback (data1, g_value_get_string (param_values + 1), g_value_get_boxed (param_values + 2), g_value_get_boxed (param_values + 3), g_value_get_int (param_values + 4), data2);
#line 7203 "systemd-interfaces.c"
}


static void properties_base_init (PropertiesIface * iface) {
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	static gboolean initialized = FALSE;
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
	if (!initialized) {
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		initialized = TRUE;
#line 164 "/home/lennart/projects/systemd/src/systemd-interfaces.vala"
		g_signal_new ("properties_changed", TYPE_PROPERTIES, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_HASH_TABLE, G_TYPE_STRV, G_TYPE_INT);
#line 7216 "systemd-interfaces.c"
	}
}


GType properties_get_type (void) {
	static volatile gsize properties_type_id__volatile = 0;
	if (g_once_init_enter (&properties_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PropertiesIface), (GBaseInitFunc) properties_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType properties_type_id;
		properties_type_id = g_type_register_static (G_TYPE_INTERFACE, "Properties", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (properties_type_id, G_TYPE_DBUS_PROXY);
		g_type_set_qdata (properties_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) properties_proxy_get_type);
		g_type_set_qdata (properties_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.Properties");
		g_type_set_qdata (properties_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) properties_register_object);
		g_once_init_leave (&properties_type_id__volatile, properties_type_id);
	}
	return properties_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (PropertiesProxy, properties_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (TYPE_PROPERTIES, properties_proxy_properties_interface_init) )
static void properties_proxy_class_init (PropertiesProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = properties_proxy_g_signal;
}


static void _dbus_handle_properties_properties_changed (Properties* self, GVariant* parameters) {
	GVariantIter _arguments_iter;
	gchar* iface = NULL;
	GVariant* _tmp213_;
	GHashTable* changed_properties = NULL;
	GVariant* _tmp214_;
	GHashTable* _tmp215_;
	GVariantIter _tmp216_;
	GVariant* _tmp217_;
	GVariant* _tmp218_;
	gchar** invalidated_properties = NULL;
	int invalidated_properties_length1;
	GVariant* _tmp219_;
	gchar** _tmp220_;
	int _tmp220__length;
	int _tmp220__size;
	int _tmp220__length1;
	GVariantIter _tmp221_;
	GVariant* _tmp222_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp213_ = g_variant_iter_next_value (&_arguments_iter);
	iface = g_variant_dup_string (_tmp213_, NULL);
	g_variant_unref (_tmp213_);
	_tmp214_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp215_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
	g_variant_iter_init (&_tmp216_, _tmp214_);
	while (g_variant_iter_loop (&_tmp216_, "{?*}", &_tmp217_, &_tmp218_)) {
		g_hash_table_insert (_tmp215_, g_variant_dup_string (_tmp217_, NULL), g_variant_get_variant (_tmp218_));
	}
	changed_properties = _tmp215_;
	g_variant_unref (_tmp214_);
	invalidated_properties_length1 = 0;
	_tmp219_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp220_ = g_new (gchar*, 5);
	_tmp220__length = 0;
	_tmp220__size = 4;
	_tmp220__length1 = 0;
	g_variant_iter_init (&_tmp221_, _tmp219_);
	for (; (_tmp222_ = g_variant_iter_next_value (&_tmp221_)) != NULL; _tmp220__length1++) {
		if (_tmp220__size == _tmp220__length) {
			_tmp220__size = 2 * _tmp220__size;
			_tmp220_ = g_renew (gchar*, _tmp220_, _tmp220__size + 1);
		}
		_tmp220_[_tmp220__length++] = g_variant_dup_string (_tmp222_, NULL);
		g_variant_unref (_tmp222_);
	}
	invalidated_properties_length1 = _tmp220__length1;
	_tmp220_[_tmp220__length] = NULL;
	invalidated_properties = _tmp220_;
	g_variant_unref (_tmp219_);
	g_signal_emit_by_name (self, "properties-changed", iface, changed_properties, invalidated_properties, invalidated_properties_length1);
	_g_free0 (iface);
	_g_hash_table_unref0 (changed_properties);
	invalidated_properties = (_vala_array_free (invalidated_properties, invalidated_properties_length1, (GDestroyNotify) g_free), NULL);
}


static void properties_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
	if (strcmp (signal_name, "PropertiesChanged") == 0) {
		_dbus_handle_properties_properties_changed ((Properties*) proxy, parameters);
	}
}


static void properties_proxy_init (PropertiesProxy* self) {
}


static GVariant* properties_proxy_get (Properties* self, const gchar* iface, const gchar* property, GError** error) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	GVariant* _result;
	GVariant* _tmp223_;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.Properties", "Get");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (iface));
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (property));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	_reply_message = g_dbus_connection_send_message_with_reply_sync (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, error);
	g_object_unref (_message);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp223_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_variant (_tmp223_);
	g_variant_unref (_tmp223_);
	g_object_unref (_reply_message);
	return _result;
}


static void properties_proxy_properties_interface_init (PropertiesIface* iface) {
	iface->get = properties_proxy_get;
}


static void _dbus_properties_get (Properties* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* iface = NULL;
	GVariant* _tmp224_;
	gchar* property = NULL;
	GVariant* _tmp225_;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GVariant* result;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp224_ = g_variant_iter_next_value (&_arguments_iter);
	iface = g_variant_dup_string (_tmp224_, NULL);
	g_variant_unref (_tmp224_);
	_tmp225_ = g_variant_iter_next_value (&_arguments_iter);
	property = g_variant_dup_string (_tmp225_, NULL);
	g_variant_unref (_tmp225_);
	result = properties_get (self, iface, property, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_variant (result));
	_g_variant_unref0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	_g_free0 (iface);
	_g_free0 (property);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void properties_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "Get") == 0) {
		_dbus_properties_get (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}


static GVariant* properties_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return NULL;
}


static gboolean properties_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


static void _dbus_properties_properties_changed (GObject* _sender, const gchar* iface, GHashTable* changed_properties, gchar** invalidated_properties, int invalidated_properties_length1, gpointer* _data) {
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GVariantBuilder _tmp226_;
	GHashTableIter _tmp227_;
	gpointer _tmp228_;
	gpointer _tmp229_;
	gchar** _tmp230_;
	GVariantBuilder _tmp231_;
	int _tmp232_;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (iface));
	g_hash_table_iter_init (&_tmp227_, changed_properties);
	g_variant_builder_init (&_tmp226_, G_VARIANT_TYPE ("a{sv}"));
	while (g_hash_table_iter_next (&_tmp227_, &_tmp228_, &_tmp229_)) {
		gchar* _key;
		GVariant* _value;
		_key = (gchar*) _tmp228_;
		_value = (GVariant*) _tmp229_;
		g_variant_builder_add (&_tmp226_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp226_));
	_tmp230_ = invalidated_properties;
	g_variant_builder_init (&_tmp231_, G_VARIANT_TYPE ("as"));
	for (_tmp232_ = 0; _tmp232_ < invalidated_properties_length1; _tmp232_++) {
		g_variant_builder_add_value (&_tmp231_, g_variant_new_string (*_tmp230_));
		_tmp230_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp231_));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.freedesktop.Properties", "PropertiesChanged", _arguments, NULL);
}


guint properties_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_properties_dbus_interface_info), &_properties_dbus_interface_vtable, data, _properties_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "properties-changed", (GCallback) _dbus_properties_properties_changed, data);
	return result;
}


static void _properties_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_signal_handlers_disconnect_by_func (data[0], _dbus_properties_properties_changed, data);
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



