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

/* -*- Mode:Vala; indent-tabs-mode:nil; tab-width:4 -*-
 *
 * Copyright (C) 2011 Canonical Ltd
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * 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, see <http://www.gnu.org/licenses/>.
 *
 * Authored by: Michael Terry <michael.terry@canonical.com>
 */

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

#define CONSTANTS_GSD_DIR "/usr/lib/"
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GREETER_TYPE_SETTINGS_DAEMON (greeter_settings_daemon_get_type ())
#define GREETER_SETTINGS_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GREETER_TYPE_SETTINGS_DAEMON, GreeterSettingsDaemon))
#define GREETER_SETTINGS_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GREETER_TYPE_SETTINGS_DAEMON, GreeterSettingsDaemonClass))
#define GREETER_IS_SETTINGS_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GREETER_TYPE_SETTINGS_DAEMON))
#define GREETER_IS_SETTINGS_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GREETER_TYPE_SETTINGS_DAEMON))
#define GREETER_SETTINGS_DAEMON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GREETER_TYPE_SETTINGS_DAEMON, GreeterSettingsDaemonClass))

typedef struct _GreeterSettingsDaemon GreeterSettingsDaemon;
typedef struct _GreeterSettingsDaemonClass GreeterSettingsDaemonClass;
typedef struct _GreeterSettingsDaemonPrivate GreeterSettingsDaemonPrivate;

#define GREETER_TYPE_GNOME_SESSION_MANAGER (greeter_gnome_session_manager_get_type ())
#define GREETER_GNOME_SESSION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManager))
#define GREETER_GNOME_SESSION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManagerClass))
#define GREETER_IS_GNOME_SESSION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER))
#define GREETER_IS_GNOME_SESSION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GREETER_TYPE_GNOME_SESSION_MANAGER))
#define GREETER_GNOME_SESSION_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManagerClass))

typedef struct _GreeterGnomeSessionManager GreeterGnomeSessionManager;
typedef struct _GreeterGnomeSessionManagerClass GreeterGnomeSessionManagerClass;

#define GREETER_TYPE_SUBPROCESS_SUPERVISOR (greeter_subprocess_supervisor_get_type ())
#define GREETER_SUBPROCESS_SUPERVISOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GREETER_TYPE_SUBPROCESS_SUPERVISOR, GreeterSubprocessSupervisor))
#define GREETER_SUBPROCESS_SUPERVISOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GREETER_TYPE_SUBPROCESS_SUPERVISOR, GreeterSubprocessSupervisorClass))
#define GREETER_IS_SUBPROCESS_SUPERVISOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GREETER_TYPE_SUBPROCESS_SUPERVISOR))
#define GREETER_IS_SUBPROCESS_SUPERVISOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GREETER_TYPE_SUBPROCESS_SUPERVISOR))
#define GREETER_SUBPROCESS_SUPERVISOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GREETER_TYPE_SUBPROCESS_SUPERVISOR, GreeterSubprocessSupervisorClass))

typedef struct _GreeterSubprocessSupervisor GreeterSubprocessSupervisor;
typedef struct _GreeterSubprocessSupervisorClass GreeterSubprocessSupervisorClass;
enum  {
	GREETER_SETTINGS_DAEMON_0_PROPERTY,
	GREETER_SETTINGS_DAEMON_NUM_PROPERTIES
};
static GParamSpec* greeter_settings_daemon_properties[GREETER_SETTINGS_DAEMON_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _GreeterGnomeSessionManagerPrivate GreeterGnomeSessionManagerPrivate;

#define GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT (greeter_gnome_session_manager_client_get_type ())
#define GREETER_GNOME_SESSION_MANAGER_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, GreeterGnomeSessionManagerClient))
#define GREETER_GNOME_SESSION_MANAGER_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, GreeterGnomeSessionManagerClientClass))
#define GREETER_IS_GNOME_SESSION_MANAGER_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT))
#define GREETER_IS_GNOME_SESSION_MANAGER_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT))
#define GREETER_GNOME_SESSION_MANAGER_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, GreeterGnomeSessionManagerClientClass))

typedef struct _GreeterGnomeSessionManagerClient GreeterGnomeSessionManagerClient;
typedef struct _GreeterGnomeSessionManagerClientClass GreeterGnomeSessionManagerClientClass;
enum  {
	GREETER_GNOME_SESSION_MANAGER_0_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_NUM_PROPERTIES
};
static GParamSpec* greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_NUM_PROPERTIES];
typedef struct _GreeterGnomeSessionManagerClientPrivate GreeterGnomeSessionManagerClientPrivate;
#define _g_variant_type_free0(var) ((var == NULL) ? NULL : (var = (g_variant_type_free (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
enum  {
	GREETER_GNOME_SESSION_MANAGER_CLIENT_ADDED_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_CLIENT_REMOVED_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_INHIBITOR_ADDED_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_INHIBITOR_REMOVED_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_SESSION_RUNNING_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_SESSION_OVER_SIGNAL,
	GREETER_GNOME_SESSION_MANAGER_NUM_SIGNALS
};
static guint greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_NUM_SIGNALS] = {0};
enum  {
	GREETER_GNOME_SESSION_MANAGER_CLIENT_0_PROPERTY,
	GREETER_GNOME_SESSION_MANAGER_CLIENT_NUM_PROPERTIES
};
static GParamSpec* greeter_gnome_session_manager_client_properties[GREETER_GNOME_SESSION_MANAGER_CLIENT_NUM_PROPERTIES];

struct _GreeterSettingsDaemon {
	GObject parent_instance;
	GreeterSettingsDaemonPrivate * priv;
};

struct _GreeterSettingsDaemonClass {
	GObjectClass parent_class;
};

struct _GreeterSettingsDaemonPrivate {
	GreeterGnomeSessionManager* session_manager;
	gint n_names;
	GreeterSubprocessSupervisor** supervisors;
	gint supervisors_length1;
	gint _supervisors_size_;
};

struct _GreeterGnomeSessionManager {
	GObject parent_instance;
	GreeterGnomeSessionManagerPrivate * priv;
};

struct _GreeterGnomeSessionManagerClass {
	GObjectClass parent_class;
};

struct _GreeterGnomeSessionManagerPrivate {
	GeeArrayList* clients;
	GeeArrayList* inhibitors;
	gchar* _session_name;
	gchar* _renderer;
	gboolean _session_is_active;
	guint _inhibited_actions;
};

struct _GreeterGnomeSessionManagerClient {
	GObject parent_instance;
	GreeterGnomeSessionManagerClientPrivate * priv;
	gchar* object_path;
};

struct _GreeterGnomeSessionManagerClientClass {
	GObjectClass parent_class;
};

struct _GreeterGnomeSessionManagerClientPrivate {
	gchar* app_id;
	gchar* startup_id;
	guint32 process_id;
};

static gint GreeterSettingsDaemon_private_offset;
static gpointer greeter_settings_daemon_parent_class = NULL;
static gint GreeterGnomeSessionManager_private_offset;
static gpointer greeter_gnome_session_manager_parent_class = NULL;
static gint GreeterGnomeSessionManagerClient_private_offset;
static gpointer greeter_gnome_session_manager_client_parent_class = NULL;
static guint32 greeter_gnome_session_manager_client_serial_id;
static guint32 greeter_gnome_session_manager_client_serial_id = (guint32) 0;

VALA_EXTERN GType greeter_settings_daemon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GreeterSettingsDaemon, g_object_unref)
VALA_EXTERN GType greeter_gnome_session_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GreeterGnomeSessionManager, g_object_unref)
VALA_EXTERN guint greeter_gnome_session_manager_register_object (void* object,
                                                     GDBusConnection* connection,
                                                     const gchar* path,
                                                     GError** error);
VALA_EXTERN GType greeter_subprocess_supervisor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GreeterSubprocessSupervisor, g_object_unref)
VALA_EXTERN void greeter_settings_daemon_start (GreeterSettingsDaemon* self);
VALA_EXTERN GreeterGnomeSessionManager* greeter_gnome_session_manager_new (void);
VALA_EXTERN GreeterGnomeSessionManager* greeter_gnome_session_manager_construct (GType object_type);
static void __lambda4_ (GreeterSettingsDaemon* self,
                 GDBusConnection* c);
static void ___lambda4__gbus_acquired_callback (GDBusConnection* connection,
                                         const gchar* name,
                                         gpointer self);
static void __lambda5_ (GreeterSettingsDaemon* self);
static void greeter_settings_daemon_start_settings_daemon (GreeterSettingsDaemon* self);
static void ___lambda5__gbus_name_acquired_callback (GDBusConnection* connection,
                                              const gchar* name,
                                              gpointer self);
static void __lambda6_ (GreeterSettingsDaemon* self);
static void ___lambda6__gbus_name_lost_callback (GDBusConnection* connection,
                                          const gchar* name,
                                          gpointer self);
VALA_EXTERN GreeterSubprocessSupervisor* greeter_subprocess_supervisor_new (gchar** exec,
                                                                gint exec_length1,
                                                                GError** error);
VALA_EXTERN GreeterSubprocessSupervisor* greeter_subprocess_supervisor_construct (GType object_type,
                                                                      gchar** exec,
                                                                      gint exec_length1,
                                                                      GError** error);
static void _vala_array_add1 (GreeterSubprocessSupervisor** * array,
                       gint* length,
                       gint* size,
                       GreeterSubprocessSupervisor* value);
VALA_EXTERN GreeterSettingsDaemon* greeter_settings_daemon_new (void);
VALA_EXTERN GreeterSettingsDaemon* greeter_settings_daemon_construct (GType object_type);
static void greeter_settings_daemon_finalize (GObject * obj);
static GType greeter_settings_daemon_get_type_once (void);
VALA_EXTERN GType greeter_gnome_session_manager_client_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GreeterGnomeSessionManagerClient, g_object_unref)
VALA_EXTERN guint greeter_gnome_session_manager_client_register_object (void* object,
                                                            GDBusConnection* connection,
                                                            const gchar* path,
                                                            GError** error);
VALA_EXTERN void greeter_gnome_session_manager_setenv (GreeterGnomeSessionManager* self,
                                           const gchar* variable,
                                           const gchar* value,
                                           GError** error);
VALA_EXTERN gchar* greeter_gnome_session_manager_get_locale (GreeterGnomeSessionManager* self,
                                                 gint category,
                                                 GError** error);
VALA_EXTERN void greeter_gnome_session_manager_initialization_error (GreeterGnomeSessionManager* self,
                                                         const gchar* message,
                                                         gboolean fatal,
                                                         GError** error);
VALA_EXTERN char* greeter_gnome_session_manager_register_client (GreeterGnomeSessionManager* self,
                                                     const gchar* app_id,
                                                     const gchar* client_startup_id,
                                                     const char* sender,
                                                     GError** error);
VALA_EXTERN gchar* greeter_gnome_session_manager_client_get_app_id (GreeterGnomeSessionManagerClient* self,
                                                        GError** error);
VALA_EXTERN GreeterGnomeSessionManagerClient* greeter_gnome_session_manager_client_new (const gchar* app_id,
                                                                            const gchar* startup_id,
                                                                            guint32 process_id);
VALA_EXTERN GreeterGnomeSessionManagerClient* greeter_gnome_session_manager_client_construct (GType object_type,
                                                                                  const gchar* app_id,
                                                                                  const gchar* startup_id,
                                                                                  guint32 process_id);
VALA_EXTERN void greeter_gnome_session_manager_unregister_client (GreeterGnomeSessionManager* self,
                                                      const char* client_id,
                                                      GError** error);
VALA_EXTERN guint greeter_gnome_session_manager_inhibit (GreeterGnomeSessionManager* self,
                                             const gchar* app_id,
                                             guint toplevel_xid,
                                             const gchar* reason,
                                             guint flags,
                                             GError** error);
VALA_EXTERN void greeter_gnome_session_manager_uninhibit (GreeterGnomeSessionManager* self,
                                              guint inhibit_cookie,
                                              GError** error);
VALA_EXTERN gboolean greeter_gnome_session_manager_is_inhibited (GreeterGnomeSessionManager* self,
                                                     guint flags,
                                                     GError** error);
VALA_EXTERN char** greeter_gnome_session_manager_get_clients (GreeterGnomeSessionManager* self,
                                                  gint* result_length1,
                                                  GError** error);
VALA_EXTERN char** greeter_gnome_session_manager_get_inhibitors (GreeterGnomeSessionManager* self,
                                                     gint* result_length1,
                                                     GError** error);
VALA_EXTERN gboolean greeter_gnome_session_manager_is_autostart_condition_handled (GreeterGnomeSessionManager* self,
                                                                       const gchar* condition,
                                                                       GError** error);
VALA_EXTERN void greeter_gnome_session_manager_shutdown (GreeterGnomeSessionManager* self,
                                             GError** error);
VALA_EXTERN void greeter_gnome_session_manager_reboot (GreeterGnomeSessionManager* self,
                                           GError** error);
VALA_EXTERN gboolean greeter_gnome_session_manager_can_shutdown (GreeterGnomeSessionManager* self,
                                                     GError** error);
VALA_EXTERN void greeter_gnome_session_manager_logout (GreeterGnomeSessionManager* self,
                                           guint mode,
                                           GError** error);
VALA_EXTERN gboolean greeter_gnome_session_manager_is_session_running (GreeterGnomeSessionManager* self,
                                                           GError** error);
VALA_EXTERN gchar* greeter_gnome_session_manager_get_session_name (GreeterGnomeSessionManager* self);
VALA_EXTERN void greeter_gnome_session_manager_set_session_name (GreeterGnomeSessionManager* self,
                                                     const gchar* value);
VALA_EXTERN gchar* greeter_gnome_session_manager_get_renderer (GreeterGnomeSessionManager* self);
VALA_EXTERN void greeter_gnome_session_manager_set_renderer (GreeterGnomeSessionManager* self,
                                                 const gchar* value);
VALA_EXTERN gboolean greeter_gnome_session_manager_get_session_is_active (GreeterGnomeSessionManager* self);
VALA_EXTERN void greeter_gnome_session_manager_set_session_is_active (GreeterGnomeSessionManager* self,
                                                          gboolean value);
VALA_EXTERN guint greeter_gnome_session_manager_get_inhibited_actions (GreeterGnomeSessionManager* self);
VALA_EXTERN void greeter_gnome_session_manager_set_inhibited_actions (GreeterGnomeSessionManager* self,
                                                          guint value);
static GObject * greeter_gnome_session_manager_constructor (GType type,
                                                     guint n_construct_properties,
                                                     GObjectConstructParam * construct_properties);
static void greeter_gnome_session_manager_finalize (GObject * obj);
static GType greeter_gnome_session_manager_get_type_once (void);
static void _vala_greeter_gnome_session_manager_get_property (GObject * object,
                                                       guint property_id,
                                                       GValue * value,
                                                       GParamSpec * pspec);
static void _vala_greeter_gnome_session_manager_set_property (GObject * object,
                                                       guint property_id,
                                                       const GValue * value,
                                                       GParamSpec * pspec);
static void _dbus_greeter_gnome_session_manager_setenv (GreeterGnomeSessionManager* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_get_locale (GreeterGnomeSessionManager* self,
                                                     GVariant* _parameters_,
                                                     GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_initialization_error (GreeterGnomeSessionManager* self,
                                                               GVariant* _parameters_,
                                                               GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_register_client (GreeterGnomeSessionManager* self,
                                                          GVariant* _parameters_,
                                                          GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_unregister_client (GreeterGnomeSessionManager* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_inhibit (GreeterGnomeSessionManager* self,
                                                  GVariant* _parameters_,
                                                  GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_uninhibit (GreeterGnomeSessionManager* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_is_inhibited (GreeterGnomeSessionManager* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_get_clients (GreeterGnomeSessionManager* self,
                                                      GVariant* _parameters_,
                                                      GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_get_inhibitors (GreeterGnomeSessionManager* self,
                                                         GVariant* _parameters_,
                                                         GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_is_autostart_condition_handled (GreeterGnomeSessionManager* self,
                                                                         GVariant* _parameters_,
                                                                         GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_shutdown (GreeterGnomeSessionManager* self,
                                                   GVariant* _parameters_,
                                                   GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_reboot (GreeterGnomeSessionManager* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_can_shutdown (GreeterGnomeSessionManager* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_logout (GreeterGnomeSessionManager* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_is_session_running (GreeterGnomeSessionManager* self,
                                                             GVariant* _parameters_,
                                                             GDBusMethodInvocation* invocation);
static void greeter_gnome_session_manager_dbus_interface_method_call (GDBusConnection* connection,
                                                               const gchar* sender,
                                                               const gchar* object_path,
                                                               const gchar* interface_name,
                                                               const gchar* method_name,
                                                               GVariant* parameters,
                                                               GDBusMethodInvocation* invocation,
                                                               gpointer user_data);
static GVariant* greeter_gnome_session_manager_dbus_interface_get_property (GDBusConnection* connection,
                                                                     const gchar* sender,
                                                                     const gchar* object_path,
                                                                     const gchar* interface_name,
                                                                     const gchar* property_name,
                                                                     GError** error,
                                                                     gpointer user_data);
static GVariant* _dbus_greeter_gnome_session_manager_get_session_name (GreeterGnomeSessionManager* self);
static GVariant* _dbus_greeter_gnome_session_manager_get_renderer (GreeterGnomeSessionManager* self);
static GVariant* _dbus_greeter_gnome_session_manager_get_session_is_active (GreeterGnomeSessionManager* self);
static GVariant* _dbus_greeter_gnome_session_manager_get_inhibited_actions (GreeterGnomeSessionManager* self);
static gboolean greeter_gnome_session_manager_dbus_interface_set_property (GDBusConnection* connection,
                                                                    const gchar* sender,
                                                                    const gchar* object_path,
                                                                    const gchar* interface_name,
                                                                    const gchar* property_name,
                                                                    GVariant* value,
                                                                    GError** error,
                                                                    gpointer user_data);
static void _dbus_greeter_gnome_session_manager_set_session_name (GreeterGnomeSessionManager* self,
                                                           GVariant* _value);
static void _dbus_greeter_gnome_session_manager_set_renderer (GreeterGnomeSessionManager* self,
                                                       GVariant* _value);
static void _dbus_greeter_gnome_session_manager_set_session_is_active (GreeterGnomeSessionManager* self,
                                                                GVariant* _value);
static void _dbus_greeter_gnome_session_manager_set_inhibited_actions (GreeterGnomeSessionManager* self,
                                                                GVariant* _value);
static void _dbus_greeter_gnome_session_manager_client_added (GObject* _sender,
                                                       const char* id,
                                                       gpointer* _data);
static void _dbus_greeter_gnome_session_manager_client_removed (GObject* _sender,
                                                         const char* id,
                                                         gpointer* _data);
static void _dbus_greeter_gnome_session_manager_inhibitor_added (GObject* _sender,
                                                          const char* id,
                                                          gpointer* _data);
static void _dbus_greeter_gnome_session_manager_inhibitor_removed (GObject* _sender,
                                                            const char* id,
                                                            gpointer* _data);
static void _dbus_greeter_gnome_session_manager_session_running (GObject* _sender,
                                                          gpointer* _data);
static void _dbus_greeter_gnome_session_manager_session_over (GObject* _sender,
                                                       gpointer* _data);
static void _greeter_gnome_session_manager_unregister_object (gpointer user_data);
VALA_EXTERN gchar* greeter_gnome_session_manager_client_get_startup_id (GreeterGnomeSessionManagerClient* self,
                                                            GError** error);
VALA_EXTERN guint greeter_gnome_session_manager_client_get_restart_style_hint (GreeterGnomeSessionManagerClient* self,
                                                                   GError** error);
VALA_EXTERN guint32 greeter_gnome_session_manager_client_get_unix_process_id (GreeterGnomeSessionManagerClient* self,
                                                                  GError** error);
VALA_EXTERN guint greeter_gnome_session_manager_client_get_status (GreeterGnomeSessionManagerClient* self,
                                                       GError** error);
VALA_EXTERN void greeter_gnome_session_manager_client_stop (GreeterGnomeSessionManagerClient* self,
                                                GError** error);
static GObject * greeter_gnome_session_manager_client_constructor (GType type,
                                                            guint n_construct_properties,
                                                            GObjectConstructParam * construct_properties);
static void greeter_gnome_session_manager_client_finalize (GObject * obj);
static GType greeter_gnome_session_manager_client_get_type_once (void);
static void _dbus_greeter_gnome_session_manager_client_get_app_id (GreeterGnomeSessionManagerClient* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_client_get_startup_id (GreeterGnomeSessionManagerClient* self,
                                                                GVariant* _parameters_,
                                                                GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_client_get_restart_style_hint (GreeterGnomeSessionManagerClient* self,
                                                                        GVariant* _parameters_,
                                                                        GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_client_get_unix_process_id (GreeterGnomeSessionManagerClient* self,
                                                                     GVariant* _parameters_,
                                                                     GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_client_get_status (GreeterGnomeSessionManagerClient* self,
                                                            GVariant* _parameters_,
                                                            GDBusMethodInvocation* invocation);
static void _dbus_greeter_gnome_session_manager_client_stop (GreeterGnomeSessionManagerClient* self,
                                                      GVariant* _parameters_,
                                                      GDBusMethodInvocation* invocation);
static void greeter_gnome_session_manager_client_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* greeter_gnome_session_manager_client_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 greeter_gnome_session_manager_client_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 _greeter_gnome_session_manager_client_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_setenv_variable = {-1, "variable", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_setenv_value = {-1, "value", "s", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_setenv_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_setenv_variable, &_greeter_gnome_session_manager_dbus_arg_info_setenv_value, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_setenv_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_setenv = {-1, "Setenv", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_setenv_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_setenv_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_get_locale_category = {-1, "category", "i", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_get_locale_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_locale_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_get_locale_category, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_locale_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_get_locale_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_get_locale = {-1, "GetLocale", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_locale_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_locale_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_initialization_error_message = {-1, "message", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_initialization_error_fatal = {-1, "fatal", "b", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_initialization_error_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_initialization_error_message, &_greeter_gnome_session_manager_dbus_arg_info_initialization_error_fatal, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_initialization_error_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_initialization_error = {-1, "InitializationError", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_initialization_error_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_initialization_error_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_register_client_app_id = {-1, "app_id", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_register_client_client_startup_id = {-1, "client_startup_id", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_register_client_result = {-1, "result", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_register_client_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_register_client_app_id, &_greeter_gnome_session_manager_dbus_arg_info_register_client_client_startup_id, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_register_client_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_register_client_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_register_client = {-1, "RegisterClient", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_register_client_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_register_client_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_unregister_client_client_id = {-1, "client_id", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_unregister_client_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_unregister_client_client_id, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_unregister_client_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_unregister_client = {-1, "UnregisterClient", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_unregister_client_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_unregister_client_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibit_app_id = {-1, "app_id", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibit_toplevel_xid = {-1, "toplevel_xid", "u", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibit_reason = {-1, "reason", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibit_flags = {-1, "flags", "u", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibit_result = {-1, "result", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_inhibit_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_inhibit_app_id, &_greeter_gnome_session_manager_dbus_arg_info_inhibit_toplevel_xid, &_greeter_gnome_session_manager_dbus_arg_info_inhibit_reason, &_greeter_gnome_session_manager_dbus_arg_info_inhibit_flags, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_inhibit_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_inhibit_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_inhibit = {-1, "Inhibit", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_inhibit_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_inhibit_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_uninhibit_inhibit_cookie = {-1, "inhibit_cookie", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_uninhibit_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_uninhibit_inhibit_cookie, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_uninhibit_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_uninhibit = {-1, "Uninhibit", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_uninhibit_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_uninhibit_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_is_inhibited_flags = {-1, "flags", "u", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_is_inhibited_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_inhibited_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_is_inhibited_flags, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_inhibited_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_is_inhibited_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_is_inhibited = {-1, "IsInhibited", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_inhibited_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_inhibited_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_get_clients_result = {-1, "result", "ao", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_clients_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_clients_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_get_clients_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_get_clients = {-1, "GetClients", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_clients_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_clients_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_result = {-1, "result", "ao", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_get_inhibitors = {-1, "GetInhibitors", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_get_inhibitors_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_condition = {-1, "condition", "s", NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_condition, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_is_autostart_condition_handled = {-1, "IsAutostartConditionHandled", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_autostart_condition_handled_out), NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_shutdown_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_shutdown_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_shutdown = {-1, "Shutdown", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_shutdown_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_shutdown_out), NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_reboot_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_reboot_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_reboot = {-1, "Reboot", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_reboot_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_reboot_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_can_shutdown_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_can_shutdown_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_can_shutdown_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_can_shutdown_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_can_shutdown = {-1, "CanShutdown", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_can_shutdown_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_can_shutdown_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_logout_mode = {-1, "mode", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_logout_in[] = {&_greeter_gnome_session_manager_dbus_arg_info_logout_mode, NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_logout_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_logout = {-1, "Logout", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_logout_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_logout_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_is_session_running_result = {-1, "result", "b", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_session_running_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_is_session_running_out[] = {&_greeter_gnome_session_manager_dbus_arg_info_is_session_running_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_dbus_method_info_is_session_running = {-1, "IsSessionRunning", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_session_running_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_is_session_running_out), NULL};
static const GDBusMethodInfo * const _greeter_gnome_session_manager_dbus_method_info[] = {&_greeter_gnome_session_manager_dbus_method_info_setenv, &_greeter_gnome_session_manager_dbus_method_info_get_locale, &_greeter_gnome_session_manager_dbus_method_info_initialization_error, &_greeter_gnome_session_manager_dbus_method_info_register_client, &_greeter_gnome_session_manager_dbus_method_info_unregister_client, &_greeter_gnome_session_manager_dbus_method_info_inhibit, &_greeter_gnome_session_manager_dbus_method_info_uninhibit, &_greeter_gnome_session_manager_dbus_method_info_is_inhibited, &_greeter_gnome_session_manager_dbus_method_info_get_clients, &_greeter_gnome_session_manager_dbus_method_info_get_inhibitors, &_greeter_gnome_session_manager_dbus_method_info_is_autostart_condition_handled, &_greeter_gnome_session_manager_dbus_method_info_shutdown, &_greeter_gnome_session_manager_dbus_method_info_reboot, &_greeter_gnome_session_manager_dbus_method_info_can_shutdown, &_greeter_gnome_session_manager_dbus_method_info_logout, &_greeter_gnome_session_manager_dbus_method_info_is_session_running, NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_client_added_id = {-1, "id", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_client_added[] = {&_greeter_gnome_session_manager_dbus_arg_info_client_added_id, NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_client_added = {-1, "ClientAdded", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_client_added), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_client_removed_id = {-1, "id", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_client_removed[] = {&_greeter_gnome_session_manager_dbus_arg_info_client_removed_id, NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_client_removed = {-1, "ClientRemoved", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_client_removed), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibitor_added_id = {-1, "id", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_inhibitor_added[] = {&_greeter_gnome_session_manager_dbus_arg_info_inhibitor_added_id, NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_inhibitor_added = {-1, "InhibitorAdded", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_inhibitor_added), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_dbus_arg_info_inhibitor_removed_id = {-1, "id", "o", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_inhibitor_removed[] = {&_greeter_gnome_session_manager_dbus_arg_info_inhibitor_removed_id, NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_inhibitor_removed = {-1, "InhibitorRemoved", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_inhibitor_removed), NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_session_running[] = {NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_session_running = {-1, "SessionRunning", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_session_running), NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_dbus_arg_info_session_over[] = {NULL};
static const GDBusSignalInfo _greeter_gnome_session_manager_dbus_signal_info_session_over = {-1, "SessionOver", (GDBusArgInfo **) (&_greeter_gnome_session_manager_dbus_arg_info_session_over), NULL};
static const GDBusSignalInfo * const _greeter_gnome_session_manager_dbus_signal_info[] = {&_greeter_gnome_session_manager_dbus_signal_info_client_added, &_greeter_gnome_session_manager_dbus_signal_info_client_removed, &_greeter_gnome_session_manager_dbus_signal_info_inhibitor_added, &_greeter_gnome_session_manager_dbus_signal_info_inhibitor_removed, &_greeter_gnome_session_manager_dbus_signal_info_session_running, &_greeter_gnome_session_manager_dbus_signal_info_session_over, NULL};
static const GDBusPropertyInfo _greeter_gnome_session_manager_dbus_property_info_session_name = {-1, "SessionName", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _greeter_gnome_session_manager_dbus_property_info_renderer = {-1, "Renderer", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _greeter_gnome_session_manager_dbus_property_info_session_is_active = {-1, "SessionIsActive", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo _greeter_gnome_session_manager_dbus_property_info_inhibited_actions = {-1, "InhibitedActions", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, NULL};
static const GDBusPropertyInfo * const _greeter_gnome_session_manager_dbus_property_info[] = {&_greeter_gnome_session_manager_dbus_property_info_session_name, &_greeter_gnome_session_manager_dbus_property_info_renderer, &_greeter_gnome_session_manager_dbus_property_info_session_is_active, &_greeter_gnome_session_manager_dbus_property_info_inhibited_actions, NULL};
static const GDBusInterfaceInfo _greeter_gnome_session_manager_dbus_interface_info = {-1, "org.gnome.SessionManager", (GDBusMethodInfo **) (&_greeter_gnome_session_manager_dbus_method_info), (GDBusSignalInfo **) (&_greeter_gnome_session_manager_dbus_signal_info), (GDBusPropertyInfo **) (&_greeter_gnome_session_manager_dbus_property_info), NULL};
static const GDBusInterfaceVTable _greeter_gnome_session_manager_dbus_interface_vtable = {greeter_gnome_session_manager_dbus_interface_method_call, greeter_gnome_session_manager_dbus_interface_get_property, greeter_gnome_session_manager_dbus_interface_set_property};
static const GDBusArgInfo _greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_out[] = {&_greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_get_app_id = {-1, "GetAppId", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_app_id_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_result = {-1, "result", "s", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_out[] = {&_greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_get_startup_id = {-1, "GetStartupId", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_startup_id_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_result = {-1, "result", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_out[] = {&_greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_get_restart_style_hint = {-1, "GetRestartStyleHint", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_restart_style_hint_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_result = {-1, "result", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_out[] = {&_greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_get_unix_process_id = {-1, "GetUnixProcessId", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_unix_process_id_out), NULL};
static const GDBusArgInfo _greeter_gnome_session_manager_client_dbus_arg_info_get_status_result = {-1, "result", "u", NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_status_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_get_status_out[] = {&_greeter_gnome_session_manager_client_dbus_arg_info_get_status_result, NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_get_status = {-1, "GetStatus", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_status_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_get_status_out), NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_stop_in[] = {NULL};
static const GDBusArgInfo * const _greeter_gnome_session_manager_client_dbus_arg_info_stop_out[] = {NULL};
static const GDBusMethodInfo _greeter_gnome_session_manager_client_dbus_method_info_stop = {-1, "Stop", (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_stop_in), (GDBusArgInfo **) (&_greeter_gnome_session_manager_client_dbus_arg_info_stop_out), NULL};
static const GDBusMethodInfo * const _greeter_gnome_session_manager_client_dbus_method_info[] = {&_greeter_gnome_session_manager_client_dbus_method_info_get_app_id, &_greeter_gnome_session_manager_client_dbus_method_info_get_startup_id, &_greeter_gnome_session_manager_client_dbus_method_info_get_restart_style_hint, &_greeter_gnome_session_manager_client_dbus_method_info_get_unix_process_id, &_greeter_gnome_session_manager_client_dbus_method_info_get_status, &_greeter_gnome_session_manager_client_dbus_method_info_stop, NULL};
static const GDBusSignalInfo * const _greeter_gnome_session_manager_client_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _greeter_gnome_session_manager_client_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _greeter_gnome_session_manager_client_dbus_interface_info = {-1, "org.gnome.SessionManager.Client", (GDBusMethodInfo **) (&_greeter_gnome_session_manager_client_dbus_method_info), (GDBusSignalInfo **) (&_greeter_gnome_session_manager_client_dbus_signal_info), (GDBusPropertyInfo **) (&_greeter_gnome_session_manager_client_dbus_property_info), NULL};
static const GDBusInterfaceVTable _greeter_gnome_session_manager_client_dbus_interface_vtable = {greeter_gnome_session_manager_client_dbus_interface_method_call, greeter_gnome_session_manager_client_dbus_interface_get_property, greeter_gnome_session_manager_client_dbus_interface_set_property};

static inline gpointer
greeter_settings_daemon_get_instance_private (GreeterSettingsDaemon* self)
{
	return G_STRUCT_MEMBER_P (self, GreeterSettingsDaemon_private_offset);
}

static void
__lambda4_ (GreeterSettingsDaemon* self,
            GDBusConnection* c)
{
	GError* _inner_error0_ = NULL;
	g_return_if_fail (c != NULL);
	{
		GreeterGnomeSessionManager* _tmp0_;
		_tmp0_ = self->priv->session_manager;
		greeter_gnome_session_manager_register_object (_tmp0_, c, "/org/gnome/SessionManager", &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp1_;
		const gchar* _tmp2_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = e;
		_tmp2_ = _tmp1_->message;
		g_warning ("SettingsDaemon.vala:34: Failed to register /org/gnome/SessionManager: " \
"%s", _tmp2_);
		_g_error_free0 (e);
	}
	__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;
	}
}

static void
___lambda4__gbus_acquired_callback (GDBusConnection* connection,
                                    const gchar* name,
                                    gpointer self)
{
	__lambda4_ ((GreeterSettingsDaemon*) self, connection);
}

static void
__lambda5_ (GreeterSettingsDaemon* self)
{
	g_debug ("SettingsDaemon.vala:38: Acquired org.gnome.SessionManager");
	greeter_settings_daemon_start_settings_daemon (self);
}

static void
___lambda5__gbus_name_acquired_callback (GDBusConnection* connection,
                                         const gchar* name,
                                         gpointer self)
{
	__lambda5_ ((GreeterSettingsDaemon*) self);
}

static void
__lambda6_ (GreeterSettingsDaemon* self)
{
	g_debug ("SettingsDaemon.vala:41: Failed to acquire name org.gnome.SessionManage" \
"r");
}

static void
___lambda6__gbus_name_lost_callback (GDBusConnection* connection,
                                     const gchar* name,
                                     gpointer self)
{
	__lambda6_ ((GreeterSettingsDaemon*) self);
}

void
greeter_settings_daemon_start (GreeterSettingsDaemon* self)
{
	GreeterGnomeSessionManager* _tmp0_;
	gint _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = greeter_gnome_session_manager_new ();
	_g_object_unref0 (self->priv->session_manager);
	self->priv->session_manager = _tmp0_;
	_tmp1_ = self->priv->n_names;
	self->priv->n_names = _tmp1_ + 1;
	g_bus_own_name_with_closures (G_BUS_TYPE_SESSION, "org.gnome.SessionManager", G_BUS_NAME_OWNER_FLAGS_NONE, (GClosure*) ((___lambda4__gbus_acquired_callback == NULL) ? NULL : g_cclosure_new ((GCallback) ___lambda4__gbus_acquired_callback, g_object_ref (self), (GClosureNotify) g_object_unref)), (GClosure*) ((___lambda5__gbus_name_acquired_callback == NULL) ? NULL : g_cclosure_new ((GCallback) ___lambda5__gbus_name_acquired_callback, g_object_ref (self), (GClosureNotify) g_object_unref)), (GClosure*) ((___lambda6__gbus_name_lost_callback == NULL) ? NULL : g_cclosure_new ((GCallback) ___lambda6__gbus_name_lost_callback, g_object_ref (self), (GClosureNotify) g_object_unref)));
}

static void
_vala_array_add1 (GreeterSubprocessSupervisor** * array,
                  gint* length,
                  gint* size,
                  GreeterSubprocessSupervisor* value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (GreeterSubprocessSupervisor*, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static void
greeter_settings_daemon_start_settings_daemon (GreeterSettingsDaemon* self)
{
	gint _tmp0_;
	gchar** daemons = NULL;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar** _tmp7_;
	gint daemons_length1;
	gint _daemons_size_;
	gchar** _tmp8_;
	gint _tmp8__length1;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->n_names;
	self->priv->n_names = _tmp0_ - 1;
	if (self->priv->n_names != 0) {
		return;
	}
	g_debug ("SettingsDaemon.vala:50: All bus names acquired, starting gnome-setting" \
"s-daemon");
	_tmp1_ = g_strdup ("gsd-a11y-settings");
	_tmp2_ = g_strdup ("gsd-color");
	_tmp3_ = g_strdup ("gsd-media-keys");
	_tmp4_ = g_strdup ("gsd-sound");
	_tmp5_ = g_strdup ("gsd-power");
	_tmp6_ = g_strdup ("gsd-xsettings");
	_tmp7_ = g_new0 (gchar*, 6 + 1);
	_tmp7_[0] = _tmp1_;
	_tmp7_[1] = _tmp2_;
	_tmp7_[2] = _tmp3_;
	_tmp7_[3] = _tmp4_;
	_tmp7_[4] = _tmp5_;
	_tmp7_[5] = _tmp6_;
	daemons = _tmp7_;
	daemons_length1 = 6;
	_daemons_size_ = daemons_length1;
	_tmp8_ = daemons;
	_tmp8__length1 = daemons_length1;
	{
		gchar** daemon_collection = NULL;
		gint daemon_collection_length1 = 0;
		gint _daemon_collection_size_ = 0;
		gint daemon_it = 0;
		daemon_collection = _tmp8_;
		daemon_collection_length1 = _tmp8__length1;
		for (daemon_it = 0; daemon_it < daemon_collection_length1; daemon_it = daemon_it + 1) {
			gchar* _tmp9_;
			gchar* daemon = NULL;
			_tmp9_ = g_strdup (daemon_collection[daemon_it]);
			daemon = _tmp9_;
			{
				{
					GreeterSubprocessSupervisor* _tmp10_ = NULL;
					const gchar* _tmp11_;
					gchar* _tmp12_;
					gchar** _tmp13_;
					gchar** _tmp14_;
					gint _tmp14__length1;
					GreeterSubprocessSupervisor* _tmp15_;
					GreeterSubprocessSupervisor* _tmp16_;
					GreeterSubprocessSupervisor* _tmp17_;
					_tmp11_ = daemon;
					_tmp12_ = g_strconcat (CONSTANTS_GSD_DIR, _tmp11_, NULL);
					_tmp13_ = g_new0 (gchar*, 1 + 1);
					_tmp13_[0] = _tmp12_;
					_tmp14_ = _tmp13_;
					_tmp14__length1 = 1;
					_tmp15_ = greeter_subprocess_supervisor_new (_tmp14_, 1, &_inner_error0_);
					_tmp16_ = _tmp15_;
					_tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
					_tmp10_ = _tmp16_;
					if (G_UNLIKELY (_inner_error0_ != NULL)) {
						goto __catch0_g_error;
					}
					_tmp17_ = _tmp10_;
					_tmp10_ = NULL;
					_vala_array_add1 (&self->priv->supervisors, &self->priv->supervisors_length1, &self->priv->_supervisors_size_, _tmp17_);
					_g_object_unref0 (_tmp10_);
				}
				goto __finally0;
				__catch0_g_error:
				{
					GError* e = NULL;
					const gchar* _tmp18_;
					GError* _tmp19_;
					const gchar* _tmp20_;
					e = _inner_error0_;
					_inner_error0_ = NULL;
					_tmp18_ = daemon;
					_tmp19_ = e;
					_tmp20_ = _tmp19_->message;
					g_critical ("SettingsDaemon.vala:65: Could not start %s: %s", _tmp18_, _tmp20_);
					_g_error_free0 (e);
				}
				__finally0:
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
					_g_free0 (daemon);
					daemons = (_vala_array_free (daemons, daemons_length1, (GDestroyNotify) g_free), 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;
				}
				_g_free0 (daemon);
			}
		}
	}
	daemons = (_vala_array_free (daemons, daemons_length1, (GDestroyNotify) g_free), NULL);
}

GreeterSettingsDaemon*
greeter_settings_daemon_construct (GType object_type)
{
	GreeterSettingsDaemon * self = NULL;
	self = (GreeterSettingsDaemon*) g_object_new (object_type, NULL);
	return self;
}

GreeterSettingsDaemon*
greeter_settings_daemon_new (void)
{
	return greeter_settings_daemon_construct (GREETER_TYPE_SETTINGS_DAEMON);
}

static void
greeter_settings_daemon_class_init (GreeterSettingsDaemonClass * klass,
                                    gpointer klass_data)
{
	greeter_settings_daemon_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GreeterSettingsDaemon_private_offset);
	G_OBJECT_CLASS (klass)->finalize = greeter_settings_daemon_finalize;
}

static void
greeter_settings_daemon_instance_init (GreeterSettingsDaemon * self,
                                       gpointer klass)
{
	GreeterSubprocessSupervisor** _tmp0_;
	self->priv = greeter_settings_daemon_get_instance_private (self);
	self->priv->n_names = 0;
	_tmp0_ = g_new0 (GreeterSubprocessSupervisor*, 0 + 1);
	self->priv->supervisors = _tmp0_;
	self->priv->supervisors_length1 = 0;
	self->priv->_supervisors_size_ = self->priv->supervisors_length1;
}

static void
greeter_settings_daemon_finalize (GObject * obj)
{
	GreeterSettingsDaemon * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GREETER_TYPE_SETTINGS_DAEMON, GreeterSettingsDaemon);
	_g_object_unref0 (self->priv->session_manager);
	self->priv->supervisors = (_vala_array_free (self->priv->supervisors, self->priv->supervisors_length1, (GDestroyNotify) g_object_unref), NULL);
	G_OBJECT_CLASS (greeter_settings_daemon_parent_class)->finalize (obj);
}

static GType
greeter_settings_daemon_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GreeterSettingsDaemonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) greeter_settings_daemon_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GreeterSettingsDaemon), 0, (GInstanceInitFunc) greeter_settings_daemon_instance_init, NULL };
	GType greeter_settings_daemon_type_id;
	greeter_settings_daemon_type_id = g_type_register_static (G_TYPE_OBJECT, "GreeterSettingsDaemon", &g_define_type_info, 0);
	GreeterSettingsDaemon_private_offset = g_type_add_instance_private (greeter_settings_daemon_type_id, sizeof (GreeterSettingsDaemonPrivate));
	return greeter_settings_daemon_type_id;
}

GType
greeter_settings_daemon_get_type (void)
{
	static volatile gsize greeter_settings_daemon_type_id__once = 0;
	if (g_once_init_enter (&greeter_settings_daemon_type_id__once)) {
		GType greeter_settings_daemon_type_id;
		greeter_settings_daemon_type_id = greeter_settings_daemon_get_type_once ();
		g_once_init_leave (&greeter_settings_daemon_type_id__once, greeter_settings_daemon_type_id);
	}
	return greeter_settings_daemon_type_id__once;
}

static inline gpointer
greeter_gnome_session_manager_get_instance_private (GreeterGnomeSessionManager* self)
{
	return G_STRUCT_MEMBER_P (self, GreeterGnomeSessionManager_private_offset);
}

void
greeter_gnome_session_manager_setenv (GreeterGnomeSessionManager* self,
                                      const gchar* variable,
                                      const gchar* value,
                                      GError** error)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (variable != NULL);
	g_return_if_fail (value != NULL);
}

gchar*
greeter_gnome_session_manager_get_locale (GreeterGnomeSessionManager* self,
                                          gint category,
                                          GError** error)
{
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup ("C");
	result = _tmp0_;
	return result;
}

void
greeter_gnome_session_manager_initialization_error (GreeterGnomeSessionManager* self,
                                                    const gchar* message,
                                                    gboolean fatal,
                                                    GError** error)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (message != NULL);
	g_critical ("SettingsDaemon.vala:101: Initialization error: %s", message);
}

char*
greeter_gnome_session_manager_register_client (GreeterGnomeSessionManager* self,
                                               const gchar* app_id,
                                               const gchar* client_startup_id,
                                               const char* sender,
                                               GError** error)
{
	guint32 process_id = 0U;
	GreeterGnomeSessionManagerClient* client = NULL;
	GreeterGnomeSessionManagerClient* _tmp26_;
	GeeArrayList* _tmp27_;
	GreeterGnomeSessionManagerClient* _tmp28_;
	GreeterGnomeSessionManagerClient* _tmp29_;
	const gchar* _tmp30_;
	char* _tmp31_;
	GError* _inner_error0_ = NULL;
	char* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (app_id != NULL, NULL);
	g_return_val_if_fail (client_startup_id != NULL, NULL);
	g_return_val_if_fail (sender != NULL, NULL);
	{
		GeeArrayList* _client_list = NULL;
		GeeArrayList* _tmp0_;
		gint _client_size = 0;
		GeeArrayList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		gint _client_index = 0;
		_tmp0_ = self->priv->clients;
		_client_list = _tmp0_;
		_tmp1_ = _client_list;
		_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
		_tmp3_ = _tmp2_;
		_client_size = _tmp3_;
		_client_index = -1;
		while (TRUE) {
			gint _tmp4_;
			gint _tmp5_;
			GreeterGnomeSessionManagerClient* client = NULL;
			GeeArrayList* _tmp6_;
			gpointer _tmp7_;
			gchar* _tmp8_ = NULL;
			GreeterGnomeSessionManagerClient* _tmp9_;
			gchar* _tmp10_;
			_client_index = _client_index + 1;
			_tmp4_ = _client_index;
			_tmp5_ = _client_size;
			if (!(_tmp4_ < _tmp5_)) {
				break;
			}
			_tmp6_ = _client_list;
			_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _client_index);
			client = (GreeterGnomeSessionManagerClient*) _tmp7_;
			_tmp9_ = client;
			_tmp10_ = greeter_gnome_session_manager_client_get_app_id (_tmp9_, &_inner_error0_);
			_tmp8_ = _tmp10_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				g_propagate_error (error, _inner_error0_);
				_g_object_unref0 (client);
				return NULL;
			}
			if (g_strcmp0 (_tmp8_, app_id) == 0) {
				GreeterGnomeSessionManagerClient* _tmp11_;
				const gchar* _tmp12_;
				char* _tmp13_;
				_tmp11_ = client;
				_tmp12_ = _tmp11_->object_path;
				_tmp13_ = g_strdup (_tmp12_);
				result = _tmp13_;
				_g_free0 (_tmp8_);
				_g_object_unref0 (client);
				return result;
			}
			_g_free0 (_tmp8_);
			_g_object_unref0 (client);
		}
	}
	process_id = (guint32) 0;
	{
		GDBusConnection* session_bus = NULL;
		GDBusConnection* _tmp14_;
		GVariant* pid_variant = NULL;
		GDBusConnection* _tmp15_;
		GVariant* _tmp16_;
		GVariant* _tmp17_;
		GVariantType* _tmp18_;
		GVariantType* _tmp19_;
		GVariant* _tmp20_;
		GVariant* _tmp21_;
		GVariant* _tmp22_;
		guint32 _tmp23_ = 0U;
		_tmp14_ = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &_inner_error0_);
		session_bus = _tmp14_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp15_ = session_bus;
		_tmp16_ = g_variant_new ("(s)", sender, NULL);
		g_variant_ref_sink (_tmp16_);
		_tmp17_ = _tmp16_;
		_tmp18_ = g_variant_type_new ("(u)");
		_tmp19_ = _tmp18_;
		_tmp20_ = g_dbus_connection_call_sync (_tmp15_, "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "GetConnectionUnixProcessID", _tmp17_, _tmp19_, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &_inner_error0_);
		_tmp21_ = _tmp20_;
		_g_variant_type_free0 (_tmp19_);
		_g_variant_unref0 (_tmp17_);
		pid_variant = _tmp21_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (session_bus);
			goto __catch0_g_error;
		}
		_tmp22_ = pid_variant;
		g_variant_get (_tmp22_, "(u)", &_tmp23_, NULL);
		process_id = _tmp23_;
		_g_variant_unref0 (pid_variant);
		_g_object_unref0 (session_bus);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp24_;
		const gchar* _tmp25_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp24_ = e;
		_tmp25_ = _tmp24_->message;
		g_critical ("SettingsDaemon.vala:126: %s", _tmp25_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp26_ = greeter_gnome_session_manager_client_new (app_id, client_startup_id, process_id);
	client = _tmp26_;
	_tmp27_ = self->priv->clients;
	_tmp28_ = client;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp27_, _tmp28_);
	_tmp29_ = client;
	_tmp30_ = _tmp29_->object_path;
	_tmp31_ = g_strdup (_tmp30_);
	result = _tmp31_;
	_g_object_unref0 (client);
	return result;
}

void
greeter_gnome_session_manager_unregister_client (GreeterGnomeSessionManager* self,
                                                 const char* client_id,
                                                 GError** error)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (client_id != NULL);
	{
		GeeArrayList* _client_list = NULL;
		GeeArrayList* _tmp0_;
		gint _client_size = 0;
		GeeArrayList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		gint _client_index = 0;
		_tmp0_ = self->priv->clients;
		_client_list = _tmp0_;
		_tmp1_ = _client_list;
		_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
		_tmp3_ = _tmp2_;
		_client_size = _tmp3_;
		_client_index = -1;
		while (TRUE) {
			gint _tmp4_;
			gint _tmp5_;
			GreeterGnomeSessionManagerClient* client = NULL;
			GeeArrayList* _tmp6_;
			gpointer _tmp7_;
			GreeterGnomeSessionManagerClient* _tmp8_;
			const gchar* _tmp9_;
			_client_index = _client_index + 1;
			_tmp4_ = _client_index;
			_tmp5_ = _client_size;
			if (!(_tmp4_ < _tmp5_)) {
				break;
			}
			_tmp6_ = _client_list;
			_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _client_index);
			client = (GreeterGnomeSessionManagerClient*) _tmp7_;
			_tmp8_ = client;
			_tmp9_ = _tmp8_->object_path;
			if (g_strcmp0 (_tmp9_, (const gchar*) client_id) == 0) {
				GeeArrayList* _tmp10_;
				GreeterGnomeSessionManagerClient* _tmp11_;
				_tmp10_ = self->priv->clients;
				_tmp11_ = client;
				gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp10_, _tmp11_);
				_g_object_unref0 (client);
				return;
			}
			_g_object_unref0 (client);
		}
	}
}

guint
greeter_gnome_session_manager_inhibit (GreeterGnomeSessionManager* self,
                                       const gchar* app_id,
                                       guint toplevel_xid,
                                       const gchar* reason,
                                       guint flags,
                                       GError** error)
{
	guint result;
	g_return_val_if_fail (self != NULL, 0U);
	g_return_val_if_fail (app_id != NULL, 0U);
	g_return_val_if_fail (reason != NULL, 0U);
	result = (guint) 0;
	return result;
}

void
greeter_gnome_session_manager_uninhibit (GreeterGnomeSessionManager* self,
                                         guint inhibit_cookie,
                                         GError** error)
{
	g_return_if_fail (self != NULL);
}

gboolean
greeter_gnome_session_manager_is_inhibited (GreeterGnomeSessionManager* self,
                                            guint flags,
                                            GError** error)
{
	GeeArrayList* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->inhibitors;
	_tmp1_ = gee_collection_get_is_empty ((GeeCollection*) _tmp0_);
	_tmp2_ = _tmp1_;
	result = !_tmp2_;
	return result;
}

char**
greeter_gnome_session_manager_get_clients (GreeterGnomeSessionManager* self,
                                           gint* result_length1,
                                           GError** error)
{
	char** returned_array = NULL;
	gint returned_array_length1;
	gint _returned_array_size_;
	char** _tmp0_;
	gint _tmp0__length1;
	char** result;
	g_return_val_if_fail (self != NULL, NULL);
	returned_array = NULL;
	returned_array_length1 = 0;
	_returned_array_size_ = returned_array_length1;
	_tmp0_ = returned_array;
	_tmp0__length1 = returned_array_length1;
	if (result_length1) {
		*result_length1 = _tmp0__length1;
	}
	result = _tmp0_;
	return result;
}

char**
greeter_gnome_session_manager_get_inhibitors (GreeterGnomeSessionManager* self,
                                              gint* result_length1,
                                              GError** error)
{
	char** returned_array = NULL;
	gint returned_array_length1;
	gint _returned_array_size_;
	char** _tmp0_;
	gint _tmp0__length1;
	char** result;
	g_return_val_if_fail (self != NULL, NULL);
	returned_array = NULL;
	returned_array_length1 = 0;
	_returned_array_size_ = returned_array_length1;
	_tmp0_ = returned_array;
	_tmp0__length1 = returned_array_length1;
	if (result_length1) {
		*result_length1 = _tmp0__length1;
	}
	result = _tmp0_;
	return result;
}

gboolean
greeter_gnome_session_manager_is_autostart_condition_handled (GreeterGnomeSessionManager* self,
                                                              const gchar* condition,
                                                              GError** error)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (condition != NULL, FALSE);
	result = TRUE;
	return result;
}

void
greeter_gnome_session_manager_shutdown (GreeterGnomeSessionManager* self,
                                        GError** error)
{
	g_return_if_fail (self != NULL);
}

void
greeter_gnome_session_manager_reboot (GreeterGnomeSessionManager* self,
                                      GError** error)
{
	g_return_if_fail (self != NULL);
}

gboolean
greeter_gnome_session_manager_can_shutdown (GreeterGnomeSessionManager* self,
                                            GError** error)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = TRUE;
	return result;
}

void
greeter_gnome_session_manager_logout (GreeterGnomeSessionManager* self,
                                      guint mode,
                                      GError** error)
{
	g_return_if_fail (self != NULL);
}

gboolean
greeter_gnome_session_manager_is_session_running (GreeterGnomeSessionManager* self,
                                                  GError** error)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = TRUE;
	return result;
}

GreeterGnomeSessionManager*
greeter_gnome_session_manager_construct (GType object_type)
{
	GreeterGnomeSessionManager * self = NULL;
	self = (GreeterGnomeSessionManager*) g_object_new (object_type, NULL);
	return self;
}

GreeterGnomeSessionManager*
greeter_gnome_session_manager_new (void)
{
	return greeter_gnome_session_manager_construct (GREETER_TYPE_GNOME_SESSION_MANAGER);
}

gchar*
greeter_gnome_session_manager_get_session_name (GreeterGnomeSessionManager* self)
{
	gchar* result;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_session_name;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

void
greeter_gnome_session_manager_set_session_name (GreeterGnomeSessionManager* self,
                                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = greeter_gnome_session_manager_get_session_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_session_name);
		self->priv->_session_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY]);
	}
	_g_free0 (old_value);
}

gchar*
greeter_gnome_session_manager_get_renderer (GreeterGnomeSessionManager* self)
{
	gchar* result;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_renderer;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

void
greeter_gnome_session_manager_set_renderer (GreeterGnomeSessionManager* self,
                                            const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = greeter_gnome_session_manager_get_renderer (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_renderer);
		self->priv->_renderer = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY]);
	}
	_g_free0 (old_value);
}

gboolean
greeter_gnome_session_manager_get_session_is_active (GreeterGnomeSessionManager* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_session_is_active;
	return result;
}

void
greeter_gnome_session_manager_set_session_is_active (GreeterGnomeSessionManager* self,
                                                     gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = greeter_gnome_session_manager_get_session_is_active (self);
	if (old_value != value) {
		self->priv->_session_is_active = value;
		g_object_notify_by_pspec ((GObject *) self, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY]);
	}
}

guint
greeter_gnome_session_manager_get_inhibited_actions (GreeterGnomeSessionManager* self)
{
	guint result;
	g_return_val_if_fail (self != NULL, 0U);
	result = self->priv->_inhibited_actions;
	return result;
}

void
greeter_gnome_session_manager_set_inhibited_actions (GreeterGnomeSessionManager* self,
                                                     guint value)
{
	guint old_value;
	g_return_if_fail (self != NULL);
	old_value = greeter_gnome_session_manager_get_inhibited_actions (self);
	if (old_value != value) {
		self->priv->_inhibited_actions = value;
		g_object_notify_by_pspec ((GObject *) self, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY]);
	}
}

static GObject *
greeter_gnome_session_manager_constructor (GType type,
                                           guint n_construct_properties,
                                           GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	GreeterGnomeSessionManager * self;
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	parent_class = G_OBJECT_CLASS (greeter_gnome_session_manager_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManager);
	_tmp0_ = gee_array_list_new (GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_g_object_unref0 (self->priv->clients);
	self->priv->clients = _tmp0_;
	_tmp1_ = gee_array_list_new (GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, NULL, NULL, NULL, NULL, NULL);
	_g_object_unref0 (self->priv->inhibitors);
	self->priv->inhibitors = _tmp1_;
	return obj;
}

static void
greeter_gnome_session_manager_class_init (GreeterGnomeSessionManagerClass * klass,
                                          gpointer klass_data)
{
	greeter_gnome_session_manager_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GreeterGnomeSessionManager_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_greeter_gnome_session_manager_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_greeter_gnome_session_manager_set_property;
	G_OBJECT_CLASS (klass)->constructor = greeter_gnome_session_manager_constructor;
	G_OBJECT_CLASS (klass)->finalize = greeter_gnome_session_manager_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY] = g_param_spec_string ("session-name", "session-name", "session-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY] = g_param_spec_string ("renderer", "renderer", "renderer", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY] = g_param_spec_boolean ("session-is-active", "session-is-active", "session-is-active", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY, greeter_gnome_session_manager_properties[GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY] = g_param_spec_uint ("inhibited-actions", "inhibited-actions", "inhibited-actions", 0, G_MAXUINT, (guint) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_CLIENT_ADDED_SIGNAL] = g_signal_new ("client-added", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_CLIENT_REMOVED_SIGNAL] = g_signal_new ("client-removed", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_INHIBITOR_ADDED_SIGNAL] = g_signal_new ("inhibitor-added", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_INHIBITOR_REMOVED_SIGNAL] = g_signal_new ("inhibitor-removed", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_SESSION_RUNNING_SIGNAL] = g_signal_new ("session-running", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	greeter_gnome_session_manager_signals[GREETER_GNOME_SESSION_MANAGER_SESSION_OVER_SIGNAL] = g_signal_new ("session-over", GREETER_TYPE_GNOME_SESSION_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}

static void
greeter_gnome_session_manager_instance_init (GreeterGnomeSessionManager * self,
                                             gpointer klass)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	self->priv = greeter_gnome_session_manager_get_instance_private (self);
	_tmp0_ = g_strdup ("pantheon");
	self->priv->_session_name = _tmp0_;
	_tmp1_ = g_strdup ("");
	self->priv->_renderer = _tmp1_;
	self->priv->_session_is_active = TRUE;
	self->priv->_inhibited_actions = (guint) 0;
}

static void
greeter_gnome_session_manager_finalize (GObject * obj)
{
	GreeterGnomeSessionManager * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManager);
	_g_object_unref0 (self->priv->clients);
	_g_object_unref0 (self->priv->inhibitors);
	_g_free0 (self->priv->_session_name);
	_g_free0 (self->priv->_renderer);
	G_OBJECT_CLASS (greeter_gnome_session_manager_parent_class)->finalize (obj);
}

static GType
greeter_gnome_session_manager_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GreeterGnomeSessionManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) greeter_gnome_session_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GreeterGnomeSessionManager), 0, (GInstanceInitFunc) greeter_gnome_session_manager_instance_init, NULL };
	GType greeter_gnome_session_manager_type_id;
	greeter_gnome_session_manager_type_id = g_type_register_static (G_TYPE_OBJECT, "GreeterGnomeSessionManager", &g_define_type_info, 0);
	g_type_set_qdata (greeter_gnome_session_manager_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) greeter_gnome_session_manager_register_object);
	GreeterGnomeSessionManager_private_offset = g_type_add_instance_private (greeter_gnome_session_manager_type_id, sizeof (GreeterGnomeSessionManagerPrivate));
	return greeter_gnome_session_manager_type_id;
}

GType
greeter_gnome_session_manager_get_type (void)
{
	static volatile gsize greeter_gnome_session_manager_type_id__once = 0;
	if (g_once_init_enter (&greeter_gnome_session_manager_type_id__once)) {
		GType greeter_gnome_session_manager_type_id;
		greeter_gnome_session_manager_type_id = greeter_gnome_session_manager_get_type_once ();
		g_once_init_leave (&greeter_gnome_session_manager_type_id__once, greeter_gnome_session_manager_type_id);
	}
	return greeter_gnome_session_manager_type_id__once;
}

static void
_vala_greeter_gnome_session_manager_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec)
{
	GreeterGnomeSessionManager * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManager);
	switch (property_id) {
		case GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY:
		g_value_take_string (value, greeter_gnome_session_manager_get_session_name (self));
		break;
		case GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY:
		g_value_take_string (value, greeter_gnome_session_manager_get_renderer (self));
		break;
		case GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY:
		g_value_set_boolean (value, greeter_gnome_session_manager_get_session_is_active (self));
		break;
		case GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY:
		g_value_set_uint (value, greeter_gnome_session_manager_get_inhibited_actions (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_greeter_gnome_session_manager_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec)
{
	GreeterGnomeSessionManager * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GREETER_TYPE_GNOME_SESSION_MANAGER, GreeterGnomeSessionManager);
	switch (property_id) {
		case GREETER_GNOME_SESSION_MANAGER_SESSION_NAME_PROPERTY:
		greeter_gnome_session_manager_set_session_name (self, g_value_get_string (value));
		break;
		case GREETER_GNOME_SESSION_MANAGER_RENDERER_PROPERTY:
		greeter_gnome_session_manager_set_renderer (self, g_value_get_string (value));
		break;
		case GREETER_GNOME_SESSION_MANAGER_SESSION_IS_ACTIVE_PROPERTY:
		greeter_gnome_session_manager_set_session_is_active (self, g_value_get_boolean (value));
		break;
		case GREETER_GNOME_SESSION_MANAGER_INHIBITED_ACTIONS_PROPERTY:
		greeter_gnome_session_manager_set_inhibited_actions (self, g_value_get_uint (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_dbus_greeter_gnome_session_manager_setenv (GreeterGnomeSessionManager* self,
                                            GVariant* _parameters_,
                                            GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* variable = NULL;
	GVariant* _tmp28_;
	gchar* value = NULL;
	GVariant* _tmp29_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp28_ = g_variant_iter_next_value (&_arguments_iter);
	variable = g_variant_dup_string (_tmp28_, NULL);
	g_variant_unref (_tmp28_);
	_tmp29_ = g_variant_iter_next_value (&_arguments_iter);
	value = g_variant_dup_string (_tmp29_, NULL);
	g_variant_unref (_tmp29_);
	greeter_gnome_session_manager_setenv (self, variable, value, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (variable);
	_g_free0 (value);
	;
}

static void
_dbus_greeter_gnome_session_manager_get_locale (GreeterGnomeSessionManager* self,
                                                GVariant* _parameters_,
                                                GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gint category = 0;
	GVariant* _tmp30_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp30_ = g_variant_iter_next_value (&_arguments_iter);
	category = g_variant_get_int32 (_tmp30_);
	g_variant_unref (_tmp30_);
	result = greeter_gnome_session_manager_get_locale (self, category, &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_greeter_gnome_session_manager_initialization_error (GreeterGnomeSessionManager* self,
                                                          GVariant* _parameters_,
                                                          GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* message = NULL;
	GVariant* _tmp31_;
	gboolean fatal = FALSE;
	GVariant* _tmp32_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp31_ = g_variant_iter_next_value (&_arguments_iter);
	message = g_variant_dup_string (_tmp31_, NULL);
	g_variant_unref (_tmp31_);
	_tmp32_ = g_variant_iter_next_value (&_arguments_iter);
	fatal = g_variant_get_boolean (_tmp32_);
	g_variant_unref (_tmp32_);
	greeter_gnome_session_manager_initialization_error (self, message, fatal, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (message);
	;
}

static void
_dbus_greeter_gnome_session_manager_register_client (GreeterGnomeSessionManager* self,
                                                     GVariant* _parameters_,
                                                     GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* app_id = NULL;
	GVariant* _tmp33_;
	gchar* client_startup_id = NULL;
	GVariant* _tmp34_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char* result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp33_ = g_variant_iter_next_value (&_arguments_iter);
	app_id = g_variant_dup_string (_tmp33_, NULL);
	g_variant_unref (_tmp33_);
	_tmp34_ = g_variant_iter_next_value (&_arguments_iter);
	client_startup_id = g_variant_dup_string (_tmp34_, NULL);
	g_variant_unref (_tmp34_);
	result = greeter_gnome_session_manager_register_client (self, app_id, client_startup_id, g_dbus_method_invocation_get_sender (invocation), &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_object_path (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (app_id);
	_g_free0 (client_startup_id);
	;
}

static void
_dbus_greeter_gnome_session_manager_unregister_client (GreeterGnomeSessionManager* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	char* client_id = NULL;
	GVariant* _tmp35_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp35_ = g_variant_iter_next_value (&_arguments_iter);
	client_id = g_variant_dup_string (_tmp35_, NULL);
	g_variant_unref (_tmp35_);
	greeter_gnome_session_manager_unregister_client (self, client_id, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		goto _error;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (client_id);
	;
}

static void
_dbus_greeter_gnome_session_manager_inhibit (GreeterGnomeSessionManager* self,
                                             GVariant* _parameters_,
                                             GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* app_id = NULL;
	GVariant* _tmp36_;
	guint toplevel_xid = 0U;
	GVariant* _tmp37_;
	gchar* reason = NULL;
	GVariant* _tmp38_;
	guint flags = 0U;
	GVariant* _tmp39_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	guint result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp36_ = g_variant_iter_next_value (&_arguments_iter);
	app_id = g_variant_dup_string (_tmp36_, NULL);
	g_variant_unref (_tmp36_);
	_tmp37_ = g_variant_iter_next_value (&_arguments_iter);
	toplevel_xid = g_variant_get_uint32 (_tmp37_);
	g_variant_unref (_tmp37_);
	_tmp38_ = g_variant_iter_next_value (&_arguments_iter);
	reason = g_variant_dup_string (_tmp38_, NULL);
	g_variant_unref (_tmp38_);
	_tmp39_ = g_variant_iter_next_value (&_arguments_iter);
	flags = g_variant_get_uint32 (_tmp39_);
	g_variant_unref (_tmp39_);
	result = greeter_gnome_session_manager_inhibit (self, app_id, toplevel_xid, reason, flags, &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_uint32 (result));
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
	_error:
	_g_free0 (app_id);
	_g_free0 (reason);
	;
}

static void
_dbus_greeter_gnome_session_manager_uninhibit (GreeterGnomeSessionManager* self,
                                               GVariant* _parameters_,
                                               GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	guint inhibit_cookie = 0U;
	GVariant* _tmp40_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp40_ = g_variant_iter_next_value (&_arguments_iter);
	inhibit_cookie = g_variant_get_uint32 (_tmp40_);
	g_variant_unref (_tmp40_);
	greeter_gnome_session_manager_uninhibit (self, inhibit_cookie, &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_greeter_gnome_session_manager_is_inhibited (GreeterGnomeSessionManager* self,
                                                  GVariant* _parameters_,
                                                  GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	guint flags = 0U;
	GVariant* _tmp41_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp41_ = g_variant_iter_next_value (&_arguments_iter);
	flags = g_variant_get_uint32 (_tmp41_);
	g_variant_unref (_tmp41_);
	result = greeter_gnome_session_manager_is_inhibited (self, flags, &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
_dbus_greeter_gnome_session_manager_get_clients (GreeterGnomeSessionManager* self,
                                                 GVariant* _parameters_,
                                                 GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char** result;
	gint result_length1 = 0;
	char** _tmp42_;
	GVariantBuilder _tmp43_;
	gint _tmp44_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = greeter_gnome_session_manager_get_clients (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_tmp42_ = result;
	g_variant_builder_init (&_tmp43_, G_VARIANT_TYPE ("ao"));
	for (_tmp44_ = 0; _tmp44_ < result_length1; _tmp44_++) {
		g_variant_builder_add_value (&_tmp43_, g_variant_new_object_path (*_tmp42_));
		_tmp42_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp43_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}

static void
_dbus_greeter_gnome_session_manager_get_inhibitors (GreeterGnomeSessionManager* self,
                                                    GVariant* _parameters_,
                                                    GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	char** result;
	gint result_length1 = 0;
	char** _tmp45_;
	GVariantBuilder _tmp46_;
	gint _tmp47_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = greeter_gnome_session_manager_get_inhibitors (self, &result_length1, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_tmp45_ = result;
	g_variant_builder_init (&_tmp46_, G_VARIANT_TYPE ("ao"));
	for (_tmp47_ = 0; _tmp47_ < result_length1; _tmp47_++) {
		g_variant_builder_add_value (&_tmp46_, g_variant_new_object_path (*_tmp45_));
		_tmp45_++;
	}
	g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp46_));
	result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}

static void
_dbus_greeter_gnome_session_manager_is_autostart_condition_handled (GreeterGnomeSessionManager* self,
                                                                    GVariant* _parameters_,
                                                                    GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	gchar* condition = NULL;
	GVariant* _tmp48_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gboolean result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp48_ = g_variant_iter_next_value (&_arguments_iter);
	condition = g_variant_dup_string (_tmp48_, NULL);
	g_variant_unref (_tmp48_);
	result = greeter_gnome_session_manager_is_autostart_condition_handled (self, condition, &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_free0 (condition);
	;
}

static void
_dbus_greeter_gnome_session_manager_shutdown (GreeterGnomeSessionManager* 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_);
	greeter_gnome_session_manager_shutdown (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_greeter_gnome_session_manager_reboot (GreeterGnomeSessionManager* 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_);
	greeter_gnome_session_manager_reboot (self, &error);
	if (error) {
		g_dbus_method_invocation_take_error (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}

static void
_dbus_greeter_gnome_session_manager_can_shutdown (GreeterGnomeSessionManager* 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 = greeter_gnome_session_manager_can_shutdown (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
_dbus_greeter_gnome_session_manager_logout (GreeterGnomeSessionManager* self,
                                            GVariant* _parameters_,
                                            GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	guint mode = 0U;
	GVariant* _tmp49_;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp49_ = g_variant_iter_next_value (&_arguments_iter);
	mode = g_variant_get_uint32 (_tmp49_);
	g_variant_unref (_tmp49_);
	greeter_gnome_session_manager_logout (self, mode, &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_greeter_gnome_session_manager_is_session_running (GreeterGnomeSessionManager* 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 = greeter_gnome_session_manager_is_session_running (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
greeter_gnome_session_manager_dbus_interface_method_call (GDBusConnection* connection,
                                                          const gchar* sender,
                                                          const gchar* object_path,
                                                          const gchar* interface_name,
                                                          const gchar* method_name,
                                                          GVariant* parameters,
                                                          GDBusMethodInvocation* invocation,
                                                          gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "Setenv") == 0) {
		_dbus_greeter_gnome_session_manager_setenv (object, parameters, invocation);
	} else if (strcmp (method_name, "GetLocale") == 0) {
		_dbus_greeter_gnome_session_manager_get_locale (object, parameters, invocation);
	} else if (strcmp (method_name, "InitializationError") == 0) {
		_dbus_greeter_gnome_session_manager_initialization_error (object, parameters, invocation);
	} else if (strcmp (method_name, "RegisterClient") == 0) {
		_dbus_greeter_gnome_session_manager_register_client (object, parameters, invocation);
	} else if (strcmp (method_name, "UnregisterClient") == 0) {
		_dbus_greeter_gnome_session_manager_unregister_client (object, parameters, invocation);
	} else if (strcmp (method_name, "Inhibit") == 0) {
		_dbus_greeter_gnome_session_manager_inhibit (object, parameters, invocation);
	} else if (strcmp (method_name, "Uninhibit") == 0) {
		_dbus_greeter_gnome_session_manager_uninhibit (object, parameters, invocation);
	} else if (strcmp (method_name, "IsInhibited") == 0) {
		_dbus_greeter_gnome_session_manager_is_inhibited (object, parameters, invocation);
	} else if (strcmp (method_name, "GetClients") == 0) {
		_dbus_greeter_gnome_session_manager_get_clients (object, parameters, invocation);
	} else if (strcmp (method_name, "GetInhibitors") == 0) {
		_dbus_greeter_gnome_session_manager_get_inhibitors (object, parameters, invocation);
	} else if (strcmp (method_name, "IsAutostartConditionHandled") == 0) {
		_dbus_greeter_gnome_session_manager_is_autostart_condition_handled (object, parameters, invocation);
	} else if (strcmp (method_name, "Shutdown") == 0) {
		_dbus_greeter_gnome_session_manager_shutdown (object, parameters, invocation);
	} else if (strcmp (method_name, "Reboot") == 0) {
		_dbus_greeter_gnome_session_manager_reboot (object, parameters, invocation);
	} else if (strcmp (method_name, "CanShutdown") == 0) {
		_dbus_greeter_gnome_session_manager_can_shutdown (object, parameters, invocation);
	} else if (strcmp (method_name, "Logout") == 0) {
		_dbus_greeter_gnome_session_manager_logout (object, parameters, invocation);
	} else if (strcmp (method_name, "IsSessionRunning") == 0) {
		_dbus_greeter_gnome_session_manager_is_session_running (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
_dbus_greeter_gnome_session_manager_get_session_name (GreeterGnomeSessionManager* self)
{
	gchar* result;
	GVariant* _reply;
	result = greeter_gnome_session_manager_get_session_name (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_greeter_gnome_session_manager_get_renderer (GreeterGnomeSessionManager* self)
{
	gchar* result;
	GVariant* _reply;
	result = greeter_gnome_session_manager_get_renderer (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}

static GVariant*
_dbus_greeter_gnome_session_manager_get_session_is_active (GreeterGnomeSessionManager* self)
{
	gboolean result;
	GVariant* _reply;
	result = greeter_gnome_session_manager_get_session_is_active (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}

static GVariant*
_dbus_greeter_gnome_session_manager_get_inhibited_actions (GreeterGnomeSessionManager* self)
{
	guint result;
	GVariant* _reply;
	result = greeter_gnome_session_manager_get_inhibited_actions (self);
	_reply = g_variant_new_uint32 (result);
	return _reply;
}

static GVariant*
greeter_gnome_session_manager_dbus_interface_get_property (GDBusConnection* connection,
                                                           const gchar* sender,
                                                           const gchar* object_path,
                                                           const gchar* interface_name,
                                                           const gchar* property_name,
                                                           GError** error,
                                                           gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "SessionName") == 0) {
		return _dbus_greeter_gnome_session_manager_get_session_name (object);
	} else if (strcmp (property_name, "Renderer") == 0) {
		return _dbus_greeter_gnome_session_manager_get_renderer (object);
	} else if (strcmp (property_name, "SessionIsActive") == 0) {
		return _dbus_greeter_gnome_session_manager_get_session_is_active (object);
	} else if (strcmp (property_name, "InhibitedActions") == 0) {
		return _dbus_greeter_gnome_session_manager_get_inhibited_actions (object);
	}
	return NULL;
}

static void
_dbus_greeter_gnome_session_manager_set_session_name (GreeterGnomeSessionManager* self,
                                                      GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	greeter_gnome_session_manager_set_session_name (self, value);
	_g_free0 (value);
}

static void
_dbus_greeter_gnome_session_manager_set_renderer (GreeterGnomeSessionManager* self,
                                                  GVariant* _value)
{
	gchar* value = NULL;
	value = g_variant_dup_string (_value, NULL);
	greeter_gnome_session_manager_set_renderer (self, value);
	_g_free0 (value);
}

static void
_dbus_greeter_gnome_session_manager_set_session_is_active (GreeterGnomeSessionManager* self,
                                                           GVariant* _value)
{
	gboolean value = FALSE;
	value = g_variant_get_boolean (_value);
	greeter_gnome_session_manager_set_session_is_active (self, value);
}

static void
_dbus_greeter_gnome_session_manager_set_inhibited_actions (GreeterGnomeSessionManager* self,
                                                           GVariant* _value)
{
	guint value = 0U;
	value = g_variant_get_uint32 (_value);
	greeter_gnome_session_manager_set_inhibited_actions (self, value);
}

static gboolean
greeter_gnome_session_manager_dbus_interface_set_property (GDBusConnection* connection,
                                                           const gchar* sender,
                                                           const gchar* object_path,
                                                           const gchar* interface_name,
                                                           const gchar* property_name,
                                                           GVariant* value,
                                                           GError** error,
                                                           gpointer user_data)
{
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "SessionName") == 0) {
		_dbus_greeter_gnome_session_manager_set_session_name (object, value);
		return TRUE;
	} else if (strcmp (property_name, "Renderer") == 0) {
		_dbus_greeter_gnome_session_manager_set_renderer (object, value);
		return TRUE;
	} else if (strcmp (property_name, "SessionIsActive") == 0) {
		_dbus_greeter_gnome_session_manager_set_session_is_active (object, value);
		return TRUE;
	} else if (strcmp (property_name, "InhibitedActions") == 0) {
		_dbus_greeter_gnome_session_manager_set_inhibited_actions (object, value);
		return TRUE;
	}
	return FALSE;
}

static void
_dbus_greeter_gnome_session_manager_client_added (GObject* _sender,
                                                  const char* id,
                                                  gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (id));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "ClientAdded", _arguments, NULL);
}

static void
_dbus_greeter_gnome_session_manager_client_removed (GObject* _sender,
                                                    const char* id,
                                                    gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (id));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "ClientRemoved", _arguments, NULL);
}

static void
_dbus_greeter_gnome_session_manager_inhibitor_added (GObject* _sender,
                                                     const char* id,
                                                     gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (id));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "InhibitorAdded", _arguments, NULL);
}

static void
_dbus_greeter_gnome_session_manager_inhibitor_removed (GObject* _sender,
                                                       const char* id,
                                                       gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_object_path (id));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "InhibitorRemoved", _arguments, NULL);
}

static void
_dbus_greeter_gnome_session_manager_session_running (GObject* _sender,
                                                     gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "SessionRunning", _arguments, NULL);
}

static void
_dbus_greeter_gnome_session_manager_session_over (GObject* _sender,
                                                  gpointer* _data)
{
	GDBusConnection * _connection;
	const gchar * _path;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	_connection = _data[1];
	_path = _data[2];
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_connection_emit_signal (_connection, NULL, _path, "org.gnome.SessionManager", "SessionOver", _arguments, NULL);
}

guint
greeter_gnome_session_manager_register_object (gpointer object,
                                               GDBusConnection* connection,
                                               const gchar* path,
                                               GError** error)
{
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_greeter_gnome_session_manager_dbus_interface_info), &_greeter_gnome_session_manager_dbus_interface_vtable, data, _greeter_gnome_session_manager_unregister_object, error);
	if (!result) {
		return 0;
	}
	g_signal_connect (object, "client-added", (GCallback) _dbus_greeter_gnome_session_manager_client_added, data);
	g_signal_connect (object, "client-removed", (GCallback) _dbus_greeter_gnome_session_manager_client_removed, data);
	g_signal_connect (object, "inhibitor-added", (GCallback) _dbus_greeter_gnome_session_manager_inhibitor_added, data);
	g_signal_connect (object, "inhibitor-removed", (GCallback) _dbus_greeter_gnome_session_manager_inhibitor_removed, data);
	g_signal_connect (object, "session-running", (GCallback) _dbus_greeter_gnome_session_manager_session_running, data);
	g_signal_connect (object, "session-over", (GCallback) _dbus_greeter_gnome_session_manager_session_over, data);
	return result;
}

static void
_greeter_gnome_session_manager_unregister_object (gpointer user_data)
{
	gpointer* data;
	data = user_data;
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_client_added, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_client_removed, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_inhibitor_added, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_inhibitor_removed, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_session_running, data);
	g_signal_handlers_disconnect_by_func (data[0], _dbus_greeter_gnome_session_manager_session_over, data);
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}

static inline gpointer
greeter_gnome_session_manager_client_get_instance_private (GreeterGnomeSessionManagerClient* self)
{
	return G_STRUCT_MEMBER_P (self, GreeterGnomeSessionManagerClient_private_offset);
}

GreeterGnomeSessionManagerClient*
greeter_gnome_session_manager_client_construct (GType object_type,
                                                const gchar* app_id,
                                                const gchar* startup_id,
                                                guint32 process_id)
{
	GreeterGnomeSessionManagerClient * self = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (app_id != NULL, NULL);
	g_return_val_if_fail (startup_id != NULL, NULL);
	self = (GreeterGnomeSessionManagerClient*) g_object_new (object_type, NULL);
	_tmp0_ = g_strdup (app_id);
	_g_free0 (self->priv->app_id);
	self->priv->app_id = _tmp0_;
	_tmp1_ = g_strdup (startup_id);
	_g_free0 (self->priv->startup_id);
	self->priv->startup_id = _tmp1_;
	self->priv->process_id = process_id;
	return self;
}

GreeterGnomeSessionManagerClient*
greeter_gnome_session_manager_client_new (const gchar* app_id,
                                          const gchar* startup_id,
                                          guint32 process_id)
{
	return greeter_gnome_session_manager_client_construct (GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, app_id, startup_id, process_id);
}

gchar*
greeter_gnome_session_manager_client_get_app_id (GreeterGnomeSessionManagerClient* self,
                                                 GError** error)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->app_id;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

gchar*
greeter_gnome_session_manager_client_get_startup_id (GreeterGnomeSessionManagerClient* self,
                                                     GError** error)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->startup_id;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

guint
greeter_gnome_session_manager_client_get_restart_style_hint (GreeterGnomeSessionManagerClient* self,
                                                             GError** error)
{
	guint result;
	g_return_val_if_fail (self != NULL, 0U);
	result = (guint) 0;
	return result;
}

guint32
greeter_gnome_session_manager_client_get_unix_process_id (GreeterGnomeSessionManagerClient* self,
                                                          GError** error)
{
	guint32 result;
	g_return_val_if_fail (self != NULL, 0U);
	result = self->priv->process_id;
	return result;
}

guint
greeter_gnome_session_manager_client_get_status (GreeterGnomeSessionManagerClient* self,
                                                 GError** error)
{
	guint result;
	g_return_val_if_fail (self != NULL, 0U);
	result = (guint) 1;
	return result;
}

void
greeter_gnome_session_manager_client_stop (GreeterGnomeSessionManagerClient* self,
                                           GError** error)
{
	g_return_if_fail (self != NULL);
}

static GObject *
greeter_gnome_session_manager_client_constructor (GType type,
                                                  guint n_construct_properties,
                                                  GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	GreeterGnomeSessionManagerClient * self;
	gchar* _tmp0_;
	guint32 _tmp1_;
	GError* _inner_error0_ = NULL;
	parent_class = G_OBJECT_CLASS (greeter_gnome_session_manager_client_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, GreeterGnomeSessionManagerClient);
	_tmp0_ = g_strdup_printf ("/org/gnome/SessionManager/Client%u", (guint) greeter_gnome_session_manager_client_serial_id);
	_g_free0 (self->object_path);
	self->object_path = _tmp0_;
	_tmp1_ = greeter_gnome_session_manager_client_serial_id;
	greeter_gnome_session_manager_client_serial_id = _tmp1_ + 1;
	{
		GDBusConnection* session_bus = NULL;
		GDBusConnection* _tmp2_;
		GDBusConnection* _tmp3_;
		const gchar* _tmp4_;
		_tmp2_ = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &_inner_error0_);
		session_bus = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp3_ = session_bus;
		_tmp4_ = self->object_path;
		greeter_gnome_session_manager_client_register_object (self, _tmp3_, _tmp4_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_object_unref0 (session_bus);
			goto __catch0_g_error;
		}
		_g_object_unref0 (session_bus);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp5_;
		const gchar* _tmp6_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp5_ = e;
		_tmp6_ = _tmp5_->message;
		g_critical ("SettingsDaemon.vala:208: %s", _tmp6_);
		_g_error_free0 (e);
	}
	__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 obj;
}

static void
greeter_gnome_session_manager_client_class_init (GreeterGnomeSessionManagerClientClass * klass,
                                                 gpointer klass_data)
{
	greeter_gnome_session_manager_client_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GreeterGnomeSessionManagerClient_private_offset);
	G_OBJECT_CLASS (klass)->constructor = greeter_gnome_session_manager_client_constructor;
	G_OBJECT_CLASS (klass)->finalize = greeter_gnome_session_manager_client_finalize;
}

static void
greeter_gnome_session_manager_client_instance_init (GreeterGnomeSessionManagerClient * self,
                                                    gpointer klass)
{
	self->priv = greeter_gnome_session_manager_client_get_instance_private (self);
}

static void
greeter_gnome_session_manager_client_finalize (GObject * obj)
{
	GreeterGnomeSessionManagerClient * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GREETER_TYPE_GNOME_SESSION_MANAGER_CLIENT, GreeterGnomeSessionManagerClient);
	_g_free0 (self->priv->app_id);
	_g_free0 (self->priv->startup_id);
	_g_free0 (self->object_path);
	G_OBJECT_CLASS (greeter_gnome_session_manager_client_parent_class)->finalize (obj);
}

static GType
greeter_gnome_session_manager_client_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GreeterGnomeSessionManagerClientClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) greeter_gnome_session_manager_client_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GreeterGnomeSessionManagerClient), 0, (GInstanceInitFunc) greeter_gnome_session_manager_client_instance_init, NULL };
	GType greeter_gnome_session_manager_client_type_id;
	greeter_gnome_session_manager_client_type_id = g_type_register_static (G_TYPE_OBJECT, "GreeterGnomeSessionManagerClient", &g_define_type_info, 0);
	g_type_set_qdata (greeter_gnome_session_manager_client_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) greeter_gnome_session_manager_client_register_object);
	GreeterGnomeSessionManagerClient_private_offset = g_type_add_instance_private (greeter_gnome_session_manager_client_type_id, sizeof (GreeterGnomeSessionManagerClientPrivate));
	return greeter_gnome_session_manager_client_type_id;
}

GType
greeter_gnome_session_manager_client_get_type (void)
{
	static volatile gsize greeter_gnome_session_manager_client_type_id__once = 0;
	if (g_once_init_enter (&greeter_gnome_session_manager_client_type_id__once)) {
		GType greeter_gnome_session_manager_client_type_id;
		greeter_gnome_session_manager_client_type_id = greeter_gnome_session_manager_client_get_type_once ();
		g_once_init_leave (&greeter_gnome_session_manager_client_type_id__once, greeter_gnome_session_manager_client_type_id);
	}
	return greeter_gnome_session_manager_client_type_id__once;
}

static void
_dbus_greeter_gnome_session_manager_client_get_app_id (GreeterGnomeSessionManagerClient* 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 = greeter_gnome_session_manager_client_get_app_id (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_greeter_gnome_session_manager_client_get_startup_id (GreeterGnomeSessionManagerClient* 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 = greeter_gnome_session_manager_client_get_startup_id (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_greeter_gnome_session_manager_client_get_restart_style_hint (GreeterGnomeSessionManagerClient* self,
                                                                   GVariant* _parameters_,
                                                                   GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	guint result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = greeter_gnome_session_manager_client_get_restart_style_hint (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_uint32 (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_greeter_gnome_session_manager_client_get_unix_process_id (GreeterGnomeSessionManagerClient* self,
                                                                GVariant* _parameters_,
                                                                GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	guint32 result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = greeter_gnome_session_manager_client_get_unix_process_id (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_uint32 (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_greeter_gnome_session_manager_client_get_status (GreeterGnomeSessionManagerClient* self,
                                                       GVariant* _parameters_,
                                                       GDBusMethodInvocation* invocation)
{
	GError* error = NULL;
	GVariantIter _arguments_iter;
	GDBusMessage* _reply_message = NULL;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	guint result;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	result = greeter_gnome_session_manager_client_get_status (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_uint32 (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_greeter_gnome_session_manager_client_stop (GreeterGnomeSessionManagerClient* 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_);
	greeter_gnome_session_manager_client_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
greeter_gnome_session_manager_client_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, "GetAppId") == 0) {
		_dbus_greeter_gnome_session_manager_client_get_app_id (object, parameters, invocation);
	} else if (strcmp (method_name, "GetStartupId") == 0) {
		_dbus_greeter_gnome_session_manager_client_get_startup_id (object, parameters, invocation);
	} else if (strcmp (method_name, "GetRestartStyleHint") == 0) {
		_dbus_greeter_gnome_session_manager_client_get_restart_style_hint (object, parameters, invocation);
	} else if (strcmp (method_name, "GetUnixProcessId") == 0) {
		_dbus_greeter_gnome_session_manager_client_get_unix_process_id (object, parameters, invocation);
	} else if (strcmp (method_name, "GetStatus") == 0) {
		_dbus_greeter_gnome_session_manager_client_get_status (object, parameters, invocation);
	} else if (strcmp (method_name, "Stop") == 0) {
		_dbus_greeter_gnome_session_manager_client_stop (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}

static GVariant*
greeter_gnome_session_manager_client_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
greeter_gnome_session_manager_client_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
greeter_gnome_session_manager_client_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 *) (&_greeter_gnome_session_manager_client_dbus_interface_info), &_greeter_gnome_session_manager_client_dbus_interface_vtable, data, _greeter_gnome_session_manager_client_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}

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

