/* system-managment.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from system-managment.vala, do not modify */

/*
* Copyright (c) 2010 Michal Hruby <michal.mhr@gmail.com>
*               2017 elementary LLC.
*
* This program 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.
*
* This program 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 this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* Authored by: Michal Hruby <michal.mhr@gmail.com>
*/

#include "slingshot.h"
#include <gio/gio.h>
#include <glib.h>
#include <string.h>
#include <glib-object.h>
#include <stdlib.h>
#include <gee.h>
#include <glib/gi18n-lib.h>

#define SYNAPSE_LOG_OUT_OBJECT_UNIQUE_NAME "org.freedesktop.login1"
#define SYNAPSE_LOG_OUT_OBJECT_OBJECT_PATH "/org/freedesktop/login1/user/self"
#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

typedef GDBusProxy SynapseUPowerObjectProxy;
typedef GDBusProxyClass SynapseUPowerObjectProxyClass;
typedef struct _SynapseUpowerObjectHibernateReadyData SynapseUpowerObjectHibernateReadyData;
typedef struct _SynapseUpowerObjectSuspendReadyData SynapseUpowerObjectSuspendReadyData;
typedef struct _SynapseUpowerObjectHibernateAllowedReadyData SynapseUpowerObjectHibernateAllowedReadyData;
typedef struct _SynapseUpowerObjectSuspendAllowedReadyData SynapseUpowerObjectSuspendAllowedReadyData;
typedef struct _SynapseUpowerObjectAboutToSleepReadyData SynapseUpowerObjectAboutToSleepReadyData;
typedef GDBusProxy SynapseConsoleKitObjectProxy;
typedef GDBusProxyClass SynapseConsoleKitObjectProxyClass;
typedef struct _SynapseConsoleKitObjectCanRestartReadyData SynapseConsoleKitObjectCanRestartReadyData;
typedef struct _SynapseConsoleKitObjectCanStopReadyData SynapseConsoleKitObjectCanStopReadyData;
typedef GDBusProxy SynapseLockObjectProxy;
typedef GDBusProxyClass SynapseLockObjectProxyClass;

#define SYNAPSE_TYPE_LOG_OUT_OBJECT (synapse_log_out_object_get_type ())
#define SYNAPSE_LOG_OUT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_TYPE_LOG_OUT_OBJECT, SynapseLogOutObject))
#define SYNAPSE_IS_LOG_OUT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_TYPE_LOG_OUT_OBJECT))
#define SYNAPSE_LOG_OUT_OBJECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_TYPE_LOG_OUT_OBJECT, SynapseLogOutObjectIface))

typedef struct _SynapseLogOutObject SynapseLogOutObject;
typedef struct _SynapseLogOutObjectIface SynapseLogOutObjectIface;

#define SYNAPSE_TYPE_LOG_OUT_OBJECT_PROXY (synapse_log_out_object_proxy_get_type ())
typedef GDBusProxy SynapseLogOutObjectProxy;
typedef GDBusProxyClass SynapseLogOutObjectProxyClass;
typedef GDBusProxy SynapseSystemdObjectProxy;
typedef GDBusProxyClass SynapseSystemdObjectProxyClass;
#define _g_free0(var) (var = (g_free (var), NULL))

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION (synapse_system_management_plugin_system_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SYSTEM_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SYSTEM_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemActionClass))

typedef struct _SynapseSystemManagementPluginSystemAction SynapseSystemManagementPluginSystemAction;
typedef struct _SynapseSystemManagementPluginSystemActionClass SynapseSystemManagementPluginSystemActionClass;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _SynapseSystemManagementPluginSearchData SynapseSystemManagementPluginSearchData;
typedef struct _SynapseSystemManagementPluginSystemActionPrivate SynapseSystemManagementPluginSystemActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_system_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_NUM_PROPERTIES];

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION (synapse_system_management_plugin_lock_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION, SynapseSystemManagementPluginLockAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION, SynapseSystemManagementPluginLockActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_LOCK_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_LOCK_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION, SynapseSystemManagementPluginLockActionClass))

typedef struct _SynapseSystemManagementPluginLockAction SynapseSystemManagementPluginLockAction;
typedef struct _SynapseSystemManagementPluginLockActionClass SynapseSystemManagementPluginLockActionClass;
typedef struct _SynapseSystemManagementPluginLockActionPrivate SynapseSystemManagementPluginLockActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_lock_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOCK_ACTION_NUM_PROPERTIES];
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _SynapseSystemManagementPluginLockActionDoLockData SynapseSystemManagementPluginLockActionDoLockData;

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION (synapse_system_management_plugin_log_out_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION, SynapseSystemManagementPluginLogOutAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION, SynapseSystemManagementPluginLogOutActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_LOG_OUT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_LOG_OUT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION, SynapseSystemManagementPluginLogOutActionClass))

typedef struct _SynapseSystemManagementPluginLogOutAction SynapseSystemManagementPluginLogOutAction;
typedef struct _SynapseSystemManagementPluginLogOutActionClass SynapseSystemManagementPluginLogOutActionClass;
typedef struct _SynapseSystemManagementPluginLogOutActionPrivate SynapseSystemManagementPluginLogOutActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_log_out_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_LOG_OUT_ACTION_NUM_PROPERTIES];
typedef struct _SynapseSystemManagementPluginLogOutActionDoLogOutData SynapseSystemManagementPluginLogOutActionDoLogOutData;

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION (synapse_system_management_plugin_suspend_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION, SynapseSystemManagementPluginSuspendAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION, SynapseSystemManagementPluginSuspendActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SUSPEND_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SUSPEND_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION, SynapseSystemManagementPluginSuspendActionClass))

typedef struct _SynapseSystemManagementPluginSuspendAction SynapseSystemManagementPluginSuspendAction;
typedef struct _SynapseSystemManagementPluginSuspendActionClass SynapseSystemManagementPluginSuspendActionClass;
typedef struct _SynapseSystemManagementPluginSuspendActionPrivate SynapseSystemManagementPluginSuspendActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_suspend_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SUSPEND_ACTION_NUM_PROPERTIES];
typedef struct _SynapseSystemManagementPluginSuspendActionCheckAllowedData SynapseSystemManagementPluginSuspendActionCheckAllowedData;
typedef struct _SynapseSystemManagementPluginSuspendActionDoSuspendData SynapseSystemManagementPluginSuspendActionDoSuspendData;

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION (synapse_system_management_plugin_hibernate_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION, SynapseSystemManagementPluginHibernateAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION, SynapseSystemManagementPluginHibernateActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_HIBERNATE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_HIBERNATE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION, SynapseSystemManagementPluginHibernateActionClass))

typedef struct _SynapseSystemManagementPluginHibernateAction SynapseSystemManagementPluginHibernateAction;
typedef struct _SynapseSystemManagementPluginHibernateActionClass SynapseSystemManagementPluginHibernateActionClass;
typedef struct _SynapseSystemManagementPluginHibernateActionPrivate SynapseSystemManagementPluginHibernateActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_hibernate_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_HIBERNATE_ACTION_NUM_PROPERTIES];
typedef struct _SynapseSystemManagementPluginHibernateActionCheckAllowedData SynapseSystemManagementPluginHibernateActionCheckAllowedData;
typedef struct _SynapseSystemManagementPluginHibernateActionDoHibernateData SynapseSystemManagementPluginHibernateActionDoHibernateData;

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION (synapse_system_management_plugin_shutdown_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION, SynapseSystemManagementPluginShutdownAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION, SynapseSystemManagementPluginShutdownActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SHUTDOWN_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_SHUTDOWN_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION, SynapseSystemManagementPluginShutdownActionClass))

typedef struct _SynapseSystemManagementPluginShutdownAction SynapseSystemManagementPluginShutdownAction;
typedef struct _SynapseSystemManagementPluginShutdownActionClass SynapseSystemManagementPluginShutdownActionClass;
typedef struct _SynapseSystemManagementPluginShutdownActionPrivate SynapseSystemManagementPluginShutdownActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_shutdown_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SHUTDOWN_ACTION_NUM_PROPERTIES];
typedef struct _SynapseSystemManagementPluginShutdownActionCheckAllowedData SynapseSystemManagementPluginShutdownActionCheckAllowedData;

#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION (synapse_system_management_plugin_restart_action_get_type ())
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION, SynapseSystemManagementPluginRestartAction))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION, SynapseSystemManagementPluginRestartActionClass))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_RESTART_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_IS_RESTART_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION))
#define SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION, SynapseSystemManagementPluginRestartActionClass))

typedef struct _SynapseSystemManagementPluginRestartAction SynapseSystemManagementPluginRestartAction;
typedef struct _SynapseSystemManagementPluginRestartActionClass SynapseSystemManagementPluginRestartActionClass;
typedef struct _SynapseSystemManagementPluginRestartActionPrivate SynapseSystemManagementPluginRestartActionPrivate;
enum  {
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION_0_PROPERTY,
	SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION_NUM_PROPERTIES
};
static GParamSpec* synapse_system_management_plugin_restart_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_RESTART_ACTION_NUM_PROPERTIES];
typedef struct _SynapseSystemManagementPluginRestartActionCheckAllowedData SynapseSystemManagementPluginRestartActionCheckAllowedData;

struct _SynapseUpowerObjectHibernateReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseUpowerObjectSuspendReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseUpowerObjectHibernateAllowedReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseUpowerObjectSuspendAllowedReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseUpowerObjectAboutToSleepReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseConsoleKitObjectCanRestartReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseConsoleKitObjectCanStopReadyData {
	GDBusMethodInvocation* _invocation_;
};

struct _SynapseLogOutObjectIface {
	GTypeInterface parent_iface;
	void (*terminate) (SynapseLogOutObject* self, GError** error);
};

struct _SynapseSystemManagementPluginPrivate {
	gboolean _enabled;
	GeeList* actions;
};

struct _SynapseSystemManagementPluginSearchData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPlugin* self;
	SynapseQuery q;
	SynapseResultSet* result;
	SynapseQuery _tmp0_;
	SynapseResultSet* _result_;
	SynapseResultSet* _tmp1_;
	GeeList* matchers;
	SynapseQuery _tmp2_;
	const gchar* _tmp3_;
	GeeList* _tmp4_;
	GeeList* _action_list;
	GeeList* _tmp5_;
	gint _action_size;
	GeeList* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	gint _action_index;
	gint _tmp9_;
	gint _tmp10_;
	SynapseSystemManagementPluginSystemAction* action;
	GeeList* _tmp11_;
	gpointer _tmp12_;
	SynapseSystemManagementPluginSystemAction* _tmp13_;
	GeeList* _matcher_list;
	GeeList* _tmp14_;
	gint _matcher_size;
	GeeList* _tmp15_;
	gint _tmp16_;
	gint _tmp17_;
	gint _matcher_index;
	gint _tmp18_;
	gint _tmp19_;
	GeeMapEntry* matcher;
	GeeList* _tmp20_;
	gpointer _tmp21_;
	SynapseSystemManagementPluginSystemAction* _tmp22_;
	GeeMapEntry* _tmp23_;
	SynapseResultSet* _tmp24_;
	SynapseSystemManagementPluginSystemAction* _tmp25_;
	GeeMapEntry* _tmp26_;
	gconstpointer _tmp27_;
	gconstpointer _tmp28_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginSystemAction {
	SynapseMatch parent_instance;
	SynapseSystemManagementPluginSystemActionPrivate * priv;
};

struct _SynapseSystemManagementPluginSystemActionClass {
	SynapseMatchClass parent_class;
	void (*do_action) (SynapseSystemManagementPluginSystemAction* self);
	gboolean (*action_allowed) (SynapseSystemManagementPluginSystemAction* self);
};

struct _SynapseSystemManagementPluginSystemActionPrivate {
	GeeArrayList* _keywords;
};

struct _SynapseSystemManagementPluginLockAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginLockActionPrivate * priv;
};

struct _SynapseSystemManagementPluginLockActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginLockActionDoLockData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginLockAction* self;
	SynapseLockObject* dbus_interface;
	SynapseLockObject* _tmp0_;
	SynapseLockObject* _tmp1_;
	GError* err;
	GError* _tmp2_;
	const gchar* _tmp3_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginLogOutAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginLogOutActionPrivate * priv;
};

struct _SynapseSystemManagementPluginLogOutActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginLogOutActionDoLogOutData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginLogOutAction* self;
	SynapseLogOutObject* dbus_interface;
	SynapseLogOutObject* _tmp0_;
	SynapseLogOutObject* _tmp1_;
	GError* err;
	GError* _tmp2_;
	const gchar* _tmp3_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginSuspendAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginSuspendActionPrivate * priv;
};

struct _SynapseSystemManagementPluginSuspendActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginSuspendActionPrivate {
	gboolean allowed;
};

struct _SynapseSystemManagementPluginSuspendActionCheckAllowedData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginSuspendAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	gchar* _tmp1_;
	SynapseSystemdObject* _tmp2_;
	gchar* _tmp3_;
	GError* err;
	GError* _tmp4_;
	const gchar* _tmp5_;
	SynapseUPowerObject* _vala1_dbus_interface;
	SynapseUPowerObject* _tmp6_;
	gboolean _tmp7_;
	SynapseUPowerObject* _tmp8_;
	GError* _vala1_err;
	GError* _tmp9_;
	const gchar* _tmp10_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginSuspendActionDoSuspendData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginSuspendAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	SynapseSystemdObject* _tmp1_;
	GError* err;
	GError* _tmp2_;
	const gchar* _tmp3_;
	SynapseUPowerObject* _vala1_dbus_interface;
	SynapseUPowerObject* _tmp4_;
	SynapseUPowerObject* _tmp5_;
	SynapseUPowerObject* _tmp6_;
	GError* _vala1_err;
	GError* _tmp7_;
	const gchar* _tmp8_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginHibernateAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginHibernateActionPrivate * priv;
};

struct _SynapseSystemManagementPluginHibernateActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginHibernateActionPrivate {
	gboolean allowed;
};

struct _SynapseSystemManagementPluginHibernateActionCheckAllowedData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginHibernateAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	gchar* _tmp1_;
	SynapseSystemdObject* _tmp2_;
	gchar* _tmp3_;
	GError* err;
	GError* _tmp4_;
	const gchar* _tmp5_;
	SynapseUPowerObject* _vala1_dbus_interface;
	SynapseUPowerObject* _tmp6_;
	gboolean _tmp7_;
	SynapseUPowerObject* _tmp8_;
	GError* _vala1_err;
	GError* _tmp9_;
	const gchar* _tmp10_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginHibernateActionDoHibernateData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginHibernateAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	SynapseSystemdObject* _tmp1_;
	GError* err;
	GError* _tmp2_;
	const gchar* _tmp3_;
	SynapseUPowerObject* _vala1_dbus_interface;
	SynapseUPowerObject* _tmp4_;
	SynapseUPowerObject* _tmp5_;
	SynapseUPowerObject* _tmp6_;
	GError* _vala1_err;
	GError* _tmp7_;
	const gchar* _tmp8_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginShutdownAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginShutdownActionPrivate * priv;
};

struct _SynapseSystemManagementPluginShutdownActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginShutdownActionPrivate {
	gboolean allowed;
};

struct _SynapseSystemManagementPluginShutdownActionCheckAllowedData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginShutdownAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	gchar* _tmp1_;
	SynapseSystemdObject* _tmp2_;
	gchar* _tmp3_;
	GError* err;
	GError* _tmp4_;
	const gchar* _tmp5_;
	SynapseConsoleKitObject* _vala1_dbus_interface;
	SynapseConsoleKitObject* _tmp6_;
	gboolean _tmp7_;
	SynapseConsoleKitObject* _tmp8_;
	GError* _vala1_err;
	GError* _tmp9_;
	const gchar* _tmp10_;
	GError* _inner_error0_;
};

struct _SynapseSystemManagementPluginRestartAction {
	SynapseSystemManagementPluginSystemAction parent_instance;
	SynapseSystemManagementPluginRestartActionPrivate * priv;
};

struct _SynapseSystemManagementPluginRestartActionClass {
	SynapseSystemManagementPluginSystemActionClass parent_class;
};

struct _SynapseSystemManagementPluginRestartActionPrivate {
	gboolean allowed;
};

struct _SynapseSystemManagementPluginRestartActionCheckAllowedData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	SynapseSystemManagementPluginRestartAction* self;
	SynapseSystemdObject* dbus_interface;
	SynapseSystemdObject* _tmp0_;
	gchar* _tmp1_;
	SynapseSystemdObject* _tmp2_;
	gchar* _tmp3_;
	GError* err;
	GError* _tmp4_;
	const gchar* _tmp5_;
	SynapseConsoleKitObject* _vala1_dbus_interface;
	SynapseConsoleKitObject* _tmp6_;
	gboolean _tmp7_;
	SynapseConsoleKitObject* _tmp8_;
	GError* _vala1_err;
	GError* _tmp9_;
	const gchar* _tmp10_;
	GError* _inner_error0_;
};

static gint SynapseSystemManagementPlugin_private_offset;
static gpointer synapse_system_management_plugin_parent_class = NULL;
static gint SynapseSystemManagementPluginSystemAction_private_offset;
static gpointer synapse_system_management_plugin_system_action_parent_class = NULL;
static gpointer synapse_system_management_plugin_lock_action_parent_class = NULL;
static gpointer synapse_system_management_plugin_log_out_action_parent_class = NULL;
static gint SynapseSystemManagementPluginSuspendAction_private_offset;
static gpointer synapse_system_management_plugin_suspend_action_parent_class = NULL;
static gint SynapseSystemManagementPluginHibernateAction_private_offset;
static gpointer synapse_system_management_plugin_hibernate_action_parent_class = NULL;
static gint SynapseSystemManagementPluginShutdownAction_private_offset;
static gpointer synapse_system_management_plugin_shutdown_action_parent_class = NULL;
static gint SynapseSystemManagementPluginRestartAction_private_offset;
static gpointer synapse_system_management_plugin_restart_action_parent_class = NULL;
static SynapseActivatableIface * synapse_system_management_plugin_synapse_activatable_parent_iface = NULL;
static SynapseItemProviderIface * synapse_system_management_plugin_synapse_item_provider_parent_iface = NULL;

static GType synapse_upower_object_get_type_once (void);
static void synapse_upower_object_proxy_g_signal (GDBusProxy* proxy,
                                           const gchar* sender_name,
                                           const gchar* signal_name,
                                           GVariant* parameters);
static void _vala_g_async_ready_callback (GObject *source_object,
                                   GAsyncResult *res,
                                   void *user_data);
static void synapse_upower_object_proxy_hibernate_async (SynapseUPowerObject* self,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
static void synapse_upower_object_proxy_hibernate_finish (SynapseUPowerObject* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
static void synapse_upower_object_proxy_suspend_async (SynapseUPowerObject* self,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
static void synapse_upower_object_proxy_suspend_finish (SynapseUPowerObject* self,
                                                 GAsyncResult* _res_,
                                                 GError** error);
static void synapse_upower_object_proxy_hibernate_allowed_async (SynapseUPowerObject* self,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
static gboolean synapse_upower_object_proxy_hibernate_allowed_finish (SynapseUPowerObject* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void synapse_upower_object_proxy_suspend_allowed_async (SynapseUPowerObject* self,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
static gboolean synapse_upower_object_proxy_suspend_allowed_finish (SynapseUPowerObject* self,
                                                             GAsyncResult* _res_,
                                                             GError** error);
static void synapse_upower_object_proxy_about_to_sleep_async (SynapseUPowerObject* self,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
static void synapse_upower_object_proxy_about_to_sleep_finish (SynapseUPowerObject* self,
                                                        GAsyncResult* _res_,
                                                        GError** error);
static void synapse_upower_object_proxy_synapse_upower_object_interface_init (SynapseUPowerObjectIface* iface);
static void _dbus_synapse_upower_object_hibernate (SynapseUPowerObject* self,
                                            GVariant* _parameters_,
                                            GDBusMethodInvocation* invocation);
static void _dbus_synapse_upower_object_hibernate_ready (GObject * source_object,
                                                  GAsyncResult * _res_,
                                                  gpointer _user_data_);
static void _dbus_synapse_upower_object_suspend (SynapseUPowerObject* self,
                                          GVariant* _parameters_,
                                          GDBusMethodInvocation* invocation);
static void _dbus_synapse_upower_object_suspend_ready (GObject * source_object,
                                                GAsyncResult * _res_,
                                                gpointer _user_data_);
static void _dbus_synapse_upower_object_hibernate_allowed (SynapseUPowerObject* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation);
static void _dbus_synapse_upower_object_hibernate_allowed_ready (GObject * source_object,
                                                          GAsyncResult * _res_,
                                                          gpointer _user_data_);
static void _dbus_synapse_upower_object_suspend_allowed (SynapseUPowerObject* self,
                                                  GVariant* _parameters_,
                                                  GDBusMethodInvocation* invocation);
static void _dbus_synapse_upower_object_suspend_allowed_ready (GObject * source_object,
                                                        GAsyncResult * _res_,
                                                        gpointer _user_data_);
static void _dbus_synapse_upower_object_about_to_sleep (SynapseUPowerObject* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void _dbus_synapse_upower_object_about_to_sleep_ready (GObject * source_object,
                                                       GAsyncResult * _res_,
                                                       gpointer _user_data_);
static void synapse_upower_object_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* synapse_upower_object_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 synapse_upower_object_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 _synapse_upower_object_unregister_object (gpointer user_data);
static GType synapse_console_kit_object_get_type_once (void);
static void synapse_console_kit_object_proxy_g_signal (GDBusProxy* proxy,
                                                const gchar* sender_name,
                                                const gchar* signal_name,
                                                GVariant* parameters);
static void synapse_console_kit_object_proxy_restart (SynapseConsoleKitObject* self,
                                               GError** error);
static void synapse_console_kit_object_proxy_stop (SynapseConsoleKitObject* self,
                                            GError** error);
static void synapse_console_kit_object_proxy_can_restart_async (SynapseConsoleKitObject* self,
                                                         GAsyncReadyCallback _callback_,
                                                         gpointer _user_data_);
static gboolean synapse_console_kit_object_proxy_can_restart_finish (SynapseConsoleKitObject* self,
                                                              GAsyncResult* _res_,
                                                              GError** error);
static void synapse_console_kit_object_proxy_can_stop_async (SynapseConsoleKitObject* self,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
static gboolean synapse_console_kit_object_proxy_can_stop_finish (SynapseConsoleKitObject* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
static void synapse_console_kit_object_proxy_synapse_console_kit_object_interface_init (SynapseConsoleKitObjectIface* iface);
static void _dbus_synapse_console_kit_object_restart (SynapseConsoleKitObject* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation);
static void _dbus_synapse_console_kit_object_stop (SynapseConsoleKitObject* self,
                                            GVariant* _parameters_,
                                            GDBusMethodInvocation* invocation);
static void _dbus_synapse_console_kit_object_can_restart (SynapseConsoleKitObject* self,
                                                   GVariant* _parameters_,
                                                   GDBusMethodInvocation* invocation);
static void _dbus_synapse_console_kit_object_can_restart_ready (GObject * source_object,
                                                         GAsyncResult * _res_,
                                                         gpointer _user_data_);
static void _dbus_synapse_console_kit_object_can_stop (SynapseConsoleKitObject* self,
                                                GVariant* _parameters_,
                                                GDBusMethodInvocation* invocation);
static void _dbus_synapse_console_kit_object_can_stop_ready (GObject * source_object,
                                                      GAsyncResult * _res_,
                                                      gpointer _user_data_);
static void synapse_console_kit_object_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* synapse_console_kit_object_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 synapse_console_kit_object_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 _synapse_console_kit_object_unregister_object (gpointer user_data);
static GType synapse_lock_object_get_type_once (void);
static void synapse_lock_object_proxy_g_signal (GDBusProxy* proxy,
                                         const gchar* sender_name,
                                         const gchar* signal_name,
                                         GVariant* parameters);
static void synapse_lock_object_proxy_lock (SynapseLockObject* self,
                                     GError** error);
static gboolean synapse_lock_object_proxy_get_active (SynapseLockObject* self,
                                               GError** error);
static void synapse_lock_object_proxy_synapse_lock_object_interface_init (SynapseLockObjectIface* iface);
static void _dbus_synapse_lock_object_lock (SynapseLockObject* self,
                                     GVariant* _parameters_,
                                     GDBusMethodInvocation* invocation);
static void _dbus_synapse_lock_object_get_active (SynapseLockObject* self,
                                           GVariant* _parameters_,
                                           GDBusMethodInvocation* invocation);
static void synapse_lock_object_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* synapse_lock_object_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 synapse_lock_object_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 _synapse_lock_object_unregister_object (gpointer user_data);
VALA_EXTERN GType synapse_log_out_object_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint synapse_log_out_object_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
VALA_EXTERN GType synapse_log_out_object_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void synapse_log_out_object_terminate (SynapseLogOutObject* self,
                                       GError** error);
static GType synapse_log_out_object_get_type_once (void);
static void synapse_log_out_object_proxy_g_signal (GDBusProxy* proxy,
                                            const gchar* sender_name,
                                            const gchar* signal_name,
                                            GVariant* parameters);
static void synapse_log_out_object_proxy_terminate (SynapseLogOutObject* self,
                                             GError** error);
static void synapse_log_out_object_proxy_synapse_log_out_object_interface_init (SynapseLogOutObjectIface* iface);
static void _dbus_synapse_log_out_object_terminate (SynapseLogOutObject* self,
                                             GVariant* _parameters_,
                                             GDBusMethodInvocation* invocation);
static void synapse_log_out_object_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* synapse_log_out_object_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 synapse_log_out_object_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 _synapse_log_out_object_unregister_object (gpointer user_data);
static GType synapse_systemd_object_get_type_once (void);
static void synapse_systemd_object_proxy_g_signal (GDBusProxy* proxy,
                                            const gchar* sender_name,
                                            const gchar* signal_name,
                                            GVariant* parameters);
static void synapse_systemd_object_proxy_reboot (SynapseSystemdObject* self,
                                          gboolean interactive,
                                          GError** error);
static void synapse_systemd_object_proxy_suspend (SynapseSystemdObject* self,
                                           gboolean interactive,
                                           GError** error);
static void synapse_systemd_object_proxy_hibernate (SynapseSystemdObject* self,
                                             gboolean interactive,
                                             GError** error);
static void synapse_systemd_object_proxy_power_off (SynapseSystemdObject* self,
                                             gboolean interactive,
                                             GError** error);
static gchar* synapse_systemd_object_proxy_can_suspend (SynapseSystemdObject* self,
                                                 GError** error);
static gchar* synapse_systemd_object_proxy_can_hibernate (SynapseSystemdObject* self,
                                                   GError** error);
static gchar* synapse_systemd_object_proxy_can_reboot (SynapseSystemdObject* self,
                                                GError** error);
static gchar* synapse_systemd_object_proxy_can_power_off (SynapseSystemdObject* self,
                                                   GError** error);
static void synapse_systemd_object_proxy_synapse_systemd_object_interface_init (SynapseSystemdObjectIface* iface);
static void _dbus_synapse_systemd_object_reboot (SynapseSystemdObject* self,
                                          GVariant* _parameters_,
                                          GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_suspend (SynapseSystemdObject* self,
                                           GVariant* _parameters_,
                                           GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_hibernate (SynapseSystemdObject* self,
                                             GVariant* _parameters_,
                                             GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_power_off (SynapseSystemdObject* self,
                                             GVariant* _parameters_,
                                             GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_can_suspend (SynapseSystemdObject* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_can_hibernate (SynapseSystemdObject* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_can_reboot (SynapseSystemdObject* self,
                                              GVariant* _parameters_,
                                              GDBusMethodInvocation* invocation);
static void _dbus_synapse_systemd_object_can_power_off (SynapseSystemdObject* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void synapse_systemd_object_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* synapse_systemd_object_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 synapse_systemd_object_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 _synapse_systemd_object_unregister_object (gpointer user_data);
static GType synapse_system_management_plugin_system_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static void synapse_system_management_plugin_real_activate (SynapseActivatable* base);
static void synapse_system_management_plugin_real_deactivate (SynapseActivatable* base);
static void synapse_system_management_plugin_register_plugin (void);
static void _synapse_system_management_plugin_register_plugin_synapse_plugin_register_func (void);
static void synapse_system_management_plugin_real_search_data_free (gpointer _data);
static void synapse_system_management_plugin_real_search (SynapseItemProvider* base,
                                                   SynapseQuery* q,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
static gboolean synapse_system_management_plugin_real_search_co (SynapseSystemManagementPluginSearchData* _data_);
static gboolean synapse_system_management_plugin_system_action_action_allowed (SynapseSystemManagementPluginSystemAction* self);
static gboolean synapse_system_management_plugin_match (SynapseSystemManagementPlugin* self,
                                                 SynapseSystemManagementPluginSystemAction* action,
                                                 GeeMapEntry* matcher);
static GeeArrayList* synapse_system_management_plugin_system_action_get_keywords (SynapseSystemManagementPluginSystemAction* self);
static void synapse_system_management_plugin_system_action_do_action (SynapseSystemManagementPluginSystemAction* self);
static void synapse_system_management_plugin_system_action_real_do_action (SynapseSystemManagementPluginSystemAction* self);
static gboolean synapse_system_management_plugin_system_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* self);
static void synapse_system_management_plugin_system_action_add_keywords (SynapseSystemManagementPluginSystemAction* self,
                                                                  const gchar* keywords_list);
static void synapse_system_management_plugin_system_action_real_execute (SynapseMatch* base,
                                                                  SynapseMatch* match);
static SynapseSystemManagementPluginSystemAction* synapse_system_management_plugin_system_action_construct (GType object_type);
static void synapse_system_management_plugin_system_action_set_keywords (SynapseSystemManagementPluginSystemAction* self,
                                                                  GeeArrayList* value);
static void synapse_system_management_plugin_system_action_finalize (GObject * obj);
static GType synapse_system_management_plugin_system_action_get_type_once (void);
static void _vala_synapse_system_management_plugin_system_action_get_property (GObject * object,
                                                                        guint property_id,
                                                                        GValue * value,
                                                                        GParamSpec * pspec);
static void _vala_synapse_system_management_plugin_system_action_set_property (GObject * object,
                                                                        guint property_id,
                                                                        const GValue * value,
                                                                        GParamSpec * pspec);
static GType synapse_system_management_plugin_lock_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginLockAction* synapse_system_management_plugin_lock_action_new (void);
static SynapseSystemManagementPluginLockAction* synapse_system_management_plugin_lock_action_construct (GType object_type);
static gboolean synapse_system_management_plugin_lock_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_lock_action_do_lock_data_free (gpointer _data);
static void synapse_system_management_plugin_lock_action_do_lock (SynapseSystemManagementPluginLockAction* self,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_);
static void synapse_system_management_plugin_lock_action_do_lock_finish (SynapseSystemManagementPluginLockAction* self,
                                                                  GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_lock_action_do_lock_co (SynapseSystemManagementPluginLockActionDoLockData* _data_);
static void synapse_system_management_plugin_lock_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GType synapse_system_management_plugin_lock_action_get_type_once (void);
static GType synapse_system_management_plugin_log_out_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginLogOutAction* synapse_system_management_plugin_log_out_action_new (void);
static SynapseSystemManagementPluginLogOutAction* synapse_system_management_plugin_log_out_action_construct (GType object_type);
static gboolean synapse_system_management_plugin_log_out_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_log_out_action_do_log_out_data_free (gpointer _data);
static void synapse_system_management_plugin_log_out_action_do_log_out (SynapseSystemManagementPluginLogOutAction* self,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_);
static void synapse_system_management_plugin_log_out_action_do_log_out_finish (SynapseSystemManagementPluginLogOutAction* self,
                                                                        GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_log_out_action_do_log_out_co (SynapseSystemManagementPluginLogOutActionDoLogOutData* _data_);
static void synapse_system_management_plugin_log_out_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GType synapse_system_management_plugin_log_out_action_get_type_once (void);
static GType synapse_system_management_plugin_suspend_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginSuspendAction* synapse_system_management_plugin_suspend_action_new (void);
static SynapseSystemManagementPluginSuspendAction* synapse_system_management_plugin_suspend_action_construct (GType object_type);
static void synapse_system_management_plugin_suspend_action_check_allowed_data_free (gpointer _data);
static void synapse_system_management_plugin_suspend_action_check_allowed (SynapseSystemManagementPluginSuspendAction* self,
                                                                    GAsyncReadyCallback _callback_,
                                                                    gpointer _user_data_);
static void synapse_system_management_plugin_suspend_action_check_allowed_finish (SynapseSystemManagementPluginSuspendAction* self,
                                                                           GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_suspend_action_check_allowed_co (SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_);
static void synapse_system_management_plugin_suspend_action_check_allowed_ready (GObject* source_object,
                                                                          GAsyncResult* _res_,
                                                                          gpointer _user_data_);
static gboolean synapse_system_management_plugin_suspend_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_suspend_action_do_suspend_data_free (gpointer _data);
static void synapse_system_management_plugin_suspend_action_do_suspend (SynapseSystemManagementPluginSuspendAction* self,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_);
static void synapse_system_management_plugin_suspend_action_do_suspend_finish (SynapseSystemManagementPluginSuspendAction* self,
                                                                        GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_suspend_action_do_suspend_co (SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_);
static void synapse_system_management_plugin_suspend_action_do_suspend_ready (GObject* source_object,
                                                                       GAsyncResult* _res_,
                                                                       gpointer _user_data_);
static gboolean _synapse_system_management_plugin_suspend_action_do_suspend_co_gsource_func (gpointer self);
static void synapse_system_management_plugin_suspend_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GObject * synapse_system_management_plugin_suspend_action_constructor (GType type,
                                                                       guint n_construct_properties,
                                                                       GObjectConstructParam * construct_properties);
static void synapse_system_management_plugin_suspend_action_finalize (GObject * obj);
static GType synapse_system_management_plugin_suspend_action_get_type_once (void);
static GType synapse_system_management_plugin_hibernate_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginHibernateAction* synapse_system_management_plugin_hibernate_action_new (void);
static SynapseSystemManagementPluginHibernateAction* synapse_system_management_plugin_hibernate_action_construct (GType object_type);
static void synapse_system_management_plugin_hibernate_action_check_allowed_data_free (gpointer _data);
static void synapse_system_management_plugin_hibernate_action_check_allowed (SynapseSystemManagementPluginHibernateAction* self,
                                                                      GAsyncReadyCallback _callback_,
                                                                      gpointer _user_data_);
static void synapse_system_management_plugin_hibernate_action_check_allowed_finish (SynapseSystemManagementPluginHibernateAction* self,
                                                                             GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_hibernate_action_check_allowed_co (SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_);
static void synapse_system_management_plugin_hibernate_action_check_allowed_ready (GObject* source_object,
                                                                            GAsyncResult* _res_,
                                                                            gpointer _user_data_);
static gboolean synapse_system_management_plugin_hibernate_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_hibernate_action_do_hibernate_data_free (gpointer _data);
static void synapse_system_management_plugin_hibernate_action_do_hibernate (SynapseSystemManagementPluginHibernateAction* self,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
static void synapse_system_management_plugin_hibernate_action_do_hibernate_finish (SynapseSystemManagementPluginHibernateAction* self,
                                                                            GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_hibernate_action_do_hibernate_co (SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_);
static void synapse_system_management_plugin_hibernate_action_do_hibernate_ready (GObject* source_object,
                                                                           GAsyncResult* _res_,
                                                                           gpointer _user_data_);
static gboolean _synapse_system_management_plugin_hibernate_action_do_hibernate_co_gsource_func (gpointer self);
static void synapse_system_management_plugin_hibernate_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GObject * synapse_system_management_plugin_hibernate_action_constructor (GType type,
                                                                         guint n_construct_properties,
                                                                         GObjectConstructParam * construct_properties);
static void synapse_system_management_plugin_hibernate_action_finalize (GObject * obj);
static GType synapse_system_management_plugin_hibernate_action_get_type_once (void);
static GType synapse_system_management_plugin_shutdown_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginShutdownAction* synapse_system_management_plugin_shutdown_action_new (void);
static SynapseSystemManagementPluginShutdownAction* synapse_system_management_plugin_shutdown_action_construct (GType object_type);
static void synapse_system_management_plugin_shutdown_action_check_allowed_data_free (gpointer _data);
static void synapse_system_management_plugin_shutdown_action_check_allowed (SynapseSystemManagementPluginShutdownAction* self,
                                                                     GAsyncReadyCallback _callback_,
                                                                     gpointer _user_data_);
static void synapse_system_management_plugin_shutdown_action_check_allowed_finish (SynapseSystemManagementPluginShutdownAction* self,
                                                                            GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_shutdown_action_check_allowed_co (SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_);
static void synapse_system_management_plugin_shutdown_action_check_allowed_ready (GObject* source_object,
                                                                           GAsyncResult* _res_,
                                                                           gpointer _user_data_);
static gboolean synapse_system_management_plugin_shutdown_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_shutdown_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GObject * synapse_system_management_plugin_shutdown_action_constructor (GType type,
                                                                        guint n_construct_properties,
                                                                        GObjectConstructParam * construct_properties);
static void synapse_system_management_plugin_shutdown_action_finalize (GObject * obj);
static GType synapse_system_management_plugin_shutdown_action_get_type_once (void);
static GType synapse_system_management_plugin_restart_action_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
static SynapseSystemManagementPluginRestartAction* synapse_system_management_plugin_restart_action_new (void);
static SynapseSystemManagementPluginRestartAction* synapse_system_management_plugin_restart_action_construct (GType object_type);
static void synapse_system_management_plugin_restart_action_check_allowed_data_free (gpointer _data);
static void synapse_system_management_plugin_restart_action_check_allowed (SynapseSystemManagementPluginRestartAction* self,
                                                                    GAsyncReadyCallback _callback_,
                                                                    gpointer _user_data_);
static void synapse_system_management_plugin_restart_action_check_allowed_finish (SynapseSystemManagementPluginRestartAction* self,
                                                                           GAsyncResult* _res_);
static gboolean synapse_system_management_plugin_restart_action_check_allowed_co (SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_);
static void synapse_system_management_plugin_restart_action_check_allowed_ready (GObject* source_object,
                                                                          GAsyncResult* _res_,
                                                                          gpointer _user_data_);
static gboolean synapse_system_management_plugin_restart_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base);
static void synapse_system_management_plugin_restart_action_real_do_action (SynapseSystemManagementPluginSystemAction* base);
static GObject * synapse_system_management_plugin_restart_action_constructor (GType type,
                                                                       guint n_construct_properties,
                                                                       GObjectConstructParam * construct_properties);
static void synapse_system_management_plugin_restart_action_finalize (GObject * obj);
static GType synapse_system_management_plugin_restart_action_get_type_once (void);
static GObject * synapse_system_management_plugin_constructor (GType type,
                                                        guint n_construct_properties,
                                                        GObjectConstructParam * construct_properties);
static void synapse_system_management_plugin_finalize (GObject * obj);
static GType synapse_system_management_plugin_get_type_once (void);
static void _vala_synapse_system_management_plugin_get_property (GObject * object,
                                                          guint property_id,
                                                          GValue * value,
                                                          GParamSpec * pspec);
static void _vala_synapse_system_management_plugin_set_property (GObject * object,
                                                          guint property_id,
                                                          const GValue * value,
                                                          GParamSpec * pspec);
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 gssize _vala_array_length (gpointer array);

static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_hibernate_in[] = {NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_hibernate_out[] = {NULL};
static const GDBusMethodInfo _synapse_upower_object_dbus_method_info_hibernate = {-1, "Hibernate", (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_hibernate_in), (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_hibernate_out), NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_suspend_in[] = {NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_suspend_out[] = {NULL};
static const GDBusMethodInfo _synapse_upower_object_dbus_method_info_suspend = {-1, "Suspend", (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_suspend_in), (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_suspend_out), NULL};
static const GDBusArgInfo _synapse_upower_object_dbus_arg_info_hibernate_allowed_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_hibernate_allowed_in[] = {NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_hibernate_allowed_out[] = {&_synapse_upower_object_dbus_arg_info_hibernate_allowed_result, NULL};
static const GDBusMethodInfo _synapse_upower_object_dbus_method_info_hibernate_allowed = {-1, "HibernateAllowed", (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_hibernate_allowed_in), (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_hibernate_allowed_out), NULL};
static const GDBusArgInfo _synapse_upower_object_dbus_arg_info_suspend_allowed_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_suspend_allowed_in[] = {NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_suspend_allowed_out[] = {&_synapse_upower_object_dbus_arg_info_suspend_allowed_result, NULL};
static const GDBusMethodInfo _synapse_upower_object_dbus_method_info_suspend_allowed = {-1, "SuspendAllowed", (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_suspend_allowed_in), (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_suspend_allowed_out), NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_about_to_sleep_in[] = {NULL};
static const GDBusArgInfo * const _synapse_upower_object_dbus_arg_info_about_to_sleep_out[] = {NULL};
static const GDBusMethodInfo _synapse_upower_object_dbus_method_info_about_to_sleep = {-1, "AboutToSleep", (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_about_to_sleep_in), (GDBusArgInfo **) (&_synapse_upower_object_dbus_arg_info_about_to_sleep_out), NULL};
static const GDBusMethodInfo * const _synapse_upower_object_dbus_method_info[] = {&_synapse_upower_object_dbus_method_info_hibernate, &_synapse_upower_object_dbus_method_info_suspend, &_synapse_upower_object_dbus_method_info_hibernate_allowed, &_synapse_upower_object_dbus_method_info_suspend_allowed, &_synapse_upower_object_dbus_method_info_about_to_sleep, NULL};
static const GDBusSignalInfo * const _synapse_upower_object_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _synapse_upower_object_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_upower_object_dbus_interface_info = {-1, "org.freedesktop.UPower", (GDBusMethodInfo **) (&_synapse_upower_object_dbus_method_info), (GDBusSignalInfo **) (&_synapse_upower_object_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_upower_object_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_upower_object_dbus_interface_vtable = {synapse_upower_object_dbus_interface_method_call, synapse_upower_object_dbus_interface_get_property, synapse_upower_object_dbus_interface_set_property};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_restart_in[] = {NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_restart_out[] = {NULL};
static const GDBusMethodInfo _synapse_console_kit_object_dbus_method_info_restart = {-1, "Restart", (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_restart_in), (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_restart_out), NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_stop_in[] = {NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_stop_out[] = {NULL};
static const GDBusMethodInfo _synapse_console_kit_object_dbus_method_info_stop = {-1, "Stop", (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_stop_in), (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_stop_out), NULL};
static const GDBusArgInfo _synapse_console_kit_object_dbus_arg_info_can_restart_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_can_restart_in[] = {NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_can_restart_out[] = {&_synapse_console_kit_object_dbus_arg_info_can_restart_result, NULL};
static const GDBusMethodInfo _synapse_console_kit_object_dbus_method_info_can_restart = {-1, "CanRestart", (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_can_restart_in), (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_can_restart_out), NULL};
static const GDBusArgInfo _synapse_console_kit_object_dbus_arg_info_can_stop_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_can_stop_in[] = {NULL};
static const GDBusArgInfo * const _synapse_console_kit_object_dbus_arg_info_can_stop_out[] = {&_synapse_console_kit_object_dbus_arg_info_can_stop_result, NULL};
static const GDBusMethodInfo _synapse_console_kit_object_dbus_method_info_can_stop = {-1, "CanStop", (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_can_stop_in), (GDBusArgInfo **) (&_synapse_console_kit_object_dbus_arg_info_can_stop_out), NULL};
static const GDBusMethodInfo * const _synapse_console_kit_object_dbus_method_info[] = {&_synapse_console_kit_object_dbus_method_info_restart, &_synapse_console_kit_object_dbus_method_info_stop, &_synapse_console_kit_object_dbus_method_info_can_restart, &_synapse_console_kit_object_dbus_method_info_can_stop, NULL};
static const GDBusSignalInfo * const _synapse_console_kit_object_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _synapse_console_kit_object_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_console_kit_object_dbus_interface_info = {-1, "org.freedesktop.ConsoleKit.Manager", (GDBusMethodInfo **) (&_synapse_console_kit_object_dbus_method_info), (GDBusSignalInfo **) (&_synapse_console_kit_object_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_console_kit_object_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_console_kit_object_dbus_interface_vtable = {synapse_console_kit_object_dbus_interface_method_call, synapse_console_kit_object_dbus_interface_get_property, synapse_console_kit_object_dbus_interface_set_property};
static const GDBusArgInfo * const _synapse_lock_object_dbus_arg_info_lock_in[] = {NULL};
static const GDBusArgInfo * const _synapse_lock_object_dbus_arg_info_lock_out[] = {NULL};
static const GDBusMethodInfo _synapse_lock_object_dbus_method_info_lock = {-1, "Lock", (GDBusArgInfo **) (&_synapse_lock_object_dbus_arg_info_lock_in), (GDBusArgInfo **) (&_synapse_lock_object_dbus_arg_info_lock_out), NULL};
static const GDBusArgInfo _synapse_lock_object_dbus_arg_info_get_active_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _synapse_lock_object_dbus_arg_info_get_active_in[] = {NULL};
static const GDBusArgInfo * const _synapse_lock_object_dbus_arg_info_get_active_out[] = {&_synapse_lock_object_dbus_arg_info_get_active_result, NULL};
static const GDBusMethodInfo _synapse_lock_object_dbus_method_info_get_active = {-1, "GetActive", (GDBusArgInfo **) (&_synapse_lock_object_dbus_arg_info_get_active_in), (GDBusArgInfo **) (&_synapse_lock_object_dbus_arg_info_get_active_out), NULL};
static const GDBusMethodInfo * const _synapse_lock_object_dbus_method_info[] = {&_synapse_lock_object_dbus_method_info_lock, &_synapse_lock_object_dbus_method_info_get_active, NULL};
static const GDBusSignalInfo * const _synapse_lock_object_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _synapse_lock_object_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_lock_object_dbus_interface_info = {-1, "org.freedesktop.ScreenSaver", (GDBusMethodInfo **) (&_synapse_lock_object_dbus_method_info), (GDBusSignalInfo **) (&_synapse_lock_object_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_lock_object_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_lock_object_dbus_interface_vtable = {synapse_lock_object_dbus_interface_method_call, synapse_lock_object_dbus_interface_get_property, synapse_lock_object_dbus_interface_set_property};
static const GDBusArgInfo * const _synapse_log_out_object_dbus_arg_info_terminate_in[] = {NULL};
static const GDBusArgInfo * const _synapse_log_out_object_dbus_arg_info_terminate_out[] = {NULL};
static const GDBusMethodInfo _synapse_log_out_object_dbus_method_info_terminate = {-1, "Terminate", (GDBusArgInfo **) (&_synapse_log_out_object_dbus_arg_info_terminate_in), (GDBusArgInfo **) (&_synapse_log_out_object_dbus_arg_info_terminate_out), NULL};
static const GDBusMethodInfo * const _synapse_log_out_object_dbus_method_info[] = {&_synapse_log_out_object_dbus_method_info_terminate, NULL};
static const GDBusSignalInfo * const _synapse_log_out_object_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _synapse_log_out_object_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_log_out_object_dbus_interface_info = {-1, "org.freedesktop.login1.User", (GDBusMethodInfo **) (&_synapse_log_out_object_dbus_method_info), (GDBusSignalInfo **) (&_synapse_log_out_object_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_log_out_object_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_log_out_object_dbus_interface_vtable = {synapse_log_out_object_dbus_interface_method_call, synapse_log_out_object_dbus_interface_get_property, synapse_log_out_object_dbus_interface_set_property};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_reboot_interactive = {-1, "interactive", "b", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_reboot_in[] = {&_synapse_systemd_object_dbus_arg_info_reboot_interactive, NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_reboot_out[] = {NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_reboot = {-1, "Reboot", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_reboot_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_reboot_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_suspend_interactive = {-1, "interactive", "b", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_suspend_in[] = {&_synapse_systemd_object_dbus_arg_info_suspend_interactive, NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_suspend_out[] = {NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_suspend = {-1, "Suspend", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_suspend_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_suspend_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_hibernate_interactive = {-1, "interactive", "b", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_hibernate_in[] = {&_synapse_systemd_object_dbus_arg_info_hibernate_interactive, NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_hibernate_out[] = {NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_hibernate = {-1, "Hibernate", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_hibernate_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_hibernate_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_power_off_interactive = {-1, "interactive", "b", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_power_off_in[] = {&_synapse_systemd_object_dbus_arg_info_power_off_interactive, NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_power_off_out[] = {NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_power_off = {-1, "PowerOff", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_power_off_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_power_off_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_can_suspend_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_suspend_in[] = {NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_suspend_out[] = {&_synapse_systemd_object_dbus_arg_info_can_suspend_result, NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_can_suspend = {-1, "CanSuspend", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_suspend_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_suspend_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_can_hibernate_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_hibernate_in[] = {NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_hibernate_out[] = {&_synapse_systemd_object_dbus_arg_info_can_hibernate_result, NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_can_hibernate = {-1, "CanHibernate", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_hibernate_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_hibernate_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_can_reboot_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_reboot_in[] = {NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_reboot_out[] = {&_synapse_systemd_object_dbus_arg_info_can_reboot_result, NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_can_reboot = {-1, "CanReboot", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_reboot_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_reboot_out), NULL};
static const GDBusArgInfo _synapse_systemd_object_dbus_arg_info_can_power_off_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_power_off_in[] = {NULL};
static const GDBusArgInfo * const _synapse_systemd_object_dbus_arg_info_can_power_off_out[] = {&_synapse_systemd_object_dbus_arg_info_can_power_off_result, NULL};
static const GDBusMethodInfo _synapse_systemd_object_dbus_method_info_can_power_off = {-1, "CanPowerOff", (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_power_off_in), (GDBusArgInfo **) (&_synapse_systemd_object_dbus_arg_info_can_power_off_out), NULL};
static const GDBusMethodInfo * const _synapse_systemd_object_dbus_method_info[] = {&_synapse_systemd_object_dbus_method_info_reboot, &_synapse_systemd_object_dbus_method_info_suspend, &_synapse_systemd_object_dbus_method_info_hibernate, &_synapse_systemd_object_dbus_method_info_power_off, &_synapse_systemd_object_dbus_method_info_can_suspend, &_synapse_systemd_object_dbus_method_info_can_hibernate, &_synapse_systemd_object_dbus_method_info_can_reboot, &_synapse_systemd_object_dbus_method_info_can_power_off, NULL};
static const GDBusSignalInfo * const _synapse_systemd_object_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _synapse_systemd_object_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _synapse_systemd_object_dbus_interface_info = {-1, "org.freedesktop.login1.Manager", (GDBusMethodInfo **) (&_synapse_systemd_object_dbus_method_info), (GDBusSignalInfo **) (&_synapse_systemd_object_dbus_signal_info), (GDBusPropertyInfo **) (&_synapse_systemd_object_dbus_property_info), NULL};
static const GDBusInterfaceVTable _synapse_systemd_object_dbus_interface_vtable = {synapse_systemd_object_dbus_interface_method_call, synapse_systemd_object_dbus_interface_get_property, synapse_systemd_object_dbus_interface_set_property};

void
synapse_upower_object_hibernate (SynapseUPowerObject* self,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->hibernate) {
		_iface_->hibernate (self, _callback_, _user_data_);
	}
}

void
synapse_upower_object_hibernate_finish (SynapseUPowerObject* self,
                                        GAsyncResult* _res_,
                                        GError** error)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->hibernate_finish) {
		_iface_->hibernate_finish (self, _res_, error);
	}
}

void
synapse_upower_object_suspend (SynapseUPowerObject* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->suspend) {
		_iface_->suspend (self, _callback_, _user_data_);
	}
}

void
synapse_upower_object_suspend_finish (SynapseUPowerObject* self,
                                      GAsyncResult* _res_,
                                      GError** error)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->suspend_finish) {
		_iface_->suspend_finish (self, _res_, error);
	}
}

void
synapse_upower_object_hibernate_allowed (SynapseUPowerObject* self,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->hibernate_allowed) {
		_iface_->hibernate_allowed (self, _callback_, _user_data_);
	}
}

gboolean
synapse_upower_object_hibernate_allowed_finish (SynapseUPowerObject* self,
                                                GAsyncResult* _res_,
                                                GError** error)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->hibernate_allowed_finish) {
		return _iface_->hibernate_allowed_finish (self, _res_, error);
	}
	return FALSE;
}

void
synapse_upower_object_suspend_allowed (SynapseUPowerObject* self,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->suspend_allowed) {
		_iface_->suspend_allowed (self, _callback_, _user_data_);
	}
}

gboolean
synapse_upower_object_suspend_allowed_finish (SynapseUPowerObject* self,
                                              GAsyncResult* _res_,
                                              GError** error)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->suspend_allowed_finish) {
		return _iface_->suspend_allowed_finish (self, _res_, error);
	}
	return FALSE;
}

void
synapse_upower_object_about_to_sleep (SynapseUPowerObject* self,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->about_to_sleep) {
		_iface_->about_to_sleep (self, _callback_, _user_data_);
	}
}

void
synapse_upower_object_about_to_sleep_finish (SynapseUPowerObject* self,
                                             GAsyncResult* _res_,
                                             GError** error)
{
	SynapseUPowerObjectIface* _iface_;
	_iface_ = SYNAPSE_UPOWER_OBJECT_GET_INTERFACE (self);
	if (_iface_->about_to_sleep_finish) {
		_iface_->about_to_sleep_finish (self, _res_, error);
	}
}

static void
synapse_upower_object_default_init (SynapseUPowerObjectIface * iface,
                                    gpointer iface_data)
{
}

static GType
synapse_upower_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseUPowerObjectIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_upower_object_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_upower_object_type_id;
	synapse_upower_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseUPowerObject", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_upower_object_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_upower_object_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_upower_object_proxy_get_type);
	g_type_set_qdata (synapse_upower_object_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.UPower");
	g_type_set_qdata (synapse_upower_object_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_upower_object_dbus_interface_info));
	g_type_set_qdata (synapse_upower_object_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_upower_object_register_object);
	return synapse_upower_object_type_id;
}

GType
synapse_upower_object_get_type (void)
{
	static volatile gsize synapse_upower_object_type_id__once = 0;
	if (g_once_init_enter (&synapse_upower_object_type_id__once)) {
		GType synapse_upower_object_type_id;
		synapse_upower_object_type_id = synapse_upower_object_get_type_once ();
		g_once_init_leave (&synapse_upower_object_type_id__once, synapse_upower_object_type_id);
	}
	return synapse_upower_object_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapseUPowerObjectProxy, synapse_upower_object_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_UPOWER_OBJECT, synapse_upower_object_proxy_synapse_upower_object_interface_init) )
static void
synapse_upower_object_proxy_class_init (SynapseUPowerObjectProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_upower_object_proxy_g_signal;
}

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

static void
synapse_upower_object_proxy_init (SynapseUPowerObjectProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_upower_object_dbus_interface_info));
}

static void
_vala_g_async_ready_callback (GObject *source_object,
                              GAsyncResult *res,
                              void *user_data)
{
	g_task_return_pointer (user_data, g_object_ref (res), g_object_unref);
	g_object_unref (user_data);
}

static void
synapse_upower_object_proxy_hibernate_async (SynapseUPowerObject* self,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.UPower", "Hibernate");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
synapse_upower_object_proxy_hibernate_finish (SynapseUPowerObject* self,
                                              GAsyncResult* _res_,
                                              GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	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
synapse_upower_object_proxy_suspend_async (SynapseUPowerObject* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.UPower", "Suspend");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
synapse_upower_object_proxy_suspend_finish (SynapseUPowerObject* self,
                                            GAsyncResult* _res_,
                                            GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	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
synapse_upower_object_proxy_hibernate_allowed_async (SynapseUPowerObject* self,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.UPower", "HibernateAllowed");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static gboolean
synapse_upower_object_proxy_hibernate_allowed_finish (SynapseUPowerObject* self,
                                                      GAsyncResult* _res_,
                                                      GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gboolean _result = FALSE;
	GVariant* _tmp88_;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		gboolean _tmp86_ = FALSE;
		return _tmp86_;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		gboolean _tmp87_ = FALSE;
		g_object_unref (_reply_message);
		return _tmp87_;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp88_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_boolean (_tmp88_);
	g_variant_unref (_tmp88_);
	g_object_unref (_reply_message);
	return _result;
}

static void
synapse_upower_object_proxy_suspend_allowed_async (SynapseUPowerObject* self,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.UPower", "SuspendAllowed");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static gboolean
synapse_upower_object_proxy_suspend_allowed_finish (SynapseUPowerObject* self,
                                                    GAsyncResult* _res_,
                                                    GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gboolean _result = FALSE;
	GVariant* _tmp91_;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		gboolean _tmp89_ = FALSE;
		return _tmp89_;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		gboolean _tmp90_ = FALSE;
		g_object_unref (_reply_message);
		return _tmp90_;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp91_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_boolean (_tmp91_);
	g_variant_unref (_tmp91_);
	g_object_unref (_reply_message);
	return _result;
}

static void
synapse_upower_object_proxy_about_to_sleep_async (SynapseUPowerObject* self,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.UPower", "AboutToSleep");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static void
synapse_upower_object_proxy_about_to_sleep_finish (SynapseUPowerObject* self,
                                                   GAsyncResult* _res_,
                                                   GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	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
synapse_upower_object_proxy_synapse_upower_object_interface_init (SynapseUPowerObjectIface* iface)
{
	iface->hibernate = synapse_upower_object_proxy_hibernate_async;
	iface->hibernate_finish = synapse_upower_object_proxy_hibernate_finish;
	iface->suspend = synapse_upower_object_proxy_suspend_async;
	iface->suspend_finish = synapse_upower_object_proxy_suspend_finish;
	iface->hibernate_allowed = synapse_upower_object_proxy_hibernate_allowed_async;
	iface->hibernate_allowed_finish = synapse_upower_object_proxy_hibernate_allowed_finish;
	iface->suspend_allowed = synapse_upower_object_proxy_suspend_allowed_async;
	iface->suspend_allowed_finish = synapse_upower_object_proxy_suspend_allowed_finish;
	iface->about_to_sleep = synapse_upower_object_proxy_about_to_sleep_async;
	iface->about_to_sleep_finish = synapse_upower_object_proxy_about_to_sleep_finish;
}

static void
_dbus_synapse_upower_object_hibernate (SynapseUPowerObject* self,
                                       GVariant* _parameters_,
                                       GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseUpowerObjectHibernateReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseUpowerObjectHibernateReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_upower_object_hibernate (self, (GAsyncReadyCallback) _dbus_synapse_upower_object_hibernate_ready, _ready_data);
}

static void
_dbus_synapse_upower_object_hibernate_ready (GObject * source_object,
                                             GAsyncResult * _res_,
                                             gpointer _user_data_)
{
	SynapseUpowerObjectHibernateReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	synapse_upower_object_hibernate_finish ((SynapseUPowerObject*) source_object, _res_, &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_slice_free (SynapseUpowerObjectHibernateReadyData, _ready_data);
}

static void
_dbus_synapse_upower_object_suspend (SynapseUPowerObject* self,
                                     GVariant* _parameters_,
                                     GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseUpowerObjectSuspendReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseUpowerObjectSuspendReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_upower_object_suspend (self, (GAsyncReadyCallback) _dbus_synapse_upower_object_suspend_ready, _ready_data);
}

static void
_dbus_synapse_upower_object_suspend_ready (GObject * source_object,
                                           GAsyncResult * _res_,
                                           gpointer _user_data_)
{
	SynapseUpowerObjectSuspendReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	synapse_upower_object_suspend_finish ((SynapseUPowerObject*) source_object, _res_, &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_slice_free (SynapseUpowerObjectSuspendReadyData, _ready_data);
}

static void
_dbus_synapse_upower_object_hibernate_allowed (SynapseUPowerObject* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseUpowerObjectHibernateAllowedReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseUpowerObjectHibernateAllowedReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_upower_object_hibernate_allowed (self, (GAsyncReadyCallback) _dbus_synapse_upower_object_hibernate_allowed_ready, _ready_data);
}

static void
_dbus_synapse_upower_object_hibernate_allowed_ready (GObject * source_object,
                                                     GAsyncResult * _res_,
                                                     gpointer _user_data_)
{
	SynapseUpowerObjectHibernateAllowedReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = synapse_upower_object_hibernate_allowed_finish ((SynapseUPowerObject*) source_object, _res_, &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_boolean (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_slice_free (SynapseUpowerObjectHibernateAllowedReadyData, _ready_data);
}

static void
_dbus_synapse_upower_object_suspend_allowed (SynapseUPowerObject* self,
                                             GVariant* _parameters_,
                                             GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseUpowerObjectSuspendAllowedReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseUpowerObjectSuspendAllowedReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_upower_object_suspend_allowed (self, (GAsyncReadyCallback) _dbus_synapse_upower_object_suspend_allowed_ready, _ready_data);
}

static void
_dbus_synapse_upower_object_suspend_allowed_ready (GObject * source_object,
                                                   GAsyncResult * _res_,
                                                   gpointer _user_data_)
{
	SynapseUpowerObjectSuspendAllowedReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = synapse_upower_object_suspend_allowed_finish ((SynapseUPowerObject*) source_object, _res_, &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_boolean (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_slice_free (SynapseUpowerObjectSuspendAllowedReadyData, _ready_data);
}

static void
_dbus_synapse_upower_object_about_to_sleep (SynapseUPowerObject* self,
                                            GVariant* _parameters_,
                                            GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseUpowerObjectAboutToSleepReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseUpowerObjectAboutToSleepReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_upower_object_about_to_sleep (self, (GAsyncReadyCallback) _dbus_synapse_upower_object_about_to_sleep_ready, _ready_data);
}

static void
_dbus_synapse_upower_object_about_to_sleep_ready (GObject * source_object,
                                                  GAsyncResult * _res_,
                                                  gpointer _user_data_)
{
	SynapseUpowerObjectAboutToSleepReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	synapse_upower_object_about_to_sleep_finish ((SynapseUPowerObject*) source_object, _res_, &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_slice_free (SynapseUpowerObjectAboutToSleepReadyData, _ready_data);
}

static void
synapse_upower_object_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, "Hibernate") == 0) {
		_dbus_synapse_upower_object_hibernate (object, parameters, invocation);
	} else if (strcmp (method_name, "Suspend") == 0) {
		_dbus_synapse_upower_object_suspend (object, parameters, invocation);
	} else if (strcmp (method_name, "HibernateAllowed") == 0) {
		_dbus_synapse_upower_object_hibernate_allowed (object, parameters, invocation);
	} else if (strcmp (method_name, "SuspendAllowed") == 0) {
		_dbus_synapse_upower_object_suspend_allowed (object, parameters, invocation);
	} else if (strcmp (method_name, "AboutToSleep") == 0) {
		_dbus_synapse_upower_object_about_to_sleep (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

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

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

guint
synapse_upower_object_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 *) (&_synapse_upower_object_dbus_interface_info), &_synapse_upower_object_dbus_interface_vtable, data, _synapse_upower_object_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_synapse_upower_object_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
synapse_console_kit_object_restart (SynapseConsoleKitObject* self,
                                    GError** error)
{
	SynapseConsoleKitObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->restart) {
		_iface_->restart (self, error);
	}
}

void
synapse_console_kit_object_stop (SynapseConsoleKitObject* self,
                                 GError** error)
{
	SynapseConsoleKitObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->stop) {
		_iface_->stop (self, error);
	}
}

void
synapse_console_kit_object_can_restart (SynapseConsoleKitObject* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_)
{
	SynapseConsoleKitObjectIface* _iface_;
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_restart) {
		_iface_->can_restart (self, _callback_, _user_data_);
	}
}

gboolean
synapse_console_kit_object_can_restart_finish (SynapseConsoleKitObject* self,
                                               GAsyncResult* _res_,
                                               GError** error)
{
	SynapseConsoleKitObjectIface* _iface_;
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_restart_finish) {
		return _iface_->can_restart_finish (self, _res_, error);
	}
	return FALSE;
}

void
synapse_console_kit_object_can_stop (SynapseConsoleKitObject* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	SynapseConsoleKitObjectIface* _iface_;
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_stop) {
		_iface_->can_stop (self, _callback_, _user_data_);
	}
}

gboolean
synapse_console_kit_object_can_stop_finish (SynapseConsoleKitObject* self,
                                            GAsyncResult* _res_,
                                            GError** error)
{
	SynapseConsoleKitObjectIface* _iface_;
	_iface_ = SYNAPSE_CONSOLE_KIT_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_stop_finish) {
		return _iface_->can_stop_finish (self, _res_, error);
	}
	return FALSE;
}

static void
synapse_console_kit_object_default_init (SynapseConsoleKitObjectIface * iface,
                                         gpointer iface_data)
{
}

static GType
synapse_console_kit_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseConsoleKitObjectIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_console_kit_object_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_console_kit_object_type_id;
	synapse_console_kit_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseConsoleKitObject", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_console_kit_object_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_console_kit_object_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_console_kit_object_proxy_get_type);
	g_type_set_qdata (synapse_console_kit_object_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.ConsoleKit.Manager");
	g_type_set_qdata (synapse_console_kit_object_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_console_kit_object_dbus_interface_info));
	g_type_set_qdata (synapse_console_kit_object_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_console_kit_object_register_object);
	return synapse_console_kit_object_type_id;
}

GType
synapse_console_kit_object_get_type (void)
{
	static volatile gsize synapse_console_kit_object_type_id__once = 0;
	if (g_once_init_enter (&synapse_console_kit_object_type_id__once)) {
		GType synapse_console_kit_object_type_id;
		synapse_console_kit_object_type_id = synapse_console_kit_object_get_type_once ();
		g_once_init_leave (&synapse_console_kit_object_type_id__once, synapse_console_kit_object_type_id);
	}
	return synapse_console_kit_object_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapseConsoleKitObjectProxy, synapse_console_kit_object_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_CONSOLE_KIT_OBJECT, synapse_console_kit_object_proxy_synapse_console_kit_object_interface_init) )
static void
synapse_console_kit_object_proxy_class_init (SynapseConsoleKitObjectProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_console_kit_object_proxy_g_signal;
}

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

static void
synapse_console_kit_object_proxy_init (SynapseConsoleKitObjectProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_console_kit_object_dbus_interface_info));
}

static void
synapse_console_kit_object_proxy_restart (SynapseConsoleKitObject* self,
                                          GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ConsoleKit.Manager", "Restart");
	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
synapse_console_kit_object_proxy_stop (SynapseConsoleKitObject* self,
                                       GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ConsoleKit.Manager", "Stop");
	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
synapse_console_kit_object_proxy_can_restart_async (SynapseConsoleKitObject* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ConsoleKit.Manager", "CanRestart");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static gboolean
synapse_console_kit_object_proxy_can_restart_finish (SynapseConsoleKitObject* self,
                                                     GAsyncResult* _res_,
                                                     GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gboolean _result = FALSE;
	GVariant* _tmp94_;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		gboolean _tmp92_ = FALSE;
		return _tmp92_;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		gboolean _tmp93_ = FALSE;
		g_object_unref (_reply_message);
		return _tmp93_;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp94_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_boolean (_tmp94_);
	g_variant_unref (_tmp94_);
	g_object_unref (_reply_message);
	return _result;
}

static void
synapse_console_kit_object_proxy_can_stop_async (SynapseConsoleKitObject* self,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ConsoleKit.Manager", "CanStop");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	if (_callback_ != NULL) {
		g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_task_new ((GObject *) self, NULL, _callback_, _user_data_));
	} else {
		g_dbus_message_set_flags (_message, G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED);
		g_dbus_connection_send_message (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	}
	g_object_unref (_message);
}

static gboolean
synapse_console_kit_object_proxy_can_stop_finish (SynapseConsoleKitObject* self,
                                                  GAsyncResult* _res_,
                                                  GError** error)
{
	GAsyncResult *_inner_res;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gboolean _result = FALSE;
	GVariant* _tmp97_;
	_inner_res = g_task_propagate_pointer ((GTask *) _res_, NULL);
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), _inner_res, error);
	g_object_unref (_inner_res);
	if (!_reply_message) {
		gboolean _tmp95_ = FALSE;
		return _tmp95_;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		gboolean _tmp96_ = FALSE;
		g_object_unref (_reply_message);
		return _tmp96_;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp97_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_get_boolean (_tmp97_);
	g_variant_unref (_tmp97_);
	g_object_unref (_reply_message);
	return _result;
}

static void
synapse_console_kit_object_proxy_synapse_console_kit_object_interface_init (SynapseConsoleKitObjectIface* iface)
{
	iface->restart = synapse_console_kit_object_proxy_restart;
	iface->stop = synapse_console_kit_object_proxy_stop;
	iface->can_restart = synapse_console_kit_object_proxy_can_restart_async;
	iface->can_restart_finish = synapse_console_kit_object_proxy_can_restart_finish;
	iface->can_stop = synapse_console_kit_object_proxy_can_stop_async;
	iface->can_stop_finish = synapse_console_kit_object_proxy_can_stop_finish;
}

static void
_dbus_synapse_console_kit_object_restart (SynapseConsoleKitObject* 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_);
	synapse_console_kit_object_restart (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_synapse_console_kit_object_stop (SynapseConsoleKitObject* 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_);
	synapse_console_kit_object_stop (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_synapse_console_kit_object_can_restart (SynapseConsoleKitObject* self,
                                              GVariant* _parameters_,
                                              GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseConsoleKitObjectCanRestartReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseConsoleKitObjectCanRestartReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_console_kit_object_can_restart (self, (GAsyncReadyCallback) _dbus_synapse_console_kit_object_can_restart_ready, _ready_data);
}

static void
_dbus_synapse_console_kit_object_can_restart_ready (GObject * source_object,
                                                    GAsyncResult * _res_,
                                                    gpointer _user_data_)
{
	SynapseConsoleKitObjectCanRestartReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = synapse_console_kit_object_can_restart_finish ((SynapseConsoleKitObject*) source_object, _res_, &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_boolean (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_slice_free (SynapseConsoleKitObjectCanRestartReadyData, _ready_data);
}

static void
_dbus_synapse_console_kit_object_can_stop (SynapseConsoleKitObject* self,
                                           GVariant* _parameters_,
                                           GDBusMethodInvocation* invocation)
{
	GVariantIter _arguments_iter;
	SynapseConsoleKitObjectCanStopReadyData* _ready_data;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_ready_data = g_slice_new0 (SynapseConsoleKitObjectCanStopReadyData);
	_ready_data->_invocation_ = invocation;
	synapse_console_kit_object_can_stop (self, (GAsyncReadyCallback) _dbus_synapse_console_kit_object_can_stop_ready, _ready_data);
}

static void
_dbus_synapse_console_kit_object_can_stop_ready (GObject * source_object,
                                                 GAsyncResult * _res_,
                                                 gpointer _user_data_)
{
	SynapseConsoleKitObjectCanStopReadyData* _ready_data;
	GDBusMethodInvocation* invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	_ready_data = _user_data_;
	invocation = _ready_data->_invocation_;
	result = synapse_console_kit_object_can_stop_finish ((SynapseConsoleKitObject*) source_object, _res_, &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_boolean (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_slice_free (SynapseConsoleKitObjectCanStopReadyData, _ready_data);
}

static void
synapse_console_kit_object_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, "Restart") == 0) {
		_dbus_synapse_console_kit_object_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "Stop") == 0) {
		_dbus_synapse_console_kit_object_stop (object, parameters, invocation);
	} else if (strcmp (method_name, "CanRestart") == 0) {
		_dbus_synapse_console_kit_object_can_restart (object, parameters, invocation);
	} else if (strcmp (method_name, "CanStop") == 0) {
		_dbus_synapse_console_kit_object_can_stop (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

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

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

guint
synapse_console_kit_object_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 *) (&_synapse_console_kit_object_dbus_interface_info), &_synapse_console_kit_object_dbus_interface_vtable, data, _synapse_console_kit_object_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_synapse_console_kit_object_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
synapse_lock_object_lock (SynapseLockObject* self,
                          GError** error)
{
	SynapseLockObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_LOCK_OBJECT_GET_INTERFACE (self);
	if (_iface_->lock) {
		_iface_->lock (self, error);
	}
}

gboolean
synapse_lock_object_get_active (SynapseLockObject* self,
                                GError** error)
{
	SynapseLockObjectIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = SYNAPSE_LOCK_OBJECT_GET_INTERFACE (self);
	if (_iface_->get_active) {
		return _iface_->get_active (self, error);
	}
	return FALSE;
}

static void
synapse_lock_object_default_init (SynapseLockObjectIface * iface,
                                  gpointer iface_data)
{
}

static GType
synapse_lock_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseLockObjectIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_lock_object_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_lock_object_type_id;
	synapse_lock_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseLockObject", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_lock_object_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_lock_object_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_lock_object_proxy_get_type);
	g_type_set_qdata (synapse_lock_object_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.ScreenSaver");
	g_type_set_qdata (synapse_lock_object_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_lock_object_dbus_interface_info));
	g_type_set_qdata (synapse_lock_object_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_lock_object_register_object);
	return synapse_lock_object_type_id;
}

GType
synapse_lock_object_get_type (void)
{
	static volatile gsize synapse_lock_object_type_id__once = 0;
	if (g_once_init_enter (&synapse_lock_object_type_id__once)) {
		GType synapse_lock_object_type_id;
		synapse_lock_object_type_id = synapse_lock_object_get_type_once ();
		g_once_init_leave (&synapse_lock_object_type_id__once, synapse_lock_object_type_id);
	}
	return synapse_lock_object_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapseLockObjectProxy, synapse_lock_object_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_LOCK_OBJECT, synapse_lock_object_proxy_synapse_lock_object_interface_init) )
static void
synapse_lock_object_proxy_class_init (SynapseLockObjectProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_lock_object_proxy_g_signal;
}

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

static void
synapse_lock_object_proxy_init (SynapseLockObjectProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_lock_object_dbus_interface_info));
}

static void
synapse_lock_object_proxy_lock (SynapseLockObject* self,
                                GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ScreenSaver", "Lock");
	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 gboolean
synapse_lock_object_proxy_get_active (SynapseLockObject* self,
                                      GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gboolean _result = FALSE;
	GVariant* _tmp100_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.ScreenSaver", "GetActive");
	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) {
		gboolean _tmp98_ = FALSE;
		return _tmp98_;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		gboolean _tmp99_ = FALSE;
		g_object_unref (_reply_message);
		return _tmp99_;
	}
	_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_get_boolean (_tmp100_);
	g_variant_unref (_tmp100_);
	g_object_unref (_reply_message);
	return _result;
}

static void
synapse_lock_object_proxy_synapse_lock_object_interface_init (SynapseLockObjectIface* iface)
{
	iface->lock = synapse_lock_object_proxy_lock;
	iface->get_active = synapse_lock_object_proxy_get_active;
}

static void
_dbus_synapse_lock_object_lock (SynapseLockObject* 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_);
	synapse_lock_object_lock (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_synapse_lock_object_get_active (SynapseLockObject* self,
                                      GVariant* _parameters_,
                                      GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = synapse_lock_object_get_active (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_boolean (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
synapse_lock_object_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, "Lock") == 0) {
		_dbus_synapse_lock_object_lock (object, parameters, invocation);
	} else if (strcmp (method_name, "GetActive") == 0) {
		_dbus_synapse_lock_object_get_active (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

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

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

guint
synapse_lock_object_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 *) (&_synapse_lock_object_dbus_interface_info), &_synapse_lock_object_dbus_interface_vtable, data, _synapse_lock_object_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_synapse_lock_object_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
synapse_log_out_object_terminate (SynapseLogOutObject* self,
                                  GError** error)
{
	SynapseLogOutObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_LOG_OUT_OBJECT_GET_INTERFACE (self);
	if (_iface_->terminate) {
		_iface_->terminate (self, error);
	}
}

static void
synapse_log_out_object_default_init (SynapseLogOutObjectIface * iface,
                                     gpointer iface_data)
{
}

static GType
synapse_log_out_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseLogOutObjectIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_log_out_object_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_log_out_object_type_id;
	synapse_log_out_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseLogOutObject", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_log_out_object_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_log_out_object_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_log_out_object_proxy_get_type);
	g_type_set_qdata (synapse_log_out_object_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.login1.User");
	g_type_set_qdata (synapse_log_out_object_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_log_out_object_dbus_interface_info));
	g_type_set_qdata (synapse_log_out_object_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_log_out_object_register_object);
	return synapse_log_out_object_type_id;
}

GType
synapse_log_out_object_get_type (void)
{
	static volatile gsize synapse_log_out_object_type_id__once = 0;
	if (g_once_init_enter (&synapse_log_out_object_type_id__once)) {
		GType synapse_log_out_object_type_id;
		synapse_log_out_object_type_id = synapse_log_out_object_get_type_once ();
		g_once_init_leave (&synapse_log_out_object_type_id__once, synapse_log_out_object_type_id);
	}
	return synapse_log_out_object_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapseLogOutObjectProxy, synapse_log_out_object_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_LOG_OUT_OBJECT, synapse_log_out_object_proxy_synapse_log_out_object_interface_init) )
static void
synapse_log_out_object_proxy_class_init (SynapseLogOutObjectProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_log_out_object_proxy_g_signal;
}

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

static void
synapse_log_out_object_proxy_init (SynapseLogOutObjectProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_log_out_object_dbus_interface_info));
}

static void
synapse_log_out_object_proxy_terminate (SynapseLogOutObject* self,
                                        GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.User", "Terminate");
	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
synapse_log_out_object_proxy_synapse_log_out_object_interface_init (SynapseLogOutObjectIface* iface)
{
	iface->terminate = synapse_log_out_object_proxy_terminate;
}

static void
_dbus_synapse_log_out_object_terminate (SynapseLogOutObject* 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_);
	synapse_log_out_object_terminate (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
synapse_log_out_object_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, "Terminate") == 0) {
		_dbus_synapse_log_out_object_terminate (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

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

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

guint
synapse_log_out_object_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 *) (&_synapse_log_out_object_dbus_interface_info), &_synapse_log_out_object_dbus_interface_vtable, data, _synapse_log_out_object_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_synapse_log_out_object_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
synapse_systemd_object_reboot (SynapseSystemdObject* self,
                               gboolean interactive,
                               GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->reboot) {
		_iface_->reboot (self, interactive, error);
	}
}

void
synapse_systemd_object_suspend (SynapseSystemdObject* self,
                                gboolean interactive,
                                GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->suspend) {
		_iface_->suspend (self, interactive, error);
	}
}

void
synapse_systemd_object_hibernate (SynapseSystemdObject* self,
                                  gboolean interactive,
                                  GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->hibernate) {
		_iface_->hibernate (self, interactive, error);
	}
}

void
synapse_systemd_object_power_off (SynapseSystemdObject* self,
                                  gboolean interactive,
                                  GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->power_off) {
		_iface_->power_off (self, interactive, error);
	}
}

gchar*
synapse_systemd_object_can_suspend (SynapseSystemdObject* self,
                                    GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_suspend) {
		return _iface_->can_suspend (self, error);
	}
	return NULL;
}

gchar*
synapse_systemd_object_can_hibernate (SynapseSystemdObject* self,
                                      GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_hibernate) {
		return _iface_->can_hibernate (self, error);
	}
	return NULL;
}

gchar*
synapse_systemd_object_can_reboot (SynapseSystemdObject* self,
                                   GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_reboot) {
		return _iface_->can_reboot (self, error);
	}
	return NULL;
}

gchar*
synapse_systemd_object_can_power_off (SynapseSystemdObject* self,
                                      GError** error)
{
	SynapseSystemdObjectIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SYNAPSE_SYSTEMD_OBJECT_GET_INTERFACE (self);
	if (_iface_->can_power_off) {
		return _iface_->can_power_off (self, error);
	}
	return NULL;
}

static void
synapse_systemd_object_default_init (SynapseSystemdObjectIface * iface,
                                     gpointer iface_data)
{
}

static GType
synapse_systemd_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemdObjectIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_systemd_object_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_systemd_object_type_id;
	synapse_systemd_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseSystemdObject", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_systemd_object_type_id, G_TYPE_OBJECT);
	g_type_set_qdata (synapse_systemd_object_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) synapse_systemd_object_proxy_get_type);
	g_type_set_qdata (synapse_systemd_object_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.login1.Manager");
	g_type_set_qdata (synapse_systemd_object_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_synapse_systemd_object_dbus_interface_info));
	g_type_set_qdata (synapse_systemd_object_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) synapse_systemd_object_register_object);
	return synapse_systemd_object_type_id;
}

GType
synapse_systemd_object_get_type (void)
{
	static volatile gsize synapse_systemd_object_type_id__once = 0;
	if (g_once_init_enter (&synapse_systemd_object_type_id__once)) {
		GType synapse_systemd_object_type_id;
		synapse_systemd_object_type_id = synapse_systemd_object_get_type_once ();
		g_once_init_leave (&synapse_systemd_object_type_id__once, synapse_systemd_object_type_id);
	}
	return synapse_systemd_object_type_id__once;
}

G_DEFINE_TYPE_EXTENDED (SynapseSystemdObjectProxy, synapse_systemd_object_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (SYNAPSE_TYPE_SYSTEMD_OBJECT, synapse_systemd_object_proxy_synapse_systemd_object_interface_init) )
static void
synapse_systemd_object_proxy_class_init (SynapseSystemdObjectProxyClass* klass)
{
	G_DBUS_PROXY_CLASS (klass)->g_signal = synapse_systemd_object_proxy_g_signal;
}

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

static void
synapse_systemd_object_proxy_init (SynapseSystemdObjectProxy* self)
{
	g_dbus_proxy_set_interface_info (G_DBUS_PROXY (self), (GDBusInterfaceInfo *) (&_synapse_systemd_object_dbus_interface_info));
}

static void
synapse_systemd_object_proxy_reboot (SynapseSystemdObject* self,
                                     gboolean interactive,
                                     GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "Reboot");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (interactive));
	_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
synapse_systemd_object_proxy_suspend (SynapseSystemdObject* self,
                                      gboolean interactive,
                                      GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "Suspend");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (interactive));
	_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
synapse_systemd_object_proxy_hibernate (SynapseSystemdObject* self,
                                        gboolean interactive,
                                        GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "Hibernate");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (interactive));
	_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
synapse_systemd_object_proxy_power_off (SynapseSystemdObject* self,
                                        gboolean interactive,
                                        GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "PowerOff");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (interactive));
	_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*
synapse_systemd_object_proxy_can_suspend (SynapseSystemdObject* self,
                                          GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp101_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "CanSuspend");
	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);
	_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 gchar*
synapse_systemd_object_proxy_can_hibernate (SynapseSystemdObject* self,
                                            GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp102_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "CanHibernate");
	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);
	_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 gchar*
synapse_systemd_object_proxy_can_reboot (SynapseSystemdObject* self,
                                         GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp103_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "CanReboot");
	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);
	_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 gchar*
synapse_systemd_object_proxy_can_power_off (SynapseSystemdObject* self,
                                            GError** error)
{
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result = NULL;
	GVariant* _tmp104_;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.login1.Manager", "CanPowerOff");
	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);
	_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 void
synapse_systemd_object_proxy_synapse_systemd_object_interface_init (SynapseSystemdObjectIface* iface)
{
	iface->reboot = synapse_systemd_object_proxy_reboot;
	iface->suspend = synapse_systemd_object_proxy_suspend;
	iface->hibernate = synapse_systemd_object_proxy_hibernate;
	iface->power_off = synapse_systemd_object_proxy_power_off;
	iface->can_suspend = synapse_systemd_object_proxy_can_suspend;
	iface->can_hibernate = synapse_systemd_object_proxy_can_hibernate;
	iface->can_reboot = synapse_systemd_object_proxy_can_reboot;
	iface->can_power_off = synapse_systemd_object_proxy_can_power_off;
}

static void
_dbus_synapse_systemd_object_reboot (SynapseSystemdObject* self,
                                     GVariant* _parameters_,
                                     GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gboolean interactive = FALSE;
	GVariant* _tmp105_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp105_ = g_variant_iter_next_value (&_arguments_iter);
	interactive = g_variant_get_boolean (_tmp105_);
	g_variant_unref (_tmp105_);
	synapse_systemd_object_reboot (self, interactive, &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_synapse_systemd_object_suspend (SynapseSystemdObject* self,
                                      GVariant* _parameters_,
                                      GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gboolean interactive = FALSE;
	GVariant* _tmp106_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp106_ = g_variant_iter_next_value (&_arguments_iter);
	interactive = g_variant_get_boolean (_tmp106_);
	g_variant_unref (_tmp106_);
	synapse_systemd_object_suspend (self, interactive, &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_synapse_systemd_object_hibernate (SynapseSystemdObject* self,
                                        GVariant* _parameters_,
                                        GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gboolean interactive = FALSE;
	GVariant* _tmp107_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp107_ = g_variant_iter_next_value (&_arguments_iter);
	interactive = g_variant_get_boolean (_tmp107_);
	g_variant_unref (_tmp107_);
	synapse_systemd_object_hibernate (self, interactive, &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_synapse_systemd_object_power_off (SynapseSystemdObject* self,
                                        GVariant* _parameters_,
                                        GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gboolean interactive = FALSE;
	GVariant* _tmp108_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp108_ = g_variant_iter_next_value (&_arguments_iter);
	interactive = g_variant_get_boolean (_tmp108_);
	g_variant_unref (_tmp108_);
	synapse_systemd_object_power_off (self, interactive, &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_synapse_systemd_object_can_suspend (SynapseSystemdObject* 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 = synapse_systemd_object_can_suspend (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_synapse_systemd_object_can_hibernate (SynapseSystemdObject* 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 = synapse_systemd_object_can_hibernate (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_synapse_systemd_object_can_reboot (SynapseSystemdObject* 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 = synapse_systemd_object_can_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);
	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_synapse_systemd_object_can_power_off (SynapseSystemdObject* 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 = synapse_systemd_object_can_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);
	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
synapse_systemd_object_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, "Reboot") == 0) {
		_dbus_synapse_systemd_object_reboot (object, parameters, invocation);
	} else if (strcmp (method_name, "Suspend") == 0) {
		_dbus_synapse_systemd_object_suspend (object, parameters, invocation);
	} else if (strcmp (method_name, "Hibernate") == 0) {
		_dbus_synapse_systemd_object_hibernate (object, parameters, invocation);
	} else if (strcmp (method_name, "PowerOff") == 0) {
		_dbus_synapse_systemd_object_power_off (object, parameters, invocation);
	} else if (strcmp (method_name, "CanSuspend") == 0) {
		_dbus_synapse_systemd_object_can_suspend (object, parameters, invocation);
	} else if (strcmp (method_name, "CanHibernate") == 0) {
		_dbus_synapse_systemd_object_can_hibernate (object, parameters, invocation);
	} else if (strcmp (method_name, "CanReboot") == 0) {
		_dbus_synapse_systemd_object_can_reboot (object, parameters, invocation);
	} else if (strcmp (method_name, "CanPowerOff") == 0) {
		_dbus_synapse_systemd_object_can_power_off (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

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

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

guint
synapse_systemd_object_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 *) (&_synapse_systemd_object_dbus_interface_info), &_synapse_systemd_object_dbus_interface_vtable, data, _synapse_systemd_object_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

static void
_synapse_systemd_object_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);
}

static inline gpointer
synapse_system_management_plugin_get_instance_private (SynapseSystemManagementPlugin* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPlugin_private_offset);
}

static void
synapse_system_management_plugin_real_activate (SynapseActivatable* base)
{
	SynapseSystemManagementPlugin * self;
	self = (SynapseSystemManagementPlugin*) base;
}

static void
synapse_system_management_plugin_real_deactivate (SynapseActivatable* base)
{
	SynapseSystemManagementPlugin * self;
	self = (SynapseSystemManagementPlugin*) base;
}

static void
_synapse_system_management_plugin_register_plugin_synapse_plugin_register_func (void)
{
	synapse_system_management_plugin_register_plugin ();
}

static void
synapse_system_management_plugin_register_plugin (void)
{
	gboolean _tmp0_ = FALSE;
	SynapseDBusService* _tmp1_;
	SynapseDBusService* _tmp2_;
	gboolean _tmp3_;
	SynapseDataSinkPluginRegistry* _tmp6_;
	SynapseDataSinkPluginRegistry* _tmp7_;
	_tmp1_ = synapse_dbus_service_get_default ();
	_tmp2_ = _tmp1_;
	_tmp3_ = synapse_dbus_service_service_is_available (_tmp2_, SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME);
	_g_object_unref0 (_tmp2_);
	if (_tmp3_) {
		_tmp0_ = TRUE;
	} else {
		SynapseDBusService* _tmp4_;
		SynapseDBusService* _tmp5_;
		_tmp4_ = synapse_dbus_service_get_default ();
		_tmp5_ = _tmp4_;
		_tmp0_ = synapse_dbus_service_service_is_available (_tmp5_, SYNAPSE_CONSOLE_KIT_OBJECT_UNIQUE_NAME);
		_g_object_unref0 (_tmp5_);
	}
	_tmp6_ = synapse_data_sink_plugin_registry_get_default ();
	_tmp7_ = _tmp6_;
	synapse_data_sink_plugin_registry_register_plugin (_tmp7_, SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN, "system-restart", _synapse_system_management_plugin_register_plugin_synapse_plugin_register_func, _tmp0_);
	_g_object_unref0 (_tmp7_);
}

static void
synapse_system_management_plugin_real_search_data_free (gpointer _data)
{
	SynapseSystemManagementPluginSearchData* _data_;
	_data_ = _data;
	synapse_query_destroy (&_data_->q);
	_g_object_unref0 (_data_->result);
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginSearchData, _data_);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
synapse_system_management_plugin_real_search (SynapseItemProvider* base,
                                              SynapseQuery* q,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_)
{
	SynapseSystemManagementPlugin * self;
	SynapseSystemManagementPluginSearchData* _data_;
	SynapseSystemManagementPlugin* _tmp0_;
	SynapseQuery _tmp1_;
	SynapseQuery _tmp2_;
	SynapseQuery _tmp3_ = {0};
	g_return_if_fail (q != NULL);
	self = (SynapseSystemManagementPlugin*) base;
	_data_ = g_slice_new0 (SynapseSystemManagementPluginSearchData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_real_search_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = *q;
	_tmp2_ = _tmp1_;
	synapse_query_copy (&_tmp2_, &_tmp3_);
	synapse_query_destroy (&_data_->q);
	_data_->q = _tmp3_;
	synapse_system_management_plugin_real_search_co (_data_);
}

static SynapseResultSet*
synapse_system_management_plugin_search_finish (SynapseItemProvider* base,
                                                GAsyncResult* _res_,
                                                GError** error)
{
	SynapseResultSet* result;
	SynapseSystemManagementPluginSearchData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		return NULL;
	}
	result = _data_->result;
	_data_->result = NULL;
	return result;
}

static gboolean
synapse_system_management_plugin_real_search_co (SynapseSystemManagementPluginSearchData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->q;
	if (!((_data_->_tmp0_.query_type & SYNAPSE_QUERY_FLAGS_ACTIONS) == SYNAPSE_QUERY_FLAGS_ACTIONS)) {
		_data_->result = NULL;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp1_ = synapse_result_set_new ();
	_data_->_result_ = _data_->_tmp1_;
	_data_->_tmp2_ = _data_->q;
	_data_->_tmp3_ = _data_->_tmp2_.query_string;
	_data_->_tmp4_ = synapse_query_get_matchers_for_query (_data_->_tmp3_, 0, G_REGEX_OPTIMIZE | G_REGEX_CASELESS);
	_data_->matchers = _data_->_tmp4_;
	{
		_data_->_tmp5_ = _data_->self->priv->actions;
		_data_->_action_list = _data_->_tmp5_;
		_data_->_tmp6_ = _data_->_action_list;
		_data_->_tmp7_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp6_);
		_data_->_tmp8_ = _data_->_tmp7_;
		_data_->_action_size = _data_->_tmp8_;
		_data_->_action_index = -1;
		while (TRUE) {
			_data_->_action_index = _data_->_action_index + 1;
			_data_->_tmp9_ = _data_->_action_index;
			_data_->_tmp10_ = _data_->_action_size;
			if (!(_data_->_tmp9_ < _data_->_tmp10_)) {
				break;
			}
			_data_->_tmp11_ = _data_->_action_list;
			_data_->_tmp12_ = gee_list_get (_data_->_tmp11_, _data_->_action_index);
			_data_->action = (SynapseSystemManagementPluginSystemAction*) _data_->_tmp12_;
			_data_->_tmp13_ = _data_->action;
			if (!synapse_system_management_plugin_system_action_action_allowed (_data_->_tmp13_)) {
				_g_object_unref0 (_data_->action);
				continue;
			}
			{
				_data_->_tmp14_ = _data_->matchers;
				_data_->_matcher_list = _data_->_tmp14_;
				_data_->_tmp15_ = _data_->_matcher_list;
				_data_->_tmp16_ = gee_collection_get_size ((GeeCollection*) _data_->_tmp15_);
				_data_->_tmp17_ = _data_->_tmp16_;
				_data_->_matcher_size = _data_->_tmp17_;
				_data_->_matcher_index = -1;
				while (TRUE) {
					_data_->_matcher_index = _data_->_matcher_index + 1;
					_data_->_tmp18_ = _data_->_matcher_index;
					_data_->_tmp19_ = _data_->_matcher_size;
					if (!(_data_->_tmp18_ < _data_->_tmp19_)) {
						break;
					}
					_data_->_tmp20_ = _data_->_matcher_list;
					_data_->_tmp21_ = gee_list_get (_data_->_tmp20_, _data_->_matcher_index);
					_data_->matcher = (GeeMapEntry*) _data_->_tmp21_;
					_data_->_tmp22_ = _data_->action;
					_data_->_tmp23_ = _data_->matcher;
					if (synapse_system_management_plugin_match (_data_->self, _data_->_tmp22_, _data_->_tmp23_)) {
						_data_->_tmp24_ = _data_->_result_;
						_data_->_tmp25_ = _data_->action;
						_data_->_tmp26_ = _data_->matcher;
						_data_->_tmp27_ = gee_map_entry_get_value (_data_->_tmp26_);
						_data_->_tmp28_ = _data_->_tmp27_;
						synapse_result_set_add (_data_->_tmp24_, (SynapseMatch*) _data_->_tmp25_, ((gint) ((gintptr) _data_->_tmp28_)) - SYNAPSE_MATCH_SCORE_INCREMENT_SMALL);
						_g_object_unref0 (_data_->matcher);
						break;
					}
					_g_object_unref0 (_data_->matcher);
				}
			}
			_g_object_unref0 (_data_->action);
		}
	}
	synapse_query_check_cancellable (&_data_->q, &_data_->_inner_error0_);
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		if (_data_->_inner_error0_->domain == SYNAPSE_SEARCH_ERROR) {
			g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
			_g_object_unref0 (_data_->matchers);
			_g_object_unref0 (_data_->_result_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		} else {
			_g_object_unref0 (_data_->matchers);
			_g_object_unref0 (_data_->_result_);
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->result = _data_->_result_;
	_g_object_unref0 (_data_->matchers);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gboolean
synapse_system_management_plugin_match (SynapseSystemManagementPlugin* self,
                                        SynapseSystemManagementPluginSystemAction* action,
                                        GeeMapEntry* matcher)
{
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (action != NULL, FALSE);
	g_return_val_if_fail (matcher != NULL, FALSE);
	_tmp0_ = gee_map_entry_get_key (matcher);
	_tmp1_ = _tmp0_;
	_tmp2_ = synapse_match_get_title ((SynapseMatch*) action);
	_tmp3_ = _tmp2_;
	if (g_regex_match ((GRegex*) _tmp1_, _tmp3_, 0, NULL)) {
		result = TRUE;
		return result;
	}
	{
		GeeArrayList* _keyword_list = NULL;
		GeeArrayList* _tmp4_;
		GeeArrayList* _tmp5_;
		gint _keyword_size = 0;
		GeeArrayList* _tmp6_;
		gint _tmp7_;
		gint _tmp8_;
		gint _keyword_index = 0;
		_tmp4_ = synapse_system_management_plugin_system_action_get_keywords (action);
		_tmp5_ = _tmp4_;
		_keyword_list = _tmp5_;
		_tmp6_ = _keyword_list;
		_tmp7_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp6_);
		_tmp8_ = _tmp7_;
		_keyword_size = _tmp8_;
		_keyword_index = -1;
		while (TRUE) {
			gint _tmp9_;
			gint _tmp10_;
			gchar* keyword = NULL;
			GeeArrayList* _tmp11_;
			gpointer _tmp12_;
			gconstpointer _tmp13_;
			gconstpointer _tmp14_;
			const gchar* _tmp15_;
			_keyword_index = _keyword_index + 1;
			_tmp9_ = _keyword_index;
			_tmp10_ = _keyword_size;
			if (!(_tmp9_ < _tmp10_)) {
				break;
			}
			_tmp11_ = _keyword_list;
			_tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _keyword_index);
			keyword = (gchar*) _tmp12_;
			_tmp13_ = gee_map_entry_get_key (matcher);
			_tmp14_ = _tmp13_;
			_tmp15_ = keyword;
			if (g_regex_match ((GRegex*) _tmp14_, _tmp15_, 0, NULL)) {
				result = TRUE;
				_g_free0 (keyword);
				return result;
			}
			_g_free0 (keyword);
		}
	}
	result = FALSE;
	return result;
}

SynapseSystemManagementPlugin*
synapse_system_management_plugin_construct (GType object_type)
{
	SynapseSystemManagementPlugin * self = NULL;
	self = (SynapseSystemManagementPlugin*) g_object_new (object_type, NULL);
	return self;
}

SynapseSystemManagementPlugin*
synapse_system_management_plugin_new (void)
{
	return synapse_system_management_plugin_construct (SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN);
}

static gboolean
synapse_system_management_plugin_real_get_enabled (SynapseActivatable* base)
{
	gboolean result;
	SynapseSystemManagementPlugin* self;
	self = (SynapseSystemManagementPlugin*) base;
	result = self->priv->_enabled;
	return result;
}

static void
synapse_system_management_plugin_real_set_enabled (SynapseActivatable* base,
                                                   gboolean value)
{
	SynapseSystemManagementPlugin* self;
	gboolean old_value;
	self = (SynapseSystemManagementPlugin*) base;
	old_value = synapse_system_management_plugin_real_get_enabled (base);
	if (old_value != value) {
		self->priv->_enabled = value;
		g_object_notify_by_pspec ((GObject *) self, synapse_system_management_plugin_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY]);
	}
}

static inline gpointer
synapse_system_management_plugin_system_action_get_instance_private (SynapseSystemManagementPluginSystemAction* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPluginSystemAction_private_offset);
}

static void
synapse_system_management_plugin_system_action_real_do_action (SynapseSystemManagementPluginSystemAction* self)
{
	g_critical ("Type `%s' does not implement abstract method `synapse_system_management_plugin_system_action_do_action'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return;
}

void
synapse_system_management_plugin_system_action_do_action (SynapseSystemManagementPluginSystemAction* self)
{
	SynapseSystemManagementPluginSystemActionClass* _klass_;
	g_return_if_fail (self != NULL);
	_klass_ = SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_GET_CLASS (self);
	if (_klass_->do_action) {
		_klass_->do_action (self);
	}
}

static gboolean
synapse_system_management_plugin_system_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* self)
{
	gboolean _tmp0_ = FALSE;
	g_critical ("Type `%s' does not implement abstract method `synapse_system_management_plugin_system_action_action_allowed'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return _tmp0_;
}

gboolean
synapse_system_management_plugin_system_action_action_allowed (SynapseSystemManagementPluginSystemAction* self)
{
	SynapseSystemManagementPluginSystemActionClass* _klass_;
	g_return_val_if_fail (self != NULL, FALSE);
	_klass_ = SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_GET_CLASS (self);
	if (_klass_->action_allowed) {
		return _klass_->action_allowed (self);
	}
	return FALSE;
}

static void
synapse_system_management_plugin_system_action_add_keywords (SynapseSystemManagementPluginSystemAction* self,
                                                             const gchar* keywords_list)
{
	GeeArrayList* _tmp0_;
	gchar** _tmp1_;
	gchar** _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	GeeArrayList* _tmp4_;
	gchar** _tmp5_;
	gchar** _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	g_return_if_fail (self != NULL);
	g_return_if_fail (keywords_list != NULL);
	_tmp0_ = self->priv->_keywords;
	_tmp2_ = _tmp1_ = g_strsplit (keywords_list, ";", 0);
	_tmp3_ = _tmp2_;
	_tmp3__length1 = _vala_array_length (_tmp1_);
	gee_collection_add_all_array ((GeeCollection*) _tmp0_, _tmp3_, (gint) _vala_array_length (_tmp1_));
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
	_tmp4_ = self->priv->_keywords;
	_tmp6_ = _tmp5_ = g_strsplit (g_dpgettext2 (NULL, "system_management_action_keyword", keywords_list), ";", 0);
	_tmp7_ = _tmp6_;
	_tmp7__length1 = _vala_array_length (_tmp5_);
	gee_collection_add_all_array ((GeeCollection*) _tmp4_, _tmp7_, (gint) _vala_array_length (_tmp5_));
	_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
}

static void
synapse_system_management_plugin_system_action_real_execute (SynapseMatch* base,
                                                             SynapseMatch* match)
{
	SynapseSystemManagementPluginSystemAction * self;
	self = (SynapseSystemManagementPluginSystemAction*) base;
	synapse_system_management_plugin_system_action_do_action (self);
}

static SynapseSystemManagementPluginSystemAction*
synapse_system_management_plugin_system_action_construct (GType object_type)
{
	SynapseSystemManagementPluginSystemAction * self = NULL;
	self = (SynapseSystemManagementPluginSystemAction*) synapse_match_construct (object_type);
	return self;
}

static GeeArrayList*
synapse_system_management_plugin_system_action_get_keywords (SynapseSystemManagementPluginSystemAction* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_keywords;
	result = _tmp0_;
	return result;
}

static void
synapse_system_management_plugin_system_action_set_keywords (SynapseSystemManagementPluginSystemAction* self,
                                                             GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = synapse_system_management_plugin_system_action_get_keywords (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_keywords);
		self->priv->_keywords = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, synapse_system_management_plugin_system_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY]);
	}
}

static void
synapse_system_management_plugin_system_action_class_init (SynapseSystemManagementPluginSystemActionClass * klass,
                                                           gpointer klass_data)
{
	synapse_system_management_plugin_system_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPluginSystemAction_private_offset);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_system_action_real_do_action;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_system_action_real_action_allowed;
	((SynapseMatchClass *) klass)->execute = (void (*) (SynapseMatch*, SynapseMatch*)) synapse_system_management_plugin_system_action_real_execute;
	G_OBJECT_CLASS (klass)->get_property = _vala_synapse_system_management_plugin_system_action_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_synapse_system_management_plugin_system_action_set_property;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_system_action_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY, synapse_system_management_plugin_system_action_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY] = g_param_spec_object ("keywords", "keywords", "keywords", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
synapse_system_management_plugin_system_action_instance_init (SynapseSystemManagementPluginSystemAction * self,
                                                              gpointer klass)
{
	GeeArrayList* _tmp0_;
	self->priv = synapse_system_management_plugin_system_action_get_instance_private (self);
	_tmp0_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
	self->priv->_keywords = _tmp0_;
}

static void
synapse_system_management_plugin_system_action_finalize (GObject * obj)
{
	SynapseSystemManagementPluginSystemAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemAction);
	_g_object_unref0 (self->priv->_keywords);
	G_OBJECT_CLASS (synapse_system_management_plugin_system_action_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_system_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginSystemActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_system_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginSystemAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_system_action_instance_init, NULL };
	GType synapse_system_management_plugin_system_action_type_id;
	synapse_system_management_plugin_system_action_type_id = g_type_register_static (SYNAPSE_TYPE_MATCH, "SynapseSystemManagementPluginSystemAction", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	SynapseSystemManagementPluginSystemAction_private_offset = g_type_add_instance_private (synapse_system_management_plugin_system_action_type_id, sizeof (SynapseSystemManagementPluginSystemActionPrivate));
	return synapse_system_management_plugin_system_action_type_id;
}

static GType
synapse_system_management_plugin_system_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_system_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_system_action_type_id__once)) {
		GType synapse_system_management_plugin_system_action_type_id;
		synapse_system_management_plugin_system_action_type_id = synapse_system_management_plugin_system_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_system_action_type_id__once, synapse_system_management_plugin_system_action_type_id);
	}
	return synapse_system_management_plugin_system_action_type_id__once;
}

static void
_vala_synapse_system_management_plugin_system_action_get_property (GObject * object,
                                                                   guint property_id,
                                                                   GValue * value,
                                                                   GParamSpec * pspec)
{
	SynapseSystemManagementPluginSystemAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemAction);
	switch (property_id) {
		case SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY:
		g_value_set_object (value, synapse_system_management_plugin_system_action_get_keywords (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_synapse_system_management_plugin_system_action_set_property (GObject * object,
                                                                   guint property_id,
                                                                   const GValue * value,
                                                                   GParamSpec * pspec)
{
	SynapseSystemManagementPluginSystemAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, SynapseSystemManagementPluginSystemAction);
	switch (property_id) {
		case SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_SYSTEM_ACTION_KEYWORDS_PROPERTY:
		synapse_system_management_plugin_system_action_set_keywords (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static SynapseSystemManagementPluginLockAction*
synapse_system_management_plugin_lock_action_construct (GType object_type)
{
	SynapseSystemManagementPluginLockAction * self = NULL;
	self = (SynapseSystemManagementPluginLockAction*) g_object_new (object_type, "title", _ ("Lock"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Lock this device"), "icon-name", "system-lock-screen", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "lock"));
	return self;
}

static SynapseSystemManagementPluginLockAction*
synapse_system_management_plugin_lock_action_new (void)
{
	return synapse_system_management_plugin_lock_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOCK_ACTION);
}

static gboolean
synapse_system_management_plugin_lock_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginLockAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginLockAction*) base;
	result = TRUE;
	return result;
}

static void
synapse_system_management_plugin_lock_action_do_lock_data_free (gpointer _data)
{
	SynapseSystemManagementPluginLockActionDoLockData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginLockActionDoLockData, _data_);
}

static void
synapse_system_management_plugin_lock_action_do_lock (SynapseSystemManagementPluginLockAction* self,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_)
{
	SynapseSystemManagementPluginLockActionDoLockData* _data_;
	SynapseSystemManagementPluginLockAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginLockActionDoLockData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_lock_action_do_lock_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_lock_action_do_lock_co (_data_);
}

static void
synapse_system_management_plugin_lock_action_do_lock_finish (SynapseSystemManagementPluginLockAction* self,
                                                             GAsyncResult* _res_)
{
	SynapseSystemManagementPluginLockActionDoLockData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static gboolean
synapse_system_management_plugin_lock_action_do_lock_co (SynapseSystemManagementPluginLockActionDoLockData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseLockObject*) g_initable_new (SYNAPSE_TYPE_LOCK_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_LOCK_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", SYNAPSE_LOCK_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.ScreenSaver", NULL);
		_data_->dbus_interface = (SynapseLockObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp1_ = _data_->dbus_interface;
		synapse_lock_object_lock (_data_->_tmp1_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = _data_->err;
		_data_->_tmp3_ = _data_->_tmp2_->message;
		g_warning ("system-managment.vala:132: %s", _data_->_tmp3_);
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
synapse_system_management_plugin_lock_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginLockAction * self;
	self = (SynapseSystemManagementPluginLockAction*) base;
	synapse_system_management_plugin_lock_action_do_lock (self, NULL, NULL);
}

static void
synapse_system_management_plugin_lock_action_class_init (SynapseSystemManagementPluginLockActionClass * klass,
                                                         gpointer klass_data)
{
	synapse_system_management_plugin_lock_action_parent_class = g_type_class_peek_parent (klass);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_lock_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_lock_action_real_do_action;
}

static void
synapse_system_management_plugin_lock_action_instance_init (SynapseSystemManagementPluginLockAction * self,
                                                            gpointer klass)
{
}

static GType
synapse_system_management_plugin_lock_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginLockActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_lock_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginLockAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_lock_action_instance_init, NULL };
	GType synapse_system_management_plugin_lock_action_type_id;
	synapse_system_management_plugin_lock_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginLockAction", &g_define_type_info, 0);
	return synapse_system_management_plugin_lock_action_type_id;
}

static GType
synapse_system_management_plugin_lock_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_lock_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_lock_action_type_id__once)) {
		GType synapse_system_management_plugin_lock_action_type_id;
		synapse_system_management_plugin_lock_action_type_id = synapse_system_management_plugin_lock_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_lock_action_type_id__once, synapse_system_management_plugin_lock_action_type_id);
	}
	return synapse_system_management_plugin_lock_action_type_id__once;
}

static SynapseSystemManagementPluginLogOutAction*
synapse_system_management_plugin_log_out_action_construct (GType object_type)
{
	SynapseSystemManagementPluginLogOutAction * self = NULL;
	self = (SynapseSystemManagementPluginLogOutAction*) g_object_new (object_type, "title", _ ("Log Out"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Close all open applications and quit"), "icon-name", "system-log-out", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "logout"));
	return self;
}

static SynapseSystemManagementPluginLogOutAction*
synapse_system_management_plugin_log_out_action_new (void)
{
	return synapse_system_management_plugin_log_out_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_LOG_OUT_ACTION);
}

static gboolean
synapse_system_management_plugin_log_out_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginLogOutAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginLogOutAction*) base;
	result = TRUE;
	return result;
}

static void
synapse_system_management_plugin_log_out_action_do_log_out_data_free (gpointer _data)
{
	SynapseSystemManagementPluginLogOutActionDoLogOutData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginLogOutActionDoLogOutData, _data_);
}

static void
synapse_system_management_plugin_log_out_action_do_log_out (SynapseSystemManagementPluginLogOutAction* self,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_)
{
	SynapseSystemManagementPluginLogOutActionDoLogOutData* _data_;
	SynapseSystemManagementPluginLogOutAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginLogOutActionDoLogOutData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_log_out_action_do_log_out_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_log_out_action_do_log_out_co (_data_);
}

static void
synapse_system_management_plugin_log_out_action_do_log_out_finish (SynapseSystemManagementPluginLogOutAction* self,
                                                                   GAsyncResult* _res_)
{
	SynapseSystemManagementPluginLogOutActionDoLogOutData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static gboolean
synapse_system_management_plugin_log_out_action_do_log_out_co (SynapseSystemManagementPluginLogOutActionDoLogOutData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseLogOutObject*) g_initable_new (SYNAPSE_TYPE_LOG_OUT_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_LOG_OUT_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_LOG_OUT_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.User", NULL);
		_data_->dbus_interface = (SynapseLogOutObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp1_ = _data_->dbus_interface;
		synapse_log_out_object_terminate (_data_->_tmp1_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = _data_->err;
		_data_->_tmp3_ = _data_->_tmp2_->message;
		g_warning ("system-managment.vala:165: %s", _data_->_tmp3_);
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
synapse_system_management_plugin_log_out_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginLogOutAction * self;
	self = (SynapseSystemManagementPluginLogOutAction*) base;
	synapse_system_management_plugin_log_out_action_do_log_out (self, NULL, NULL);
}

static void
synapse_system_management_plugin_log_out_action_class_init (SynapseSystemManagementPluginLogOutActionClass * klass,
                                                            gpointer klass_data)
{
	synapse_system_management_plugin_log_out_action_parent_class = g_type_class_peek_parent (klass);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_log_out_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_log_out_action_real_do_action;
}

static void
synapse_system_management_plugin_log_out_action_instance_init (SynapseSystemManagementPluginLogOutAction * self,
                                                               gpointer klass)
{
}

static GType
synapse_system_management_plugin_log_out_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginLogOutActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_log_out_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginLogOutAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_log_out_action_instance_init, NULL };
	GType synapse_system_management_plugin_log_out_action_type_id;
	synapse_system_management_plugin_log_out_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginLogOutAction", &g_define_type_info, 0);
	return synapse_system_management_plugin_log_out_action_type_id;
}

static GType
synapse_system_management_plugin_log_out_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_log_out_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_log_out_action_type_id__once)) {
		GType synapse_system_management_plugin_log_out_action_type_id;
		synapse_system_management_plugin_log_out_action_type_id = synapse_system_management_plugin_log_out_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_log_out_action_type_id__once, synapse_system_management_plugin_log_out_action_type_id);
	}
	return synapse_system_management_plugin_log_out_action_type_id__once;
}

static inline gpointer
synapse_system_management_plugin_suspend_action_get_instance_private (SynapseSystemManagementPluginSuspendAction* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPluginSuspendAction_private_offset);
}

static SynapseSystemManagementPluginSuspendAction*
synapse_system_management_plugin_suspend_action_construct (GType object_type)
{
	SynapseSystemManagementPluginSuspendAction * self = NULL;
	self = (SynapseSystemManagementPluginSuspendAction*) g_object_new (object_type, "title", _ ("Suspend"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Put your computer into suspend mode"), "icon-name", "system-suspend", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "suspend"));
	return self;
}

static SynapseSystemManagementPluginSuspendAction*
synapse_system_management_plugin_suspend_action_new (void)
{
	return synapse_system_management_plugin_suspend_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION);
}

static void
synapse_system_management_plugin_suspend_action_check_allowed_data_free (gpointer _data)
{
	SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginSuspendActionCheckAllowedData, _data_);
}

static void
synapse_system_management_plugin_suspend_action_check_allowed (SynapseSystemManagementPluginSuspendAction* self,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_)
{
	SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_;
	SynapseSystemManagementPluginSuspendAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginSuspendActionCheckAllowedData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_suspend_action_check_allowed_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_suspend_action_check_allowed_co (_data_);
}

static void
synapse_system_management_plugin_suspend_action_check_allowed_finish (SynapseSystemManagementPluginSuspendAction* self,
                                                                      GAsyncResult* _res_)
{
	SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_suspend_action_check_allowed_ready (GObject* source_object,
                                                                     GAsyncResult* _res_,
                                                                     gpointer _user_data_)
{
	SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_suspend_action_check_allowed_co (_data_);
}

static gboolean
synapse_system_management_plugin_suspend_action_check_allowed_co (SynapseSystemManagementPluginSuspendActionCheckAllowedData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp2_ = _data_->dbus_interface;
		_data_->_tmp3_ = synapse_systemd_object_can_suspend (_data_->_tmp2_, &_data_->_inner_error0_);
		_data_->_tmp1_ = _data_->_tmp3_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_data_->self->priv->allowed = g_strcmp0 (_data_->_tmp1_, "yes") == 0;
		_g_free0 (_data_->_tmp1_);
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = _data_->err;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		g_warning ("system-managment.vala:198: %s", _data_->_tmp5_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp6_ = (SynapseUPowerObject*) g_initable_new (SYNAPSE_TYPE_UPOWER_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_UPOWER_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_UPOWER_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.UPower", NULL);
		_data_->_vala1_dbus_interface = (SynapseUPowerObject*) _data_->_tmp6_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_data_->_tmp8_ = _data_->_vala1_dbus_interface;
		_data_->_state_ = 1;
		synapse_upower_object_suspend_allowed (_data_->_tmp8_, synapse_system_management_plugin_suspend_action_check_allowed_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp7_ = synapse_upower_object_suspend_allowed_finish (_data_->_tmp8_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		_data_->self->priv->allowed = _data_->_tmp7_;
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp9_ = _data_->_vala1_err;
		_data_->_tmp10_ = _data_->_tmp9_->message;
		g_warning ("system-managment.vala:211: %s", _data_->_tmp10_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gboolean
synapse_system_management_plugin_suspend_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginSuspendAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginSuspendAction*) base;
	result = self->priv->allowed;
	return result;
}

static void
synapse_system_management_plugin_suspend_action_do_suspend_data_free (gpointer _data)
{
	SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginSuspendActionDoSuspendData, _data_);
}

static void
synapse_system_management_plugin_suspend_action_do_suspend (SynapseSystemManagementPluginSuspendAction* self,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_)
{
	SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_;
	SynapseSystemManagementPluginSuspendAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginSuspendActionDoSuspendData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_suspend_action_do_suspend_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_suspend_action_do_suspend_co (_data_);
}

static void
synapse_system_management_plugin_suspend_action_do_suspend_finish (SynapseSystemManagementPluginSuspendAction* self,
                                                                   GAsyncResult* _res_)
{
	SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_suspend_action_do_suspend_ready (GObject* source_object,
                                                                  GAsyncResult* _res_,
                                                                  gpointer _user_data_)
{
	SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_suspend_action_do_suspend_co (_data_);
}

static gboolean
_synapse_system_management_plugin_suspend_action_do_suspend_co_gsource_func (gpointer self)
{
	gboolean result;
	result = synapse_system_management_plugin_suspend_action_do_suspend_co (self);
	return result;
}

static gboolean
synapse_system_management_plugin_suspend_action_do_suspend_co (SynapseSystemManagementPluginSuspendActionDoSuspendData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp1_ = _data_->dbus_interface;
		synapse_systemd_object_suspend (_data_->_tmp1_, TRUE, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = _data_->err;
		_data_->_tmp3_ = _data_->_tmp2_->message;
		g_warning ("system-managment.vala:233: %s", _data_->_tmp3_);
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp4_ = (SynapseUPowerObject*) g_initable_new (SYNAPSE_TYPE_UPOWER_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_UPOWER_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_UPOWER_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.UPower", NULL);
		_data_->_vala1_dbus_interface = (SynapseUPowerObject*) _data_->_tmp4_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		{
			_data_->_tmp5_ = _data_->_vala1_dbus_interface;
			_data_->_state_ = 1;
			synapse_upower_object_about_to_sleep (_data_->_tmp5_, synapse_system_management_plugin_suspend_action_do_suspend_ready, _data_);
			return FALSE;
			_state_1:
			synapse_upower_object_about_to_sleep_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch2_g_error;
			}
		}
		goto __finally2;
		__catch2_g_error:
		{
			g_clear_error (&_data_->_inner_error0_);
		}
		__finally2:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 2000, _synapse_system_management_plugin_suspend_action_do_suspend_co_gsource_func, _data_, NULL);
		_data_->_state_ = 2;
		return FALSE;
		_state_2:
		;
		_data_->_tmp6_ = _data_->_vala1_dbus_interface;
		_data_->_state_ = 3;
		synapse_upower_object_suspend (_data_->_tmp6_, synapse_system_management_plugin_suspend_action_do_suspend_ready, _data_);
		return FALSE;
		_state_3:
		synapse_upower_object_suspend_finish (_data_->_tmp6_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp7_ = _data_->_vala1_err;
		_data_->_tmp8_ = _data_->_tmp7_->message;
		g_warning ("system-managment.vala:254: %s", _data_->_tmp8_);
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
synapse_system_management_plugin_suspend_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginSuspendAction * self;
	self = (SynapseSystemManagementPluginSuspendAction*) base;
	synapse_system_management_plugin_suspend_action_do_suspend (self, NULL, NULL);
}

static GObject *
synapse_system_management_plugin_suspend_action_constructor (GType type,
                                                             guint n_construct_properties,
                                                             GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseSystemManagementPluginSuspendAction * self;
	parent_class = G_OBJECT_CLASS (synapse_system_management_plugin_suspend_action_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION, SynapseSystemManagementPluginSuspendAction);
	synapse_system_management_plugin_suspend_action_check_allowed (self, NULL, NULL);
	return obj;
}

static void
synapse_system_management_plugin_suspend_action_class_init (SynapseSystemManagementPluginSuspendActionClass * klass,
                                                            gpointer klass_data)
{
	synapse_system_management_plugin_suspend_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPluginSuspendAction_private_offset);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_suspend_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_suspend_action_real_do_action;
	G_OBJECT_CLASS (klass)->constructor = synapse_system_management_plugin_suspend_action_constructor;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_suspend_action_finalize;
}

static void
synapse_system_management_plugin_suspend_action_instance_init (SynapseSystemManagementPluginSuspendAction * self,
                                                               gpointer klass)
{
	self->priv = synapse_system_management_plugin_suspend_action_get_instance_private (self);
	self->priv->allowed = FALSE;
}

static void
synapse_system_management_plugin_suspend_action_finalize (GObject * obj)
{
	SynapseSystemManagementPluginSuspendAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SUSPEND_ACTION, SynapseSystemManagementPluginSuspendAction);
	G_OBJECT_CLASS (synapse_system_management_plugin_suspend_action_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_suspend_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginSuspendActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_suspend_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginSuspendAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_suspend_action_instance_init, NULL };
	GType synapse_system_management_plugin_suspend_action_type_id;
	synapse_system_management_plugin_suspend_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginSuspendAction", &g_define_type_info, 0);
	SynapseSystemManagementPluginSuspendAction_private_offset = g_type_add_instance_private (synapse_system_management_plugin_suspend_action_type_id, sizeof (SynapseSystemManagementPluginSuspendActionPrivate));
	return synapse_system_management_plugin_suspend_action_type_id;
}

static GType
synapse_system_management_plugin_suspend_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_suspend_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_suspend_action_type_id__once)) {
		GType synapse_system_management_plugin_suspend_action_type_id;
		synapse_system_management_plugin_suspend_action_type_id = synapse_system_management_plugin_suspend_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_suspend_action_type_id__once, synapse_system_management_plugin_suspend_action_type_id);
	}
	return synapse_system_management_plugin_suspend_action_type_id__once;
}

static inline gpointer
synapse_system_management_plugin_hibernate_action_get_instance_private (SynapseSystemManagementPluginHibernateAction* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPluginHibernateAction_private_offset);
}

static SynapseSystemManagementPluginHibernateAction*
synapse_system_management_plugin_hibernate_action_construct (GType object_type)
{
	SynapseSystemManagementPluginHibernateAction * self = NULL;
	self = (SynapseSystemManagementPluginHibernateAction*) g_object_new (object_type, "title", _ ("Hibernate"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Put your computer into hibernation mode"), "icon-name", "system-hibernate", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "hibernate"));
	return self;
}

static SynapseSystemManagementPluginHibernateAction*
synapse_system_management_plugin_hibernate_action_new (void)
{
	return synapse_system_management_plugin_hibernate_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION);
}

static void
synapse_system_management_plugin_hibernate_action_check_allowed_data_free (gpointer _data)
{
	SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginHibernateActionCheckAllowedData, _data_);
}

static void
synapse_system_management_plugin_hibernate_action_check_allowed (SynapseSystemManagementPluginHibernateAction* self,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_)
{
	SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_;
	SynapseSystemManagementPluginHibernateAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginHibernateActionCheckAllowedData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_hibernate_action_check_allowed_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_hibernate_action_check_allowed_co (_data_);
}

static void
synapse_system_management_plugin_hibernate_action_check_allowed_finish (SynapseSystemManagementPluginHibernateAction* self,
                                                                        GAsyncResult* _res_)
{
	SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_hibernate_action_check_allowed_ready (GObject* source_object,
                                                                       GAsyncResult* _res_,
                                                                       gpointer _user_data_)
{
	SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_hibernate_action_check_allowed_co (_data_);
}

static gboolean
synapse_system_management_plugin_hibernate_action_check_allowed_co (SynapseSystemManagementPluginHibernateActionCheckAllowedData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp2_ = _data_->dbus_interface;
		_data_->_tmp3_ = synapse_systemd_object_can_hibernate (_data_->_tmp2_, &_data_->_inner_error0_);
		_data_->_tmp1_ = _data_->_tmp3_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_data_->self->priv->allowed = g_strcmp0 (_data_->_tmp1_, "yes") == 0;
		_g_free0 (_data_->_tmp1_);
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = _data_->err;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		g_warning ("system-managment.vala:287: %s", _data_->_tmp5_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp6_ = (SynapseUPowerObject*) g_initable_new (SYNAPSE_TYPE_UPOWER_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_UPOWER_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_UPOWER_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.UPower", NULL);
		_data_->_vala1_dbus_interface = (SynapseUPowerObject*) _data_->_tmp6_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_data_->_tmp8_ = _data_->_vala1_dbus_interface;
		_data_->_state_ = 1;
		synapse_upower_object_hibernate_allowed (_data_->_tmp8_, synapse_system_management_plugin_hibernate_action_check_allowed_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp7_ = synapse_upower_object_hibernate_allowed_finish (_data_->_tmp8_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		_data_->self->priv->allowed = _data_->_tmp7_;
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp9_ = _data_->_vala1_err;
		_data_->_tmp10_ = _data_->_tmp9_->message;
		g_warning ("system-managment.vala:300: %s", _data_->_tmp10_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gboolean
synapse_system_management_plugin_hibernate_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginHibernateAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginHibernateAction*) base;
	result = self->priv->allowed;
	return result;
}

static void
synapse_system_management_plugin_hibernate_action_do_hibernate_data_free (gpointer _data)
{
	SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginHibernateActionDoHibernateData, _data_);
}

static void
synapse_system_management_plugin_hibernate_action_do_hibernate (SynapseSystemManagementPluginHibernateAction* self,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_;
	SynapseSystemManagementPluginHibernateAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginHibernateActionDoHibernateData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_hibernate_action_do_hibernate_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_hibernate_action_do_hibernate_co (_data_);
}

static void
synapse_system_management_plugin_hibernate_action_do_hibernate_finish (SynapseSystemManagementPluginHibernateAction* self,
                                                                       GAsyncResult* _res_)
{
	SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_hibernate_action_do_hibernate_ready (GObject* source_object,
                                                                      GAsyncResult* _res_,
                                                                      gpointer _user_data_)
{
	SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_hibernate_action_do_hibernate_co (_data_);
}

static gboolean
_synapse_system_management_plugin_hibernate_action_do_hibernate_co_gsource_func (gpointer self)
{
	gboolean result;
	result = synapse_system_management_plugin_hibernate_action_do_hibernate_co (self);
	return result;
}

static gboolean
synapse_system_management_plugin_hibernate_action_do_hibernate_co (SynapseSystemManagementPluginHibernateActionDoHibernateData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp1_ = _data_->dbus_interface;
		synapse_systemd_object_hibernate (_data_->_tmp1_, TRUE, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = _data_->err;
		_data_->_tmp3_ = _data_->_tmp2_->message;
		g_warning ("system-managment.vala:322: %s", _data_->_tmp3_);
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp4_ = (SynapseUPowerObject*) g_initable_new (SYNAPSE_TYPE_UPOWER_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_UPOWER_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_UPOWER_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.UPower", NULL);
		_data_->_vala1_dbus_interface = (SynapseUPowerObject*) _data_->_tmp4_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		{
			_data_->_tmp5_ = _data_->_vala1_dbus_interface;
			_data_->_state_ = 1;
			synapse_upower_object_about_to_sleep (_data_->_tmp5_, synapse_system_management_plugin_hibernate_action_do_hibernate_ready, _data_);
			return FALSE;
			_state_1:
			synapse_upower_object_about_to_sleep_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch2_g_error;
			}
		}
		goto __finally2;
		__catch2_g_error:
		{
			g_clear_error (&_data_->_inner_error0_);
		}
		__finally2:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 2000, _synapse_system_management_plugin_hibernate_action_do_hibernate_co_gsource_func, _data_, NULL);
		_data_->_state_ = 2;
		return FALSE;
		_state_2:
		;
		_data_->_tmp6_ = _data_->_vala1_dbus_interface;
		synapse_upower_object_hibernate (_data_->_tmp6_, NULL, NULL);
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp7_ = _data_->_vala1_err;
		_data_->_tmp8_ = _data_->_tmp7_->message;
		g_warning ("system-managment.vala:342: %s", _data_->_tmp8_);
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
synapse_system_management_plugin_hibernate_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginHibernateAction * self;
	self = (SynapseSystemManagementPluginHibernateAction*) base;
	synapse_system_management_plugin_hibernate_action_do_hibernate (self, NULL, NULL);
}

static GObject *
synapse_system_management_plugin_hibernate_action_constructor (GType type,
                                                               guint n_construct_properties,
                                                               GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseSystemManagementPluginHibernateAction * self;
	parent_class = G_OBJECT_CLASS (synapse_system_management_plugin_hibernate_action_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION, SynapseSystemManagementPluginHibernateAction);
	synapse_system_management_plugin_hibernate_action_check_allowed (self, NULL, NULL);
	return obj;
}

static void
synapse_system_management_plugin_hibernate_action_class_init (SynapseSystemManagementPluginHibernateActionClass * klass,
                                                              gpointer klass_data)
{
	synapse_system_management_plugin_hibernate_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPluginHibernateAction_private_offset);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_hibernate_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_hibernate_action_real_do_action;
	G_OBJECT_CLASS (klass)->constructor = synapse_system_management_plugin_hibernate_action_constructor;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_hibernate_action_finalize;
}

static void
synapse_system_management_plugin_hibernate_action_instance_init (SynapseSystemManagementPluginHibernateAction * self,
                                                                 gpointer klass)
{
	self->priv = synapse_system_management_plugin_hibernate_action_get_instance_private (self);
	self->priv->allowed = FALSE;
}

static void
synapse_system_management_plugin_hibernate_action_finalize (GObject * obj)
{
	SynapseSystemManagementPluginHibernateAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_HIBERNATE_ACTION, SynapseSystemManagementPluginHibernateAction);
	G_OBJECT_CLASS (synapse_system_management_plugin_hibernate_action_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_hibernate_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginHibernateActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_hibernate_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginHibernateAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_hibernate_action_instance_init, NULL };
	GType synapse_system_management_plugin_hibernate_action_type_id;
	synapse_system_management_plugin_hibernate_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginHibernateAction", &g_define_type_info, 0);
	SynapseSystemManagementPluginHibernateAction_private_offset = g_type_add_instance_private (synapse_system_management_plugin_hibernate_action_type_id, sizeof (SynapseSystemManagementPluginHibernateActionPrivate));
	return synapse_system_management_plugin_hibernate_action_type_id;
}

static GType
synapse_system_management_plugin_hibernate_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_hibernate_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_hibernate_action_type_id__once)) {
		GType synapse_system_management_plugin_hibernate_action_type_id;
		synapse_system_management_plugin_hibernate_action_type_id = synapse_system_management_plugin_hibernate_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_hibernate_action_type_id__once, synapse_system_management_plugin_hibernate_action_type_id);
	}
	return synapse_system_management_plugin_hibernate_action_type_id__once;
}

static inline gpointer
synapse_system_management_plugin_shutdown_action_get_instance_private (SynapseSystemManagementPluginShutdownAction* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPluginShutdownAction_private_offset);
}

static SynapseSystemManagementPluginShutdownAction*
synapse_system_management_plugin_shutdown_action_construct (GType object_type)
{
	SynapseSystemManagementPluginShutdownAction * self = NULL;
	self = (SynapseSystemManagementPluginShutdownAction*) g_object_new (object_type, "title", _ ("Shut Down"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Turn your computer off"), "icon-name", "system-shutdown", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "shutdown;turn off"));
	return self;
}

static SynapseSystemManagementPluginShutdownAction*
synapse_system_management_plugin_shutdown_action_new (void)
{
	return synapse_system_management_plugin_shutdown_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION);
}

static void
synapse_system_management_plugin_shutdown_action_check_allowed_data_free (gpointer _data)
{
	SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginShutdownActionCheckAllowedData, _data_);
}

static void
synapse_system_management_plugin_shutdown_action_check_allowed (SynapseSystemManagementPluginShutdownAction* self,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_)
{
	SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_;
	SynapseSystemManagementPluginShutdownAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginShutdownActionCheckAllowedData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_shutdown_action_check_allowed_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_shutdown_action_check_allowed_co (_data_);
}

static void
synapse_system_management_plugin_shutdown_action_check_allowed_finish (SynapseSystemManagementPluginShutdownAction* self,
                                                                       GAsyncResult* _res_)
{
	SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_shutdown_action_check_allowed_ready (GObject* source_object,
                                                                      GAsyncResult* _res_,
                                                                      gpointer _user_data_)
{
	SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_shutdown_action_check_allowed_co (_data_);
}

static gboolean
synapse_system_management_plugin_shutdown_action_check_allowed_co (SynapseSystemManagementPluginShutdownActionCheckAllowedData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp2_ = _data_->dbus_interface;
		_data_->_tmp3_ = synapse_systemd_object_can_power_off (_data_->_tmp2_, &_data_->_inner_error0_);
		_data_->_tmp1_ = _data_->_tmp3_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_data_->self->priv->allowed = g_strcmp0 (_data_->_tmp1_, "yes") == 0;
		_g_free0 (_data_->_tmp1_);
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = _data_->err;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		g_warning ("system-managment.vala:375: %s", _data_->_tmp5_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp6_ = (SynapseConsoleKitObject*) g_initable_new (SYNAPSE_TYPE_CONSOLE_KIT_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_CONSOLE_KIT_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_CONSOLE_KIT_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.ConsoleKit.Manager", NULL);
		_data_->_vala1_dbus_interface = (SynapseConsoleKitObject*) _data_->_tmp6_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_data_->_tmp8_ = _data_->_vala1_dbus_interface;
		_data_->_state_ = 1;
		synapse_console_kit_object_can_stop (_data_->_tmp8_, synapse_system_management_plugin_shutdown_action_check_allowed_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp7_ = synapse_console_kit_object_can_stop_finish (_data_->_tmp8_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		_data_->self->priv->allowed = _data_->_tmp7_;
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp9_ = _data_->_vala1_err;
		_data_->_tmp10_ = _data_->_tmp9_->message;
		g_warning ("system-managment.vala:388: %s", _data_->_tmp10_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gboolean
synapse_system_management_plugin_shutdown_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginShutdownAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginShutdownAction*) base;
	result = self->priv->allowed;
	return result;
}

static void
synapse_system_management_plugin_shutdown_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginShutdownAction * self;
	GError* _inner_error0_ = NULL;
	self = (SynapseSystemManagementPluginShutdownAction*) base;
	{
		SynapseSystemdObject* dbus_interface = NULL;
		SynapseSystemdObject* _tmp0_;
		SynapseSystemdObject* _tmp1_;
		_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		dbus_interface = (SynapseSystemdObject*) _tmp0_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp1_ = dbus_interface;
		synapse_systemd_object_power_off (_tmp1_, TRUE, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (dbus_interface);
		return;
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* err = NULL;
		GError* _tmp2_;
		const gchar* _tmp3_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp2_ = err;
		_tmp3_ = _tmp2_->message;
		g_warning ("system-managment.vala:410: %s", _tmp3_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
	{
		SynapseConsoleKitObject* dbus_interface = NULL;
		SynapseConsoleKitObject* _tmp4_;
		SynapseConsoleKitObject* _tmp5_;
		_tmp4_ = (SynapseConsoleKitObject*) g_initable_new (SYNAPSE_TYPE_CONSOLE_KIT_OBJECT_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_CONSOLE_KIT_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_CONSOLE_KIT_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.ConsoleKit.Manager", NULL);
		dbus_interface = (SynapseConsoleKitObject*) _tmp4_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_tmp5_ = dbus_interface;
		synapse_console_kit_object_stop (_tmp5_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (dbus_interface);
			goto __catch1_g_error;
		}
		_g_object_unref0 (dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_warning ("system-managment.vala:422: %s", _tmp7_);
		_g_error_free0 (err);
	}
	__finally1:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static GObject *
synapse_system_management_plugin_shutdown_action_constructor (GType type,
                                                              guint n_construct_properties,
                                                              GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseSystemManagementPluginShutdownAction * self;
	parent_class = G_OBJECT_CLASS (synapse_system_management_plugin_shutdown_action_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION, SynapseSystemManagementPluginShutdownAction);
	synapse_system_management_plugin_shutdown_action_check_allowed (self, NULL, NULL);
	return obj;
}

static void
synapse_system_management_plugin_shutdown_action_class_init (SynapseSystemManagementPluginShutdownActionClass * klass,
                                                             gpointer klass_data)
{
	synapse_system_management_plugin_shutdown_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPluginShutdownAction_private_offset);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_shutdown_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_shutdown_action_real_do_action;
	G_OBJECT_CLASS (klass)->constructor = synapse_system_management_plugin_shutdown_action_constructor;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_shutdown_action_finalize;
}

static void
synapse_system_management_plugin_shutdown_action_instance_init (SynapseSystemManagementPluginShutdownAction * self,
                                                                gpointer klass)
{
	self->priv = synapse_system_management_plugin_shutdown_action_get_instance_private (self);
	self->priv->allowed = FALSE;
}

static void
synapse_system_management_plugin_shutdown_action_finalize (GObject * obj)
{
	SynapseSystemManagementPluginShutdownAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SHUTDOWN_ACTION, SynapseSystemManagementPluginShutdownAction);
	G_OBJECT_CLASS (synapse_system_management_plugin_shutdown_action_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_shutdown_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginShutdownActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_shutdown_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginShutdownAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_shutdown_action_instance_init, NULL };
	GType synapse_system_management_plugin_shutdown_action_type_id;
	synapse_system_management_plugin_shutdown_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginShutdownAction", &g_define_type_info, 0);
	SynapseSystemManagementPluginShutdownAction_private_offset = g_type_add_instance_private (synapse_system_management_plugin_shutdown_action_type_id, sizeof (SynapseSystemManagementPluginShutdownActionPrivate));
	return synapse_system_management_plugin_shutdown_action_type_id;
}

static GType
synapse_system_management_plugin_shutdown_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_shutdown_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_shutdown_action_type_id__once)) {
		GType synapse_system_management_plugin_shutdown_action_type_id;
		synapse_system_management_plugin_shutdown_action_type_id = synapse_system_management_plugin_shutdown_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_shutdown_action_type_id__once, synapse_system_management_plugin_shutdown_action_type_id);
	}
	return synapse_system_management_plugin_shutdown_action_type_id__once;
}

static inline gpointer
synapse_system_management_plugin_restart_action_get_instance_private (SynapseSystemManagementPluginRestartAction* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseSystemManagementPluginRestartAction_private_offset);
}

static SynapseSystemManagementPluginRestartAction*
synapse_system_management_plugin_restart_action_construct (GType object_type)
{
	SynapseSystemManagementPluginRestartAction * self = NULL;
	self = (SynapseSystemManagementPluginRestartAction*) g_object_new (object_type, "title", _ ("Restart"), "match-type", SYNAPSE_MATCH_TYPE_ACTION, "description", _ ("Restart your computer"), "icon-name", "system-restart", "has-thumbnail", FALSE, NULL);
	synapse_system_management_plugin_system_action_add_keywords ((SynapseSystemManagementPluginSystemAction*) self, NC_ ("system_management_action_keyword", "restart;reboot"));
	return self;
}

static SynapseSystemManagementPluginRestartAction*
synapse_system_management_plugin_restart_action_new (void)
{
	return synapse_system_management_plugin_restart_action_construct (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION);
}

static void
synapse_system_management_plugin_restart_action_check_allowed_data_free (gpointer _data)
{
	SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (SynapseSystemManagementPluginRestartActionCheckAllowedData, _data_);
}

static void
synapse_system_management_plugin_restart_action_check_allowed (SynapseSystemManagementPluginRestartAction* self,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_)
{
	SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_;
	SynapseSystemManagementPluginRestartAction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (SynapseSystemManagementPluginRestartActionCheckAllowedData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, synapse_system_management_plugin_restart_action_check_allowed_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	synapse_system_management_plugin_restart_action_check_allowed_co (_data_);
}

static void
synapse_system_management_plugin_restart_action_check_allowed_finish (SynapseSystemManagementPluginRestartAction* self,
                                                                      GAsyncResult* _res_)
{
	SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
synapse_system_management_plugin_restart_action_check_allowed_ready (GObject* source_object,
                                                                     GAsyncResult* _res_,
                                                                     gpointer _user_data_)
{
	SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	synapse_system_management_plugin_restart_action_check_allowed_co (_data_);
}

static gboolean
synapse_system_management_plugin_restart_action_check_allowed_co (SynapseSystemManagementPluginRestartActionCheckAllowedData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		_data_->dbus_interface = (SynapseSystemdObject*) _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp2_ = _data_->dbus_interface;
		_data_->_tmp3_ = synapse_systemd_object_can_reboot (_data_->_tmp2_, &_data_->_inner_error0_);
		_data_->_tmp1_ = _data_->_tmp3_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->dbus_interface);
			goto __catch0_g_error;
		}
		_data_->self->priv->allowed = g_strcmp0 (_data_->_tmp1_, "yes") == 0;
		_g_free0 (_data_->_tmp1_);
		_g_object_unref0 (_data_->dbus_interface);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = _data_->err;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		g_warning ("system-managment.vala:451: %s", _data_->_tmp5_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->err);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	{
		_data_->_tmp6_ = (SynapseConsoleKitObject*) g_initable_new (SYNAPSE_TYPE_CONSOLE_KIT_OBJECT_PROXY, NULL, &_data_->_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_CONSOLE_KIT_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_CONSOLE_KIT_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.ConsoleKit.Manager", NULL);
		_data_->_vala1_dbus_interface = (SynapseConsoleKitObject*) _data_->_tmp6_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_data_->_tmp8_ = _data_->_vala1_dbus_interface;
		_data_->_state_ = 1;
		synapse_console_kit_object_can_restart (_data_->_tmp8_, synapse_system_management_plugin_restart_action_check_allowed_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp7_ = synapse_console_kit_object_can_restart_finish (_data_->_tmp8_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->_vala1_dbus_interface);
			goto __catch1_g_error;
		}
		_data_->self->priv->allowed = _data_->_tmp7_;
		_g_object_unref0 (_data_->_vala1_dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_err = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp9_ = _data_->_vala1_err;
		_data_->_tmp10_ = _data_->_tmp9_->message;
		g_warning ("system-managment.vala:464: %s", _data_->_tmp10_);
		_data_->self->priv->allowed = FALSE;
		_g_error_free0 (_data_->_vala1_err);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gboolean
synapse_system_management_plugin_restart_action_real_action_allowed (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginRestartAction * self;
	gboolean result;
	self = (SynapseSystemManagementPluginRestartAction*) base;
	result = self->priv->allowed;
	return result;
}

static void
synapse_system_management_plugin_restart_action_real_do_action (SynapseSystemManagementPluginSystemAction* base)
{
	SynapseSystemManagementPluginRestartAction * self;
	GError* _inner_error0_ = NULL;
	self = (SynapseSystemManagementPluginRestartAction*) base;
	{
		SynapseSystemdObject* dbus_interface = NULL;
		SynapseSystemdObject* _tmp0_;
		SynapseSystemdObject* _tmp1_;
		_tmp0_ = (SynapseSystemdObject*) g_initable_new (SYNAPSE_TYPE_SYSTEMD_OBJECT_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_SYSTEMD_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_SYSTEMD_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.login1.Manager", NULL);
		dbus_interface = (SynapseSystemdObject*) _tmp0_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp1_ = dbus_interface;
		synapse_systemd_object_reboot (_tmp1_, TRUE, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (dbus_interface);
			goto __catch0_g_error;
		}
		_g_object_unref0 (dbus_interface);
		return;
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* err = NULL;
		GError* _tmp2_;
		const gchar* _tmp3_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp2_ = err;
		_tmp3_ = _tmp2_->message;
		g_warning ("system-managment.vala:486: %s", _tmp3_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
	{
		SynapseConsoleKitObject* dbus_interface = NULL;
		SynapseConsoleKitObject* _tmp4_;
		SynapseConsoleKitObject* _tmp5_;
		_tmp4_ = (SynapseConsoleKitObject*) g_initable_new (SYNAPSE_TYPE_CONSOLE_KIT_OBJECT_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", SYNAPSE_CONSOLE_KIT_OBJECT_UNIQUE_NAME, "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", SYNAPSE_CONSOLE_KIT_OBJECT_OBJECT_PATH, "g-interface-name", "org.freedesktop.ConsoleKit.Manager", NULL);
		dbus_interface = (SynapseConsoleKitObject*) _tmp4_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_tmp5_ = dbus_interface;
		synapse_console_kit_object_restart (_tmp5_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (dbus_interface);
			goto __catch1_g_error;
		}
		_g_object_unref0 (dbus_interface);
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_warning ("system-managment.vala:498: %s", _tmp7_);
		_g_error_free0 (err);
	}
	__finally1:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static GObject *
synapse_system_management_plugin_restart_action_constructor (GType type,
                                                             guint n_construct_properties,
                                                             GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseSystemManagementPluginRestartAction * self;
	parent_class = G_OBJECT_CLASS (synapse_system_management_plugin_restart_action_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION, SynapseSystemManagementPluginRestartAction);
	synapse_system_management_plugin_restart_action_check_allowed (self, NULL, NULL);
	return obj;
}

static void
synapse_system_management_plugin_restart_action_class_init (SynapseSystemManagementPluginRestartActionClass * klass,
                                                            gpointer klass_data)
{
	synapse_system_management_plugin_restart_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPluginRestartAction_private_offset);
	((SynapseSystemManagementPluginSystemActionClass *) klass)->action_allowed = (gboolean (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_restart_action_real_action_allowed;
	((SynapseSystemManagementPluginSystemActionClass *) klass)->do_action = (void (*) (SynapseSystemManagementPluginSystemAction*)) synapse_system_management_plugin_restart_action_real_do_action;
	G_OBJECT_CLASS (klass)->constructor = synapse_system_management_plugin_restart_action_constructor;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_restart_action_finalize;
}

static void
synapse_system_management_plugin_restart_action_instance_init (SynapseSystemManagementPluginRestartAction * self,
                                                               gpointer klass)
{
	self->priv = synapse_system_management_plugin_restart_action_get_instance_private (self);
	self->priv->allowed = FALSE;
}

static void
synapse_system_management_plugin_restart_action_finalize (GObject * obj)
{
	SynapseSystemManagementPluginRestartAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_RESTART_ACTION, SynapseSystemManagementPluginRestartAction);
	G_OBJECT_CLASS (synapse_system_management_plugin_restart_action_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_restart_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginRestartActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_restart_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPluginRestartAction), 0, (GInstanceInitFunc) synapse_system_management_plugin_restart_action_instance_init, NULL };
	GType synapse_system_management_plugin_restart_action_type_id;
	synapse_system_management_plugin_restart_action_type_id = g_type_register_static (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, "SynapseSystemManagementPluginRestartAction", &g_define_type_info, 0);
	SynapseSystemManagementPluginRestartAction_private_offset = g_type_add_instance_private (synapse_system_management_plugin_restart_action_type_id, sizeof (SynapseSystemManagementPluginRestartActionPrivate));
	return synapse_system_management_plugin_restart_action_type_id;
}

static GType
synapse_system_management_plugin_restart_action_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_restart_action_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_restart_action_type_id__once)) {
		GType synapse_system_management_plugin_restart_action_type_id;
		synapse_system_management_plugin_restart_action_type_id = synapse_system_management_plugin_restart_action_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_restart_action_type_id__once, synapse_system_management_plugin_restart_action_type_id);
	}
	return synapse_system_management_plugin_restart_action_type_id__once;
}

static GObject *
synapse_system_management_plugin_constructor (GType type,
                                              guint n_construct_properties,
                                              GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseSystemManagementPlugin * self;
	GeeLinkedList* _tmp0_;
	GeeList* _tmp1_;
	SynapseSystemManagementPluginLockAction* _tmp2_;
	SynapseSystemManagementPluginLockAction* _tmp3_;
	GeeList* _tmp4_;
	SynapseSystemManagementPluginLogOutAction* _tmp5_;
	SynapseSystemManagementPluginLogOutAction* _tmp6_;
	GeeList* _tmp7_;
	SynapseSystemManagementPluginSuspendAction* _tmp8_;
	SynapseSystemManagementPluginSuspendAction* _tmp9_;
	GeeList* _tmp10_;
	SynapseSystemManagementPluginHibernateAction* _tmp11_;
	SynapseSystemManagementPluginHibernateAction* _tmp12_;
	GeeList* _tmp13_;
	SynapseSystemManagementPluginShutdownAction* _tmp14_;
	SynapseSystemManagementPluginShutdownAction* _tmp15_;
	GeeList* _tmp16_;
	SynapseSystemManagementPluginRestartAction* _tmp17_;
	SynapseSystemManagementPluginRestartAction* _tmp18_;
	parent_class = G_OBJECT_CLASS (synapse_system_management_plugin_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN, SynapseSystemManagementPlugin);
	_tmp0_ = gee_linked_list_new (SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_TYPE_SYSTEM_ACTION, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_g_object_unref0 (self->priv->actions);
	self->priv->actions = (GeeList*) _tmp0_;
	_tmp1_ = self->priv->actions;
	_tmp2_ = synapse_system_management_plugin_lock_action_new ();
	_tmp3_ = _tmp2_;
	gee_collection_add ((GeeCollection*) _tmp1_, (SynapseSystemManagementPluginSystemAction*) _tmp3_);
	_g_object_unref0 (_tmp3_);
	_tmp4_ = self->priv->actions;
	_tmp5_ = synapse_system_management_plugin_log_out_action_new ();
	_tmp6_ = _tmp5_;
	gee_collection_add ((GeeCollection*) _tmp4_, (SynapseSystemManagementPluginSystemAction*) _tmp6_);
	_g_object_unref0 (_tmp6_);
	_tmp7_ = self->priv->actions;
	_tmp8_ = synapse_system_management_plugin_suspend_action_new ();
	_tmp9_ = _tmp8_;
	gee_collection_add ((GeeCollection*) _tmp7_, (SynapseSystemManagementPluginSystemAction*) _tmp9_);
	_g_object_unref0 (_tmp9_);
	_tmp10_ = self->priv->actions;
	_tmp11_ = synapse_system_management_plugin_hibernate_action_new ();
	_tmp12_ = _tmp11_;
	gee_collection_add ((GeeCollection*) _tmp10_, (SynapseSystemManagementPluginSystemAction*) _tmp12_);
	_g_object_unref0 (_tmp12_);
	_tmp13_ = self->priv->actions;
	_tmp14_ = synapse_system_management_plugin_shutdown_action_new ();
	_tmp15_ = _tmp14_;
	gee_collection_add ((GeeCollection*) _tmp13_, (SynapseSystemManagementPluginSystemAction*) _tmp15_);
	_g_object_unref0 (_tmp15_);
	_tmp16_ = self->priv->actions;
	_tmp17_ = synapse_system_management_plugin_restart_action_new ();
	_tmp18_ = _tmp17_;
	gee_collection_add ((GeeCollection*) _tmp16_, (SynapseSystemManagementPluginSystemAction*) _tmp18_);
	_g_object_unref0 (_tmp18_);
	return obj;
}

static void
synapse_system_management_plugin_class_init (SynapseSystemManagementPluginClass * klass,
                                             gpointer klass_data)
{
	synapse_system_management_plugin_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SynapseSystemManagementPlugin_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_synapse_system_management_plugin_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_synapse_system_management_plugin_set_property;
	G_OBJECT_CLASS (klass)->constructor = synapse_system_management_plugin_constructor;
	G_OBJECT_CLASS (klass)->finalize = synapse_system_management_plugin_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY, synapse_system_management_plugin_properties[SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY] = g_param_spec_boolean ("enabled", "enabled", "enabled", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	synapse_system_management_plugin_register_plugin ();
}

static void
synapse_system_management_plugin_synapse_activatable_interface_init (SynapseActivatableIface * iface,
                                                                     gpointer iface_data)
{
	synapse_system_management_plugin_synapse_activatable_parent_iface = g_type_interface_peek_parent (iface);
	iface->activate = (void (*) (SynapseActivatable*)) synapse_system_management_plugin_real_activate;
	iface->deactivate = (void (*) (SynapseActivatable*)) synapse_system_management_plugin_real_deactivate;
	iface->get_enabled = synapse_system_management_plugin_real_get_enabled;
	iface->set_enabled = synapse_system_management_plugin_real_set_enabled;
}

static void
synapse_system_management_plugin_synapse_item_provider_interface_init (SynapseItemProviderIface * iface,
                                                                       gpointer iface_data)
{
	synapse_system_management_plugin_synapse_item_provider_parent_iface = g_type_interface_peek_parent (iface);
	iface->search = (void (*) (SynapseItemProvider*, SynapseQuery*, GAsyncReadyCallback, gpointer)) synapse_system_management_plugin_real_search;
	iface->search_finish = (SynapseResultSet* (*) (SynapseItemProvider*, GAsyncResult*, GError**)) synapse_system_management_plugin_search_finish;
}

static void
synapse_system_management_plugin_instance_init (SynapseSystemManagementPlugin * self,
                                                gpointer klass)
{
	self->priv = synapse_system_management_plugin_get_instance_private (self);
	self->priv->_enabled = TRUE;
}

static void
synapse_system_management_plugin_finalize (GObject * obj)
{
	SynapseSystemManagementPlugin * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN, SynapseSystemManagementPlugin);
	_g_object_unref0 (self->priv->actions);
	G_OBJECT_CLASS (synapse_system_management_plugin_parent_class)->finalize (obj);
}

static GType
synapse_system_management_plugin_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseSystemManagementPluginClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_system_management_plugin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseSystemManagementPlugin), 0, (GInstanceInitFunc) synapse_system_management_plugin_instance_init, NULL };
	static const GInterfaceInfo synapse_activatable_info = { (GInterfaceInitFunc) synapse_system_management_plugin_synapse_activatable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	static const GInterfaceInfo synapse_item_provider_info = { (GInterfaceInitFunc) synapse_system_management_plugin_synapse_item_provider_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType synapse_system_management_plugin_type_id;
	synapse_system_management_plugin_type_id = g_type_register_static (G_TYPE_OBJECT, "SynapseSystemManagementPlugin", &g_define_type_info, 0);
	g_type_add_interface_static (synapse_system_management_plugin_type_id, SYNAPSE_TYPE_ACTIVATABLE, &synapse_activatable_info);
	g_type_add_interface_static (synapse_system_management_plugin_type_id, SYNAPSE_TYPE_ITEM_PROVIDER, &synapse_item_provider_info);
	SynapseSystemManagementPlugin_private_offset = g_type_add_instance_private (synapse_system_management_plugin_type_id, sizeof (SynapseSystemManagementPluginPrivate));
	return synapse_system_management_plugin_type_id;
}

GType
synapse_system_management_plugin_get_type (void)
{
	static volatile gsize synapse_system_management_plugin_type_id__once = 0;
	if (g_once_init_enter (&synapse_system_management_plugin_type_id__once)) {
		GType synapse_system_management_plugin_type_id;
		synapse_system_management_plugin_type_id = synapse_system_management_plugin_get_type_once ();
		g_once_init_leave (&synapse_system_management_plugin_type_id__once, synapse_system_management_plugin_type_id);
	}
	return synapse_system_management_plugin_type_id__once;
}

static void
_vala_synapse_system_management_plugin_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec)
{
	SynapseSystemManagementPlugin * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN, SynapseSystemManagementPlugin);
	switch (property_id) {
		case SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY:
		g_value_set_boolean (value, synapse_activatable_get_enabled ((SynapseActivatable*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_synapse_system_management_plugin_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec)
{
	SynapseSystemManagementPlugin * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SYNAPSE_TYPE_SYSTEM_MANAGEMENT_PLUGIN, SynapseSystemManagementPlugin);
	switch (property_id) {
		case SYNAPSE_SYSTEM_MANAGEMENT_PLUGIN_ENABLED_PROPERTY:
		synapse_activatable_set_enabled ((SynapseActivatable*) self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

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);
}

static gssize
_vala_array_length (gpointer array)
{
	gssize length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}

