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

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU LGPL (version 2.1 or later).
 * See the COPYING file in this distribution.
 */

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

#define GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME "org.gnome.shotwell"
#define GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".preferences"
#define GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".ui"
#define GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".slideshow"
#define GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".window"
#define GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".files"
#define GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".editing"
#define GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".export"
#define GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".printing"
#define GSETTINGS_CONFIGURATION_ENGINE_SHARING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".sharing"
#define GSETTINGS_CONFIGURATION_ENGINE_IMPORTING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".dataimports"
#define GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".crop-settings"
#define GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME "org.gnome.desktop.background"
#define GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME "org.gnome.desktop.screensaver"
#define GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".plugins.enable-state"
#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define TYPE_CONFIGURATION_ENGINE (configuration_engine_get_type ())
#define CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngine))
#define IS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_ENGINE))
#define CONFIGURATION_ENGINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngineIface))

typedef struct _ConfigurationEngine ConfigurationEngine;
typedef struct _ConfigurationEngineIface ConfigurationEngineIface;
typedef enum  {
	CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY = 0,
	CONFIGURABLE_PROPERTY_GTK_THEME_VARIANT,
	CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_TYPE,
	CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_COLOR,
	CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS,
	CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE,
	CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE,
	CONFIGURABLE_PROPERTY_SCREENSAVER_FILE,
	CONFIGURABLE_PROPERTY_SCREENSAVER_MODE,
	CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN,
	CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM,
	CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT,
	CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE,
	CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH,
	CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES,
	CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS,
	CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES,
	CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR,
	CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR,
	CONFIGURABLE_PROPERTY_DISPLAY_MAP_WIDGET,
	CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR,
	CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS,
	CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS,
	CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES,
	CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS,
	CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING,
	CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY,
	CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING,
	CONFIGURABLE_PROPERTY_EXPORT_CONSTRAINT,
	CONFIGURABLE_PROPERTY_EXPORT_EXPORT_FORMAT_MODE,
	CONFIGURABLE_PROPERTY_EXPORT_EXPORT_METADATA,
	CONFIGURABLE_PROPERTY_EXPORT_PHOTO_FILE_FORMAT,
	CONFIGURABLE_PROPERTY_EXPORT_QUALITY,
	CONFIGURABLE_PROPERTY_EXPORT_SCALE,
	CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP,
	CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP,
	CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED,
	CONFIGURABLE_PROPERTY_IMPORT_DIR,
	CONFIGURABLE_PROPERTY_KEEP_RELATIVITY,
	CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT,
	CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE,
	CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH,
	CONFIGURABLE_PROPERTY_LAST_USED_SERVICE,
	CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE,
	CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING,
	CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY,
	CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT,
	CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE,
	CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH,
	CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS,
	CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE,
	CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE,
	CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT,
	CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT,
	CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI,
	CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS,
	CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH,
	CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE,
	CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO,
	CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES,
	CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION,
	CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT,
	CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT,
	CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG,
	CONFIGURABLE_PROPERTY_SIDEBAR_POSITION,
	CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY,
	CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY,
	CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID,
	CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE,
	CONFIGURABLE_PROPERTY_SLIDESHOW_SHUFFLE,
	CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME,
	CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES,
	CONFIGURABLE_PROPERTY_NUM_PROPERTIES
} ConfigurableProperty;

#define TYPE_CONFIGURABLE_PROPERTY (configurable_property_get_type ())

#define TYPE_CONFIGURATION_ERROR (configuration_error_get_type ())
typedef enum  {
	FUZZY_PROPERTY_STATE_ENABLED,
	FUZZY_PROPERTY_STATE_DISABLED,
	FUZZY_PROPERTY_STATE_UNKNOWN
} FuzzyPropertyState;

#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ())

#define TYPE_GSETTINGS_CONFIGURATION_ENGINE (gsettings_configuration_engine_get_type ())
#define GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine))
#define GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass))
#define IS_GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE))
#define IS_GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE))
#define GSETTINGS_CONFIGURATION_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass))

typedef struct _GSettingsConfigurationEngine GSettingsConfigurationEngine;
typedef struct _GSettingsConfigurationEngineClass GSettingsConfigurationEngineClass;
typedef struct _GSettingsConfigurationEnginePrivate GSettingsConfigurationEnginePrivate;
enum  {
	GSETTINGS_CONFIGURATION_ENGINE_0_PROPERTY,
	GSETTINGS_CONFIGURATION_ENGINE_NUM_PROPERTIES
};
static GParamSpec* gsettings_configuration_engine_properties[GSETTINGS_CONFIGURATION_ENGINE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_settings_schema_unref0(var) ((var == NULL) ? NULL : (var = (g_settings_schema_unref (var), NULL)))
#define _g_settings_schema_source_unref0(var) ((var == NULL) ? NULL : (var = (g_settings_schema_source_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
#define _g_settings_schema_key_unref0(var) ((var == NULL) ? NULL : (var = (g_settings_schema_key_unref (var), NULL)))

typedef enum  {
	CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE,
	CONFIGURATION_ERROR_ENGINE_ERROR
} ConfigurationError;
#define CONFIGURATION_ERROR configuration_error_quark ()

struct _ConfigurationEngineIface {
	GTypeInterface parent_iface;
	gchar* (*get_name) (ConfigurationEngine* self);
	gint (*get_int_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error);
	void (*set_int_property) (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error);
	gint (*get_enum_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error);
	void (*set_enum_property) (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error);
	gchar* (*get_string_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error);
	void (*set_string_property) (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error);
	gboolean (*get_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error);
	void (*set_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error);
	gdouble (*get_double_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error);
	void (*set_double_property) (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error);
	gboolean (*get_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def);
	void (*set_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val);
	gdouble (*get_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def);
	void (*set_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val);
	gint (*get_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def);
	void (*set_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val);
	gchar* (*get_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def);
	void (*set_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val);
	void (*unset_plugin_key) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key);
	FuzzyPropertyState (*is_plugin_enabled) (ConfigurationEngine* self, const gchar* id);
	void (*set_plugin_enabled) (ConfigurationEngine* self, const gchar* id, gboolean enabled);
};

struct _GSettingsConfigurationEngine {
	GObject parent_instance;
	GSettingsConfigurationEnginePrivate * priv;
};

struct _GSettingsConfigurationEngineClass {
	GObjectClass parent_class;
};

struct _GSettingsConfigurationEnginePrivate {
	gchar** schema_names;
	gint schema_names_length1;
	gint _schema_names_size_;
	gchar** key_names;
	gint key_names_length1;
	gint _key_names_size_;
	GeeHashMap* settings_cache;
	gchar* profile;
};

static gint GSettingsConfigurationEngine_private_offset;
static gpointer gsettings_configuration_engine_parent_class = NULL;
static ConfigurationEngineIface * gsettings_configuration_engine_configuration_engine_parent_iface = NULL;

VALA_EXTERN GType configurable_property_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GQuark configuration_error_quark (void);
VALA_EXTERN GType configuration_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType fuzzy_property_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType configuration_engine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConfigurationEngine, g_object_unref)
VALA_EXTERN GType gsettings_configuration_engine_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GSettingsConfigurationEngine, g_object_unref)
VALA_EXTERN GSettingsConfigurationEngine* gsettings_configuration_engine_new (const gchar* profile);
VALA_EXTERN GSettingsConfigurationEngine* gsettings_configuration_engine_construct (GType object_type,
                                                                        const gchar* profile);
static GSettings* gsettings_configuration_engine_get_settings (GSettingsConfigurationEngine* self,
                                                        const gchar* schema);
static void gsettings_configuration_engine_check_key_valid (GSettingsConfigurationEngine* self,
                                                     const gchar* schema,
                                                     const gchar* key,
                                                     GError** error);
static gboolean gsettings_configuration_engine_get_gs_bool (GSettingsConfigurationEngine* self,
                                                     const gchar* schema,
                                                     const gchar* key,
                                                     GError** error);
static void gsettings_configuration_engine_set_gs_bool (GSettingsConfigurationEngine* self,
                                                 const gchar* schema,
                                                 const gchar* key,
                                                 gboolean value,
                                                 GError** error);
static void gsettings_configuration_engine_set_gs_enum (GSettingsConfigurationEngine* self,
                                                 const gchar* schema,
                                                 const gchar* key,
                                                 gint value,
                                                 GError** error);
static gint gsettings_configuration_engine_get_gs_enum (GSettingsConfigurationEngine* self,
                                                 const gchar* schema,
                                                 const gchar* key,
                                                 GError** error);
static gint gsettings_configuration_engine_get_gs_int (GSettingsConfigurationEngine* self,
                                                const gchar* schema,
                                                const gchar* key,
                                                GError** error);
static void gsettings_configuration_engine_set_gs_int (GSettingsConfigurationEngine* self,
                                                const gchar* schema,
                                                const gchar* key,
                                                gint value,
                                                GError** error);
static gdouble gsettings_configuration_engine_get_gs_double (GSettingsConfigurationEngine* self,
                                                      const gchar* schema,
                                                      const gchar* key,
                                                      GError** error);
static void gsettings_configuration_engine_set_gs_double (GSettingsConfigurationEngine* self,
                                                   const gchar* schema,
                                                   const gchar* key,
                                                   gdouble value,
                                                   GError** error);
static gchar* gsettings_configuration_engine_get_gs_string (GSettingsConfigurationEngine* self,
                                                     const gchar* schema,
                                                     const gchar* key,
                                                     GError** error);
static void gsettings_configuration_engine_set_gs_string (GSettingsConfigurationEngine* self,
                                                   const gchar* schema,
                                                   const gchar* key,
                                                   const gchar* value,
                                                   GError** error);
static void gsettings_configuration_engine_reset_gs_to_default (GSettingsConfigurationEngine* self,
                                                         const gchar* schema,
                                                         const gchar* key,
                                                         GError** error);
static gchar* gsettings_configuration_engine_clean_plugin_id (const gchar* id);
VALA_EXTERN gboolean is_string_empty (const gchar* s);
static gchar* gsettings_configuration_engine_get_plugin_enable_disable_name (const gchar* id);
static gchar* gsettings_configuration_engine_make_plugin_schema_name (const gchar* domain,
                                                               const gchar* id);
static gchar* gsettings_configuration_engine_make_gsettings_key (const gchar* gconf_key);
static gchar* gsettings_configuration_engine_real_get_name (ConfigurationEngine* base);
static gint gsettings_configuration_engine_real_get_enum_property (ConfigurationEngine* base,
                                                            ConfigurableProperty p,
                                                            GError** error);
static void gsettings_configuration_engine_real_set_enum_property (ConfigurationEngine* base,
                                                            ConfigurableProperty p,
                                                            gint val,
                                                            GError** error);
static gint gsettings_configuration_engine_real_get_int_property (ConfigurationEngine* base,
                                                           ConfigurableProperty p,
                                                           GError** error);
static void gsettings_configuration_engine_real_set_int_property (ConfigurationEngine* base,
                                                           ConfigurableProperty p,
                                                           gint val,
                                                           GError** error);
static gchar* gsettings_configuration_engine_real_get_string_property (ConfigurationEngine* base,
                                                                ConfigurableProperty p,
                                                                GError** error);
static void gsettings_configuration_engine_real_set_string_property (ConfigurationEngine* base,
                                                              ConfigurableProperty p,
                                                              const gchar* val,
                                                              GError** error);
static gboolean gsettings_configuration_engine_real_get_bool_property (ConfigurationEngine* base,
                                                                ConfigurableProperty p,
                                                                GError** error);
static void gsettings_configuration_engine_real_set_bool_property (ConfigurationEngine* base,
                                                            ConfigurableProperty p,
                                                            gboolean val,
                                                            GError** error);
static gdouble gsettings_configuration_engine_real_get_double_property (ConfigurationEngine* base,
                                                                 ConfigurableProperty p,
                                                                 GError** error);
static void gsettings_configuration_engine_real_set_double_property (ConfigurationEngine* base,
                                                              ConfigurableProperty p,
                                                              gdouble val,
                                                              GError** error);
static gboolean gsettings_configuration_engine_real_get_plugin_bool (ConfigurationEngine* base,
                                                              const gchar* domain,
                                                              const gchar* id,
                                                              const gchar* key,
                                                              gboolean def);
static void gsettings_configuration_engine_real_set_plugin_bool (ConfigurationEngine* base,
                                                          const gchar* domain,
                                                          const gchar* id,
                                                          const gchar* key,
                                                          gboolean val);
static gdouble gsettings_configuration_engine_real_get_plugin_double (ConfigurationEngine* base,
                                                               const gchar* domain,
                                                               const gchar* id,
                                                               const gchar* key,
                                                               gdouble def);
static void gsettings_configuration_engine_real_set_plugin_double (ConfigurationEngine* base,
                                                            const gchar* domain,
                                                            const gchar* id,
                                                            const gchar* key,
                                                            gdouble val);
static gint gsettings_configuration_engine_real_get_plugin_int (ConfigurationEngine* base,
                                                         const gchar* domain,
                                                         const gchar* id,
                                                         const gchar* key,
                                                         gint def);
static void gsettings_configuration_engine_real_set_plugin_int (ConfigurationEngine* base,
                                                         const gchar* domain,
                                                         const gchar* id,
                                                         const gchar* key,
                                                         gint val);
static gchar* gsettings_configuration_engine_real_get_plugin_string (ConfigurationEngine* base,
                                                              const gchar* domain,
                                                              const gchar* id,
                                                              const gchar* key,
                                                              const gchar* def);
static void gsettings_configuration_engine_real_set_plugin_string (ConfigurationEngine* base,
                                                            const gchar* domain,
                                                            const gchar* id,
                                                            const gchar* key,
                                                            const gchar* val);
static void gsettings_configuration_engine_real_unset_plugin_key (ConfigurationEngine* base,
                                                           const gchar* domain,
                                                           const gchar* id,
                                                           const gchar* key);
static FuzzyPropertyState gsettings_configuration_engine_real_is_plugin_enabled (ConfigurationEngine* base,
                                                                          const gchar* id);
static void gsettings_configuration_engine_real_set_plugin_enabled (ConfigurationEngine* base,
                                                             const gchar* id,
                                                             gboolean enabled);
VALA_EXTERN void gsettings_configuration_engine_run_gsettings_migrator (void);
VALA_EXTERN GFile* app_dirs_get_settings_migrator_bin (void);
VALA_EXTERN void gsettings_configuration_engine_run_gsettings_migrator_v2 (void);
static void gsettings_configuration_engine_copy_schema (GSettings* settings);
VALA_EXTERN gchar* configuration_engine_get_name (ConfigurationEngine* self);
VALA_EXTERN gint configuration_engine_get_enum_property (ConfigurationEngine* self,
                                             ConfigurableProperty p,
                                             GError** error);
VALA_EXTERN void configuration_engine_set_enum_property (ConfigurationEngine* self,
                                             ConfigurableProperty p,
                                             gint val,
                                             GError** error);
VALA_EXTERN gint configuration_engine_get_int_property (ConfigurationEngine* self,
                                            ConfigurableProperty p,
                                            GError** error);
VALA_EXTERN void configuration_engine_set_int_property (ConfigurationEngine* self,
                                            ConfigurableProperty p,
                                            gint val,
                                            GError** error);
VALA_EXTERN gchar* configuration_engine_get_string_property (ConfigurationEngine* self,
                                                 ConfigurableProperty p,
                                                 GError** error);
VALA_EXTERN void configuration_engine_set_string_property (ConfigurationEngine* self,
                                               ConfigurableProperty p,
                                               const gchar* val,
                                               GError** error);
VALA_EXTERN gboolean configuration_engine_get_bool_property (ConfigurationEngine* self,
                                                 ConfigurableProperty p,
                                                 GError** error);
VALA_EXTERN void configuration_engine_set_bool_property (ConfigurationEngine* self,
                                             ConfigurableProperty p,
                                             gboolean val,
                                             GError** error);
VALA_EXTERN gdouble configuration_engine_get_double_property (ConfigurationEngine* self,
                                                  ConfigurableProperty p,
                                                  GError** error);
VALA_EXTERN void configuration_engine_set_double_property (ConfigurationEngine* self,
                                               ConfigurableProperty p,
                                               gdouble val,
                                               GError** error);
VALA_EXTERN gboolean configuration_engine_get_plugin_bool (ConfigurationEngine* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               gboolean def);
VALA_EXTERN void configuration_engine_set_plugin_bool (ConfigurationEngine* self,
                                           const gchar* domain,
                                           const gchar* id,
                                           const gchar* key,
                                           gboolean val);
VALA_EXTERN gdouble configuration_engine_get_plugin_double (ConfigurationEngine* self,
                                                const gchar* domain,
                                                const gchar* id,
                                                const gchar* key,
                                                gdouble def);
VALA_EXTERN void configuration_engine_set_plugin_double (ConfigurationEngine* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             gdouble val);
VALA_EXTERN gint configuration_engine_get_plugin_int (ConfigurationEngine* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint def);
VALA_EXTERN void configuration_engine_set_plugin_int (ConfigurationEngine* self,
                                          const gchar* domain,
                                          const gchar* id,
                                          const gchar* key,
                                          gint val);
VALA_EXTERN gchar* configuration_engine_get_plugin_string (ConfigurationEngine* self,
                                               const gchar* domain,
                                               const gchar* id,
                                               const gchar* key,
                                               const gchar* def);
VALA_EXTERN void configuration_engine_set_plugin_string (ConfigurationEngine* self,
                                             const gchar* domain,
                                             const gchar* id,
                                             const gchar* key,
                                             const gchar* val);
VALA_EXTERN void configuration_engine_unset_plugin_key (ConfigurationEngine* self,
                                            const gchar* domain,
                                            const gchar* id,
                                            const gchar* key);
VALA_EXTERN FuzzyPropertyState configuration_engine_is_plugin_enabled (ConfigurationEngine* self,
                                                           const gchar* id);
VALA_EXTERN void configuration_engine_set_plugin_enabled (ConfigurationEngine* self,
                                              const gchar* id,
                                              gboolean enabled);
static void gsettings_configuration_engine_finalize (GObject * obj);
static GType gsettings_configuration_engine_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static gssize _vala_array_length (gpointer array);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
gsettings_configuration_engine_get_instance_private (GSettingsConfigurationEngine* self)
{
	return G_STRUCT_MEMBER_P (self, GSettingsConfigurationEngine_private_offset);
}

GSettingsConfigurationEngine*
gsettings_configuration_engine_construct (GType object_type,
                                          const gchar* profile)
{
	GSettingsConfigurationEngine * self = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_;
	gchar** _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gchar* _tmp4_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	gchar* _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	gchar* _tmp8_;
	gchar** _tmp9_;
	gint _tmp9__length1;
	gchar* _tmp10_;
	gchar** _tmp11_;
	gint _tmp11__length1;
	gchar* _tmp12_;
	gchar** _tmp13_;
	gint _tmp13__length1;
	gchar* _tmp14_;
	gchar** _tmp15_;
	gint _tmp15__length1;
	gchar* _tmp16_;
	gchar** _tmp17_;
	gint _tmp17__length1;
	gchar* _tmp18_;
	gchar** _tmp19_;
	gint _tmp19__length1;
	gchar* _tmp20_;
	gchar** _tmp21_;
	gint _tmp21__length1;
	gchar* _tmp22_;
	gchar** _tmp23_;
	gint _tmp23__length1;
	gchar* _tmp24_;
	gchar** _tmp25_;
	gint _tmp25__length1;
	gchar* _tmp26_;
	gchar** _tmp27_;
	gint _tmp27__length1;
	gchar* _tmp28_;
	gchar** _tmp29_;
	gint _tmp29__length1;
	gchar* _tmp30_;
	gchar** _tmp31_;
	gint _tmp31__length1;
	gchar* _tmp32_;
	gchar** _tmp33_;
	gint _tmp33__length1;
	gchar* _tmp34_;
	gchar** _tmp35_;
	gint _tmp35__length1;
	gchar* _tmp36_;
	gchar** _tmp37_;
	gint _tmp37__length1;
	gchar* _tmp38_;
	gchar** _tmp39_;
	gint _tmp39__length1;
	gchar* _tmp40_;
	gchar** _tmp41_;
	gint _tmp41__length1;
	gchar* _tmp42_;
	gchar** _tmp43_;
	gint _tmp43__length1;
	gchar* _tmp44_;
	gchar** _tmp45_;
	gint _tmp45__length1;
	gchar* _tmp46_;
	gchar** _tmp47_;
	gint _tmp47__length1;
	gchar* _tmp48_;
	gchar** _tmp49_;
	gint _tmp49__length1;
	gchar* _tmp50_;
	gchar** _tmp51_;
	gint _tmp51__length1;
	gchar* _tmp52_;
	gchar** _tmp53_;
	gint _tmp53__length1;
	gchar* _tmp54_;
	gchar** _tmp55_;
	gint _tmp55__length1;
	gchar* _tmp56_;
	gchar** _tmp57_;
	gint _tmp57__length1;
	gchar* _tmp58_;
	gchar** _tmp59_;
	gint _tmp59__length1;
	gchar* _tmp60_;
	gchar** _tmp61_;
	gint _tmp61__length1;
	gchar* _tmp62_;
	gchar** _tmp63_;
	gint _tmp63__length1;
	gchar* _tmp64_;
	gchar** _tmp65_;
	gint _tmp65__length1;
	gchar* _tmp66_;
	gchar** _tmp67_;
	gint _tmp67__length1;
	gchar* _tmp68_;
	gchar** _tmp69_;
	gint _tmp69__length1;
	gchar* _tmp70_;
	gchar** _tmp71_;
	gint _tmp71__length1;
	gchar* _tmp72_;
	gchar** _tmp73_;
	gint _tmp73__length1;
	gchar* _tmp74_;
	gchar** _tmp75_;
	gint _tmp75__length1;
	gchar* _tmp76_;
	gchar** _tmp77_;
	gint _tmp77__length1;
	gchar* _tmp78_;
	gchar** _tmp79_;
	gint _tmp79__length1;
	gchar* _tmp80_;
	gchar** _tmp81_;
	gint _tmp81__length1;
	gchar* _tmp82_;
	gchar** _tmp83_;
	gint _tmp83__length1;
	gchar* _tmp84_;
	gchar** _tmp85_;
	gint _tmp85__length1;
	gchar* _tmp86_;
	gchar** _tmp87_;
	gint _tmp87__length1;
	gchar* _tmp88_;
	gchar** _tmp89_;
	gint _tmp89__length1;
	gchar* _tmp90_;
	gchar** _tmp91_;
	gint _tmp91__length1;
	gchar* _tmp92_;
	gchar** _tmp93_;
	gint _tmp93__length1;
	gchar* _tmp94_;
	gchar** _tmp95_;
	gint _tmp95__length1;
	gchar* _tmp96_;
	gchar** _tmp97_;
	gint _tmp97__length1;
	gchar* _tmp98_;
	gchar** _tmp99_;
	gint _tmp99__length1;
	gchar* _tmp100_;
	gchar** _tmp101_;
	gint _tmp101__length1;
	gchar* _tmp102_;
	gchar** _tmp103_;
	gint _tmp103__length1;
	gchar* _tmp104_;
	gchar** _tmp105_;
	gint _tmp105__length1;
	gchar* _tmp106_;
	gchar** _tmp107_;
	gint _tmp107__length1;
	gchar* _tmp108_;
	gchar** _tmp109_;
	gint _tmp109__length1;
	gchar* _tmp110_;
	gchar** _tmp111_;
	gint _tmp111__length1;
	gchar* _tmp112_;
	gchar** _tmp113_;
	gint _tmp113__length1;
	gchar* _tmp114_;
	gchar** _tmp115_;
	gint _tmp115__length1;
	gchar* _tmp116_;
	gchar** _tmp117_;
	gint _tmp117__length1;
	gchar* _tmp118_;
	gchar** _tmp119_;
	gint _tmp119__length1;
	gchar* _tmp120_;
	gchar** _tmp121_;
	gint _tmp121__length1;
	gchar* _tmp122_;
	gchar** _tmp123_;
	gint _tmp123__length1;
	gchar* _tmp124_;
	gchar** _tmp125_;
	gint _tmp125__length1;
	gchar* _tmp126_;
	gchar** _tmp127_;
	gint _tmp127__length1;
	gchar* _tmp128_;
	gchar** _tmp129_;
	gint _tmp129__length1;
	gchar* _tmp130_;
	gchar** _tmp131_;
	gint _tmp131__length1;
	gchar* _tmp132_;
	gchar** _tmp133_;
	gint _tmp133__length1;
	gchar* _tmp134_;
	gchar** _tmp135_;
	gint _tmp135__length1;
	gchar* _tmp136_;
	gchar** _tmp137_;
	gint _tmp137__length1;
	gchar* _tmp138_;
	gchar** _tmp139_;
	gint _tmp139__length1;
	gchar* _tmp140_;
	gchar** _tmp141_;
	gint _tmp141__length1;
	gchar* _tmp142_;
	gchar** _tmp143_;
	gint _tmp143__length1;
	gchar* _tmp144_;
	gchar** _tmp145_;
	gint _tmp145__length1;
	gchar* _tmp146_;
	gchar** _tmp147_;
	gchar** _tmp148_;
	gint _tmp148__length1;
	gchar* _tmp149_;
	gchar** _tmp150_;
	gint _tmp150__length1;
	gchar* _tmp151_;
	gchar** _tmp152_;
	gint _tmp152__length1;
	gchar* _tmp153_;
	gchar** _tmp154_;
	gint _tmp154__length1;
	gchar* _tmp155_;
	gchar** _tmp156_;
	gint _tmp156__length1;
	gchar* _tmp157_;
	gchar** _tmp158_;
	gint _tmp158__length1;
	gchar* _tmp159_;
	gchar** _tmp160_;
	gint _tmp160__length1;
	gchar* _tmp161_;
	gchar** _tmp162_;
	gint _tmp162__length1;
	gchar* _tmp163_;
	gchar** _tmp164_;
	gint _tmp164__length1;
	gchar* _tmp165_;
	gchar** _tmp166_;
	gint _tmp166__length1;
	gchar* _tmp167_;
	gchar** _tmp168_;
	gint _tmp168__length1;
	gchar* _tmp169_;
	gchar** _tmp170_;
	gint _tmp170__length1;
	gchar* _tmp171_;
	gchar** _tmp172_;
	gint _tmp172__length1;
	gchar* _tmp173_;
	gchar** _tmp174_;
	gint _tmp174__length1;
	gchar* _tmp175_;
	gchar** _tmp176_;
	gint _tmp176__length1;
	gchar* _tmp177_;
	gchar** _tmp178_;
	gint _tmp178__length1;
	gchar* _tmp179_;
	gchar** _tmp180_;
	gint _tmp180__length1;
	gchar* _tmp181_;
	gchar** _tmp182_;
	gint _tmp182__length1;
	gchar* _tmp183_;
	gchar** _tmp184_;
	gint _tmp184__length1;
	gchar* _tmp185_;
	gchar** _tmp186_;
	gint _tmp186__length1;
	gchar* _tmp187_;
	gchar** _tmp188_;
	gint _tmp188__length1;
	gchar* _tmp189_;
	gchar** _tmp190_;
	gint _tmp190__length1;
	gchar* _tmp191_;
	gchar** _tmp192_;
	gint _tmp192__length1;
	gchar* _tmp193_;
	gchar** _tmp194_;
	gint _tmp194__length1;
	gchar* _tmp195_;
	gchar** _tmp196_;
	gint _tmp196__length1;
	gchar* _tmp197_;
	gchar** _tmp198_;
	gint _tmp198__length1;
	gchar* _tmp199_;
	gchar** _tmp200_;
	gint _tmp200__length1;
	gchar* _tmp201_;
	gchar** _tmp202_;
	gint _tmp202__length1;
	gchar* _tmp203_;
	gchar** _tmp204_;
	gint _tmp204__length1;
	gchar* _tmp205_;
	gchar** _tmp206_;
	gint _tmp206__length1;
	gchar* _tmp207_;
	gchar** _tmp208_;
	gint _tmp208__length1;
	gchar* _tmp209_;
	gchar** _tmp210_;
	gint _tmp210__length1;
	gchar* _tmp211_;
	gchar** _tmp212_;
	gint _tmp212__length1;
	gchar* _tmp213_;
	gchar** _tmp214_;
	gint _tmp214__length1;
	gchar* _tmp215_;
	gchar** _tmp216_;
	gint _tmp216__length1;
	gchar* _tmp217_;
	gchar** _tmp218_;
	gint _tmp218__length1;
	gchar* _tmp219_;
	gchar** _tmp220_;
	gint _tmp220__length1;
	gchar* _tmp221_;
	gchar** _tmp222_;
	gint _tmp222__length1;
	gchar* _tmp223_;
	gchar** _tmp224_;
	gint _tmp224__length1;
	gchar* _tmp225_;
	gchar** _tmp226_;
	gint _tmp226__length1;
	gchar* _tmp227_;
	gchar** _tmp228_;
	gint _tmp228__length1;
	gchar* _tmp229_;
	gchar** _tmp230_;
	gint _tmp230__length1;
	gchar* _tmp231_;
	gchar** _tmp232_;
	gint _tmp232__length1;
	gchar* _tmp233_;
	gchar** _tmp234_;
	gint _tmp234__length1;
	gchar* _tmp235_;
	gchar** _tmp236_;
	gint _tmp236__length1;
	gchar* _tmp237_;
	gchar** _tmp238_;
	gint _tmp238__length1;
	gchar* _tmp239_;
	gchar** _tmp240_;
	gint _tmp240__length1;
	gchar* _tmp241_;
	gchar** _tmp242_;
	gint _tmp242__length1;
	gchar* _tmp243_;
	gchar** _tmp244_;
	gint _tmp244__length1;
	gchar* _tmp245_;
	gchar** _tmp246_;
	gint _tmp246__length1;
	gchar* _tmp247_;
	gchar** _tmp248_;
	gint _tmp248__length1;
	gchar* _tmp249_;
	gchar** _tmp250_;
	gint _tmp250__length1;
	gchar* _tmp251_;
	gchar** _tmp252_;
	gint _tmp252__length1;
	gchar* _tmp253_;
	gchar** _tmp254_;
	gint _tmp254__length1;
	gchar* _tmp255_;
	gchar** _tmp256_;
	gint _tmp256__length1;
	gchar* _tmp257_;
	gchar** _tmp258_;
	gint _tmp258__length1;
	gchar* _tmp259_;
	gchar** _tmp260_;
	gint _tmp260__length1;
	gchar* _tmp261_;
	gchar** _tmp262_;
	gint _tmp262__length1;
	gchar* _tmp263_;
	gchar** _tmp264_;
	gint _tmp264__length1;
	gchar* _tmp265_;
	gchar** _tmp266_;
	gint _tmp266__length1;
	gchar* _tmp267_;
	gchar** _tmp268_;
	gint _tmp268__length1;
	gchar* _tmp269_;
	gchar** _tmp270_;
	gint _tmp270__length1;
	gchar* _tmp271_;
	gchar** _tmp272_;
	gint _tmp272__length1;
	gchar* _tmp273_;
	gchar** _tmp274_;
	gint _tmp274__length1;
	gchar* _tmp275_;
	gchar** _tmp276_;
	gint _tmp276__length1;
	gchar* _tmp277_;
	gchar** _tmp278_;
	gint _tmp278__length1;
	gchar* _tmp279_;
	gchar** _tmp280_;
	gint _tmp280__length1;
	gchar* _tmp281_;
	gchar** _tmp282_;
	gint _tmp282__length1;
	gchar* _tmp283_;
	gchar** _tmp284_;
	gint _tmp284__length1;
	gchar* _tmp285_;
	gchar** _tmp286_;
	gint _tmp286__length1;
	gchar* _tmp287_;
	gchar** _tmp288_;
	gint _tmp288__length1;
	gchar* _tmp289_;
	gchar** _tmp290_;
	gint _tmp290__length1;
	gchar* _tmp291_;
	self = (GSettingsConfigurationEngine*) g_object_new (object_type, NULL);
	if (profile == NULL) {
		_tmp0_ = "";
	} else {
		_tmp0_ = profile;
	}
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->profile);
	self->priv->profile = _tmp1_;
	_tmp2_ = g_new0 (gchar*, CONFIGURABLE_PROPERTY_NUM_PROPERTIES + 1);
	self->priv->schema_names = (_vala_array_free (self->priv->schema_names, self->priv->schema_names_length1, (GDestroyNotify) g_free), NULL);
	self->priv->schema_names = _tmp2_;
	self->priv->schema_names_length1 = CONFIGURABLE_PROPERTY_NUM_PROPERTIES;
	self->priv->_schema_names_size_ = self->priv->schema_names_length1;
	_tmp3_ = self->priv->schema_names;
	_tmp3__length1 = self->priv->schema_names_length1;
	_tmp4_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp3_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]);
	_tmp3_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY] = _tmp4_;
	_tmp5_ = self->priv->schema_names;
	_tmp5__length1 = self->priv->schema_names_length1;
	_tmp6_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp5_[CONFIGURABLE_PROPERTY_GTK_THEME_VARIANT]);
	_tmp5_[CONFIGURABLE_PROPERTY_GTK_THEME_VARIANT] = _tmp6_;
	_tmp7_ = self->priv->schema_names;
	_tmp7__length1 = self->priv->schema_names_length1;
	_tmp8_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp7_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_TYPE]);
	_tmp7_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_TYPE] = _tmp8_;
	_tmp9_ = self->priv->schema_names;
	_tmp9__length1 = self->priv->schema_names_length1;
	_tmp10_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp9_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_COLOR]);
	_tmp9_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_COLOR] = _tmp10_;
	_tmp11_ = self->priv->schema_names;
	_tmp11__length1 = self->priv->schema_names_length1;
	_tmp12_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp11_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]);
	_tmp11_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS] = _tmp12_;
	_tmp13_ = self->priv->schema_names;
	_tmp13__length1 = self->priv->schema_names_length1;
	_tmp14_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME);
	_g_free0 (_tmp13_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]);
	_tmp13_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE] = _tmp14_;
	_tmp15_ = self->priv->schema_names;
	_tmp15__length1 = self->priv->schema_names_length1;
	_tmp16_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME);
	_g_free0 (_tmp15_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]);
	_tmp15_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE] = _tmp16_;
	_tmp17_ = self->priv->schema_names;
	_tmp17__length1 = self->priv->schema_names_length1;
	_tmp18_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME);
	_g_free0 (_tmp17_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]);
	_tmp17_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE] = _tmp18_;
	_tmp19_ = self->priv->schema_names;
	_tmp19__length1 = self->priv->schema_names_length1;
	_tmp20_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME);
	_g_free0 (_tmp19_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]);
	_tmp19_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE] = _tmp20_;
	_tmp21_ = self->priv->schema_names;
	_tmp21__length1 = self->priv->schema_names_length1;
	_tmp22_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp21_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]);
	_tmp21_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN] = _tmp22_;
	_tmp23_ = self->priv->schema_names;
	_tmp23__length1 = self->priv->schema_names_length1;
	_tmp24_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp23_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]);
	_tmp23_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM] = _tmp24_;
	_tmp25_ = self->priv->schema_names;
	_tmp25__length1 = self->priv->schema_names_length1;
	_tmp26_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp25_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]);
	_tmp25_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT] = _tmp26_;
	_tmp27_ = self->priv->schema_names;
	_tmp27__length1 = self->priv->schema_names_length1;
	_tmp28_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp27_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]);
	_tmp27_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE] = _tmp28_;
	_tmp29_ = self->priv->schema_names;
	_tmp29__length1 = self->priv->schema_names_length1;
	_tmp30_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp29_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]);
	_tmp29_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH] = _tmp30_;
	_tmp31_ = self->priv->schema_names;
	_tmp31__length1 = self->priv->schema_names_length1;
	_tmp32_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp31_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]);
	_tmp31_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES] = _tmp32_;
	_tmp33_ = self->priv->schema_names;
	_tmp33__length1 = self->priv->schema_names_length1;
	_tmp34_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp33_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]);
	_tmp33_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES] = _tmp34_;
	_tmp35_ = self->priv->schema_names;
	_tmp35__length1 = self->priv->schema_names_length1;
	_tmp36_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp35_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]);
	_tmp35_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR] = _tmp36_;
	_tmp37_ = self->priv->schema_names;
	_tmp37__length1 = self->priv->schema_names_length1;
	_tmp38_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp37_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]);
	_tmp37_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR] = _tmp38_;
	_tmp39_ = self->priv->schema_names;
	_tmp39__length1 = self->priv->schema_names_length1;
	_tmp40_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp39_[CONFIGURABLE_PROPERTY_DISPLAY_MAP_WIDGET]);
	_tmp39_[CONFIGURABLE_PROPERTY_DISPLAY_MAP_WIDGET] = _tmp40_;
	_tmp41_ = self->priv->schema_names;
	_tmp41__length1 = self->priv->schema_names_length1;
	_tmp42_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp41_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]);
	_tmp41_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR] = _tmp42_;
	_tmp43_ = self->priv->schema_names;
	_tmp43__length1 = self->priv->schema_names_length1;
	_tmp44_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp43_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]);
	_tmp43_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS] = _tmp44_;
	_tmp45_ = self->priv->schema_names;
	_tmp45__length1 = self->priv->schema_names_length1;
	_tmp46_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp45_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]);
	_tmp45_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS] = _tmp46_;
	_tmp47_ = self->priv->schema_names;
	_tmp47__length1 = self->priv->schema_names_length1;
	_tmp48_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp47_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]);
	_tmp47_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES] = _tmp48_;
	_tmp49_ = self->priv->schema_names;
	_tmp49__length1 = self->priv->schema_names_length1;
	_tmp50_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp49_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]);
	_tmp49_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS] = _tmp50_;
	_tmp51_ = self->priv->schema_names;
	_tmp51__length1 = self->priv->schema_names_length1;
	_tmp52_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp51_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]);
	_tmp51_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS] = _tmp52_;
	_tmp53_ = self->priv->schema_names;
	_tmp53__length1 = self->priv->schema_names_length1;
	_tmp54_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp53_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]);
	_tmp53_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING] = _tmp54_;
	_tmp55_ = self->priv->schema_names;
	_tmp55__length1 = self->priv->schema_names_length1;
	_tmp56_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp55_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]);
	_tmp55_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY] = _tmp56_;
	_tmp57_ = self->priv->schema_names;
	_tmp57__length1 = self->priv->schema_names_length1;
	_tmp58_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp57_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]);
	_tmp57_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING] = _tmp58_;
	_tmp59_ = self->priv->schema_names;
	_tmp59__length1 = self->priv->schema_names_length1;
	_tmp60_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp59_[CONFIGURABLE_PROPERTY_EXPORT_CONSTRAINT]);
	_tmp59_[CONFIGURABLE_PROPERTY_EXPORT_CONSTRAINT] = _tmp60_;
	_tmp61_ = self->priv->schema_names;
	_tmp61__length1 = self->priv->schema_names_length1;
	_tmp62_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp61_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_FORMAT_MODE]);
	_tmp61_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_FORMAT_MODE] = _tmp62_;
	_tmp63_ = self->priv->schema_names;
	_tmp63__length1 = self->priv->schema_names_length1;
	_tmp64_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp63_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_METADATA]);
	_tmp63_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_METADATA] = _tmp64_;
	_tmp65_ = self->priv->schema_names;
	_tmp65__length1 = self->priv->schema_names_length1;
	_tmp66_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp65_[CONFIGURABLE_PROPERTY_EXPORT_PHOTO_FILE_FORMAT]);
	_tmp65_[CONFIGURABLE_PROPERTY_EXPORT_PHOTO_FILE_FORMAT] = _tmp66_;
	_tmp67_ = self->priv->schema_names;
	_tmp67__length1 = self->priv->schema_names_length1;
	_tmp68_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp67_[CONFIGURABLE_PROPERTY_EXPORT_QUALITY]);
	_tmp67_[CONFIGURABLE_PROPERTY_EXPORT_QUALITY] = _tmp68_;
	_tmp69_ = self->priv->schema_names;
	_tmp69__length1 = self->priv->schema_names_length1;
	_tmp70_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EXPORT_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp69_[CONFIGURABLE_PROPERTY_EXPORT_SCALE]);
	_tmp69_[CONFIGURABLE_PROPERTY_EXPORT_SCALE] = _tmp70_;
	_tmp71_ = self->priv->schema_names;
	_tmp71__length1 = self->priv->schema_names_length1;
	_tmp72_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp71_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]);
	_tmp71_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP] = _tmp72_;
	_tmp73_ = self->priv->schema_names;
	_tmp73__length1 = self->priv->schema_names_length1;
	_tmp74_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp73_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]);
	_tmp73_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP] = _tmp74_;
	_tmp75_ = self->priv->schema_names;
	_tmp75__length1 = self->priv->schema_names_length1;
	_tmp76_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp75_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]);
	_tmp75_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED] = _tmp76_;
	_tmp77_ = self->priv->schema_names;
	_tmp77__length1 = self->priv->schema_names_length1;
	_tmp78_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp77_[CONFIGURABLE_PROPERTY_IMPORT_DIR]);
	_tmp77_[CONFIGURABLE_PROPERTY_IMPORT_DIR] = _tmp78_;
	_tmp79_ = self->priv->schema_names;
	_tmp79__length1 = self->priv->schema_names_length1;
	_tmp80_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp79_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]);
	_tmp79_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY] = _tmp80_;
	_tmp81_ = self->priv->schema_names;
	_tmp81__length1 = self->priv->schema_names_length1;
	_tmp82_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME);
	_g_free0 (_tmp81_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]);
	_tmp81_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT] = _tmp82_;
	_tmp83_ = self->priv->schema_names;
	_tmp83__length1 = self->priv->schema_names_length1;
	_tmp84_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME);
	_g_free0 (_tmp83_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]);
	_tmp83_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE] = _tmp84_;
	_tmp85_ = self->priv->schema_names;
	_tmp85__length1 = self->priv->schema_names_length1;
	_tmp86_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME);
	_g_free0 (_tmp85_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]);
	_tmp85_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH] = _tmp86_;
	_tmp87_ = self->priv->schema_names;
	_tmp87__length1 = self->priv->schema_names_length1;
	_tmp88_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SHARING_SCHEMA_NAME);
	_g_free0 (_tmp87_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]);
	_tmp87_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE] = _tmp88_;
	_tmp89_ = self->priv->schema_names;
	_tmp89__length1 = self->priv->schema_names_length1;
	_tmp90_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_IMPORTING_SCHEMA_NAME);
	_g_free0 (_tmp89_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]);
	_tmp89_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE] = _tmp90_;
	_tmp91_ = self->priv->schema_names;
	_tmp91__length1 = self->priv->schema_names_length1;
	_tmp92_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp91_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]);
	_tmp91_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING] = _tmp92_;
	_tmp93_ = self->priv->schema_names;
	_tmp93__length1 = self->priv->schema_names_length1;
	_tmp94_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp93_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]);
	_tmp93_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY] = _tmp94_;
	_tmp95_ = self->priv->schema_names;
	_tmp95__length1 = self->priv->schema_names_length1;
	_tmp96_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp95_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]);
	_tmp95_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT] = _tmp96_;
	_tmp97_ = self->priv->schema_names;
	_tmp97__length1 = self->priv->schema_names_length1;
	_tmp98_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp97_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]);
	_tmp97_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE] = _tmp98_;
	_tmp99_ = self->priv->schema_names;
	_tmp99__length1 = self->priv->schema_names_length1;
	_tmp100_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp99_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]);
	_tmp99_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH] = _tmp100_;
	_tmp101_ = self->priv->schema_names;
	_tmp101__length1 = self->priv->schema_names_length1;
	_tmp102_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp101_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]);
	_tmp101_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS] = _tmp102_;
	_tmp103_ = self->priv->schema_names;
	_tmp103__length1 = self->priv->schema_names_length1;
	_tmp104_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp103_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]);
	_tmp103_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE] = _tmp104_;
	_tmp105_ = self->priv->schema_names;
	_tmp105__length1 = self->priv->schema_names_length1;
	_tmp106_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp105_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]);
	_tmp105_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE] = _tmp106_;
	_tmp107_ = self->priv->schema_names;
	_tmp107__length1 = self->priv->schema_names_length1;
	_tmp108_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp107_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]);
	_tmp107_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT] = _tmp108_;
	_tmp109_ = self->priv->schema_names;
	_tmp109__length1 = self->priv->schema_names_length1;
	_tmp110_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp109_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]);
	_tmp109_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT] = _tmp110_;
	_tmp111_ = self->priv->schema_names;
	_tmp111__length1 = self->priv->schema_names_length1;
	_tmp112_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp111_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]);
	_tmp111_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI] = _tmp112_;
	_tmp113_ = self->priv->schema_names;
	_tmp113__length1 = self->priv->schema_names_length1;
	_tmp114_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp113_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]);
	_tmp113_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS] = _tmp114_;
	_tmp115_ = self->priv->schema_names;
	_tmp115__length1 = self->priv->schema_names_length1;
	_tmp116_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp115_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]);
	_tmp115_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH] = _tmp116_;
	_tmp117_ = self->priv->schema_names;
	_tmp117__length1 = self->priv->schema_names_length1;
	_tmp118_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp117_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]);
	_tmp117_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE] = _tmp118_;
	_tmp119_ = self->priv->schema_names;
	_tmp119__length1 = self->priv->schema_names_length1;
	_tmp120_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp119_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]);
	_tmp119_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO] = _tmp120_;
	_tmp121_ = self->priv->schema_names;
	_tmp121__length1 = self->priv->schema_names_length1;
	_tmp122_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp121_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]);
	_tmp121_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES] = _tmp122_;
	_tmp123_ = self->priv->schema_names;
	_tmp123__length1 = self->priv->schema_names_length1;
	_tmp124_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp123_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]);
	_tmp123_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION] = _tmp124_;
	_tmp125_ = self->priv->schema_names;
	_tmp125__length1 = self->priv->schema_names_length1;
	_tmp126_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME);
	_g_free0 (_tmp125_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]);
	_tmp125_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT] = _tmp126_;
	_tmp127_ = self->priv->schema_names;
	_tmp127__length1 = self->priv->schema_names_length1;
	_tmp128_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp127_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]);
	_tmp127_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT] = _tmp128_;
	_tmp129_ = self->priv->schema_names;
	_tmp129__length1 = self->priv->schema_names_length1;
	_tmp130_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp129_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]);
	_tmp129_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG] = _tmp130_;
	_tmp131_ = self->priv->schema_names;
	_tmp131__length1 = self->priv->schema_names_length1;
	_tmp132_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp131_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]);
	_tmp131_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION] = _tmp132_;
	_tmp133_ = self->priv->schema_names;
	_tmp133__length1 = self->priv->schema_names_length1;
	_tmp134_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp133_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]);
	_tmp133_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY] = _tmp134_;
	_tmp135_ = self->priv->schema_names;
	_tmp135__length1 = self->priv->schema_names_length1;
	_tmp136_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp135_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]);
	_tmp135_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY] = _tmp136_;
	_tmp137_ = self->priv->schema_names;
	_tmp137__length1 = self->priv->schema_names_length1;
	_tmp138_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp137_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]);
	_tmp137_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID] = _tmp138_;
	_tmp139_ = self->priv->schema_names;
	_tmp139__length1 = self->priv->schema_names_length1;
	_tmp140_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp139_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]);
	_tmp139_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE] = _tmp140_;
	_tmp141_ = self->priv->schema_names;
	_tmp141__length1 = self->priv->schema_names_length1;
	_tmp142_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp141_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHUFFLE]);
	_tmp141_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHUFFLE] = _tmp142_;
	_tmp143_ = self->priv->schema_names;
	_tmp143__length1 = self->priv->schema_names_length1;
	_tmp144_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp143_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]);
	_tmp143_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME] = _tmp144_;
	_tmp145_ = self->priv->schema_names;
	_tmp145__length1 = self->priv->schema_names_length1;
	_tmp146_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME);
	_g_free0 (_tmp145_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]);
	_tmp145_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES] = _tmp146_;
	_tmp147_ = g_new0 (gchar*, CONFIGURABLE_PROPERTY_NUM_PROPERTIES + 1);
	self->priv->key_names = (_vala_array_free (self->priv->key_names, self->priv->key_names_length1, (GDestroyNotify) g_free), NULL);
	self->priv->key_names = _tmp147_;
	self->priv->key_names_length1 = CONFIGURABLE_PROPERTY_NUM_PROPERTIES;
	self->priv->_key_names_size_ = self->priv->key_names_length1;
	_tmp148_ = self->priv->key_names;
	_tmp148__length1 = self->priv->key_names_length1;
	_tmp149_ = g_strdup ("auto-import");
	_g_free0 (_tmp148_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]);
	_tmp148_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY] = _tmp149_;
	_tmp150_ = self->priv->key_names;
	_tmp150__length1 = self->priv->key_names_length1;
	_tmp151_ = g_strdup ("use-dark-theme");
	_g_free0 (_tmp150_[CONFIGURABLE_PROPERTY_GTK_THEME_VARIANT]);
	_tmp150_[CONFIGURABLE_PROPERTY_GTK_THEME_VARIANT] = _tmp151_;
	_tmp152_ = self->priv->key_names;
	_tmp152__length1 = self->priv->key_names_length1;
	_tmp153_ = g_strdup ("transparent-background-type");
	_g_free0 (_tmp152_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_TYPE]);
	_tmp152_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_TYPE] = _tmp153_;
	_tmp154_ = self->priv->key_names;
	_tmp154__length1 = self->priv->key_names_length1;
	_tmp155_ = g_strdup ("transparent-background-color");
	_g_free0 (_tmp154_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_COLOR]);
	_tmp154_[CONFIGURABLE_PROPERTY_TRANSPARENT_BACKGROUND_COLOR] = _tmp155_;
	_tmp156_ = self->priv->key_names;
	_tmp156__length1 = self->priv->key_names_length1;
	_tmp157_ = g_strdup ("commit-metadata");
	_g_free0 (_tmp156_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]);
	_tmp156_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS] = _tmp157_;
	_tmp158_ = self->priv->key_names;
	_tmp158__length1 = self->priv->key_names_length1;
	_tmp159_ = g_strdup ("picture-uri");
	_g_free0 (_tmp158_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]);
	_tmp158_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE] = _tmp159_;
	_tmp160_ = self->priv->key_names;
	_tmp160__length1 = self->priv->key_names_length1;
	_tmp161_ = g_strdup ("picture-options");
	_g_free0 (_tmp160_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]);
	_tmp160_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE] = _tmp161_;
	_tmp162_ = self->priv->key_names;
	_tmp162__length1 = self->priv->key_names_length1;
	_tmp163_ = g_strdup ("picture-uri");
	_g_free0 (_tmp162_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]);
	_tmp162_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE] = _tmp163_;
	_tmp164_ = self->priv->key_names;
	_tmp164__length1 = self->priv->key_names_length1;
	_tmp165_ = g_strdup ("picture-options");
	_g_free0 (_tmp164_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]);
	_tmp164_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE] = _tmp165_;
	_tmp166_ = self->priv->key_names;
	_tmp166__length1 = self->priv->key_names_length1;
	_tmp167_ = g_strdup ("directory-pattern");
	_g_free0 (_tmp166_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]);
	_tmp166_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN] = _tmp167_;
	_tmp168_ = self->priv->key_names;
	_tmp168__length1 = self->priv->key_names_length1;
	_tmp169_ = g_strdup ("directory-pattern-custom");
	_g_free0 (_tmp168_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]);
	_tmp168_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM] = _tmp169_;
	_tmp170_ = self->priv->key_names;
	_tmp170__length1 = self->priv->key_names_length1;
	_tmp171_ = g_strdup ("direct-height");
	_g_free0 (_tmp170_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]);
	_tmp170_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT] = _tmp171_;
	_tmp172_ = self->priv->key_names;
	_tmp172__length1 = self->priv->key_names_length1;
	_tmp173_ = g_strdup ("direct-maximize");
	_g_free0 (_tmp172_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]);
	_tmp172_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE] = _tmp173_;
	_tmp174_ = self->priv->key_names;
	_tmp174__length1 = self->priv->key_names_length1;
	_tmp175_ = g_strdup ("direct-width");
	_g_free0 (_tmp174_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]);
	_tmp174_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH] = _tmp175_;
	_tmp176_ = self->priv->key_names;
	_tmp176__length1 = self->priv->key_names_length1;
	_tmp177_ = g_strdup ("display-basic-properties");
	_g_free0 (_tmp176_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]);
	_tmp176_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES] = _tmp177_;
	_tmp178_ = self->priv->key_names;
	_tmp178__length1 = self->priv->key_names_length1;
	_tmp179_ = g_strdup ("display-extended-properties");
	_g_free0 (_tmp178_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]);
	_tmp178_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES] = _tmp179_;
	_tmp180_ = self->priv->key_names;
	_tmp180__length1 = self->priv->key_names_length1;
	_tmp181_ = g_strdup ("display-sidebar");
	_g_free0 (_tmp180_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]);
	_tmp180_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR] = _tmp181_;
	_tmp182_ = self->priv->key_names;
	_tmp182__length1 = self->priv->key_names_length1;
	_tmp183_ = g_strdup ("display-toolbar");
	_g_free0 (_tmp182_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]);
	_tmp182_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR] = _tmp183_;
	_tmp184_ = self->priv->key_names;
	_tmp184__length1 = self->priv->key_names_length1;
	_tmp185_ = g_strdup ("display-map-widget");
	_g_free0 (_tmp184_[CONFIGURABLE_PROPERTY_DISPLAY_MAP_WIDGET]);
	_tmp184_[CONFIGURABLE_PROPERTY_DISPLAY_MAP_WIDGET] = _tmp185_;
	_tmp186_ = self->priv->key_names;
	_tmp186__length1 = self->priv->key_names_length1;
	_tmp187_ = g_strdup ("display-search-bar");
	_g_free0 (_tmp186_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]);
	_tmp186_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR] = _tmp187_;
	_tmp188_ = self->priv->key_names;
	_tmp188__length1 = self->priv->key_names_length1;
	_tmp189_ = g_strdup ("display-photo-ratings");
	_g_free0 (_tmp188_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]);
	_tmp188_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS] = _tmp189_;
	_tmp190_ = self->priv->key_names;
	_tmp190__length1 = self->priv->key_names_length1;
	_tmp191_ = g_strdup ("display-photo-tags");
	_g_free0 (_tmp190_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]);
	_tmp190_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS] = _tmp191_;
	_tmp192_ = self->priv->key_names;
	_tmp192__length1 = self->priv->key_names_length1;
	_tmp193_ = g_strdup ("display-photo-titles");
	_g_free0 (_tmp192_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]);
	_tmp192_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES] = _tmp193_;
	_tmp194_ = self->priv->key_names;
	_tmp194__length1 = self->priv->key_names_length1;
	_tmp195_ = g_strdup ("display-photo-comments");
	_g_free0 (_tmp194_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]);
	_tmp194_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS] = _tmp195_;
	_tmp196_ = self->priv->key_names;
	_tmp196__length1 = self->priv->key_names_length1;
	_tmp197_ = g_strdup ("display-event-comments");
	_g_free0 (_tmp196_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]);
	_tmp196_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS] = _tmp197_;
	_tmp198_ = self->priv->key_names;
	_tmp198__length1 = self->priv->key_names_length1;
	_tmp199_ = g_strdup ("event-photos-sort-ascending");
	_g_free0 (_tmp198_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]);
	_tmp198_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING] = _tmp199_;
	_tmp200_ = self->priv->key_names;
	_tmp200__length1 = self->priv->key_names_length1;
	_tmp201_ = g_strdup ("event-photos-sort-by");
	_g_free0 (_tmp200_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]);
	_tmp200_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY] = _tmp201_;
	_tmp202_ = self->priv->key_names;
	_tmp202__length1 = self->priv->key_names_length1;
	_tmp203_ = g_strdup ("events-sort-ascending");
	_g_free0 (_tmp202_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]);
	_tmp202_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING] = _tmp203_;
	_tmp204_ = self->priv->key_names;
	_tmp204__length1 = self->priv->key_names_length1;
	_tmp205_ = g_strdup ("constraint");
	_g_free0 (_tmp204_[CONFIGURABLE_PROPERTY_EXPORT_CONSTRAINT]);
	_tmp204_[CONFIGURABLE_PROPERTY_EXPORT_CONSTRAINT] = _tmp205_;
	_tmp206_ = self->priv->key_names;
	_tmp206__length1 = self->priv->key_names_length1;
	_tmp207_ = g_strdup ("export-format-mode");
	_g_free0 (_tmp206_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_FORMAT_MODE]);
	_tmp206_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_FORMAT_MODE] = _tmp207_;
	_tmp208_ = self->priv->key_names;
	_tmp208__length1 = self->priv->key_names_length1;
	_tmp209_ = g_strdup ("export-metadata");
	_g_free0 (_tmp208_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_METADATA]);
	_tmp208_[CONFIGURABLE_PROPERTY_EXPORT_EXPORT_METADATA] = _tmp209_;
	_tmp210_ = self->priv->key_names;
	_tmp210__length1 = self->priv->key_names_length1;
	_tmp211_ = g_strdup ("photo-file-format");
	_g_free0 (_tmp210_[CONFIGURABLE_PROPERTY_EXPORT_PHOTO_FILE_FORMAT]);
	_tmp210_[CONFIGURABLE_PROPERTY_EXPORT_PHOTO_FILE_FORMAT] = _tmp211_;
	_tmp212_ = self->priv->key_names;
	_tmp212__length1 = self->priv->key_names_length1;
	_tmp213_ = g_strdup ("quality");
	_g_free0 (_tmp212_[CONFIGURABLE_PROPERTY_EXPORT_QUALITY]);
	_tmp212_[CONFIGURABLE_PROPERTY_EXPORT_QUALITY] = _tmp213_;
	_tmp214_ = self->priv->key_names;
	_tmp214__length1 = self->priv->key_names_length1;
	_tmp215_ = g_strdup ("scale");
	_g_free0 (_tmp214_[CONFIGURABLE_PROPERTY_EXPORT_SCALE]);
	_tmp214_[CONFIGURABLE_PROPERTY_EXPORT_SCALE] = _tmp215_;
	_tmp216_ = self->priv->key_names;
	_tmp216__length1 = self->priv->key_names_length1;
	_tmp217_ = g_strdup ("external-photo-editor");
	_g_free0 (_tmp216_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]);
	_tmp216_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP] = _tmp217_;
	_tmp218_ = self->priv->key_names;
	_tmp218__length1 = self->priv->key_names_length1;
	_tmp219_ = g_strdup ("external-raw-editor");
	_g_free0 (_tmp218_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]);
	_tmp218_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP] = _tmp219_;
	_tmp220_ = self->priv->key_names;
	_tmp220__length1 = self->priv->key_names_length1;
	_tmp221_ = g_strdup ("hide-photos-already-imported");
	_g_free0 (_tmp220_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]);
	_tmp220_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED] = _tmp221_;
	_tmp222_ = self->priv->key_names;
	_tmp222__length1 = self->priv->key_names_length1;
	_tmp223_ = g_strdup ("import-dir");
	_g_free0 (_tmp222_[CONFIGURABLE_PROPERTY_IMPORT_DIR]);
	_tmp222_[CONFIGURABLE_PROPERTY_IMPORT_DIR] = _tmp223_;
	_tmp224_ = self->priv->key_names;
	_tmp224__length1 = self->priv->key_names_length1;
	_tmp225_ = g_strdup ("keep-relativity");
	_g_free0 (_tmp224_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]);
	_tmp224_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY] = _tmp225_;
	_tmp226_ = self->priv->key_names;
	_tmp226__length1 = self->priv->key_names_length1;
	_tmp227_ = g_strdup ("last-crop-height");
	_g_free0 (_tmp226_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]);
	_tmp226_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT] = _tmp227_;
	_tmp228_ = self->priv->key_names;
	_tmp228__length1 = self->priv->key_names_length1;
	_tmp229_ = g_strdup ("last-crop-menu-choice");
	_g_free0 (_tmp228_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]);
	_tmp228_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE] = _tmp229_;
	_tmp230_ = self->priv->key_names;
	_tmp230__length1 = self->priv->key_names_length1;
	_tmp231_ = g_strdup ("last-crop-width");
	_g_free0 (_tmp230_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]);
	_tmp230_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH] = _tmp231_;
	_tmp232_ = self->priv->key_names;
	_tmp232__length1 = self->priv->key_names_length1;
	_tmp233_ = g_strdup ("last-used-service");
	_g_free0 (_tmp232_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]);
	_tmp232_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE] = _tmp233_;
	_tmp234_ = self->priv->key_names;
	_tmp234__length1 = self->priv->key_names_length1;
	_tmp235_ = g_strdup ("last-used-dataimports-service");
	_g_free0 (_tmp234_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]);
	_tmp234_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE] = _tmp235_;
	_tmp236_ = self->priv->key_names;
	_tmp236__length1 = self->priv->key_names_length1;
	_tmp237_ = g_strdup ("library-photos-sort-ascending");
	_g_free0 (_tmp236_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]);
	_tmp236_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING] = _tmp237_;
	_tmp238_ = self->priv->key_names;
	_tmp238__length1 = self->priv->key_names_length1;
	_tmp239_ = g_strdup ("library-photos-sort-by");
	_g_free0 (_tmp238_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]);
	_tmp238_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY] = _tmp239_;
	_tmp240_ = self->priv->key_names;
	_tmp240__length1 = self->priv->key_names_length1;
	_tmp241_ = g_strdup ("library-height");
	_g_free0 (_tmp240_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]);
	_tmp240_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT] = _tmp241_;
	_tmp242_ = self->priv->key_names;
	_tmp242__length1 = self->priv->key_names_length1;
	_tmp243_ = g_strdup ("library-maximize");
	_g_free0 (_tmp242_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]);
	_tmp242_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE] = _tmp243_;
	_tmp244_ = self->priv->key_names;
	_tmp244__length1 = self->priv->key_names_length1;
	_tmp245_ = g_strdup ("library-width");
	_g_free0 (_tmp244_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]);
	_tmp244_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH] = _tmp245_;
	_tmp246_ = self->priv->key_names;
	_tmp246__length1 = self->priv->key_names_length1;
	_tmp247_ = g_strdup ("modify-originals");
	_g_free0 (_tmp246_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]);
	_tmp246_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS] = _tmp247_;
	_tmp248_ = self->priv->key_names;
	_tmp248__length1 = self->priv->key_names_length1;
	_tmp249_ = g_strdup ("photo-thumbnail-scale");
	_g_free0 (_tmp248_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]);
	_tmp248_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE] = _tmp249_;
	_tmp250_ = self->priv->key_names;
	_tmp250__length1 = self->priv->key_names_length1;
	_tmp251_ = g_strdup ("pin-toolbar-state");
	_g_free0 (_tmp250_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]);
	_tmp250_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE] = _tmp251_;
	_tmp252_ = self->priv->key_names;
	_tmp252__length1 = self->priv->key_names_length1;
	_tmp253_ = g_strdup ("content-height");
	_g_free0 (_tmp252_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]);
	_tmp252_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT] = _tmp253_;
	_tmp254_ = self->priv->key_names;
	_tmp254__length1 = self->priv->key_names_length1;
	_tmp255_ = g_strdup ("content-layout");
	_g_free0 (_tmp254_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]);
	_tmp254_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT] = _tmp255_;
	_tmp256_ = self->priv->key_names;
	_tmp256__length1 = self->priv->key_names_length1;
	_tmp257_ = g_strdup ("content-ppi");
	_g_free0 (_tmp256_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]);
	_tmp256_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI] = _tmp257_;
	_tmp258_ = self->priv->key_names;
	_tmp258__length1 = self->priv->key_names_length1;
	_tmp259_ = g_strdup ("content-units");
	_g_free0 (_tmp258_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]);
	_tmp258_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS] = _tmp259_;
	_tmp260_ = self->priv->key_names;
	_tmp260__length1 = self->priv->key_names_length1;
	_tmp261_ = g_strdup ("content-width");
	_g_free0 (_tmp260_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]);
	_tmp260_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH] = _tmp261_;
	_tmp262_ = self->priv->key_names;
	_tmp262__length1 = self->priv->key_names_length1;
	_tmp263_ = g_strdup ("images-per-page");
	_g_free0 (_tmp262_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]);
	_tmp262_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE] = _tmp263_;
	_tmp264_ = self->priv->key_names;
	_tmp264__length1 = self->priv->key_names_length1;
	_tmp265_ = g_strdup ("match-aspect-ratio");
	_g_free0 (_tmp264_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]);
	_tmp264_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO] = _tmp265_;
	_tmp266_ = self->priv->key_names;
	_tmp266__length1 = self->priv->key_names_length1;
	_tmp267_ = g_strdup ("print-titles");
	_g_free0 (_tmp266_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]);
	_tmp266_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES] = _tmp267_;
	_tmp268_ = self->priv->key_names;
	_tmp268__length1 = self->priv->key_names_length1;
	_tmp269_ = g_strdup ("size-selection");
	_g_free0 (_tmp268_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]);
	_tmp268_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION] = _tmp269_;
	_tmp270_ = self->priv->key_names;
	_tmp270__length1 = self->priv->key_names_length1;
	_tmp271_ = g_strdup ("titles-font");
	_g_free0 (_tmp270_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]);
	_tmp270_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT] = _tmp271_;
	_tmp272_ = self->priv->key_names;
	_tmp272__length1 = self->priv->key_names_length1;
	_tmp273_ = g_strdup ("raw-developer-default");
	_g_free0 (_tmp272_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]);
	_tmp272_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT] = _tmp273_;
	_tmp274_ = self->priv->key_names;
	_tmp274__length1 = self->priv->key_names_length1;
	_tmp275_ = g_strdup ("show-welcome-dialog");
	_g_free0 (_tmp274_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]);
	_tmp274_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG] = _tmp275_;
	_tmp276_ = self->priv->key_names;
	_tmp276__length1 = self->priv->key_names_length1;
	_tmp277_ = g_strdup ("sidebar-position");
	_g_free0 (_tmp276_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]);
	_tmp276_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION] = _tmp277_;
	_tmp278_ = self->priv->key_names;
	_tmp278__length1 = self->priv->key_names_length1;
	_tmp279_ = g_strdup ("delay");
	_g_free0 (_tmp278_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]);
	_tmp278_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY] = _tmp279_;
	_tmp280_ = self->priv->key_names;
	_tmp280__length1 = self->priv->key_names_length1;
	_tmp281_ = g_strdup ("transition-delay");
	_g_free0 (_tmp280_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]);
	_tmp280_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY] = _tmp281_;
	_tmp282_ = self->priv->key_names;
	_tmp282__length1 = self->priv->key_names_length1;
	_tmp283_ = g_strdup ("transition-effect-id");
	_g_free0 (_tmp282_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]);
	_tmp282_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID] = _tmp283_;
	_tmp284_ = self->priv->key_names;
	_tmp284__length1 = self->priv->key_names_length1;
	_tmp285_ = g_strdup ("show-title");
	_g_free0 (_tmp284_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]);
	_tmp284_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE] = _tmp285_;
	_tmp286_ = self->priv->key_names;
	_tmp286__length1 = self->priv->key_names_length1;
	_tmp287_ = g_strdup ("shuffle");
	_g_free0 (_tmp286_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHUFFLE]);
	_tmp286_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHUFFLE] = _tmp287_;
	_tmp288_ = self->priv->key_names;
	_tmp288__length1 = self->priv->key_names_length1;
	_tmp289_ = g_strdup ("use-24-hour-time");
	_g_free0 (_tmp288_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]);
	_tmp288_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME] = _tmp289_;
	_tmp290_ = self->priv->key_names;
	_tmp290__length1 = self->priv->key_names_length1;
	_tmp291_ = g_strdup ("use-lowercase-filenames");
	_g_free0 (_tmp290_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]);
	_tmp290_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES] = _tmp291_;
	return self;
}

GSettingsConfigurationEngine*
gsettings_configuration_engine_new (const gchar* profile)
{
	return gsettings_configuration_engine_construct (TYPE_GSETTINGS_CONFIGURATION_ENGINE, profile);
}

static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (old != NULL, NULL);
	g_return_val_if_fail (replacement != NULL, NULL);
	if ((*((gchar*) self)) == '\0') {
		_tmp1_ = TRUE;
	} else {
		_tmp1_ = (*((gchar*) old)) == '\0';
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
	}
	if (_tmp0_) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup (self);
		result = _tmp2_;
		return result;
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		_tmp3_ = g_regex_escape_string (old, -1);
		_tmp4_ = _tmp3_;
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
		_tmp6_ = _tmp5_;
		_g_free0 (_tmp4_);
		regex = _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected 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 NULL;
		}
		_tmp8_ = regex;
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
		_tmp7_ = _tmp9_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (regex);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected 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 NULL;
		}
		_tmp10_ = _tmp7_;
		_tmp7_ = NULL;
		result = _tmp10_;
		_g_free0 (_tmp7_);
		_g_regex_unref0 (regex);
		return result;
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		g_clear_error (&_inner_error0_);
		g_assert_not_reached ();
	}
	__finally0:
	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 NULL;
}

static GSettings*
gsettings_configuration_engine_get_settings (GSettingsConfigurationEngine* self,
                                             const gchar* schema)
{
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp20_;
	gpointer _tmp21_;
	GSettings* result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), NULL);
	g_return_val_if_fail (schema != NULL, NULL);
	_tmp0_ = self->priv->settings_cache;
	if (!gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), schema)) {
		if (g_str_has_prefix (schema, GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME)) {
			gchar* path = NULL;
			gchar* _tmp1_;
			gchar* _tmp2_ = NULL;
			const gchar* _tmp3_;
			const gchar* _tmp7_;
			gchar* _tmp8_;
			gchar* _tmp9_;
			gchar* _tmp10_;
			const gchar* _tmp11_;
			gchar* _tmp12_;
			GeeHashMap* _tmp13_;
			const gchar* _tmp14_;
			GSettings* _tmp15_;
			GSettings* _tmp16_;
			_tmp1_ = string_replace (schema, GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME, "");
			path = _tmp1_;
			_tmp3_ = self->priv->profile;
			if (g_strcmp0 (_tmp3_, "") == 0) {
				gchar* _tmp4_;
				_tmp4_ = g_strdup ("");
				_g_free0 (_tmp2_);
				_tmp2_ = _tmp4_;
			} else {
				const gchar* _tmp5_;
				gchar* _tmp6_;
				_tmp5_ = self->priv->profile;
				_tmp6_ = g_strconcat ("profiles/", _tmp5_, NULL);
				_g_free0 (_tmp2_);
				_tmp2_ = _tmp6_;
			}
			_tmp7_ = path;
			_tmp8_ = string_replace (_tmp7_, ".", "/");
			_tmp9_ = _tmp8_;
			_tmp10_ = g_strdup_printf ("/org/gnome/shotwell/%s%s/", _tmp2_, _tmp9_);
			_g_free0 (path);
			path = _tmp10_;
			_g_free0 (_tmp9_);
			_tmp11_ = path;
			_tmp12_ = string_replace (_tmp11_, "//", "/");
			_g_free0 (path);
			path = _tmp12_;
			_tmp13_ = self->priv->settings_cache;
			_tmp14_ = path;
			_tmp15_ = g_settings_new_with_path (schema, _tmp14_);
			_tmp16_ = _tmp15_;
			gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), schema, _tmp16_);
			_g_object_unref0 (_tmp16_);
			_g_free0 (_tmp2_);
			_g_free0 (path);
		} else {
			GeeHashMap* _tmp17_;
			GSettings* _tmp18_;
			GSettings* _tmp19_;
			_tmp17_ = self->priv->settings_cache;
			_tmp18_ = g_settings_new (schema);
			_tmp19_ = _tmp18_;
			gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), schema, _tmp19_);
			_g_object_unref0 (_tmp19_);
		}
	}
	_tmp20_ = self->priv->settings_cache;
	_tmp21_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), schema);
	result = (GSettings*) _tmp21_;
	return result;
}

static gpointer
_g_settings_schema_source_ref0 (gpointer self)
{
	return self ? g_settings_schema_source_ref (self) : NULL;
}

static void
gsettings_configuration_engine_check_key_valid (GSettingsConfigurationEngine* self,
                                                const gchar* schema,
                                                const gchar* key,
                                                GError** error)
{
	GSettingsSchemaSource* schema_source = NULL;
	GSettingsSchemaSource* _tmp0_;
	GSettingsSchemaSource* _tmp1_;
	GSettingsSchema* settings_scheme = NULL;
	GSettingsSchemaSource* _tmp2_;
	GSettingsSchema* _tmp3_;
	GSettingsSchema* _tmp4_;
	GSettingsSchema* _tmp9_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = g_settings_schema_source_get_default ();
	_tmp1_ = _g_settings_schema_source_ref0 (_tmp0_);
	schema_source = _tmp1_;
	_tmp2_ = schema_source;
	_tmp3_ = g_settings_schema_source_lookup (_tmp2_, schema, TRUE);
	settings_scheme = _tmp3_;
	_tmp4_ = settings_scheme;
	if (_tmp4_ == NULL) {
		gchar* _tmp5_;
		gchar* _tmp6_;
		GError* _tmp7_;
		GError* _tmp8_;
		_tmp5_ = g_strdup_printf ("schema '%s' is not installed", schema);
		_tmp6_ = _tmp5_;
		_tmp7_ = g_error_new_literal (CONFIGURATION_ERROR, CONFIGURATION_ERROR_ENGINE_ERROR, _tmp6_);
		_tmp8_ = _tmp7_;
		_g_free0 (_tmp6_);
		_inner_error0_ = _tmp8_;
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			_g_settings_schema_unref0 (settings_scheme);
			_g_settings_schema_source_unref0 (schema_source);
			return;
		} else {
			_g_settings_schema_unref0 (settings_scheme);
			_g_settings_schema_source_unref0 (schema_source);
			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;
		}
	}
	_tmp9_ = settings_scheme;
	if (!g_settings_schema_has_key (_tmp9_, key)) {
		gchar* _tmp10_;
		gchar* _tmp11_;
		GError* _tmp12_;
		GError* _tmp13_;
		_tmp10_ = g_strdup_printf ("schema '%s' does not define key '%s'", schema, key);
		_tmp11_ = _tmp10_;
		_tmp12_ = g_error_new_literal (CONFIGURATION_ERROR, CONFIGURATION_ERROR_ENGINE_ERROR, _tmp11_);
		_tmp13_ = _tmp12_;
		_g_free0 (_tmp11_);
		_inner_error0_ = _tmp13_;
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			_g_settings_schema_unref0 (settings_scheme);
			_g_settings_schema_source_unref0 (schema_source);
			return;
		} else {
			_g_settings_schema_unref0 (settings_scheme);
			_g_settings_schema_source_unref0 (schema_source);
			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_settings_schema_unref0 (settings_scheme);
	_g_settings_schema_source_unref0 (schema_source);
}

static gboolean
gsettings_configuration_engine_get_gs_bool (GSettingsConfigurationEngine* self,
                                            const gchar* schema,
                                            const gchar* key,
                                            GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp2_;
	GSettings* _tmp3_;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), FALSE);
	g_return_val_if_fail (schema != NULL, FALSE);
	g_return_val_if_fail (key != NULL, FALSE);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gboolean _tmp0_ = FALSE;
			g_propagate_error (error, _inner_error0_);
			return _tmp0_;
		} else {
			gboolean _tmp1_ = FALSE;
			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 _tmp1_;
		}
	}
	_tmp2_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp2_;
	_tmp3_ = schema_object;
	result = g_settings_get_boolean (_tmp3_, key);
	_g_object_unref0 (schema_object);
	return result;
}

static void
gsettings_configuration_engine_set_gs_bool (GSettingsConfigurationEngine* self,
                                            const gchar* schema,
                                            const gchar* key,
                                            gboolean value,
                                            GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_set_boolean (_tmp1_, key, value);
	_g_object_unref0 (schema_object);
}

static void
gsettings_configuration_engine_set_gs_enum (GSettingsConfigurationEngine* self,
                                            const gchar* schema,
                                            const gchar* key,
                                            gint value,
                                            GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_set_enum (_tmp1_, key, value);
	_g_object_unref0 (schema_object);
}

static gint
gsettings_configuration_engine_get_gs_enum (GSettingsConfigurationEngine* self,
                                            const gchar* schema,
                                            const gchar* key,
                                            GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp2_;
	GSettings* _tmp3_;
	GError* _inner_error0_ = NULL;
	gint result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), -1);
	g_return_val_if_fail (schema != NULL, -1);
	g_return_val_if_fail (key != NULL, -1);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gint _tmp0_ = -1;
			g_propagate_error (error, _inner_error0_);
			return _tmp0_;
		} else {
			gint _tmp1_ = -1;
			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 _tmp1_;
		}
	}
	_tmp2_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp2_;
	_tmp3_ = schema_object;
	result = g_settings_get_enum (_tmp3_, key);
	_g_object_unref0 (schema_object);
	return result;
}

static gint
gsettings_configuration_engine_get_gs_int (GSettingsConfigurationEngine* self,
                                           const gchar* schema,
                                           const gchar* key,
                                           GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp2_;
	gint v = 0;
	GSettings* _tmp3_;
	GError* _inner_error0_ = NULL;
	gint result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), -1);
	g_return_val_if_fail (schema != NULL, -1);
	g_return_val_if_fail (key != NULL, -1);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gint _tmp0_ = -1;
			g_propagate_error (error, _inner_error0_);
			return _tmp0_;
		} else {
			gint _tmp1_ = -1;
			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 _tmp1_;
		}
	}
	_tmp2_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp2_;
	_tmp3_ = schema_object;
	v = g_settings_get_int (_tmp3_, key);
	result = v;
	_g_object_unref0 (schema_object);
	return result;
}

static void
gsettings_configuration_engine_set_gs_int (GSettingsConfigurationEngine* self,
                                           const gchar* schema,
                                           const gchar* key,
                                           gint value,
                                           GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_set_int (_tmp1_, key, value);
	_g_object_unref0 (schema_object);
}

static gdouble
gsettings_configuration_engine_get_gs_double (GSettingsConfigurationEngine* self,
                                              const gchar* schema,
                                              const gchar* key,
                                              GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp2_;
	GSettings* _tmp3_;
	GError* _inner_error0_ = NULL;
	gdouble result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), -1.0);
	g_return_val_if_fail (schema != NULL, -1.0);
	g_return_val_if_fail (key != NULL, -1.0);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gdouble _tmp0_ = -1.0;
			g_propagate_error (error, _inner_error0_);
			return _tmp0_;
		} else {
			gdouble _tmp1_ = -1.0;
			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 _tmp1_;
		}
	}
	_tmp2_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp2_;
	_tmp3_ = schema_object;
	result = g_settings_get_double (_tmp3_, key);
	_g_object_unref0 (schema_object);
	return result;
}

static void
gsettings_configuration_engine_set_gs_double (GSettingsConfigurationEngine* self,
                                              const gchar* schema,
                                              const gchar* key,
                                              gdouble value,
                                              GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_set_double (_tmp1_, key, value);
	_g_object_unref0 (schema_object);
}

static gchar*
gsettings_configuration_engine_get_gs_string (GSettingsConfigurationEngine* self,
                                              const gchar* schema,
                                              const gchar* key,
                                              GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	gchar* _tmp2_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), NULL);
	g_return_val_if_fail (schema != NULL, NULL);
	g_return_val_if_fail (key != NULL, NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return NULL;
		} else {
			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 NULL;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	_tmp2_ = g_settings_get_string (_tmp1_, key);
	result = _tmp2_;
	_g_object_unref0 (schema_object);
	return result;
}

static void
gsettings_configuration_engine_set_gs_string (GSettingsConfigurationEngine* self,
                                              const gchar* schema,
                                              const gchar* key,
                                              const gchar* value,
                                              GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	g_return_if_fail (value != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_set_string (_tmp1_, key, value);
	_g_object_unref0 (schema_object);
}

static void
gsettings_configuration_engine_reset_gs_to_default (GSettingsConfigurationEngine* self,
                                                    const gchar* schema,
                                                    const gchar* key,
                                                    GError** error)
{
	GSettings* schema_object = NULL;
	GSettings* _tmp0_;
	GSettings* _tmp1_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self));
	g_return_if_fail (schema != NULL);
	g_return_if_fail (key != NULL);
	gsettings_configuration_engine_check_key_valid (self, schema, key, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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;
		}
	}
	_tmp0_ = gsettings_configuration_engine_get_settings (self, schema);
	schema_object = _tmp0_;
	_tmp1_ = schema_object;
	g_settings_reset (_tmp1_, key);
	_g_object_unref0 (schema_object);
}

static gchar*
string_strip (const gchar* self)
{
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup (self);
	_result_ = _tmp0_;
	g_strstrip (_result_);
	result = _result_;
	return result;
}

static gchar*
gsettings_configuration_engine_clean_plugin_id (const gchar* id)
{
	gchar* cleaned = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_;
	gchar* _tmp6_;
	gchar* result;
	g_return_val_if_fail (id != NULL, NULL);
	_tmp0_ = string_replace (id, "/", "-");
	cleaned = _tmp0_;
	_tmp1_ = cleaned;
	_tmp2_ = string_strip (_tmp1_);
	_g_free0 (cleaned);
	cleaned = _tmp2_;
	_tmp4_ = cleaned;
	if (!is_string_empty (_tmp4_)) {
		const gchar* _tmp5_;
		_tmp5_ = cleaned;
		_tmp3_ = _tmp5_;
	} else {
		_tmp3_ = NULL;
	}
	_tmp6_ = g_strdup (_tmp3_);
	result = _tmp6_;
	_g_free0 (cleaned);
	return result;
}

static gchar*
gsettings_configuration_engine_get_plugin_enable_disable_name (const gchar* id)
{
	gchar* cleaned_id = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* result;
	g_return_val_if_fail (id != NULL, NULL);
	_tmp0_ = gsettings_configuration_engine_clean_plugin_id (id);
	cleaned_id = _tmp0_;
	_tmp1_ = cleaned_id;
	if (_tmp1_ == NULL) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup ("default");
		_g_free0 (cleaned_id);
		cleaned_id = _tmp2_;
	}
	_tmp3_ = cleaned_id;
	_tmp4_ = string_replace (_tmp3_, "org.gnome.shotwell.", "");
	_g_free0 (cleaned_id);
	cleaned_id = _tmp4_;
	_tmp5_ = cleaned_id;
	_tmp6_ = string_replace (_tmp5_, ".", "-");
	_g_free0 (cleaned_id);
	cleaned_id = _tmp6_;
	result = cleaned_id;
	return result;
}

static gchar*
gsettings_configuration_engine_make_plugin_schema_name (const gchar* domain,
                                                        const gchar* id)
{
	gchar* cleaned_id = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* result;
	g_return_val_if_fail (domain != NULL, NULL);
	g_return_val_if_fail (id != NULL, NULL);
	_tmp0_ = gsettings_configuration_engine_clean_plugin_id (id);
	cleaned_id = _tmp0_;
	_tmp1_ = cleaned_id;
	if (_tmp1_ == NULL) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup ("default");
		_g_free0 (cleaned_id);
		cleaned_id = _tmp2_;
	}
	_tmp3_ = cleaned_id;
	_tmp4_ = string_replace (_tmp3_, ".", "-");
	_g_free0 (cleaned_id);
	cleaned_id = _tmp4_;
	_tmp5_ = cleaned_id;
	_tmp6_ = g_strdup_printf ("org.gnome.shotwell.%s.%s", domain, _tmp5_);
	result = _tmp6_;
	_g_free0 (cleaned_id);
	return result;
}

static gchar*
gsettings_configuration_engine_make_gsettings_key (const gchar* gconf_key)
{
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (gconf_key != NULL, NULL);
	_tmp0_ = string_replace (gconf_key, "_", "-");
	result = _tmp0_;
	return result;
}

static gchar*
gsettings_configuration_engine_real_get_name (ConfigurationEngine* base)
{
	GSettingsConfigurationEngine * self;
	gchar* _tmp0_;
	gchar* result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = g_strdup ("GSettings");
	result = _tmp0_;
	return result;
}

static gint
gsettings_configuration_engine_real_get_enum_property (ConfigurationEngine* base,
                                                       ConfigurableProperty p,
                                                       GError** error)
{
	GSettingsConfigurationEngine * self;
	gint _tmp0_ = 0;
	gchar** _tmp1_;
	gint _tmp1__length1;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	const gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gint result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp1_ = self->priv->schema_names;
	_tmp1__length1 = self->priv->schema_names_length1;
	_tmp2_ = _tmp1_[p];
	_tmp3_ = self->priv->key_names;
	_tmp3__length1 = self->priv->key_names_length1;
	_tmp4_ = _tmp3_[p];
	_tmp0_ = gsettings_configuration_engine_get_gs_enum (self, _tmp2_, _tmp4_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gint _tmp5_ = -1;
			g_propagate_error (error, _inner_error0_);
			return _tmp5_;
		} else {
			gint _tmp6_ = -1;
			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 _tmp6_;
		}
	}
	result = _tmp0_;
	return result;
}

static void
gsettings_configuration_engine_real_set_enum_property (ConfigurationEngine* base,
                                                       ConfigurableProperty p,
                                                       gint val,
                                                       GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	const gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = self->priv->schema_names;
	_tmp0__length1 = self->priv->schema_names_length1;
	_tmp1_ = _tmp0_[p];
	_tmp2_ = self->priv->key_names;
	_tmp2__length1 = self->priv->key_names_length1;
	_tmp3_ = _tmp2_[p];
	gsettings_configuration_engine_set_gs_enum (self, _tmp1_, _tmp3_, val, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", p);
}

static gint
gsettings_configuration_engine_real_get_int_property (ConfigurationEngine* base,
                                                      ConfigurableProperty p,
                                                      GError** error)
{
	GSettingsConfigurationEngine * self;
	gint _tmp0_ = 0;
	gchar** _tmp1_;
	gint _tmp1__length1;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	const gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gint result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp1_ = self->priv->schema_names;
	_tmp1__length1 = self->priv->schema_names_length1;
	_tmp2_ = _tmp1_[p];
	_tmp3_ = self->priv->key_names;
	_tmp3__length1 = self->priv->key_names_length1;
	_tmp4_ = _tmp3_[p];
	_tmp0_ = gsettings_configuration_engine_get_gs_int (self, _tmp2_, _tmp4_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gint _tmp5_ = -1;
			g_propagate_error (error, _inner_error0_);
			return _tmp5_;
		} else {
			gint _tmp6_ = -1;
			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 _tmp6_;
		}
	}
	result = _tmp0_;
	return result;
}

static void
gsettings_configuration_engine_real_set_int_property (ConfigurationEngine* base,
                                                      ConfigurableProperty p,
                                                      gint val,
                                                      GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	const gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = self->priv->schema_names;
	_tmp0__length1 = self->priv->schema_names_length1;
	_tmp1_ = _tmp0_[p];
	_tmp2_ = self->priv->key_names;
	_tmp2__length1 = self->priv->key_names_length1;
	_tmp3_ = _tmp2_[p];
	gsettings_configuration_engine_set_gs_int (self, _tmp1_, _tmp3_, val, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", p);
}

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	glong result;
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
	end = _tmp0_;
	_tmp1_ = end;
	if (_tmp1_ == NULL) {
		result = maxlen;
		return result;
	} else {
		gchar* _tmp2_;
		_tmp2_ = end;
		result = (glong) (_tmp2_ - str);
		return result;
	}
}

static gchar*
string_substring (const gchar* self,
                  glong offset,
                  glong len)
{
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	gchar* _tmp3_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (offset >= ((glong) 0)) {
		_tmp0_ = len >= ((glong) 0);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		string_length = string_strnlen ((gchar*) self, offset + len);
	} else {
		gint _tmp1_;
		gint _tmp2_;
		_tmp1_ = strlen (self);
		_tmp2_ = _tmp1_;
		string_length = (glong) _tmp2_;
	}
	if (offset < ((glong) 0)) {
		offset = string_length + offset;
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
	} else {
		g_return_val_if_fail (offset <= string_length, NULL);
	}
	if (len < ((glong) 0)) {
		len = string_length - offset;
	}
	g_return_val_if_fail ((offset + len) <= string_length, NULL);
	_tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
	result = _tmp3_;
	return result;
}

static gchar*
gsettings_configuration_engine_real_get_string_property (ConfigurationEngine* base,
                                                         ConfigurableProperty p,
                                                         GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar* gs_result = NULL;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _result_ = NULL;
	gchar* _tmp5_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = self->priv->schema_names;
	_tmp0__length1 = self->priv->schema_names_length1;
	_tmp1_ = _tmp0_[p];
	_tmp2_ = self->priv->key_names;
	_tmp2__length1 = self->priv->key_names_length1;
	_tmp3_ = _tmp2_[p];
	_tmp4_ = gsettings_configuration_engine_get_gs_string (self, _tmp1_, _tmp3_, &_inner_error0_);
	gs_result = _tmp4_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return NULL;
		} else {
			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 NULL;
		}
	}
	_tmp5_ = g_strdup (gs_result);
	_result_ = _tmp5_;
	if (p == CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE) {
		gchar* _tmp6_;
		_tmp6_ = string_substring (gs_result, (glong) 7, (glong) -1);
		_g_free0 (_result_);
		_result_ = _tmp6_;
	}
	result = _result_;
	_g_free0 (gs_result);
	return result;
}

static void
gsettings_configuration_engine_real_set_string_property (ConfigurationEngine* base,
                                                         ConfigurableProperty p,
                                                         const gchar* val,
                                                         GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar* converted_val = NULL;
	gchar* _tmp0_;
	gboolean _tmp1_ = FALSE;
	gchar** _tmp10_;
	gint _tmp10__length1;
	const gchar* _tmp11_;
	gchar** _tmp12_;
	gint _tmp12__length1;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (val != NULL);
	_tmp0_ = g_strdup (val);
	converted_val = _tmp0_;
	if (p == CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE) {
		_tmp1_ = TRUE;
	} else {
		_tmp1_ = p == CONFIGURABLE_PROPERTY_SCREENSAVER_FILE;
	}
	if (_tmp1_) {
		gchar* _tmp2_;
		_tmp2_ = g_strconcat ("file://", val, NULL);
		_g_free0 (converted_val);
		converted_val = _tmp2_;
	}
	{
		if (p == CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE) {
			gchar** _tmp3_;
			gint _tmp3__length1;
			const gchar* _tmp4_;
			gchar** _tmp5_;
			gint _tmp5__length1;
			const gchar* _tmp6_;
			gchar* _tmp7_;
			gchar* _tmp8_;
			const gchar* _tmp9_;
			_tmp3_ = self->priv->schema_names;
			_tmp3__length1 = self->priv->schema_names_length1;
			_tmp4_ = _tmp3_[p];
			_tmp5_ = self->priv->key_names;
			_tmp5__length1 = self->priv->key_names_length1;
			_tmp6_ = _tmp5_[p];
			_tmp7_ = g_strconcat (_tmp6_, "-dark", NULL);
			_tmp8_ = _tmp7_;
			_tmp9_ = converted_val;
			gsettings_configuration_engine_set_gs_string (self, _tmp4_, _tmp8_, _tmp9_, &_inner_error0_);
			_g_free0 (_tmp8_);
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		g_clear_error (&_inner_error0_);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			_g_free0 (converted_val);
			return;
		} else {
			_g_free0 (converted_val);
			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;
		}
	}
	_tmp10_ = self->priv->schema_names;
	_tmp10__length1 = self->priv->schema_names_length1;
	_tmp11_ = _tmp10_[p];
	_tmp12_ = self->priv->key_names;
	_tmp12__length1 = self->priv->key_names_length1;
	_tmp13_ = _tmp12_[p];
	_tmp14_ = converted_val;
	gsettings_configuration_engine_set_gs_string (self, _tmp11_, _tmp13_, _tmp14_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			_g_free0 (converted_val);
			return;
		} else {
			_g_free0 (converted_val);
			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_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", p);
	_g_free0 (converted_val);
}

static gboolean
gsettings_configuration_engine_real_get_bool_property (ConfigurationEngine* base,
                                                       ConfigurableProperty p,
                                                       GError** error)
{
	GSettingsConfigurationEngine * self;
	gboolean _tmp0_ = FALSE;
	gchar** _tmp1_;
	gint _tmp1__length1;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	const gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gboolean result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp1_ = self->priv->schema_names;
	_tmp1__length1 = self->priv->schema_names_length1;
	_tmp2_ = _tmp1_[p];
	_tmp3_ = self->priv->key_names;
	_tmp3__length1 = self->priv->key_names_length1;
	_tmp4_ = _tmp3_[p];
	_tmp0_ = gsettings_configuration_engine_get_gs_bool (self, _tmp2_, _tmp4_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gboolean _tmp5_ = FALSE;
			g_propagate_error (error, _inner_error0_);
			return _tmp5_;
		} else {
			gboolean _tmp6_ = FALSE;
			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 _tmp6_;
		}
	}
	result = _tmp0_;
	return result;
}

static void
gsettings_configuration_engine_real_set_bool_property (ConfigurationEngine* base,
                                                       ConfigurableProperty p,
                                                       gboolean val,
                                                       GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	const gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = self->priv->schema_names;
	_tmp0__length1 = self->priv->schema_names_length1;
	_tmp1_ = _tmp0_[p];
	_tmp2_ = self->priv->key_names;
	_tmp2__length1 = self->priv->key_names_length1;
	_tmp3_ = _tmp2_[p];
	gsettings_configuration_engine_set_gs_bool (self, _tmp1_, _tmp3_, val, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", p);
}

static gdouble
gsettings_configuration_engine_real_get_double_property (ConfigurationEngine* base,
                                                         ConfigurableProperty p,
                                                         GError** error)
{
	GSettingsConfigurationEngine * self;
	gdouble _tmp0_ = 0.0;
	gchar** _tmp1_;
	gint _tmp1__length1;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	const gchar* _tmp4_;
	GError* _inner_error0_ = NULL;
	gdouble result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp1_ = self->priv->schema_names;
	_tmp1__length1 = self->priv->schema_names_length1;
	_tmp2_ = _tmp1_[p];
	_tmp3_ = self->priv->key_names;
	_tmp3__length1 = self->priv->key_names_length1;
	_tmp4_ = _tmp3_[p];
	_tmp0_ = gsettings_configuration_engine_get_gs_double (self, _tmp2_, _tmp4_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			gdouble _tmp5_ = -1.0;
			g_propagate_error (error, _inner_error0_);
			return _tmp5_;
		} else {
			gdouble _tmp6_ = -1.0;
			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 _tmp6_;
		}
	}
	result = _tmp0_;
	return result;
}

static void
gsettings_configuration_engine_real_set_double_property (ConfigurationEngine* base,
                                                         ConfigurableProperty p,
                                                         gdouble val,
                                                         GError** error)
{
	GSettingsConfigurationEngine * self;
	gchar** _tmp0_;
	gint _tmp0__length1;
	const gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	const gchar* _tmp3_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	_tmp0_ = self->priv->schema_names;
	_tmp0__length1 = self->priv->schema_names_length1;
	_tmp1_ = _tmp0_[p];
	_tmp2_ = self->priv->key_names;
	_tmp2__length1 = self->priv->key_names_length1;
	_tmp3_ = _tmp2_[p];
	gsettings_configuration_engine_set_gs_double (self, _tmp1_, _tmp3_, val, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		if (_inner_error0_->domain == CONFIGURATION_ERROR) {
			g_propagate_error (error, _inner_error0_);
			return;
		} else {
			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_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", p);
}

static gboolean
gsettings_configuration_engine_real_get_plugin_bool (ConfigurationEngine* base,
                                                     const gchar* domain,
                                                     const gchar* id,
                                                     const gchar* key,
                                                     gboolean def)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	gboolean _tmp8_ = FALSE;
	GError* _inner_error0_ = NULL;
	gboolean result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_val_if_fail (domain != NULL, FALSE);
	g_return_val_if_fail (id != NULL, FALSE);
	g_return_val_if_fail (key != NULL, FALSE);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gboolean _tmp1_ = FALSE;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gboolean _tmp4_;
		_tmp2_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp3_ = _tmp2_;
		_tmp4_ = gsettings_configuration_engine_get_gs_bool (self, schema_name, _tmp3_, &_inner_error0_);
		_g_free0 (_tmp3_);
		_tmp1_ = _tmp4_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			gboolean _tmp5_ = FALSE;
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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 _tmp5_;
		}
		result = _tmp1_;
		_g_free0 (schema_name);
		return result;
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_critical ("GSettingsEngine.vala:408: GSettingsConfigurationEngine: error: %s", _tmp7_);
		result = def;
		_g_error_free0 (err);
		_g_free0 (schema_name);
		return result;
	}
	__finally0:
	_g_free0 (schema_name);
	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 _tmp8_;
}

static void
gsettings_configuration_engine_real_set_plugin_bool (ConfigurationEngine* base,
                                                     const gchar* domain,
                                                     const gchar* id,
                                                     const gchar* key,
                                                     gboolean val)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (domain != NULL);
	g_return_if_fail (id != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_;
		gchar* _tmp2_;
		_tmp1_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp2_ = _tmp1_;
		gsettings_configuration_engine_set_gs_bool (self, schema_name, _tmp2_, val, &_inner_error0_);
		_g_free0 (_tmp2_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:419: GSettingsConfigurationEngine: error: %s", _tmp4_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (schema_name);
		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 (schema_name);
}

static gdouble
gsettings_configuration_engine_real_get_plugin_double (ConfigurationEngine* base,
                                                       const gchar* domain,
                                                       const gchar* id,
                                                       const gchar* key,
                                                       gdouble def)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	gdouble _tmp8_ = -1.0;
	GError* _inner_error0_ = NULL;
	gdouble result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_val_if_fail (domain != NULL, -1.0);
	g_return_val_if_fail (id != NULL, -1.0);
	g_return_val_if_fail (key != NULL, -1.0);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gdouble _tmp1_ = 0.0;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gdouble _tmp4_;
		_tmp2_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp3_ = _tmp2_;
		_tmp4_ = gsettings_configuration_engine_get_gs_double (self, schema_name, _tmp3_, &_inner_error0_);
		_g_free0 (_tmp3_);
		_tmp1_ = _tmp4_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			gdouble _tmp5_ = -1.0;
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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 _tmp5_;
		}
		result = _tmp1_;
		_g_free0 (schema_name);
		return result;
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_critical ("GSettingsEngine.vala:429: GSettingsConfigurationEngine: error: %s", _tmp7_);
		result = def;
		_g_error_free0 (err);
		_g_free0 (schema_name);
		return result;
	}
	__finally0:
	_g_free0 (schema_name);
	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 _tmp8_;
}

static void
gsettings_configuration_engine_real_set_plugin_double (ConfigurationEngine* base,
                                                       const gchar* domain,
                                                       const gchar* id,
                                                       const gchar* key,
                                                       gdouble val)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (domain != NULL);
	g_return_if_fail (id != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_;
		gchar* _tmp2_;
		_tmp1_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp2_ = _tmp1_;
		gsettings_configuration_engine_set_gs_double (self, schema_name, _tmp2_, val, &_inner_error0_);
		_g_free0 (_tmp2_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:440: GSettingsConfigurationEngine: error: %s", _tmp4_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (schema_name);
		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 (schema_name);
}

static gint
gsettings_configuration_engine_real_get_plugin_int (ConfigurationEngine* base,
                                                    const gchar* domain,
                                                    const gchar* id,
                                                    const gchar* key,
                                                    gint def)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	gint _tmp8_ = -1;
	GError* _inner_error0_ = NULL;
	gint result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_val_if_fail (domain != NULL, -1);
	g_return_val_if_fail (id != NULL, -1);
	g_return_val_if_fail (key != NULL, -1);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gint _tmp1_ = 0;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gint _tmp4_;
		_tmp2_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp3_ = _tmp2_;
		_tmp4_ = gsettings_configuration_engine_get_gs_int (self, schema_name, _tmp3_, &_inner_error0_);
		_g_free0 (_tmp3_);
		_tmp1_ = _tmp4_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			gint _tmp5_ = -1;
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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 _tmp5_;
		}
		result = _tmp1_;
		_g_free0 (schema_name);
		return result;
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_critical ("GSettingsEngine.vala:450: GSettingsConfigurationEngine: error: %s", _tmp7_);
		result = def;
		_g_error_free0 (err);
		_g_free0 (schema_name);
		return result;
	}
	__finally0:
	_g_free0 (schema_name);
	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 _tmp8_;
}

static void
gsettings_configuration_engine_real_set_plugin_int (ConfigurationEngine* base,
                                                    const gchar* domain,
                                                    const gchar* id,
                                                    const gchar* key,
                                                    gint val)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (domain != NULL);
	g_return_if_fail (id != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_;
		gchar* _tmp2_;
		_tmp1_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp2_ = _tmp1_;
		gsettings_configuration_engine_set_gs_int (self, schema_name, _tmp2_, val, &_inner_error0_);
		_g_free0 (_tmp2_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:461: GSettingsConfigurationEngine: error: %s", _tmp4_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (schema_name);
		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 (schema_name);
}

static gchar*
gsettings_configuration_engine_real_get_plugin_string (ConfigurationEngine* base,
                                                       const gchar* domain,
                                                       const gchar* id,
                                                       const gchar* key,
                                                       const gchar* def)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_val_if_fail (domain != NULL, NULL);
	g_return_val_if_fail (id != NULL, NULL);
	g_return_val_if_fail (key != NULL, NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_ = NULL;
		gchar* _tmp2_;
		gchar* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		_tmp2_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp3_ = _tmp2_;
		_tmp4_ = gsettings_configuration_engine_get_gs_string (self, schema_name, _tmp3_, &_inner_error0_);
		_tmp5_ = _tmp4_;
		_g_free0 (_tmp3_);
		_tmp1_ = _tmp5_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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 NULL;
		}
		_tmp6_ = _tmp1_;
		_tmp1_ = NULL;
		result = _tmp6_;
		_g_free0 (_tmp1_);
		_g_free0 (schema_name);
		return result;
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp7_;
		const gchar* _tmp8_;
		gchar* _tmp9_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp7_ = err;
		_tmp8_ = _tmp7_->message;
		g_critical ("GSettingsEngine.vala:471: GSettingsConfigurationEngine: error: %s", _tmp8_);
		_tmp9_ = g_strdup (def);
		result = _tmp9_;
		_g_error_free0 (err);
		_g_free0 (schema_name);
		return result;
	}
	__finally0:
	_g_free0 (schema_name);
	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 NULL;
}

static void
gsettings_configuration_engine_real_set_plugin_string (ConfigurationEngine* base,
                                                       const gchar* domain,
                                                       const gchar* id,
                                                       const gchar* key,
                                                       const gchar* val)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (domain != NULL);
	g_return_if_fail (id != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_;
		gchar* _tmp2_;
		_tmp1_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp2_ = _tmp1_;
		gsettings_configuration_engine_set_gs_string (self, schema_name, _tmp2_, val, &_inner_error0_);
		_g_free0 (_tmp2_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:482: GSettingsConfigurationEngine: error: %s", _tmp4_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (schema_name);
		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 (schema_name);
}

static void
gsettings_configuration_engine_real_unset_plugin_key (ConfigurationEngine* base,
                                                      const gchar* domain,
                                                      const gchar* id,
                                                      const gchar* key)
{
	GSettingsConfigurationEngine * self;
	gchar* schema_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (domain != NULL);
	g_return_if_fail (id != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = gsettings_configuration_engine_make_plugin_schema_name (domain, id);
	schema_name = _tmp0_;
	{
		gchar* _tmp1_;
		gchar* _tmp2_;
		_tmp1_ = gsettings_configuration_engine_make_gsettings_key (key);
		_tmp2_ = _tmp1_;
		gsettings_configuration_engine_reset_gs_to_default (self, schema_name, _tmp2_, &_inner_error0_);
		_g_free0 (_tmp2_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (schema_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:492: GSettingsConfigurationEngine: error: %s", _tmp4_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (schema_name);
		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 (schema_name);
}

static FuzzyPropertyState
gsettings_configuration_engine_real_is_plugin_enabled (ConfigurationEngine* base,
                                                       const gchar* id)
{
	GSettingsConfigurationEngine * self;
	gchar* enable_disable_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	FuzzyPropertyState result;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_val_if_fail (id != NULL, 0);
	_tmp0_ = gsettings_configuration_engine_get_plugin_enable_disable_name (id);
	enable_disable_name = _tmp0_;
	{
		FuzzyPropertyState _tmp1_ = 0;
		gboolean _tmp2_ = FALSE;
		_tmp2_ = gsettings_configuration_engine_get_gs_bool (self, GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME, enable_disable_name, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (enable_disable_name);
			g_critical ("file %s: line %d: unexpected 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 0;
		}
		if (_tmp2_) {
			_tmp1_ = FUZZY_PROPERTY_STATE_ENABLED;
		} else {
			_tmp1_ = FUZZY_PROPERTY_STATE_DISABLED;
		}
		result = _tmp1_;
		_g_free0 (enable_disable_name);
		return result;
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp3_ = err;
		_tmp4_ = _tmp3_->message;
		g_critical ("GSettingsEngine.vala:503: GSettingsConfigurationEngine: error: %s", _tmp4_);
		result = FUZZY_PROPERTY_STATE_UNKNOWN;
		_g_error_free0 (err);
		_g_free0 (enable_disable_name);
		return result;
	}
	__finally0:
	_g_free0 (enable_disable_name);
	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 0;
}

static void
gsettings_configuration_engine_real_set_plugin_enabled (ConfigurationEngine* base,
                                                        const gchar* id,
                                                        gboolean enabled)
{
	GSettingsConfigurationEngine * self;
	gchar* enable_disable_name = NULL;
	gchar* _tmp0_;
	GError* _inner_error0_ = NULL;
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	g_return_if_fail (id != NULL);
	_tmp0_ = gsettings_configuration_engine_get_plugin_enable_disable_name (id);
	enable_disable_name = _tmp0_;
	{
		gsettings_configuration_engine_set_gs_bool (self, GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME, enable_disable_name, enabled, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == CONFIGURATION_ERROR) {
				goto __catch0_configuration_error;
			}
			_g_free0 (enable_disable_name);
			g_critical ("file %s: line %d: unexpected 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;
		}
	}
	goto __finally0;
	__catch0_configuration_error:
	{
		GError* err = NULL;
		GError* _tmp1_;
		const gchar* _tmp2_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = err;
		_tmp2_ = _tmp1_->message;
		g_critical ("GSettingsEngine.vala:514: GSettingsConfigurationEngine: error: %s", _tmp2_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (enable_disable_name);
		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 (enable_disable_name);
}

void
gsettings_configuration_engine_run_gsettings_migrator (void)
{
	gchar* cmd_line = NULL;
	GFile* _tmp0_;
	GFile* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	GError* _inner_error0_ = NULL;
	_tmp0_ = app_dirs_get_settings_migrator_bin ();
	_tmp1_ = _tmp0_;
	_tmp2_ = g_file_get_path (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strconcat ("sh ", _tmp3_, NULL);
	_tmp5_ = _tmp4_;
	_g_free0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
	cmd_line = _tmp5_;
	{
		g_spawn_command_line_sync (cmd_line, NULL, NULL, NULL, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* err = NULL;
		GError* _tmp6_;
		const gchar* _tmp7_;
		err = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_message ("GSettingsEngine.vala:528: Error running shotwell-settings-migrator: %s", _tmp7_);
		_g_error_free0 (err);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (cmd_line);
		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 (cmd_line);
}

void
gsettings_configuration_engine_run_gsettings_migrator_v2 (void)
{
	GSettingsSchemaSource* source = NULL;
	GSettingsSchemaSource* _tmp0_;
	GSettingsSchemaSource* _tmp1_;
	GSettingsSchema* schema = NULL;
	GSettingsSchema* _tmp2_;
	GSettings* settings = NULL;
	GSettings* _tmp3_;
	_tmp0_ = g_settings_schema_source_get_default ();
	_tmp1_ = _g_settings_schema_source_ref0 (_tmp0_);
	source = _tmp1_;
	_tmp2_ = g_settings_schema_source_lookup (source, "org.yorba.shotwell", TRUE);
	schema = _tmp2_;
	_tmp3_ = g_settings_new_full (schema, NULL, NULL);
	settings = _tmp3_;
	gsettings_configuration_engine_copy_schema (settings);
	g_settings_sync ();
	_g_object_unref0 (settings);
	_g_settings_schema_unref0 (schema);
	_g_settings_schema_source_unref0 (source);
}

static void
gsettings_configuration_engine_copy_schema (GSettings* settings)
{
	GSettingsSchema* schema = NULL;
	GSettingsSchema* _tmp0_ = NULL;
	gchar* id = NULL;
	GSettingsSchema* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* path = NULL;
	GSettingsSchema* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* new_id = NULL;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* new_path = NULL;
	const gchar* _tmp9_;
	gchar* _tmp10_;
	GSettingsSchema* new_schema = NULL;
	GSettingsSchemaSource* _tmp11_;
	const gchar* _tmp12_;
	GSettingsSchema* _tmp13_;
	GSettingsSchema* _tmp14_;
	GSettingsSchema* _tmp49_;
	gchar** _tmp50_;
	gchar** _tmp51_;
	g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (settings, g_settings_get_type ()));
	g_object_get (G_TYPE_CHECK_INSTANCE_CAST (settings, G_TYPE_OBJECT, GObject), "settings-schema", &_tmp0_, NULL, NULL);
	_g_settings_schema_unref0 (schema);
	schema = _tmp0_;
	_tmp1_ = schema;
	_tmp2_ = g_settings_schema_get_id (_tmp1_);
	_tmp3_ = g_strdup (_tmp2_);
	id = _tmp3_;
	_tmp4_ = schema;
	_tmp5_ = g_settings_schema_get_path (_tmp4_);
	_tmp6_ = g_strdup (_tmp5_);
	path = _tmp6_;
	_tmp7_ = id;
	_tmp8_ = string_replace (_tmp7_, "org.yorba.shotwell", "org.gnome.shotwell");
	new_id = _tmp8_;
	_tmp9_ = path;
	_tmp10_ = string_replace (_tmp9_, "/org/yorba/shotwell", "/org/gnome/shotwell");
	new_path = _tmp10_;
	_tmp11_ = g_settings_schema_source_get_default ();
	_tmp12_ = new_id;
	_tmp13_ = g_settings_schema_source_lookup (_tmp11_, _tmp12_, TRUE);
	new_schema = _tmp13_;
	_tmp14_ = new_schema;
	if (_tmp14_ != NULL) {
		GSettings* new_settings = NULL;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		GSettings* _tmp17_;
		GSettings* _tmp18_;
		GSettingsSchema* _tmp19_;
		gchar** _tmp20_;
		gchar** _tmp21_;
		GSettings* _tmp47_;
		_tmp15_ = new_id;
		_tmp16_ = new_path;
		_tmp17_ = g_settings_new_with_path (_tmp15_, _tmp16_);
		new_settings = _tmp17_;
		_tmp18_ = new_settings;
		g_settings_delay (_tmp18_);
		_tmp19_ = schema;
		_tmp21_ = _tmp20_ = g_settings_schema_list_keys (_tmp19_);
		{
			gchar** k_collection = NULL;
			gint k_collection_length1 = 0;
			gint _k_collection_size_ = 0;
			gint k_it = 0;
			k_collection = _tmp21_;
			k_collection_length1 = _vala_array_length (_tmp20_);
			for (k_it = 0; k_it < k_collection_length1; k_it = k_it + 1) {
				gchar* _tmp22_;
				gchar* k = NULL;
				_tmp22_ = g_strdup (k_collection[k_it]);
				k = _tmp22_;
				{
					GSettingsSchemaKey* key = NULL;
					GSettingsSchema* _tmp23_;
					const gchar* _tmp24_;
					GSettingsSchemaKey* _tmp25_;
					GVariant* default_value = NULL;
					GSettingsSchemaKey* _tmp26_;
					GVariant* _tmp27_;
					GVariant* val = NULL;
					const gchar* _tmp28_;
					GVariant* _tmp29_;
					GVariant* _tmp30_;
					GVariant* _tmp31_;
					GSettingsSchema* _tmp33_;
					const gchar* _tmp34_;
					const gchar* _tmp36_;
					const gchar* _tmp37_;
					const gchar* _tmp38_;
					const gchar* _tmp39_;
					const gchar* _tmp40_;
					GVariant* _tmp41_;
					gchar* _tmp42_;
					gchar* _tmp43_;
					GSettings* _tmp44_;
					const gchar* _tmp45_;
					GVariant* _tmp46_;
					_tmp23_ = schema;
					_tmp24_ = k;
					_tmp25_ = g_settings_schema_get_key (_tmp23_, _tmp24_);
					key = _tmp25_;
					_tmp26_ = key;
					_tmp27_ = g_settings_schema_key_get_default_value (_tmp26_);
					default_value = _tmp27_;
					_tmp28_ = k;
					_tmp29_ = g_settings_get_value (settings, _tmp28_);
					val = _tmp29_;
					_tmp30_ = val;
					_tmp31_ = default_value;
					if (g_variant_equal (_tmp30_, _tmp31_)) {
						const gchar* _tmp32_;
						_tmp32_ = k;
						g_debug ("GSettingsEngine.vala:567: %s is default value, skipping", _tmp32_);
						_g_variant_unref0 (val);
						_g_variant_unref0 (default_value);
						_g_settings_schema_key_unref0 (key);
						_g_free0 (k);
						continue;
					}
					_tmp33_ = new_schema;
					_tmp34_ = k;
					if (!g_settings_schema_has_key (_tmp33_, _tmp34_)) {
						const gchar* _tmp35_;
						_tmp35_ = k;
						g_debug ("GSettingsEngine.vala:572: Cannot migrate %s as it does not exist", _tmp35_);
						_g_variant_unref0 (val);
						_g_variant_unref0 (default_value);
						_g_settings_schema_key_unref0 (key);
						_g_free0 (k);
						continue;
					}
					_tmp36_ = k;
					_tmp37_ = id;
					_tmp38_ = path;
					_tmp39_ = new_id;
					_tmp40_ = new_path;
					_tmp41_ = val;
					_tmp42_ = g_variant_print (_tmp41_, TRUE);
					_tmp43_ = _tmp42_;
					g_debug ("GSettingsEngine.vala:576: Will migrate %s %s @ %s -> %s:%s %s", _tmp36_, _tmp37_, _tmp38_, _tmp39_, _tmp40_, _tmp43_);
					_g_free0 (_tmp43_);
					_tmp44_ = new_settings;
					_tmp45_ = k;
					_tmp46_ = val;
					if (!g_settings_set_value (_tmp44_, _tmp45_, _tmp46_)) {
						g_debug ("GSettingsEngine.vala:578:  Failed...");
					}
					_g_variant_unref0 (val);
					_g_variant_unref0 (default_value);
					_g_settings_schema_key_unref0 (key);
					_g_free0 (k);
				}
			}
			k_collection = (_vala_array_free (k_collection, k_collection_length1, (GDestroyNotify) g_free), NULL);
		}
		_tmp47_ = new_settings;
		g_settings_apply (_tmp47_);
		_g_object_unref0 (new_settings);
	} else {
		const gchar* _tmp48_;
		_tmp48_ = new_id;
		g_debug ("GSettingsEngine.vala:584: %s does not exist, skipping\n", _tmp48_);
	}
	_tmp49_ = schema;
	_tmp51_ = _tmp50_ = g_settings_schema_list_children (_tmp49_);
	{
		gchar** c_collection = NULL;
		gint c_collection_length1 = 0;
		gint _c_collection_size_ = 0;
		gint c_it = 0;
		c_collection = _tmp51_;
		c_collection_length1 = _vala_array_length (_tmp50_);
		for (c_it = 0; c_it < c_collection_length1; c_it = c_it + 1) {
			gchar* _tmp52_;
			gchar* c = NULL;
			_tmp52_ = g_strdup (c_collection[c_it]);
			c = _tmp52_;
			{
				GSettings* child = NULL;
				const gchar* _tmp53_;
				GSettings* _tmp54_;
				GSettings* _tmp55_;
				_tmp53_ = c;
				_tmp54_ = g_settings_get_child (settings, _tmp53_);
				child = _tmp54_;
				_tmp55_ = child;
				gsettings_configuration_engine_copy_schema (_tmp55_);
				_g_object_unref0 (child);
				_g_free0 (c);
			}
		}
		c_collection = (_vala_array_free (c_collection, c_collection_length1, (GDestroyNotify) g_free), NULL);
	}
	_g_settings_schema_unref0 (new_schema);
	_g_free0 (new_path);
	_g_free0 (new_id);
	_g_free0 (path);
	_g_free0 (id);
	_g_settings_schema_unref0 (schema);
}

static void
gsettings_configuration_engine_class_init (GSettingsConfigurationEngineClass * klass,
                                           gpointer klass_data)
{
	gsettings_configuration_engine_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GSettingsConfigurationEngine_private_offset);
	G_OBJECT_CLASS (klass)->finalize = gsettings_configuration_engine_finalize;
}

static void
gsettings_configuration_engine_configuration_engine_interface_init (ConfigurationEngineIface * iface,
                                                                    gpointer iface_data)
{
	gsettings_configuration_engine_configuration_engine_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_name = (gchar* (*) (ConfigurationEngine*)) gsettings_configuration_engine_real_get_name;
	iface->get_enum_property = (gint (*) (ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_enum_property;
	iface->set_enum_property = (void (*) (ConfigurationEngine*, ConfigurableProperty, gint, GError**)) gsettings_configuration_engine_real_set_enum_property;
	iface->get_int_property = (gint (*) (ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_int_property;
	iface->set_int_property = (void (*) (ConfigurationEngine*, ConfigurableProperty, gint, GError**)) gsettings_configuration_engine_real_set_int_property;
	iface->get_string_property = (gchar* (*) (ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_string_property;
	iface->set_string_property = (void (*) (ConfigurationEngine*, ConfigurableProperty, const gchar*, GError**)) gsettings_configuration_engine_real_set_string_property;
	iface->get_bool_property = (gboolean (*) (ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_bool_property;
	iface->set_bool_property = (void (*) (ConfigurationEngine*, ConfigurableProperty, gboolean, GError**)) gsettings_configuration_engine_real_set_bool_property;
	iface->get_double_property = (gdouble (*) (ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_double_property;
	iface->set_double_property = (void (*) (ConfigurationEngine*, ConfigurableProperty, gdouble, GError**)) gsettings_configuration_engine_real_set_double_property;
	iface->get_plugin_bool = (gboolean (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gboolean)) gsettings_configuration_engine_real_get_plugin_bool;
	iface->set_plugin_bool = (void (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gboolean)) gsettings_configuration_engine_real_set_plugin_bool;
	iface->get_plugin_double = (gdouble (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gdouble)) gsettings_configuration_engine_real_get_plugin_double;
	iface->set_plugin_double = (void (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gdouble)) gsettings_configuration_engine_real_set_plugin_double;
	iface->get_plugin_int = (gint (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gint)) gsettings_configuration_engine_real_get_plugin_int;
	iface->set_plugin_int = (void (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gint)) gsettings_configuration_engine_real_set_plugin_int;
	iface->get_plugin_string = (gchar* (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_get_plugin_string;
	iface->set_plugin_string = (void (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_set_plugin_string;
	iface->unset_plugin_key = (void (*) (ConfigurationEngine*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_unset_plugin_key;
	iface->is_plugin_enabled = (FuzzyPropertyState (*) (ConfigurationEngine*, const gchar*)) gsettings_configuration_engine_real_is_plugin_enabled;
	iface->set_plugin_enabled = (void (*) (ConfigurationEngine*, const gchar*, gboolean)) gsettings_configuration_engine_real_set_plugin_enabled;
}

static void
gsettings_configuration_engine_instance_init (GSettingsConfigurationEngine * self,
                                              gpointer klass)
{
	GeeHashMap* _tmp0_;
	gchar* _tmp1_;
	self->priv = gsettings_configuration_engine_get_instance_private (self);
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, g_settings_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
	self->priv->settings_cache = _tmp0_;
	_tmp1_ = g_strdup ("");
	self->priv->profile = _tmp1_;
}

static void
gsettings_configuration_engine_finalize (GObject * obj)
{
	GSettingsConfigurationEngine * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine);
	self->priv->schema_names = (_vala_array_free (self->priv->schema_names, self->priv->schema_names_length1, (GDestroyNotify) g_free), NULL);
	self->priv->key_names = (_vala_array_free (self->priv->key_names, self->priv->key_names_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (self->priv->settings_cache);
	_g_free0 (self->priv->profile);
	G_OBJECT_CLASS (gsettings_configuration_engine_parent_class)->finalize (obj);
}

static GType
gsettings_configuration_engine_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GSettingsConfigurationEngineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gsettings_configuration_engine_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GSettingsConfigurationEngine), 0, (GInstanceInitFunc) gsettings_configuration_engine_instance_init, NULL };
	static const GInterfaceInfo configuration_engine_info = { (GInterfaceInitFunc) gsettings_configuration_engine_configuration_engine_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType gsettings_configuration_engine_type_id;
	gsettings_configuration_engine_type_id = g_type_register_static (G_TYPE_OBJECT, "GSettingsConfigurationEngine", &g_define_type_info, 0);
	g_type_add_interface_static (gsettings_configuration_engine_type_id, TYPE_CONFIGURATION_ENGINE, &configuration_engine_info);
	GSettingsConfigurationEngine_private_offset = g_type_add_instance_private (gsettings_configuration_engine_type_id, sizeof (GSettingsConfigurationEnginePrivate));
	return gsettings_configuration_engine_type_id;
}

GType
gsettings_configuration_engine_get_type (void)
{
	static volatile gsize gsettings_configuration_engine_type_id__once = 0;
	if (g_once_init_enter (&gsettings_configuration_engine_type_id__once)) {
		GType gsettings_configuration_engine_type_id;
		gsettings_configuration_engine_type_id = gsettings_configuration_engine_get_type_once ();
		g_once_init_leave (&gsettings_configuration_engine_type_id__once, gsettings_configuration_engine_type_id);
	}
	return gsettings_configuration_engine_type_id__once;
}

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

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

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

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

