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

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

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#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))
enum  {
	MANAGER_UNIT_NEW_SIGNAL,
	MANAGER_UNIT_REMOVED_SIGNAL,
	MANAGER_JOB_NEW_SIGNAL,
	MANAGER_JOB_REMOVED_SIGNAL,
	MANAGER_NUM_SIGNALS
};
static guint manager_signals[MANAGER_NUM_SIGNALS] = {0};
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 ())
enum  {
	PROPERTIES_PROPERTIES_CHANGED_SIGNAL,
	PROPERTIES_NUM_SIGNALS
};
static guint properties_signals[PROPERTIES_NUM_SIGNALS] = {0};
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, gint* result_length1, GError** error);
	ManagerJobInfo* (*list_jobs) (Manager* self, gint* 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, gint names_length1, GError** error);
	void (*unset_environment) (Manager* self, gchar** names, gint names_length1, GError** error);
	gchar** (*get_environment) (Manager* self, gint* 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, gint* result_length1);
	gchar* (*get_following) (Unit* self);
	gchar** (*get_requires) (Unit* self, gint* result_length1);
	gchar** (*get_requires_overridable) (Unit* self, gint* result_length1);
	gchar** (*get_requisite) (Unit* self, gint* result_length1);
	gchar** (*get_requisite_overridable) (Unit* self, gint* result_length1);
	gchar** (*get_wants) (Unit* self, gint* result_length1);
	gchar** (*get_required_by) (Unit* self, gint* result_length1);
	gchar** (*get_required_by_overridable) (Unit* self, gint* result_length1);
	gchar** (*get_wanted_by) (Unit* self, gint* result_length1);
	gchar** (*get_conflicts) (Unit* self, gint* result_length1);
	gchar** (*get_conflicted_by) (Unit* self, gint* result_length1);
	gchar** (*get_before) (Unit* self, gint* result_length1);
	gchar** (*get_after) (Unit* self, gint* result_length1);
	gchar** (*get_on_failure) (Unit* self, gint* 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 * result);
	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, gint* 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 * result);
};

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

VALA_EXTERN GType manager_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint manager_register_object (void* object,
                               GDBusConnection* connection,
                               const gchar* path,
                               GError** error);
VALA_EXTERN GType manager_unit_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ManagerUnitInfo* manager_unit_info_dup (const ManagerUnitInfo* self);
VALA_EXTERN void manager_unit_info_free (ManagerUnitInfo* self);
VALA_EXTERN void manager_unit_info_copy (const ManagerUnitInfo* self,
                             ManagerUnitInfo* dest);
VALA_EXTERN void manager_unit_info_destroy (ManagerUnitInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (ManagerUnitInfo, manager_unit_info_destroy)
VALA_EXTERN GType manager_job_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ManagerJobInfo* manager_job_info_dup (const ManagerJobInfo* self);
VALA_EXTERN void manager_job_info_free (ManagerJobInfo* self);
VALA_EXTERN void manager_job_info_copy (const ManagerJobInfo* self,
                            ManagerJobInfo* dest);
VALA_EXTERN void manager_job_info_destroy (ManagerJobInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (ManagerJobInfo, manager_job_info_destroy)
VALA_EXTERN GType manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Manager, g_object_unref)
VALA_EXTERN ManagerUnitInfo* manager_list_units (Manager* self,
                                     gint* result_length1,
                                     GError** error);
VALA_EXTERN ManagerJobInfo* manager_list_jobs (Manager* self,
                                   gint* result_length1,
                                   GError** error);
VALA_EXTERN char* manager_get_unit (Manager* self,
                        const gchar* name,
                        GError** error);
VALA_EXTERN char* manager_get_unit_by_pid (Manager* self,
                               guint32 pid,
                               GError** error);
VALA_EXTERN char* manager_load_unit (Manager* self,
                         const gchar* name,
                         GError** error);
VALA_EXTERN char* manager_get_job (Manager* self,
                       guint32 id,
                       GError** error);
VALA_EXTERN char* manager_start_unit (Manager* self,
                          const gchar* name,
                          const gchar* mode,
                          GError** error);
VALA_EXTERN char* manager_stop_unit (Manager* self,
                         const gchar* name,
                         const gchar* mode,
                         GError** error);
VALA_EXTERN char* manager_reload_unit (Manager* self,
                           const gchar* name,
                           const gchar* mode,
                           GError** error);
VALA_EXTERN char* manager_restart_unit (Manager* self,
                            const gchar* name,
                            const gchar* mode,
                            GError** error);
VALA_EXTERN char* manager_try_restart_unit (Manager* self,
                                const gchar* name,
                                const gchar* mode,
                                GError** error);
VALA_EXTERN char* manager_reload_or_restart_unit (Manager* self,
                                      const gchar* name,
                                      const gchar* mode,
                                      GError** error);
VALA_EXTERN char* manager_reload_or_try_restart_unit (Manager* self,
                                          const gchar* name,
                                          const gchar* mode,
                                          GError** error);
VALA_EXTERN void manager_reset_failed_unit (Manager* self,
                                const gchar* name,
                                GError** error);
VALA_EXTERN void manager_clear_jobs (Manager* self,
                         GError** error);
VALA_EXTERN void manager_subscribe (Manager* self,
                        GError** error);
VALA_EXTERN void manager_unsubscribe (Manager* self,
                          GError** error);
VALA_EXTERN gchar* manager_dump (Manager* self,
                     GError** error);
VALA_EXTERN void manager_reload (Manager* self,
                     GError** error);
VALA_EXTERN void manager_reexecute (Manager* self,
                        GError** error);
VALA_EXTERN void manager_exit (Manager* self,
                   GError** error);
VALA_EXTERN void manager_halt (Manager* self,
                   GError** error);
VALA_EXTERN void manager_power_off (Manager* self,
                        GError** error);
VALA_EXTERN void manager_reboot (Manager* self,
                     GError** error);
VALA_EXTERN void manager_kexec (Manager* self,
                    GError** error);
VALA_EXTERN char* manager_create_snapshot (Manager* self,
                               const gchar* name,
                               gboolean cleanup,
                               GError** error);
VALA_EXTERN void manager_set_environment (Manager* self,
                              gchar** names,
                              gint names_length1,
                              GError** error);
VALA_EXTERN void manager_unset_environment (Manager* self,
                                gchar** names,
                                gint names_length1,
                                GError** error);
VALA_EXTERN gchar** manager_get_environment (Manager* self,
                                 gint* 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 GType manager_get_type_once (void);
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,
                                           gint* result_length1,
                                           GError** error);
static ManagerJobInfo* manager_proxy_list_jobs (Manager* self,
                                         gint* 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,
                                    gint names_length1,
                                    GError** error);
static void manager_proxy_unset_environment (Manager* self,
                                      gchar** names,
                                      gint names_length1,
                                      GError** error);
static gchar** manager_dbus_proxy_get_environment (Manager* self,
                                            gint* result_length1);
static void manager_proxy_manager_interface_init (ManagerIface* iface);
static void _vala_ManagerUnitInfo_array_free (ManagerUnitInfo * array,
                                       gssize array_length);
static void _dbus_manager_list_units (Manager* self,
                               GVariant* _parameters_,
                               GDBusMethodInvocation* invocation);
static void _vala_ManagerJobInfo_array_free (ManagerJobInfo * array,
                                      gssize 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);
VALA_EXTERN GType unit_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint unit_register_object (void* object,
                            GDBusConnection* connection,
                            const gchar* path,
                            GError** error);
VALA_EXTERN GType unit_job_link_get_type (void) G_GNUC_CONST ;
VALA_EXTERN UnitJobLink* unit_job_link_dup (const UnitJobLink* self);
VALA_EXTERN void unit_job_link_free (UnitJobLink* self);
VALA_EXTERN void unit_job_link_copy (const UnitJobLink* self,
                         UnitJobLink* dest);
VALA_EXTERN void unit_job_link_destroy (UnitJobLink* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (UnitJobLink, unit_job_link_destroy)
VALA_EXTERN GType unit_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Unit, g_object_unref)
VALA_EXTERN char* unit_start (Unit* self,
                  const gchar* mode,
                  GError** error);
VALA_EXTERN char* unit_stop (Unit* self,
                 const gchar* mode,
                 GError** error);
VALA_EXTERN char* unit_reload (Unit* self,
                   const gchar* mode,
                   GError** error);
VALA_EXTERN char* unit_restart (Unit* self,
                    const gchar* mode,
                    GError** error);
VALA_EXTERN char* unit_try_restart (Unit* self,
                        const gchar* mode,
                        GError** error);
VALA_EXTERN char* unit_reload_or_restart (Unit* self,
                              const gchar* mode,
                              GError** error);
VALA_EXTERN char* unit_reload_or_try_restart (Unit* self,
                                  const gchar* mode,
                                  GError** error);
VALA_EXTERN void unit_reset_failed (Unit* self,
                        GError** error);
VALA_EXTERN gchar* unit_get_id (Unit* self);
VALA_EXTERN gchar** unit_get_names (Unit* self,
                        gint* result_length1);
VALA_EXTERN gchar* unit_get_following (Unit* self);
VALA_EXTERN gchar** unit_get_requires (Unit* self,
                           gint* result_length1);
VALA_EXTERN gchar** unit_get_requires_overridable (Unit* self,
                                       gint* result_length1);
VALA_EXTERN gchar** unit_get_requisite (Unit* self,
                            gint* result_length1);
VALA_EXTERN gchar** unit_get_requisite_overridable (Unit* self,
                                        gint* result_length1);
VALA_EXTERN gchar** unit_get_wants (Unit* self,
                        gint* result_length1);
VALA_EXTERN gchar** unit_get_required_by (Unit* self,
                              gint* result_length1);
VALA_EXTERN gchar** unit_get_required_by_overridable (Unit* self,
                                          gint* result_length1);
VALA_EXTERN gchar** unit_get_wanted_by (Unit* self,
                            gint* result_length1);
VALA_EXTERN gchar** unit_get_conflicts (Unit* self,
                            gint* result_length1);
VALA_EXTERN gchar** unit_get_conflicted_by (Unit* self,
                                gint* result_length1);
VALA_EXTERN gchar** unit_get_before (Unit* self,
                         gint* result_length1);
VALA_EXTERN gchar** unit_get_after (Unit* self,
                        gint* result_length1);
VALA_EXTERN gchar** unit_get_on_failure (Unit* self,
                             gint* result_length1);
VALA_EXTERN gchar* unit_get_description (Unit* self);
VALA_EXTERN gchar* unit_get_load_state (Unit* self);
VALA_EXTERN gchar* unit_get_active_state (Unit* self);
VALA_EXTERN gchar* unit_get_sub_state (Unit* self);
VALA_EXTERN gchar* unit_get_fragment_path (Unit* self);
VALA_EXTERN guint64 unit_get_inactive_exit_timestamp (Unit* self);
VALA_EXTERN guint64 unit_get_active_enter_timestamp (Unit* self);
VALA_EXTERN guint64 unit_get_active_exit_timestamp (Unit* self);
VALA_EXTERN guint64 unit_get_inactive_enter_timestamp (Unit* self);
VALA_EXTERN gboolean unit_get_can_start (Unit* self);
VALA_EXTERN gboolean unit_get_can_stop (Unit* self);
VALA_EXTERN gboolean unit_get_can_reload (Unit* self);
VALA_EXTERN void unit_get_job (Unit* self,
                   UnitJobLink * result);
VALA_EXTERN gboolean unit_get_recursive_stop (Unit* self);
VALA_EXTERN gboolean unit_get_stop_when_unneeded (Unit* self);
VALA_EXTERN gboolean unit_get_refuse_manual_start (Unit* self);
VALA_EXTERN gboolean unit_get_refuse_manual_stop (Unit* self);
VALA_EXTERN gboolean unit_get_default_dependencies (Unit* self);
VALA_EXTERN gchar* unit_get_default_control_group (Unit* self);
VALA_EXTERN gchar** unit_get_control_groups (Unit* self,
                                 gint* result_length1);
VALA_EXTERN gboolean unit_get_need_daemon_reload (Unit* self);
VALA_EXTERN guint64 unit_get_job_timeout_usec (Unit* self);
static GType unit_get_type_once (void);
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,
                                   gint* result_length1);
static gchar* unit_dbus_proxy_get_following (Unit* self);
static gchar** unit_dbus_proxy_get_requires (Unit* self,
                                      gint* result_length1);
static gchar** unit_dbus_proxy_get_requires_overridable (Unit* self,
                                                  gint* result_length1);
static gchar** unit_dbus_proxy_get_requisite (Unit* self,
                                       gint* result_length1);
static gchar** unit_dbus_proxy_get_requisite_overridable (Unit* self,
                                                   gint* result_length1);
static gchar** unit_dbus_proxy_get_wants (Unit* self,
                                   gint* result_length1);
static gchar** unit_dbus_proxy_get_required_by (Unit* self,
                                         gint* result_length1);
static gchar** unit_dbus_proxy_get_required_by_overridable (Unit* self,
                                                     gint* result_length1);
static gchar** unit_dbus_proxy_get_wanted_by (Unit* self,
                                       gint* result_length1);
static gchar** unit_dbus_proxy_get_conflicts (Unit* self,
                                       gint* result_length1);
static gchar** unit_dbus_proxy_get_conflicted_by (Unit* self,
                                           gint* result_length1);
static gchar** unit_dbus_proxy_get_before (Unit* self,
                                    gint* result_length1);
static gchar** unit_dbus_proxy_get_after (Unit* self,
                                   gint* result_length1);
static gchar** unit_dbus_proxy_get_on_failure (Unit* self,
                                        gint* 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,
                                            gint* 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);
VALA_EXTERN GType job_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint job_register_object (void* object,
                           GDBusConnection* connection,
                           const gchar* path,
                           GError** error);
VALA_EXTERN GType job_unit_link_get_type (void) G_GNUC_CONST ;
VALA_EXTERN JobUnitLink* job_unit_link_dup (const JobUnitLink* self);
VALA_EXTERN void job_unit_link_free (JobUnitLink* self);
VALA_EXTERN void job_unit_link_copy (const JobUnitLink* self,
                         JobUnitLink* dest);
VALA_EXTERN void job_unit_link_destroy (JobUnitLink* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (JobUnitLink, job_unit_link_destroy)
VALA_EXTERN GType job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Job, g_object_unref)
VALA_EXTERN void job_cancel (Job* self,
                 GError** error);
VALA_EXTERN guint32 job_get_id (Job* self);
VALA_EXTERN gchar* job_get_state (Job* self);
VALA_EXTERN gchar* job_get_job_type (Job* self);
VALA_EXTERN void job_get_unit (Job* self,
                   JobUnitLink * result);
static GType job_get_type_once (void);
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);
VALA_EXTERN GType properties_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint properties_register_object (void* object,
                                  GDBusConnection* connection,
                                  const gchar* path,
                                  GError** error);
VALA_EXTERN GType properties_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Properties, g_object_unref)
VALA_EXTERN 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 GType properties_get_type_once (void);
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,
                                          gint invalidated_properties_length1,
                                          gpointer* _data);
static void _properties_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static const GDBusArgInfo _manager_dbus_arg_info_list_units_result = {-1, "result", "a(ssssssouso)", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_list_jobs_result = {-1, "result", "a(usssoo)", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_by_pid_pid = {-1, "pid", "u", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_unit_by_pid_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_load_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_load_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_job_id = {-1, "id", "u", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_get_job_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_start_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_stop_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_restart_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_try_restart_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_restart_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reload_or_try_restart_unit_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_reset_failed_unit_name = {-1, "name", "s", NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_dump_result = {-1, "result", "s", NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_name = {-1, "name", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_cleanup = {-1, "cleanup", "b", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_create_snapshot_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_set_environment_names = {-1, "names", "as", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_unset_environment_names = {-1, "names", "as", NULL};
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), NULL};
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", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_unit_new_path = {-1, "path", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_unit_removed_id = {-1, "id", "s", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_unit_removed_path = {-1, "path", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_job_new_id = {-1, "id", "u", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_job_new_path = {-1, "path", "o", NULL};
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), NULL};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_id = {-1, "id", "u", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_path = {-1, "path", "o", NULL};
static const GDBusArgInfo _manager_dbus_arg_info_job_removed_res = {-1, "res", "s", NULL};
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), NULL};
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, NULL};
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), NULL};
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", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_start_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_stop_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_stop_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_restart_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_restart_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_try_restart_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_try_restart_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_restart_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_restart_result = {-1, "result", "o", NULL};
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), NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_try_restart_mode = {-1, "mode", "s", NULL};
static const GDBusArgInfo _unit_dbus_arg_info_reload_or_try_restart_result = {-1, "result", "o", NULL};
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), NULL};
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), NULL};
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, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_names = {-1, "Names", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_following = {-1, "Following", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_requires = {-1, "Requires", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_requires_overridable = {-1, "RequiresOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_requisite = {-1, "Requisite", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_requisite_overridable = {-1, "RequisiteOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_wants = {-1, "Wants", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_required_by = {-1, "RequiredBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_required_by_overridable = {-1, "RequiredByOverridable", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_wanted_by = {-1, "WantedBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_conflicts = {-1, "Conflicts", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_conflicted_by = {-1, "ConflictedBy", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_before = {-1, "Before", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_after = {-1, "After", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_on_failure = {-1, "OnFailure", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_description = {-1, "Description", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_load_state = {-1, "LoadState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_active_state = {-1, "ActiveState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_sub_state = {-1, "SubState", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_fragment_path = {-1, "FragmentPath", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_inactive_exit_timestamp = {-1, "InactiveExitTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_active_enter_timestamp = {-1, "ActiveEnterTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_active_exit_timestamp = {-1, "ActiveExitTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_inactive_enter_timestamp = {-1, "InactiveEnterTimestamp", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_can_start = {-1, "CanStart", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_can_stop = {-1, "CanStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_can_reload = {-1, "CanReload", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_job = {-1, "Job", "(uo)", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_recursive_stop = {-1, "RecursiveStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_stop_when_unneeded = {-1, "StopWhenUnneeded", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_refuse_manual_start = {-1, "RefuseManualStart", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_refuse_manual_stop = {-1, "RefuseManualStop", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_default_dependencies = {-1, "DefaultDependencies", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_default_control_group = {-1, "DefaultControlGroup", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_control_groups = {-1, "ControlGroups", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_need_daemon_reload = {-1, "NeedDaemonReload", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _unit_dbus_property_info_job_timeout_usec = {-1, "JobTimeoutUsec", "t", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
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), NULL};
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), NULL};
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, NULL};
static const GDBusPropertyInfo _job_dbus_property_info_state = {-1, "State", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _job_dbus_property_info_job_type = {-1, "JobType", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
static const GDBusPropertyInfo _job_dbus_property_info_unit = {-1, "Unit", "(so)", G_DBUS_PROPERTY_INFO_FLAGS_READABLE, NULL};
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), NULL};
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", NULL};
static const GDBusArgInfo _properties_dbus_arg_info_get_property = {-1, "property", "s", NULL};
static const GDBusArgInfo _properties_dbus_arg_info_get_result = {-1, "result", "v", NULL};
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), NULL};
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", NULL};
static const GDBusArgInfo _properties_dbus_arg_info_properties_changed_changed_properties = {-1, "changed_properties", "a{sv}", NULL};
static const GDBusArgInfo _properties_dbus_arg_info_properties_changed_invalidated_properties = {-1, "invalidated_properties", "as", NULL};
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), NULL};
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), NULL};
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,
                    gint* result_length1,
                    GError** error)
{
	ManagerIface* _iface_;
#line 47 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 47 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 47 "src/systemd-interfaces.vala"
	if (_iface_->list_units) {
#line 47 "src/systemd-interfaces.vala"
		return _iface_->list_units (self, result_length1, error);
#line 1250 "systemd-interfaces.c"
	}
#line 47 "src/systemd-interfaces.vala"
	return NULL;
#line 1254 "systemd-interfaces.c"
}

ManagerJobInfo*
manager_list_jobs (Manager* self,
                   gint* result_length1,
                   GError** error)
{
	ManagerIface* _iface_;
#line 48 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 48 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 48 "src/systemd-interfaces.vala"
	if (_iface_->list_jobs) {
#line 48 "src/systemd-interfaces.vala"
		return _iface_->list_jobs (self, result_length1, error);
#line 1271 "systemd-interfaces.c"
	}
#line 48 "src/systemd-interfaces.vala"
	return NULL;
#line 1275 "systemd-interfaces.c"
}

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

char*
manager_get_unit_by_pid (Manager* self,
                         guint32 pid,
                         GError** error)
{
	ManagerIface* _iface_;
#line 51 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 51 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 51 "src/systemd-interfaces.vala"
	if (_iface_->get_unit_by_pid) {
#line 51 "src/systemd-interfaces.vala"
		return _iface_->get_unit_by_pid (self, pid, error);
#line 1313 "systemd-interfaces.c"
	}
#line 51 "src/systemd-interfaces.vala"
	return NULL;
#line 1317 "systemd-interfaces.c"
}

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

char*
manager_get_job (Manager* self,
                 guint32 id,
                 GError** error)
{
	ManagerIface* _iface_;
#line 53 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 53 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 53 "src/systemd-interfaces.vala"
	if (_iface_->get_job) {
#line 53 "src/systemd-interfaces.vala"
		return _iface_->get_job (self, id, error);
#line 1355 "systemd-interfaces.c"
	}
#line 53 "src/systemd-interfaces.vala"
	return NULL;
#line 1359 "systemd-interfaces.c"
}

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

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

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

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

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

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

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

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

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

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

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

gchar*
manager_dump (Manager* self,
              GError** error)
{
	ManagerIface* _iface_;
#line 70 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 70 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 70 "src/systemd-interfaces.vala"
	if (_iface_->dump) {
#line 70 "src/systemd-interfaces.vala"
		return _iface_->dump (self, error);
#line 1598 "systemd-interfaces.c"
	}
#line 70 "src/systemd-interfaces.vala"
	return NULL;
#line 1602 "systemd-interfaces.c"
}

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

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

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

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

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

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

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

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

void
manager_set_environment (Manager* self,
                         gchar** names,
                         gint names_length1,
                         GError** error)
{
	ManagerIface* _iface_;
#line 82 "src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 82 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 82 "src/systemd-interfaces.vala"
	if (_iface_->set_environment) {
#line 82 "src/systemd-interfaces.vala"
		_iface_->set_environment (self, names, names_length1, error);
#line 1761 "systemd-interfaces.c"
	}
}

void
manager_unset_environment (Manager* self,
                           gchar** names,
                           gint names_length1,
                           GError** error)
{
	ManagerIface* _iface_;
#line 83 "src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 83 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 83 "src/systemd-interfaces.vala"
	if (_iface_->unset_environment) {
#line 83 "src/systemd-interfaces.vala"
		_iface_->unset_environment (self, names, names_length1, error);
#line 1780 "systemd-interfaces.c"
	}
}

gchar**
manager_get_environment (Manager* self,
                         gint* result_length1)
{
	ManagerIface* _iface_;
#line 45 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 45 "src/systemd-interfaces.vala"
	_iface_ = MANAGER_GET_INTERFACE (self);
#line 45 "src/systemd-interfaces.vala"
	if (_iface_->get_environment) {
#line 45 "src/systemd-interfaces.vala"
		return _iface_->get_environment (self, result_length1);
#line 1797 "systemd-interfaces.c"
	}
#line 45 "src/systemd-interfaces.vala"
	return NULL;
#line 1801 "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, const char* arg_2, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 21 "src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 3);
#line 21 "src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1826 "systemd-interfaces.c"
	} else {
#line 21 "src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1832 "systemd-interfaces.c"
	}
#line 21 "src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "src/systemd-interfaces.vala"
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), data2);
#line 1838 "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, const char* arg_2, gpointer data2);
	register GMarshalFunc_VOID__UINT_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 21 "src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 3);
#line 21 "src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1863 "systemd-interfaces.c"
	} else {
#line 21 "src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1869 "systemd-interfaces.c"
	}
#line 21 "src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__UINT_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "src/systemd-interfaces.vala"
	callback (data1, g_value_get_uint (param_values + 1), g_value_get_string (param_values + 2), data2);
#line 1875 "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, const char* 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 "src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 4);
#line 21 "src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 21 "src/systemd-interfaces.vala"
		data1 = closure->data;
#line 21 "src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 1900 "systemd-interfaces.c"
	} else {
#line 21 "src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 21 "src/systemd-interfaces.vala"
		data2 = closure->data;
#line 1906 "systemd-interfaces.c"
	}
#line 21 "src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__UINT_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
#line 21 "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 1912 "systemd-interfaces.c"
}

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

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

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

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

static GType
manager_unit_info_get_type_once (void)
{
	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);
	return manager_unit_info_type_id;
}

GType
manager_unit_info_get_type (void)
{
	static volatile gsize manager_unit_info_type_id__once = 0;
	if (g_once_init_enter (&manager_unit_info_type_id__once)) {
		GType manager_unit_info_type_id;
		manager_unit_info_type_id = manager_unit_info_get_type_once ();
		g_once_init_leave (&manager_unit_info_type_id__once, manager_unit_info_type_id);
	}
	return manager_unit_info_type_id__once;
}

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

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

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

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

static GType
manager_job_info_get_type_once (void)
{
	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);
	return manager_job_info_type_id;
}

GType
manager_job_info_get_type (void)
{
	static volatile gsize manager_job_info_type_id__once = 0;
	if (g_once_init_enter (&manager_job_info_type_id__once)) {
		GType manager_job_info_type_id;
		manager_job_info_type_id = manager_job_info_get_type_once ();
		g_once_init_leave (&manager_job_info_type_id__once, manager_job_info_type_id);
	}
	return manager_job_info_type_id__once;
}

static void
manager_default_init (ManagerIface * iface,
                      gpointer iface_data)
{
#line 21 "src/systemd-interfaces.vala"
	manager_signals[MANAGER_UNIT_NEW_SIGNAL] = 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 "src/systemd-interfaces.vala"
	manager_signals[MANAGER_UNIT_REMOVED_SIGNAL] = 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 "src/systemd-interfaces.vala"
	manager_signals[MANAGER_JOB_NEW_SIGNAL] = 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 "src/systemd-interfaces.vala"
	manager_signals[MANAGER_JOB_REMOVED_SIGNAL] = 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 2211 "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/>.
***/
static GType
manager_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ManagerIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) manager_default_init, (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_dbus_proxy_get_type ());
	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-interface-info"), (void*) (&_manager_dbus_interface_info));
	g_type_set_qdata (manager_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) manager_register_object);
	return manager_type_id;
}

GType
manager_get_type (void)
{
	static volatile gsize manager_type_id__once = 0;
	if (g_once_init_enter (&manager_type_id__once)) {
		GType manager_type_id;
		manager_type_id = manager_get_type_once ();
		g_once_init_leave (&manager_type_id__once, manager_type_id);
	}
	return manager_type_id__once;
}

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)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_manager_dbus_interface_info));
}

static ManagerUnitInfo*
manager_proxy_list_units (Manager* self,
                          gint* result_length1,
                          GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	ManagerUnitInfo* _result = NULL;
	gint _result_length1;
	GVariant* _tmp9_;
	ManagerUnitInfo* _tmp10_;
	gint _tmp10__length;
	gint _tmp10__size;
	gint _tmp10__length1;
	GVariantIter _tmp11_;
	GVariant* _tmp12_;
	G_DBUS_ERROR;
	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,
                         gint* result_length1,
                         GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	ManagerJobInfo* _result = NULL;
	gint _result_length1;
	GVariant* _tmp25_;
	ManagerJobInfo* _tmp26_;
	gint _tmp26__length;
	gint _tmp26__size;
	gint _tmp26__length1;
	GVariantIter _tmp27_;
	GVariant* _tmp28_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp37_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp38_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp39_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp40_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp41_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp42_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp43_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp44_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp45_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp46_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp47_;
	G_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp48_;
	G_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp49_;
	G_DBUS_ERROR;
	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,
                               gint names_length1,
                               GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp50_;
	GVariantBuilder _tmp51_;
	gint _tmp52_;
	GDBusMessage *_reply_message;
	G_DBUS_ERROR;
	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,
                                 gint names_length1,
                                 GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	gchar** _tmp53_;
	GVariantBuilder _tmp54_;
	gint _tmp55_;
	GDBusMessage *_reply_message;
	G_DBUS_ERROR;
	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,
                                    gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp56_;
	gint _tmp56__length;
	gint _tmp56__size;
	gint _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,
                                  gssize array_length)
{
	if (array != NULL) {
		gssize 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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	ManagerUnitInfo* result;
	gint result_length1 = 0;
	ManagerUnitInfo* _tmp59_;
	GVariantBuilder _tmp60_;
	gint _tmp61_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = manager_list_units (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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,
                                 gssize array_length)
{
	if (array != NULL) {
		gssize 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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	ManagerJobInfo* result;
	gint result_length1 = 0;
	ManagerJobInfo* _tmp63_;
	GVariantBuilder _tmp64_;
	gint _tmp65_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = manager_list_jobs (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	;
}

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 = NULL;
	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_take_error (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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	;
}

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 = NULL;
	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_take_error (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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	_g_free0 (mode);
	;
}

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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	;
}

static void
_dbus_manager_clear_jobs (Manager* self,
                          GVariant* _parameters_,
                          GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_clear_jobs (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_subscribe (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_unsubscribe (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	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_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_reload (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_reexecute (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_exit (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_halt (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_power_off (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_reboot (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	manager_kexec (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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 = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (name);
	;
}

static void
_dbus_manager_set_environment (Manager* self,
                               GVariant* _parameters_,
                               GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar** names = NULL;
	gint names_length1 = 0;
	GVariant* _tmp88_;
	gchar** _tmp89_;
	gint _tmp89__length;
	gint _tmp89__size;
	gint _tmp89__length1;
	GVariantIter _tmp90_;
	GVariant* _tmp91_;
	GDBusMessage* _reply_message = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL);
	;
}

static void
_dbus_manager_unset_environment (Manager* self,
                                 GVariant* _parameters_,
                                 GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar** names = NULL;
	gint names_length1 = 0;
	GVariant* _tmp92_;
	gchar** _tmp93_;
	gint _tmp93__length;
	gint _tmp93__size;
	gint _tmp93__length1;
	GVariantIter _tmp94_;
	GVariant* _tmp95_;
	GDBusMessage* _reply_message = NULL;
	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_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL);
	;
}

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;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp96_;
	GVariantBuilder _tmp97_;
	gint _tmp98_;
	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)
{
	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)
{
	UnitIface* _iface_;
#line 137 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 137 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 137 "src/systemd-interfaces.vala"
	if (_iface_->start) {
#line 137 "src/systemd-interfaces.vala"
		return _iface_->start (self, mode, error);
#line 4797 "systemd-interfaces.c"
	}
#line 137 "src/systemd-interfaces.vala"
	return NULL;
#line 4801 "systemd-interfaces.c"
}

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

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

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

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

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

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

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

gchar*
unit_get_id (Unit* self)
{
	UnitIface* _iface_;
#line 98 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 98 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 98 "src/systemd-interfaces.vala"
	if (_iface_->get_id) {
#line 98 "src/systemd-interfaces.vala"
		return _iface_->get_id (self);
#line 4959 "systemd-interfaces.c"
	}
#line 98 "src/systemd-interfaces.vala"
	return NULL;
#line 4963 "systemd-interfaces.c"
}

gchar**
unit_get_names (Unit* self,
                gint* result_length1)
{
	UnitIface* _iface_;
#line 99 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 99 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 99 "src/systemd-interfaces.vala"
	if (_iface_->get_names) {
#line 99 "src/systemd-interfaces.vala"
		return _iface_->get_names (self, result_length1);
#line 4979 "systemd-interfaces.c"
	}
#line 99 "src/systemd-interfaces.vala"
	return NULL;
#line 4983 "systemd-interfaces.c"
}

gchar*
unit_get_following (Unit* self)
{
	UnitIface* _iface_;
#line 100 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 100 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 100 "src/systemd-interfaces.vala"
	if (_iface_->get_following) {
#line 100 "src/systemd-interfaces.vala"
		return _iface_->get_following (self);
#line 4998 "systemd-interfaces.c"
	}
#line 100 "src/systemd-interfaces.vala"
	return NULL;
#line 5002 "systemd-interfaces.c"
}

gchar**
unit_get_requires (Unit* self,
                   gint* result_length1)
{
	UnitIface* _iface_;
#line 101 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 101 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 101 "src/systemd-interfaces.vala"
	if (_iface_->get_requires) {
#line 101 "src/systemd-interfaces.vala"
		return _iface_->get_requires (self, result_length1);
#line 5018 "systemd-interfaces.c"
	}
#line 101 "src/systemd-interfaces.vala"
	return NULL;
#line 5022 "systemd-interfaces.c"
}

gchar**
unit_get_requires_overridable (Unit* self,
                               gint* result_length1)
{
	UnitIface* _iface_;
#line 102 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 102 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 102 "src/systemd-interfaces.vala"
	if (_iface_->get_requires_overridable) {
#line 102 "src/systemd-interfaces.vala"
		return _iface_->get_requires_overridable (self, result_length1);
#line 5038 "systemd-interfaces.c"
	}
#line 102 "src/systemd-interfaces.vala"
	return NULL;
#line 5042 "systemd-interfaces.c"
}

gchar**
unit_get_requisite (Unit* self,
                    gint* result_length1)
{
	UnitIface* _iface_;
#line 103 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 103 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 103 "src/systemd-interfaces.vala"
	if (_iface_->get_requisite) {
#line 103 "src/systemd-interfaces.vala"
		return _iface_->get_requisite (self, result_length1);
#line 5058 "systemd-interfaces.c"
	}
#line 103 "src/systemd-interfaces.vala"
	return NULL;
#line 5062 "systemd-interfaces.c"
}

gchar**
unit_get_requisite_overridable (Unit* self,
                                gint* result_length1)
{
	UnitIface* _iface_;
#line 104 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 104 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 104 "src/systemd-interfaces.vala"
	if (_iface_->get_requisite_overridable) {
#line 104 "src/systemd-interfaces.vala"
		return _iface_->get_requisite_overridable (self, result_length1);
#line 5078 "systemd-interfaces.c"
	}
#line 104 "src/systemd-interfaces.vala"
	return NULL;
#line 5082 "systemd-interfaces.c"
}

gchar**
unit_get_wants (Unit* self,
                gint* result_length1)
{
	UnitIface* _iface_;
#line 105 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 105 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 105 "src/systemd-interfaces.vala"
	if (_iface_->get_wants) {
#line 105 "src/systemd-interfaces.vala"
		return _iface_->get_wants (self, result_length1);
#line 5098 "systemd-interfaces.c"
	}
#line 105 "src/systemd-interfaces.vala"
	return NULL;
#line 5102 "systemd-interfaces.c"
}

gchar**
unit_get_required_by (Unit* self,
                      gint* result_length1)
{
	UnitIface* _iface_;
#line 106 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 106 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 106 "src/systemd-interfaces.vala"
	if (_iface_->get_required_by) {
#line 106 "src/systemd-interfaces.vala"
		return _iface_->get_required_by (self, result_length1);
#line 5118 "systemd-interfaces.c"
	}
#line 106 "src/systemd-interfaces.vala"
	return NULL;
#line 5122 "systemd-interfaces.c"
}

gchar**
unit_get_required_by_overridable (Unit* self,
                                  gint* result_length1)
{
	UnitIface* _iface_;
#line 107 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 107 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 107 "src/systemd-interfaces.vala"
	if (_iface_->get_required_by_overridable) {
#line 107 "src/systemd-interfaces.vala"
		return _iface_->get_required_by_overridable (self, result_length1);
#line 5138 "systemd-interfaces.c"
	}
#line 107 "src/systemd-interfaces.vala"
	return NULL;
#line 5142 "systemd-interfaces.c"
}

gchar**
unit_get_wanted_by (Unit* self,
                    gint* result_length1)
{
	UnitIface* _iface_;
#line 108 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 108 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 108 "src/systemd-interfaces.vala"
	if (_iface_->get_wanted_by) {
#line 108 "src/systemd-interfaces.vala"
		return _iface_->get_wanted_by (self, result_length1);
#line 5158 "systemd-interfaces.c"
	}
#line 108 "src/systemd-interfaces.vala"
	return NULL;
#line 5162 "systemd-interfaces.c"
}

gchar**
unit_get_conflicts (Unit* self,
                    gint* result_length1)
{
	UnitIface* _iface_;
#line 109 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 109 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 109 "src/systemd-interfaces.vala"
	if (_iface_->get_conflicts) {
#line 109 "src/systemd-interfaces.vala"
		return _iface_->get_conflicts (self, result_length1);
#line 5178 "systemd-interfaces.c"
	}
#line 109 "src/systemd-interfaces.vala"
	return NULL;
#line 5182 "systemd-interfaces.c"
}

gchar**
unit_get_conflicted_by (Unit* self,
                        gint* result_length1)
{
	UnitIface* _iface_;
#line 110 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 110 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 110 "src/systemd-interfaces.vala"
	if (_iface_->get_conflicted_by) {
#line 110 "src/systemd-interfaces.vala"
		return _iface_->get_conflicted_by (self, result_length1);
#line 5198 "systemd-interfaces.c"
	}
#line 110 "src/systemd-interfaces.vala"
	return NULL;
#line 5202 "systemd-interfaces.c"
}

gchar**
unit_get_before (Unit* self,
                 gint* result_length1)
{
	UnitIface* _iface_;
#line 111 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 111 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 111 "src/systemd-interfaces.vala"
	if (_iface_->get_before) {
#line 111 "src/systemd-interfaces.vala"
		return _iface_->get_before (self, result_length1);
#line 5218 "systemd-interfaces.c"
	}
#line 111 "src/systemd-interfaces.vala"
	return NULL;
#line 5222 "systemd-interfaces.c"
}

gchar**
unit_get_after (Unit* self,
                gint* result_length1)
{
	UnitIface* _iface_;
#line 112 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 112 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 112 "src/systemd-interfaces.vala"
	if (_iface_->get_after) {
#line 112 "src/systemd-interfaces.vala"
		return _iface_->get_after (self, result_length1);
#line 5238 "systemd-interfaces.c"
	}
#line 112 "src/systemd-interfaces.vala"
	return NULL;
#line 5242 "systemd-interfaces.c"
}

gchar**
unit_get_on_failure (Unit* self,
                     gint* result_length1)
{
	UnitIface* _iface_;
#line 113 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 113 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 113 "src/systemd-interfaces.vala"
	if (_iface_->get_on_failure) {
#line 113 "src/systemd-interfaces.vala"
		return _iface_->get_on_failure (self, result_length1);
#line 5258 "systemd-interfaces.c"
	}
#line 113 "src/systemd-interfaces.vala"
	return NULL;
#line 5262 "systemd-interfaces.c"
}

gchar*
unit_get_description (Unit* self)
{
	UnitIface* _iface_;
#line 114 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 114 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 114 "src/systemd-interfaces.vala"
	if (_iface_->get_description) {
#line 114 "src/systemd-interfaces.vala"
		return _iface_->get_description (self);
#line 5277 "systemd-interfaces.c"
	}
#line 114 "src/systemd-interfaces.vala"
	return NULL;
#line 5281 "systemd-interfaces.c"
}

gchar*
unit_get_load_state (Unit* self)
{
	UnitIface* _iface_;
#line 115 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 115 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 115 "src/systemd-interfaces.vala"
	if (_iface_->get_load_state) {
#line 115 "src/systemd-interfaces.vala"
		return _iface_->get_load_state (self);
#line 5296 "systemd-interfaces.c"
	}
#line 115 "src/systemd-interfaces.vala"
	return NULL;
#line 5300 "systemd-interfaces.c"
}

gchar*
unit_get_active_state (Unit* self)
{
	UnitIface* _iface_;
#line 116 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 116 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 116 "src/systemd-interfaces.vala"
	if (_iface_->get_active_state) {
#line 116 "src/systemd-interfaces.vala"
		return _iface_->get_active_state (self);
#line 5315 "systemd-interfaces.c"
	}
#line 116 "src/systemd-interfaces.vala"
	return NULL;
#line 5319 "systemd-interfaces.c"
}

gchar*
unit_get_sub_state (Unit* self)
{
	UnitIface* _iface_;
#line 117 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 117 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 117 "src/systemd-interfaces.vala"
	if (_iface_->get_sub_state) {
#line 117 "src/systemd-interfaces.vala"
		return _iface_->get_sub_state (self);
#line 5334 "systemd-interfaces.c"
	}
#line 117 "src/systemd-interfaces.vala"
	return NULL;
#line 5338 "systemd-interfaces.c"
}

gchar*
unit_get_fragment_path (Unit* self)
{
	UnitIface* _iface_;
#line 118 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 118 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 118 "src/systemd-interfaces.vala"
	if (_iface_->get_fragment_path) {
#line 118 "src/systemd-interfaces.vala"
		return _iface_->get_fragment_path (self);
#line 5353 "systemd-interfaces.c"
	}
#line 118 "src/systemd-interfaces.vala"
	return NULL;
#line 5357 "systemd-interfaces.c"
}

guint64
unit_get_inactive_exit_timestamp (Unit* self)
{
	UnitIface* _iface_;
#line 119 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 119 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 119 "src/systemd-interfaces.vala"
	if (_iface_->get_inactive_exit_timestamp) {
#line 119 "src/systemd-interfaces.vala"
		return _iface_->get_inactive_exit_timestamp (self);
#line 5372 "systemd-interfaces.c"
	}
#line 119 "src/systemd-interfaces.vala"
	return 0ULL;
#line 5376 "systemd-interfaces.c"
}

guint64
unit_get_active_enter_timestamp (Unit* self)
{
	UnitIface* _iface_;
#line 120 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 120 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 120 "src/systemd-interfaces.vala"
	if (_iface_->get_active_enter_timestamp) {
#line 120 "src/systemd-interfaces.vala"
		return _iface_->get_active_enter_timestamp (self);
#line 5391 "systemd-interfaces.c"
	}
#line 120 "src/systemd-interfaces.vala"
	return 0ULL;
#line 5395 "systemd-interfaces.c"
}

guint64
unit_get_active_exit_timestamp (Unit* self)
{
	UnitIface* _iface_;
#line 121 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 121 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 121 "src/systemd-interfaces.vala"
	if (_iface_->get_active_exit_timestamp) {
#line 121 "src/systemd-interfaces.vala"
		return _iface_->get_active_exit_timestamp (self);
#line 5410 "systemd-interfaces.c"
	}
#line 121 "src/systemd-interfaces.vala"
	return 0ULL;
#line 5414 "systemd-interfaces.c"
}

guint64
unit_get_inactive_enter_timestamp (Unit* self)
{
	UnitIface* _iface_;
#line 122 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 122 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 122 "src/systemd-interfaces.vala"
	if (_iface_->get_inactive_enter_timestamp) {
#line 122 "src/systemd-interfaces.vala"
		return _iface_->get_inactive_enter_timestamp (self);
#line 5429 "systemd-interfaces.c"
	}
#line 122 "src/systemd-interfaces.vala"
	return 0ULL;
#line 5433 "systemd-interfaces.c"
}

gboolean
unit_get_can_start (Unit* self)
{
	UnitIface* _iface_;
#line 123 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 123 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 123 "src/systemd-interfaces.vala"
	if (_iface_->get_can_start) {
#line 123 "src/systemd-interfaces.vala"
		return _iface_->get_can_start (self);
#line 5448 "systemd-interfaces.c"
	}
#line 123 "src/systemd-interfaces.vala"
	return FALSE;
#line 5452 "systemd-interfaces.c"
}

gboolean
unit_get_can_stop (Unit* self)
{
	UnitIface* _iface_;
#line 124 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 124 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 124 "src/systemd-interfaces.vala"
	if (_iface_->get_can_stop) {
#line 124 "src/systemd-interfaces.vala"
		return _iface_->get_can_stop (self);
#line 5467 "systemd-interfaces.c"
	}
#line 124 "src/systemd-interfaces.vala"
	return FALSE;
#line 5471 "systemd-interfaces.c"
}

gboolean
unit_get_can_reload (Unit* self)
{
	UnitIface* _iface_;
#line 125 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 125 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 125 "src/systemd-interfaces.vala"
	if (_iface_->get_can_reload) {
#line 125 "src/systemd-interfaces.vala"
		return _iface_->get_can_reload (self);
#line 5486 "systemd-interfaces.c"
	}
#line 125 "src/systemd-interfaces.vala"
	return FALSE;
#line 5490 "systemd-interfaces.c"
}

void
unit_get_job (Unit* self,
              UnitJobLink * result)
{
	UnitIface* _iface_;
#line 126 "src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 126 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 126 "src/systemd-interfaces.vala"
	if (_iface_->get_job) {
#line 126 "src/systemd-interfaces.vala"
		_iface_->get_job (self, result);
#line 5506 "systemd-interfaces.c"
	}
#line 126 "src/systemd-interfaces.vala"
	return;
#line 5510 "systemd-interfaces.c"
}

gboolean
unit_get_recursive_stop (Unit* self)
{
	UnitIface* _iface_;
#line 127 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 127 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 127 "src/systemd-interfaces.vala"
	if (_iface_->get_recursive_stop) {
#line 127 "src/systemd-interfaces.vala"
		return _iface_->get_recursive_stop (self);
#line 5525 "systemd-interfaces.c"
	}
#line 127 "src/systemd-interfaces.vala"
	return FALSE;
#line 5529 "systemd-interfaces.c"
}

gboolean
unit_get_stop_when_unneeded (Unit* self)
{
	UnitIface* _iface_;
#line 128 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 128 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 128 "src/systemd-interfaces.vala"
	if (_iface_->get_stop_when_unneeded) {
#line 128 "src/systemd-interfaces.vala"
		return _iface_->get_stop_when_unneeded (self);
#line 5544 "systemd-interfaces.c"
	}
#line 128 "src/systemd-interfaces.vala"
	return FALSE;
#line 5548 "systemd-interfaces.c"
}

gboolean
unit_get_refuse_manual_start (Unit* self)
{
	UnitIface* _iface_;
#line 129 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 129 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 129 "src/systemd-interfaces.vala"
	if (_iface_->get_refuse_manual_start) {
#line 129 "src/systemd-interfaces.vala"
		return _iface_->get_refuse_manual_start (self);
#line 5563 "systemd-interfaces.c"
	}
#line 129 "src/systemd-interfaces.vala"
	return FALSE;
#line 5567 "systemd-interfaces.c"
}

gboolean
unit_get_refuse_manual_stop (Unit* self)
{
	UnitIface* _iface_;
#line 130 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 130 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 130 "src/systemd-interfaces.vala"
	if (_iface_->get_refuse_manual_stop) {
#line 130 "src/systemd-interfaces.vala"
		return _iface_->get_refuse_manual_stop (self);
#line 5582 "systemd-interfaces.c"
	}
#line 130 "src/systemd-interfaces.vala"
	return FALSE;
#line 5586 "systemd-interfaces.c"
}

gboolean
unit_get_default_dependencies (Unit* self)
{
	UnitIface* _iface_;
#line 131 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 131 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 131 "src/systemd-interfaces.vala"
	if (_iface_->get_default_dependencies) {
#line 131 "src/systemd-interfaces.vala"
		return _iface_->get_default_dependencies (self);
#line 5601 "systemd-interfaces.c"
	}
#line 131 "src/systemd-interfaces.vala"
	return FALSE;
#line 5605 "systemd-interfaces.c"
}

gchar*
unit_get_default_control_group (Unit* self)
{
	UnitIface* _iface_;
#line 132 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 132 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 132 "src/systemd-interfaces.vala"
	if (_iface_->get_default_control_group) {
#line 132 "src/systemd-interfaces.vala"
		return _iface_->get_default_control_group (self);
#line 5620 "systemd-interfaces.c"
	}
#line 132 "src/systemd-interfaces.vala"
	return NULL;
#line 5624 "systemd-interfaces.c"
}

gchar**
unit_get_control_groups (Unit* self,
                         gint* result_length1)
{
	UnitIface* _iface_;
#line 133 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 133 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 133 "src/systemd-interfaces.vala"
	if (_iface_->get_control_groups) {
#line 133 "src/systemd-interfaces.vala"
		return _iface_->get_control_groups (self, result_length1);
#line 5640 "systemd-interfaces.c"
	}
#line 133 "src/systemd-interfaces.vala"
	return NULL;
#line 5644 "systemd-interfaces.c"
}

gboolean
unit_get_need_daemon_reload (Unit* self)
{
	UnitIface* _iface_;
#line 134 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 134 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 134 "src/systemd-interfaces.vala"
	if (_iface_->get_need_daemon_reload) {
#line 134 "src/systemd-interfaces.vala"
		return _iface_->get_need_daemon_reload (self);
#line 5659 "systemd-interfaces.c"
	}
#line 134 "src/systemd-interfaces.vala"
	return FALSE;
#line 5663 "systemd-interfaces.c"
}

guint64
unit_get_job_timeout_usec (Unit* self)
{
	UnitIface* _iface_;
#line 135 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0ULL);
#line 135 "src/systemd-interfaces.vala"
	_iface_ = UNIT_GET_INTERFACE (self);
#line 135 "src/systemd-interfaces.vala"
	if (_iface_->get_job_timeout_usec) {
#line 135 "src/systemd-interfaces.vala"
		return _iface_->get_job_timeout_usec (self);
#line 5678 "systemd-interfaces.c"
	}
#line 135 "src/systemd-interfaces.vala"
	return 0ULL;
#line 5682 "systemd-interfaces.c"
}

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

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

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

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

static GType
unit_job_link_get_type_once (void)
{
	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);
	return unit_job_link_type_id;
}

GType
unit_job_link_get_type (void)
{
	static volatile gsize unit_job_link_type_id__once = 0;
	if (g_once_init_enter (&unit_job_link_type_id__once)) {
		GType unit_job_link_type_id;
		unit_job_link_type_id = unit_job_link_get_type_once ();
		g_once_init_leave (&unit_job_link_type_id__once, unit_job_link_type_id);
	}
	return unit_job_link_type_id__once;
}

static void
unit_default_init (UnitIface * iface,
                   gpointer iface_data)
{
}

static GType
unit_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (UnitIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) unit_default_init, (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_dbus_proxy_get_type ());
	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-interface-info"), (void*) (&_unit_dbus_interface_info));
	g_type_set_qdata (unit_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) unit_register_object);
	return unit_type_id;
}

GType
unit_get_type (void)
{
	static volatile gsize unit_type_id__once = 0;
	if (g_once_init_enter (&unit_type_id__once)) {
		GType unit_type_id;
		unit_type_id = unit_get_type_once ();
		g_once_init_leave (&unit_type_id__once, unit_type_id);
	}
	return unit_type_id__once;
}

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)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_unit_dbus_interface_info));
}

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 = NULL;
	GVariant* _tmp99_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp100_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp101_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp102_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp103_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp104_;
	G_DBUS_ERROR;
	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 = NULL;
	GVariant* _tmp105_;
	G_DBUS_ERROR;
	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_DBUS_ERROR;
	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,
                           gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp106_;
	gint _tmp106__length;
	gint _tmp106__size;
	gint _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,
                              gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp109_;
	gint _tmp109__length;
	gint _tmp109__size;
	gint _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,
                                          gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp112_;
	gint _tmp112__length;
	gint _tmp112__size;
	gint _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,
                               gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp115_;
	gint _tmp115__length;
	gint _tmp115__size;
	gint _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,
                                           gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp118_;
	gint _tmp118__length;
	gint _tmp118__size;
	gint _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,
                           gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp121_;
	gint _tmp121__length;
	gint _tmp121__size;
	gint _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,
                                 gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp124_;
	gint _tmp124__length;
	gint _tmp124__size;
	gint _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,
                                             gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp127_;
	gint _tmp127__length;
	gint _tmp127__size;
	gint _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,
                               gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp130_;
	gint _tmp130__length;
	gint _tmp130__size;
	gint _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,
                               gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp133_;
	gint _tmp133__length;
	gint _tmp133__size;
	gint _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,
                                   gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp136_;
	gint _tmp136__length;
	gint _tmp136__size;
	gint _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,
                            gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp139_;
	gint _tmp139__length;
	gint _tmp139__size;
	gint _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,
                           gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp142_;
	gint _tmp142__length;
	gint _tmp142__size;
	gint _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,
                                gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp145_;
	gint _tmp145__length;
	gint _tmp145__size;
	gint _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) {
			guint64 _tmp148_ = 0ULL;
			return _tmp148_;
		}
		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) {
			guint64 _tmp149_ = 0ULL;
			return _tmp149_;
		}
		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) {
			guint64 _tmp150_ = 0ULL;
			return _tmp150_;
		}
		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) {
			guint64 _tmp151_ = 0ULL;
			return _tmp151_;
		}
		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) {
			gboolean _tmp152_ = FALSE;
			return _tmp152_;
		}
		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) {
			gboolean _tmp153_ = FALSE;
			return _tmp153_;
		}
		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) {
			gboolean _tmp154_ = FALSE;
			return _tmp154_;
		}
		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 _tmp155_;
	GVariantIter _tmp156_;
	GVariant* _tmp157_;
	GVariant* _tmp158_;
	_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 (&_tmp156_, _inner_reply);
	_tmp157_ = g_variant_iter_next_value (&_tmp156_);
	_tmp155_.id = g_variant_get_uint32 (_tmp157_);
	g_variant_unref (_tmp157_);
	_tmp158_ = g_variant_iter_next_value (&_tmp156_);
	_tmp155_.path = g_variant_dup_string (_tmp158_, NULL);
	g_variant_unref (_tmp158_);
	*result = _tmp155_;
	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) {
			gboolean _tmp159_ = FALSE;
			return _tmp159_;
		}
		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) {
			gboolean _tmp160_ = FALSE;
			return _tmp160_;
		}
		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) {
			gboolean _tmp161_ = FALSE;
			return _tmp161_;
		}
		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) {
			gboolean _tmp162_ = FALSE;
			return _tmp162_;
		}
		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) {
			gboolean _tmp163_ = FALSE;
			return _tmp163_;
		}
		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,
                                    gint* result_length1)
{
	GVariant *_inner_reply;
	gchar** _result;
	gint _result_length1;
	gchar** _tmp164_;
	gint _tmp164__length;
	gint _tmp164__size;
	gint _tmp164__length1;
	GVariantIter _tmp165_;
	GVariant* _tmp166_;
	_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;
	_tmp164_ = g_new (gchar*, 5);
	_tmp164__length = 0;
	_tmp164__size = 4;
	_tmp164__length1 = 0;
	g_variant_iter_init (&_tmp165_, _inner_reply);
	for (; (_tmp166_ = g_variant_iter_next_value (&_tmp165_)) != NULL; _tmp164__length1++) {
		if (_tmp164__size == _tmp164__length) {
			_tmp164__size = 2 * _tmp164__size;
			_tmp164_ = g_renew (gchar*, _tmp164_, _tmp164__size + 1);
		}
		_tmp164_[_tmp164__length++] = g_variant_dup_string (_tmp166_, NULL);
		g_variant_unref (_tmp166_);
	}
	_result_length1 = _tmp164__length1;
	_tmp164_[_tmp164__length] = NULL;
	_result = _tmp164_;
	*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) {
			gboolean _tmp167_ = FALSE;
			return _tmp167_;
		}
		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) {
			guint64 _tmp168_ = 0ULL;
			return _tmp168_;
		}
		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* _tmp169_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp169_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp169_, NULL);
	g_variant_unref (_tmp169_);
	result = unit_start (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_stop (Unit* self,
                 GVariant* _parameters_,
                 GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp170_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp170_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp170_, NULL);
	g_variant_unref (_tmp170_);
	result = unit_stop (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_reload (Unit* self,
                   GVariant* _parameters_,
                   GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp171_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp171_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp171_, NULL);
	g_variant_unref (_tmp171_);
	result = unit_reload (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_restart (Unit* self,
                    GVariant* _parameters_,
                    GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp172_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp172_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp172_, NULL);
	g_variant_unref (_tmp172_);
	result = unit_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_try_restart (Unit* self,
                        GVariant* _parameters_,
                        GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp173_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp173_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp173_, NULL);
	g_variant_unref (_tmp173_);
	result = unit_try_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_reload_or_restart (Unit* self,
                              GVariant* _parameters_,
                              GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp174_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp174_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp174_, NULL);
	g_variant_unref (_tmp174_);
	result = unit_reload_or_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_reload_or_try_restart (Unit* self,
                                  GVariant* _parameters_,
                                  GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* mode = NULL;
	GVariant* _tmp175_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp175_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_dup_string (_tmp175_, NULL);
	g_variant_unref (_tmp175_);
	result = unit_reload_or_try_restart (self, mode, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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);
	_error:
	_g_free0 (mode);
	;
}

static void
_dbus_unit_reset_failed (Unit* self,
                         GVariant* _parameters_,
                         GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	unit_reset_failed (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp176_;
	GVariantBuilder _tmp177_;
	gint _tmp178_;
	result = unit_get_names (self, &result_length1);
	_tmp176_ = result;
	g_variant_builder_init (&_tmp177_, G_VARIANT_TYPE ("as"));
	for (_tmp178_ = 0; _tmp178_ < result_length1; _tmp178_++) {
		g_variant_builder_add_value (&_tmp177_, g_variant_new_string (*_tmp176_));
		_tmp176_++;
	}
	_reply = g_variant_builder_end (&_tmp177_);
	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;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp179_;
	GVariantBuilder _tmp180_;
	gint _tmp181_;
	result = unit_get_requires (self, &result_length1);
	_tmp179_ = result;
	g_variant_builder_init (&_tmp180_, G_VARIANT_TYPE ("as"));
	for (_tmp181_ = 0; _tmp181_ < result_length1; _tmp181_++) {
		g_variant_builder_add_value (&_tmp180_, g_variant_new_string (*_tmp179_));
		_tmp179_++;
	}
	_reply = g_variant_builder_end (&_tmp180_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}

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

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

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

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

static GVariant*
_dbus_unit_get_required_by (Unit* self)
{
	gchar** result;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp194_;
	GVariantBuilder _tmp195_;
	gint _tmp196_;
	result = unit_get_required_by (self, &result_length1);
	_tmp194_ = result;
	g_variant_builder_init (&_tmp195_, G_VARIANT_TYPE ("as"));
	for (_tmp196_ = 0; _tmp196_ < result_length1; _tmp196_++) {
		g_variant_builder_add_value (&_tmp195_, g_variant_new_string (*_tmp194_));
		_tmp194_++;
	}
	_reply = g_variant_builder_end (&_tmp195_);
	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;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp197_;
	GVariantBuilder _tmp198_;
	gint _tmp199_;
	result = unit_get_required_by_overridable (self, &result_length1);
	_tmp197_ = result;
	g_variant_builder_init (&_tmp198_, G_VARIANT_TYPE ("as"));
	for (_tmp199_ = 0; _tmp199_ < result_length1; _tmp199_++) {
		g_variant_builder_add_value (&_tmp198_, g_variant_new_string (*_tmp197_));
		_tmp197_++;
	}
	_reply = g_variant_builder_end (&_tmp198_);
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	return _reply;
}

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

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

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

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

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

static GVariant*
_dbus_unit_get_on_failure (Unit* self)
{
	gchar** result;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp215_;
	GVariantBuilder _tmp216_;
	gint _tmp217_;
	result = unit_get_on_failure (self, &result_length1);
	_tmp215_ = result;
	g_variant_builder_init (&_tmp216_, G_VARIANT_TYPE ("as"));
	for (_tmp217_ = 0; _tmp217_ < result_length1; _tmp217_++) {
		g_variant_builder_add_value (&_tmp216_, g_variant_new_string (*_tmp215_));
		_tmp215_++;
	}
	_reply = g_variant_builder_end (&_tmp216_);
	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};
	GVariant* _reply;
	GVariantBuilder _tmp218_;
	unit_get_job (self, &result);
	g_variant_builder_init (&_tmp218_, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_tmp218_, g_variant_new_uint32 (result.id));
	g_variant_builder_add_value (&_tmp218_, g_variant_new_object_path (result.path));
	_reply = g_variant_builder_end (&_tmp218_);
	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;
	gint result_length1 = 0;
	GVariant* _reply;
	gchar** _tmp219_;
	GVariantBuilder _tmp220_;
	gint _tmp221_;
	result = unit_get_control_groups (self, &result_length1);
	_tmp219_ = result;
	g_variant_builder_init (&_tmp220_, G_VARIANT_TYPE ("as"));
	for (_tmp221_ = 0; _tmp221_ < result_length1; _tmp221_++) {
		g_variant_builder_add_value (&_tmp220_, g_variant_new_string (*_tmp219_));
		_tmp219_++;
	}
	_reply = g_variant_builder_end (&_tmp220_);
	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)
{
	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)
{
	JobIface* _iface_;
#line 160 "src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 160 "src/systemd-interfaces.vala"
	_iface_ = JOB_GET_INTERFACE (self);
#line 160 "src/systemd-interfaces.vala"
	if (_iface_->cancel) {
#line 160 "src/systemd-interfaces.vala"
		_iface_->cancel (self, error);
#line 8558 "systemd-interfaces.c"
	}
}

guint32
job_get_id (Job* self)
{
	JobIface* _iface_;
#line 155 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, 0U);
#line 155 "src/systemd-interfaces.vala"
	_iface_ = JOB_GET_INTERFACE (self);
#line 155 "src/systemd-interfaces.vala"
	if (_iface_->get_id) {
#line 155 "src/systemd-interfaces.vala"
		return _iface_->get_id (self);
#line 8574 "systemd-interfaces.c"
	}
#line 155 "src/systemd-interfaces.vala"
	return 0U;
#line 8578 "systemd-interfaces.c"
}

gchar*
job_get_state (Job* self)
{
	JobIface* _iface_;
#line 156 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 156 "src/systemd-interfaces.vala"
	_iface_ = JOB_GET_INTERFACE (self);
#line 156 "src/systemd-interfaces.vala"
	if (_iface_->get_state) {
#line 156 "src/systemd-interfaces.vala"
		return _iface_->get_state (self);
#line 8593 "systemd-interfaces.c"
	}
#line 156 "src/systemd-interfaces.vala"
	return NULL;
#line 8597 "systemd-interfaces.c"
}

gchar*
job_get_job_type (Job* self)
{
	JobIface* _iface_;
#line 157 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 157 "src/systemd-interfaces.vala"
	_iface_ = JOB_GET_INTERFACE (self);
#line 157 "src/systemd-interfaces.vala"
	if (_iface_->get_job_type) {
#line 157 "src/systemd-interfaces.vala"
		return _iface_->get_job_type (self);
#line 8612 "systemd-interfaces.c"
	}
#line 157 "src/systemd-interfaces.vala"
	return NULL;
#line 8616 "systemd-interfaces.c"
}

void
job_get_unit (Job* self,
              JobUnitLink * result)
{
	JobIface* _iface_;
#line 158 "src/systemd-interfaces.vala"
	g_return_if_fail (self != NULL);
#line 158 "src/systemd-interfaces.vala"
	_iface_ = JOB_GET_INTERFACE (self);
#line 158 "src/systemd-interfaces.vala"
	if (_iface_->get_unit) {
#line 158 "src/systemd-interfaces.vala"
		_iface_->get_unit (self, result);
#line 8632 "systemd-interfaces.c"
	}
#line 158 "src/systemd-interfaces.vala"
	return;
#line 8636 "systemd-interfaces.c"
}

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

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

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

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

static GType
job_unit_link_get_type_once (void)
{
	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);
	return job_unit_link_type_id;
}

GType
job_unit_link_get_type (void)
{
	static volatile gsize job_unit_link_type_id__once = 0;
	if (g_once_init_enter (&job_unit_link_type_id__once)) {
		GType job_unit_link_type_id;
		job_unit_link_type_id = job_unit_link_get_type_once ();
		g_once_init_leave (&job_unit_link_type_id__once, job_unit_link_type_id);
	}
	return job_unit_link_type_id__once;
}

static void
job_default_init (JobIface * iface,
                  gpointer iface_data)
{
}

static GType
job_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (JobIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) job_default_init, (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_dbus_proxy_get_type ());
	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-interface-info"), (void*) (&_job_dbus_interface_info));
	g_type_set_qdata (job_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) job_register_object);
	return job_type_id;
}

GType
job_get_type (void)
{
	static volatile gsize job_type_id__once = 0;
	if (g_once_init_enter (&job_type_id__once)) {
		GType job_type_id;
		job_type_id = job_get_type_once ();
		g_once_init_leave (&job_type_id__once, job_type_id);
	}
	return job_type_id__once;
}

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)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_job_dbus_interface_info));
}

static void
job_proxy_cancel (Job* self,
                  GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	G_DBUS_ERROR;
	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) {
			guint32 _tmp222_ = 0U;
			return _tmp222_;
		}
		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 _tmp223_;
	GVariantIter _tmp224_;
	GVariant* _tmp225_;
	GVariant* _tmp226_;
	_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 (&_tmp224_, _inner_reply);
	_tmp225_ = g_variant_iter_next_value (&_tmp224_);
	_tmp223_.id = g_variant_dup_string (_tmp225_, NULL);
	g_variant_unref (_tmp225_);
	_tmp226_ = g_variant_iter_next_value (&_tmp224_);
	_tmp223_.path = g_variant_dup_string (_tmp226_, NULL);
	g_variant_unref (_tmp226_);
	*result = _tmp223_;
	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 = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	job_cancel (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (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};
	GVariant* _reply;
	GVariantBuilder _tmp227_;
	job_get_unit (self, &result);
	g_variant_builder_init (&_tmp227_, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_tmp227_, g_variant_new_string (result.id));
	g_variant_builder_add_value (&_tmp227_, g_variant_new_object_path (result.path));
	_reply = g_variant_builder_end (&_tmp227_);
	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)
{
	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)
{
	PropertiesIface* _iface_;
#line 165 "src/systemd-interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 165 "src/systemd-interfaces.vala"
	_iface_ = PROPERTIES_GET_INTERFACE (self);
#line 165 "src/systemd-interfaces.vala"
	if (_iface_->get) {
#line 165 "src/systemd-interfaces.vala"
		return _iface_->get (self, iface, property, error);
#line 9100 "systemd-interfaces.c"
	}
#line 165 "src/systemd-interfaces.vala"
	return NULL;
#line 9104 "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 "src/systemd-interfaces.vala"
	g_return_if_fail (n_param_values == 5);
#line 164 "src/systemd-interfaces.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 164 "src/systemd-interfaces.vala"
		data1 = closure->data;
#line 164 "src/systemd-interfaces.vala"
		data2 = param_values->data[0].v_pointer;
#line 9129 "systemd-interfaces.c"
	} else {
#line 164 "src/systemd-interfaces.vala"
		data1 = param_values->data[0].v_pointer;
#line 164 "src/systemd-interfaces.vala"
		data2 = closure->data;
#line 9135 "systemd-interfaces.c"
	}
#line 164 "src/systemd-interfaces.vala"
	callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (marshal_data ? marshal_data : cc->callback);
#line 164 "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 9141 "systemd-interfaces.c"
}

static void
properties_default_init (PropertiesIface * iface,
                         gpointer iface_data)
{
#line 164 "src/systemd-interfaces.vala"
	properties_signals[PROPERTIES_PROPERTIES_CHANGED_SIGNAL] = 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 9150 "systemd-interfaces.c"
}

static GType
properties_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (PropertiesIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) properties_default_init, (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_dbus_proxy_get_type ());
	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-interface-info"), (void*) (&_properties_dbus_interface_info));
	g_type_set_qdata (properties_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) properties_register_object);
	return properties_type_id;
}

GType
properties_get_type (void)
{
	static volatile gsize properties_type_id__once = 0;
	if (g_once_init_enter (&properties_type_id__once)) {
		GType properties_type_id;
		properties_type_id = properties_get_type_once ();
		g_once_init_leave (&properties_type_id__once, properties_type_id);
	}
	return properties_type_id__once;
}

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* _tmp228_;
	GHashTable* changed_properties = NULL;
	GVariant* _tmp229_;
	GHashTable* _tmp230_;
	GVariantIter _tmp231_;
	GVariant* _tmp232_;
	GVariant* _tmp233_;
	gchar** invalidated_properties = NULL;
	gint invalidated_properties_length1;
	GVariant* _tmp234_;
	gchar** _tmp235_;
	gint _tmp235__length;
	gint _tmp235__size;
	gint _tmp235__length1;
	GVariantIter _tmp236_;
	GVariant* _tmp237_;
	g_variant_iter_init (&_arguments_iter, parameters);
	_tmp228_ = g_variant_iter_next_value (&_arguments_iter);
	iface = g_variant_dup_string (_tmp228_, NULL);
	g_variant_unref (_tmp228_);
	_tmp229_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp230_ = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_variant_unref);
	g_variant_iter_init (&_tmp231_, _tmp229_);
	while (g_variant_iter_loop (&_tmp231_, "{?*}", &_tmp232_, &_tmp233_)) {
		g_hash_table_insert (_tmp230_, g_variant_dup_string (_tmp232_, NULL), g_variant_get_variant (_tmp233_));
	}
	changed_properties = _tmp230_;
	g_variant_unref (_tmp229_);
	invalidated_properties_length1 = 0;
	_tmp234_ = g_variant_iter_next_value (&_arguments_iter);
	_tmp235_ = g_new (gchar*, 5);
	_tmp235__length = 0;
	_tmp235__size = 4;
	_tmp235__length1 = 0;
	g_variant_iter_init (&_tmp236_, _tmp234_);
	for (; (_tmp237_ = g_variant_iter_next_value (&_tmp236_)) != NULL; _tmp235__length1++) {
		if (_tmp235__size == _tmp235__length) {
			_tmp235__size = 2 * _tmp235__size;
			_tmp235_ = g_renew (gchar*, _tmp235_, _tmp235__size + 1);
		}
		_tmp235_[_tmp235__length++] = g_variant_dup_string (_tmp237_, NULL);
		g_variant_unref (_tmp237_);
	}
	invalidated_properties_length1 = _tmp235__length1;
	_tmp235_[_tmp235__length] = NULL;
	invalidated_properties = _tmp235_;
	g_variant_unref (_tmp234_);
	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)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_properties_dbus_interface_info));
}

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 = NULL;
	GVariant* _tmp238_;
	G_DBUS_ERROR;
	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);
	_tmp238_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_variant (_tmp238_);
	g_variant_unref (_tmp238_);
	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* _tmp239_;
	gchar* property = NULL;
	GVariant* _tmp240_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	GVariant* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp239_ = g_variant_iter_next_value (&_arguments_iter);
	iface = g_variant_dup_string (_tmp239_, NULL);
	g_variant_unref (_tmp239_);
	_tmp240_ = g_variant_iter_next_value (&_arguments_iter);
	property = g_variant_dup_string (_tmp240_, NULL);
	g_variant_unref (_tmp240_);
	result = properties_get (self, iface, property, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_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_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);
	_error:
	_g_free0 (iface);
	_g_free0 (property);
	;
}

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)
{
	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)
{
	return FALSE;
}

static void
_dbus_properties_properties_changed (GObject* _sender,
                                     const gchar* iface,
                                     GHashTable* changed_properties,
                                     gchar** invalidated_properties,
                                     gint invalidated_properties_length1,
                                     gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GVariantBuilder _tmp241_;
	GHashTableIter _tmp242_;
	gpointer _tmp243_;
	gpointer _tmp244_;
	gchar** _tmp245_;
	GVariantBuilder _tmp246_;
	gint _tmp247_;
	_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 (&_tmp242_, changed_properties);
	g_variant_builder_init (&_tmp241_, G_VARIANT_TYPE ("a{sv}"));
	while (g_hash_table_iter_next (&_tmp242_, &_tmp243_, &_tmp244_)) {
		gchar* _key;
		GVariant* _value;
		_key = (gchar*) _tmp243_;
		_value = (GVariant*) _tmp244_;
		g_variant_builder_add (&_tmp241_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp241_));
	_tmp245_ = invalidated_properties;
	g_variant_builder_init (&_tmp246_, G_VARIANT_TYPE ("as"));
	for (_tmp247_ = 0; _tmp247_ < invalidated_properties_length1; _tmp247_++) {
		g_variant_builder_add_value (&_tmp246_, g_variant_new_string (*_tmp245_));
		_tmp245_++;
	}
	g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp246_));
	_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,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize 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,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

