diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
commit | 143bfc9f801c84428074312d661f8e08803df83b (patch) | |
tree | 59a8a447529bd9ce3807aa8bacef861dc5aafd70 /src/AppDirs.c | |
parent | 29a7aef998e975b42401cfa96d1b750d91eadf06 (diff) |
Imported Upstream version 0.23.5upstream/0.23.5
Diffstat (limited to 'src/AppDirs.c')
-rw-r--r-- | src/AppDirs.c | 2710 |
1 files changed, 2710 insertions, 0 deletions
diff --git a/src/AppDirs.c b/src/AppDirs.c new file mode 100644 index 0000000..056b390 --- /dev/null +++ b/src/AppDirs.c @@ -0,0 +1,2710 @@ +/* AppDirs.c generated by valac 0.32.1, the Vala compiler + * generated from AppDirs.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.h> +#include <glib-object.h> +#include <gio/gio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <glib/gi18n-lib.h> +#include <glib/gstdio.h> +#include <time.h> +#include <gobject/gvaluecollector.h> + + +#define TYPE_APP_DIRS (app_dirs_get_type ()) +#define APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_DIRS, AppDirs)) +#define APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_DIRS, AppDirsClass)) +#define IS_APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_DIRS)) +#define IS_APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_DIRS)) +#define APP_DIRS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_DIRS, AppDirsClass)) + +typedef struct _AppDirs AppDirs; +typedef struct _AppDirsClass AppDirsClass; +typedef struct _AppDirsPrivate AppDirsPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +typedef struct _ParamSpecAppDirs ParamSpecAppDirs; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _AppDirs { + GTypeInstance parent_instance; + volatile int ref_count; + AppDirsPrivate * priv; +}; + +struct _AppDirsClass { + GTypeClass parent_class; + void (*finalize) (AppDirs *self); +}; + +struct _ParamSpecAppDirs { + GParamSpec parent_instance; +}; + + +static gpointer app_dirs_parent_class = NULL; +static GFile* app_dirs_exec_dir; +static GFile* app_dirs_exec_dir = NULL; +static GFile* app_dirs_data_dir; +static GFile* app_dirs_data_dir = NULL; +static GFile* app_dirs_tmp_dir; +static GFile* app_dirs_tmp_dir = NULL; +static GFile* app_dirs_libexec_dir; +static GFile* app_dirs_libexec_dir = NULL; + +gpointer app_dirs_ref (gpointer instance); +void app_dirs_unref (gpointer instance); +GParamSpec* param_spec_app_dirs (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_app_dirs (GValue* value, gpointer v_object); +void value_take_app_dirs (GValue* value, gpointer v_object); +gpointer value_get_app_dirs (const GValue* value); +GType app_dirs_get_type (void) G_GNUC_CONST; +enum { + APP_DIRS_DUMMY_PROPERTY +}; +#define APP_DIRS_DEFAULT_DATA_DIR "shotwell" +void app_dirs_init (const gchar* arg0); +void app_dirs_terminate (void); +GFile* app_dirs_get_home_dir (void); +GFile* app_dirs_get_cache_dir (void); +void app_dirs_try_migrate_data (void); +GFile* app_dirs_get_user_plugins_dir (void); +GFile* app_dirs_get_data_dir (void); +void app_window_panic (const gchar* msg); +void app_dirs_set_data_dir (const gchar* user_data_dir); +gboolean is_string_empty (const gchar* s); +gchar* strip_pretty_path (const gchar* path); +void app_dirs_verify_data_dir (void); +void app_dirs_verify_cache_dir (void); +GFile* app_dirs_get_libexec_dir (void); +GFile* app_dirs_get_install_dir (void); +GFile* app_dirs_get_exec_dir (void); +#define RESOURCES_LIBEXECDIR _LIBEXECDIR +GFile* get_sys_install_dir (GFile* exec_dir); +GFile* app_dirs_get_import_dir (void); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_import_dir (ConfigurationFacade* self); +GFile* app_dirs_get_baked_import_dir (time_t tm); +gchar* configuration_facade_get_directory_pattern (ConfigurationFacade* self); +gchar* configuration_facade_get_directory_pattern_custom (ConfigurationFacade* self); +gboolean app_dirs_is_in_import_dir (GFile* file); +void app_dirs_set_import_dir (const gchar* path); +void configuration_facade_set_import_dir (ConfigurationFacade* self, const gchar* import_dir); +GFile* app_dirs_get_temp_dir (void); +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname); +void app_dirs_ensure_writable (GFile* dir); +GFile* app_dirs_get_cache_subdir (const gchar* name, const gchar* subname); +GFile* app_dirs_get_resources_dir (void); +GFile* app_dirs_get_lib_dir (void); +#define RESOURCES_LIB _LIB +GFile* app_dirs_get_system_plugins_dir (void); +GFile* app_dirs_get_log_file (void); +GFile* app_dirs_get_thumbnailer_bin (void); +GFile* app_dirs_get_settings_migrator_bin (void); +AppDirs* app_dirs_new (void); +AppDirs* app_dirs_construct (GType object_type); +static void app_dirs_finalize (AppDirs* obj); + + +void app_dirs_init (const gchar* arg0) { + GFile* exec_file = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (arg0 != NULL); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = arg0; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_find_program_in_path (_tmp0_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = realpath (_tmp2_, NULL); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp4_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp2_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + exec_file = _tmp6_; +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_parent (exec_file); +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_exec_dir); +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_exec_dir = _tmp7_; +#line 16 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (exec_file); +#line 186 "AppDirs.c" +} + + +void app_dirs_terminate (void) { +} + + +GFile* app_dirs_get_home_dir (void) { + GFile* result = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = g_get_home_dir (); +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_file_new_for_path (_tmp0_); +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 206 "AppDirs.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + return self ? g_object_ref (self) : NULL; +#line 213 "AppDirs.c" +} + + +GFile* app_dirs_get_cache_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_data_dir; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_ == NULL) { +#line 225 "AppDirs.c" + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_get_user_cache_dir (); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, APP_DIRS_DEFAULT_DATA_DIR); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp5_; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 244 "AppDirs.c" + } else { + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_data_dir; +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp7_; +#line 256 "AppDirs.c" + } +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 262 "AppDirs.c" +} + + +void app_dirs_try_migrate_data (void) { + GFile* user_plugin_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* old_dir = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFile* new_dir = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + GFile* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + GFile* cache_dir = NULL; + GFile* _tmp30_ = NULL; + mode_t mask = {0}; + mode_t _tmp31_ = {0}; + GFile* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + GFile* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + GFile* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + GFile* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + GFile* _tmp54_ = NULL; + GFile* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + GFile* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + GFile* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + GFile* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + mode_t _tmp80_ = {0}; + GError * _inner_error_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_user_plugins_dir (); +#line 38 "/home/jens/Source/shotwell/src/AppDirs.vala" + user_plugin_dir = _tmp0_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_get_home_dir (); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp2_, ".gnome2"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, "shotwell"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_child (_tmp6_, "plugins"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp6_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp2_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + old_dir = _tmp8_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = old_dir; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_query_exists (_tmp10_, NULL); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp11_) { +#line 355 "AppDirs.c" + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = user_plugin_dir; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_file_get_parent (_tmp12_); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_file_query_exists (_tmp14_, NULL); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = !_tmp15_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp14_); +#line 372 "AppDirs.c" + } else { +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = FALSE; +#line 376 "AppDirs.c" + } +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp9_) { +#line 380 "AppDirs.c" + { + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = user_plugin_dir; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = g_file_get_parent (_tmp16_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _tmp17_; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp18_, NULL, &_inner_error_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp18_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 397 "AppDirs.c" + goto __catch432_g_error; + } + } + goto __finally432; + __catch432_g_error: + { + GError* err = NULL; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 411 "AppDirs.c" + } + __finally432: +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 426 "AppDirs.c" + } + } + { + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = old_dir; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = user_plugin_dir; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_move (_tmp19_, _tmp20_, G_FILE_COPY_NONE, NULL, NULL, NULL, &_inner_error_); +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 440 "AppDirs.c" + goto __catch433_g_error; + } + } + goto __finally433; + __catch433_g_error: + { + GError* err = NULL; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 454 "AppDirs.c" + } + __finally433: +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 469 "AppDirs.c" + } +#line 53 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = app_dirs_get_data_dir (); +#line 53 "/home/jens/Source/shotwell/src/AppDirs.vala" + new_dir = _tmp21_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = app_dirs_get_home_dir (); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = _tmp22_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = g_file_get_child (_tmp23_, ".shotwell"); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + old_dir = _tmp24_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp23_); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = new_dir; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp27_ = g_file_query_exists (_tmp26_, NULL); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp27_) { +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = TRUE; +#line 495 "AppDirs.c" + } else { + GFile* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp28_ = old_dir; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp29_ = g_file_query_exists (_tmp28_, NULL); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = !_tmp29_; +#line 505 "AppDirs.c" + } +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp25_) { +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 517 "AppDirs.c" + } +#line 58 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp30_ = app_dirs_get_cache_dir (); +#line 58 "/home/jens/Source/shotwell/src/AppDirs.vala" + cache_dir = _tmp30_; +#line 59 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp31_ = umask ((mode_t) 0077); +#line 59 "/home/jens/Source/shotwell/src/AppDirs.vala" + mask = _tmp31_; +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp32_ = cache_dir; +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp33_ = g_file_query_exists (_tmp32_, NULL); +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp33_) { +#line 533 "AppDirs.c" + { + GFile* _tmp34_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp34_ = cache_dir; +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp34_, NULL, &_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 542 "AppDirs.c" + goto __catch434_g_error; + } + } + goto __finally434; + __catch434_g_error: + { + GError* err = NULL; + const gchar* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GError* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp35_ = _ ("Unable to create cache directory %s: %s"); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp36_ = cache_dir; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp38_ = _tmp37_; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp39_ = err; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp40_ = _tmp39_->message; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp41_ = g_strdup_printf (_tmp35_, _tmp38_, _tmp40_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp42_ = _tmp41_; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp42_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp42_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp38_); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 586 "AppDirs.c" + } + __finally434: +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 605 "AppDirs.c" + } + } +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp43_ = old_dir; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp44_ = g_file_get_child (_tmp43_, "thumbs"); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp45_ = _tmp44_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp46_ = g_file_get_path (_tmp45_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp47_ = _tmp46_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp48_ = cache_dir; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp49_ = g_file_get_child (_tmp48_, "thumbs"); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp50_ = _tmp49_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp51_ = g_file_get_path (_tmp50_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp52_ = _tmp51_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_rename (_tmp47_, _tmp52_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp52_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp50_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp47_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp45_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp53_ = new_dir; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp54_ = g_file_get_parent (_tmp53_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp55_ = _tmp54_; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp56_ = g_file_query_exists (_tmp55_, NULL); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp57_ = !_tmp56_; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp55_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp57_) { +#line 652 "AppDirs.c" + { + GFile* _tmp58_ = NULL; + GFile* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp58_ = new_dir; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp59_ = g_file_get_parent (_tmp58_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp60_ = _tmp59_; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp60_, NULL, &_inner_error_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp60_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 669 "AppDirs.c" + goto __catch435_g_error; + } + } + goto __finally435; + __catch435_g_error: + { + GError* err = NULL; + const gchar* _tmp61_ = NULL; + GFile* _tmp62_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + GError* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp61_ = _ ("Unable to create data directory %s: %s"); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp62_ = new_dir; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp63_ = g_file_get_parent (_tmp62_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp64_ = _tmp63_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp65_ = g_file_get_path (_tmp64_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp66_ = _tmp65_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp67_ = err; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp68_ = _tmp67_->message; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp69_ = g_strdup_printf (_tmp61_, _tmp66_, _tmp68_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp70_ = _tmp69_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp70_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp70_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp66_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp64_); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 721 "AppDirs.c" + } + __finally435: +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 740 "AppDirs.c" + } + } +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp71_ = old_dir; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp72_ = g_file_get_path (_tmp71_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp73_ = _tmp72_; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp74_ = new_dir; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp75_ = g_file_get_path (_tmp74_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp76_ = _tmp75_; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_rename (_tmp73_, _tmp76_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp76_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp73_); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp77_ = new_dir; +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp78_ = g_file_get_path (_tmp77_); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp79_ = _tmp78_; +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_chmod (_tmp79_, 0700); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp79_); +#line 81 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp80_ = mask; +#line 81 "/home/jens/Source/shotwell/src/AppDirs.vala" + umask (_tmp80_); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 783 "AppDirs.c" +} + + +void app_dirs_set_data_dir (const gchar* user_data_dir) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gchar* path = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (user_data_dir != NULL); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = user_data_dir; +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _vala_return_if_fail (!_tmp1_, "!is_string_empty(user_data_dir)"); +#line 86 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = app_dirs_data_dir; +#line 86 "/home/jens/Source/shotwell/src/AppDirs.vala" + _vala_assert (_tmp2_ == NULL, "data_dir == null"); +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = user_data_dir; +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = strip_pretty_path (_tmp3_); +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp4_; +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = path; +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_path_is_absolute (_tmp5_); +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp6_) { +#line 823 "AppDirs.c" + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_home_dir (); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = path; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp8_, _tmp9_); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_data_dir); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_data_dir = _tmp10_; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp8_); +#line 842 "AppDirs.c" + } else { + const gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = path; +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_new_for_path (_tmp11_); +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_data_dir); +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_data_dir = _tmp12_; +#line 854 "AppDirs.c" + } +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = app_dirs_data_dir; +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_message ("AppDirs.vala:95: Setting private data directory to %s", _tmp15_); +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 868 "AppDirs.c" +} + + +void app_dirs_verify_data_dir (void) { + GFile* data_dir = NULL; + GFile* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 99 "/home/jens/Source/shotwell/src/AppDirs.vala" + data_dir = _tmp0_; +#line 880 "AppDirs.c" + { + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = data_dir; +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_query_exists (_tmp1_, NULL); +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp2_) { +#line 890 "AppDirs.c" + GFile* _tmp3_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = data_dir; +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp3_, NULL, &_inner_error_); +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 898 "AppDirs.c" + goto __catch436_g_error; + } + } + } + goto __finally436; + __catch436_g_error: + { + GError* err = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _ ("Unable to create data directory %s: %s"); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = data_dir; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = err; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_->message; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_strdup_printf (_tmp4_, _tmp7_, _tmp9_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp11_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp11_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp7_); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 943 "AppDirs.c" + } + __finally436: +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (data_dir); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 956 "AppDirs.c" + } +#line 98 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (data_dir); +#line 960 "AppDirs.c" +} + + +void app_dirs_verify_cache_dir (void) { + GFile* cache_dir = NULL; + GFile* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_cache_dir (); +#line 110 "/home/jens/Source/shotwell/src/AppDirs.vala" + cache_dir = _tmp0_; +#line 972 "AppDirs.c" + { + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = cache_dir; +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_query_exists (_tmp1_, NULL); +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp2_) { +#line 982 "AppDirs.c" + GFile* _tmp3_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = cache_dir; +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp3_, NULL, &_inner_error_); +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 990 "AppDirs.c" + goto __catch437_g_error; + } + } + } + goto __finally437; + __catch437_g_error: + { + GError* err = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _ ("Unable to create cache directory %s: %s"); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = cache_dir; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = err; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_->message; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_strdup_printf (_tmp4_, _tmp7_, _tmp9_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp11_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp11_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp7_); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1035 "AppDirs.c" + } + __finally437: +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 1048 "AppDirs.c" + } +#line 109 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 1052 "AppDirs.c" +} + + +/** + * @brief Returns the build directory if not installed yet, or a path + * to where any helper applets we need will live if installed. + */ +GFile* app_dirs_get_libexec_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_libexec_dir; +#line 125 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ == NULL) { +#line 1069 "AppDirs.c" + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_get_install_dir (); +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_ == NULL; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp2_); +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp3_) { +#line 1083 "AppDirs.c" + GFile* _tmp4_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = app_dirs_get_exec_dir (); +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_libexec_dir); +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_libexec_dir = _tmp4_; +#line 1091 "AppDirs.c" + } else { + GFile* _tmp5_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (RESOURCES_LIBEXECDIR); +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_libexec_dir); +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_libexec_dir = _tmp5_; +#line 1100 "AppDirs.c" + } + } +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_libexec_dir; +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp7_; +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1111 "AppDirs.c" +} + + +GFile* app_dirs_get_install_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_exec_dir; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = get_sys_install_dir (_tmp0_); +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1127 "AppDirs.c" +} + + +GFile* app_dirs_get_data_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_data_dir; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_ == NULL) { +#line 1139 "AppDirs.c" + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_get_user_data_dir (); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, APP_DIRS_DEFAULT_DATA_DIR); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp5_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 1158 "AppDirs.c" + } else { + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_data_dir; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp7_; +#line 1170 "AppDirs.c" + } +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp0_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1176 "AppDirs.c" +} + + +GFile* app_dirs_get_import_dir (void) { + GFile* result = NULL; + gchar* path = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = configuration_facade_get_import_dir (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp3_; +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = path; +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = is_string_empty (_tmp4_); +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp5_) { +#line 1216 "AppDirs.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = path; +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = strip_pretty_path (_tmp6_); +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp7_; +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = path; +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_path_is_absolute (_tmp8_); +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp9_) { +#line 1237 "AppDirs.c" + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = app_dirs_get_home_dir (); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = path; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_file_get_child (_tmp11_, _tmp12_); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp14_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1261 "AppDirs.c" + } +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = path; +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp16_; +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1273 "AppDirs.c" + } +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp18_; +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = path; +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = is_string_empty (_tmp19_); +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp20_) { +#line 1289 "AppDirs.c" + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = path; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = g_file_new_for_path (_tmp21_); +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp22_; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1302 "AppDirs.c" + } +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = app_dirs_get_home_dir (); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = _tmp23_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = _ ("Pictures"); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = g_file_get_child (_tmp24_, _tmp25_); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp27_ = _tmp26_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp24_); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp27_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1322 "AppDirs.c" +} + + +GFile* app_dirs_get_baked_import_dir (time_t tm) { + GFile* result = NULL; + gchar* pattern = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GDateTime* date = NULL; + time_t _tmp12_ = 0; + GDateTime* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = configuration_facade_get_directory_pattern (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp3_; +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = pattern; +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = is_string_empty (_tmp4_); +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp5_) { +#line 1371 "AppDirs.c" + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = config_facade_get_instance (); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = configuration_facade_get_directory_pattern_custom (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp8_; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp7_); +#line 1387 "AppDirs.c" + } +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = pattern; +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = is_string_empty (_tmp9_); +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp10_) { +#line 1395 "AppDirs.c" + gchar* _tmp11_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_strdup ("%Y" G_DIR_SEPARATOR_S "%m" G_DIR_SEPARATOR_S "%d"); +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp11_; +#line 1403 "AppDirs.c" + } +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = tm; +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_date_time_new_from_unix_local ((gint64) _tmp12_); +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + date = _tmp13_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = app_dirs_get_import_dir (); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = _tmp16_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strconcat (_tmp17_, G_DIR_SEPARATOR_S, NULL); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = pattern; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = g_date_time_format (date, _tmp20_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = _tmp21_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = g_strconcat (_tmp19_, _tmp22_, NULL); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = _tmp23_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = g_file_new_for_path (_tmp24_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = _tmp25_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp24_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp22_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp17_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp15_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp26_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_date_time_unref0 (date); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1455 "AppDirs.c" +} + + +gboolean app_dirs_is_in_import_dir (GFile* file) { + gboolean result = FALSE; + GFile* import_dir = NULL; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 184 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 185 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_import_dir (); +#line 185 "/home/jens/Source/shotwell/src/AppDirs.vala" + import_dir = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = file; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = import_dir; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_has_prefix (_tmp2_, _tmp3_); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp4_) { +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = TRUE; +#line 1483 "AppDirs.c" + } else { + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = file; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = import_dir; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_equal (_tmp5_, _tmp6_); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 1496 "AppDirs.c" + } +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (import_dir); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1504 "AppDirs.c" +} + + +void app_dirs_set_import_dir (const gchar* path) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (path != NULL); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = path; +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + configuration_facade_set_import_dir (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 1524 "AppDirs.c" +} + + +GFile* app_dirs_get_exec_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_exec_dir; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1540 "AppDirs.c" +} + + +GFile* app_dirs_get_temp_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GError * _inner_error_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_tmp_dir; +#line 199 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ == NULL) { +#line 1554 "AppDirs.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_get_tmp_dir (); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_strconcat (_tmp1_, "/shotwell-XXXXXX", NULL); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = mkdtemp (_tmp2_); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_tmp_dir); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_tmp_dir = _tmp5_; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp4_); +#line 1576 "AppDirs.c" + { + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_tmp_dir; +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 1586 "AppDirs.c" + GFile* _tmp8_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_tmp_dir; +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp8_, NULL, &_inner_error_); +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1594 "AppDirs.c" + goto __catch438_g_error; + } + } + } + goto __finally438; + __catch438_g_error: + { + GError* err = NULL; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _ ("Unable to create temporary directory %s: %s"); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = app_dirs_tmp_dir; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_get_path (_tmp10_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = _tmp11_; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = err; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_->message; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_strdup_printf (_tmp9_, _tmp12_, _tmp14_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _tmp15_; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp16_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp16_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp12_); +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1639 "AppDirs.c" + } + __finally438: +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 1650 "AppDirs.c" + } + } +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = app_dirs_tmp_dir; +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp18_; +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1661 "AppDirs.c" +} + + +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname) { + GFile* result = NULL; + GFile* subdir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = name; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp1_, _tmp2_); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp4_; +#line 216 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = subname; +#line 216 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp5_ != NULL) { +#line 1695 "AppDirs.c" + GFile* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = subdir; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = subname; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = g_file_get_child (_tmp6_, _tmp7_); +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp8_; +#line 1709 "AppDirs.c" + } + { + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = subdir; +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_query_exists (_tmp9_, NULL); +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp10_) { +#line 1720 "AppDirs.c" + GFile* _tmp11_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = subdir; +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp11_, NULL, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1728 "AppDirs.c" + goto __catch439_g_error; + } + } + } + goto __finally439; + __catch439_g_error: + { + GError* err = NULL; + const gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = _ ("Unable to create data subdirectory %s: %s"); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = subdir; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = err; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = _tmp16_->message; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strdup_printf (_tmp12_, _tmp15_, _tmp17_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp19_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1773 "AppDirs.c" + } + __finally439: +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 1786 "AppDirs.c" + } +#line 227 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = subdir; +#line 227 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1792 "AppDirs.c" +} + + +void app_dirs_ensure_writable (GFile* dir) { + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GError * _inner_error_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = dir; +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_file_query_exists (_tmp0_, NULL); +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_) { +#line 1808 "AppDirs.c" + { + GFileInfo* info = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + guint32 mode = 0U; + GFileInfo* _tmp4_ = NULL; + guint32 _tmp5_ = 0U; + gboolean _tmp6_ = FALSE; + GFile* _tmp7_ = NULL; + guint32 _tmp8_ = 0U; + gboolean _tmp9_ = FALSE; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = dir; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_query_info (_tmp2_, G_FILE_ATTRIBUTE_UNIX_MODE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + info = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1828 "AppDirs.c" + goto __catch440_g_error; + } +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = info; +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_info_get_attribute_uint32 (_tmp4_, G_FILE_ATTRIBUTE_UNIX_MODE); +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + mode = _tmp5_ | 0700; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = dir; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = mode; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_set_attribute_uint32 (_tmp7_, G_FILE_ATTRIBUTE_UNIX_MODE, _tmp8_, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp9_; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (info); +#line 1849 "AppDirs.c" + goto __catch440_g_error; + } +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp6_) { +#line 1854 "AppDirs.c" + const gchar* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = _ ("Could not make directory %s writable"); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = dir; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = _tmp12_; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_strdup_printf (_tmp10_, _tmp13_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp13_); +#line 1879 "AppDirs.c" + } +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (info); +#line 1883 "AppDirs.c" + } + goto __finally440; + __catch440_g_error: + { + GError* err = NULL; + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _ ("Could not make directory %s writable: %s"); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = dir; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_file_get_path (_tmp17_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = err; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = _tmp20_->message; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = g_strdup_printf (_tmp16_, _tmp19_, _tmp21_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = _tmp22_; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp23_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp23_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1925 "AppDirs.c" + } + __finally440: +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 1936 "AppDirs.c" + } + } +} + + +GFile* app_dirs_get_cache_subdir (const gchar* name, const gchar* subname) { + GFile* result = NULL; + GFile* subdir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GFile* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_cache_dir (); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = name; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp1_, _tmp2_); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp4_; +#line 246 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = subdir; +#line 246 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ensure_writable (_tmp5_); +#line 247 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = subname; +#line 247 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp6_ != NULL) { +#line 1978 "AppDirs.c" + GFile* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = subdir; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = subname; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_get_child (_tmp7_, _tmp8_); +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp9_; +#line 1992 "AppDirs.c" + } + { + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = subdir; +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_query_exists (_tmp10_, NULL); +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp11_) { +#line 2003 "AppDirs.c" + GFile* _tmp12_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = subdir; +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp12_, NULL, &_inner_error_); +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2011 "AppDirs.c" + goto __catch441_g_error; + } + } + } + goto __finally441; + __catch441_g_error: + { + GError* err = NULL; + const gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = _ ("Unable to create data subdirectory %s: %s"); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = subdir; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _tmp15_; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = err; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _tmp17_->message; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = g_strdup_printf (_tmp13_, _tmp16_, _tmp18_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = _tmp19_; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp20_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp20_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp16_); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 2056 "AppDirs.c" + } + __finally441: +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2069 "AppDirs.c" + } +#line 257 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = subdir; +#line 257 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ensure_writable (_tmp21_); +#line 258 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = subdir; +#line 258 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2079 "AppDirs.c" +} + + +GFile* app_dirs_get_resources_dir (void) { + GFile* result = NULL; + GFile* install_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_install_dir (); +#line 262 "/home/jens/Source/shotwell/src/AppDirs.vala" + install_dir = _tmp0_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = install_dir; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp2_ != NULL) { +#line 2097 "AppDirs.c" + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = install_dir; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, "share"); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_child (_tmp5_, "shotwell"); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp6_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp5_); +#line 2116 "AppDirs.c" + } else { + GFile* _tmp7_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_exec_dir (); +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 2125 "AppDirs.c" + } +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (install_dir); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2133 "AppDirs.c" +} + + +GFile* app_dirs_get_lib_dir (void) { + GFile* result = NULL; + GFile* install_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_install_dir (); +#line 269 "/home/jens/Source/shotwell/src/AppDirs.vala" + install_dir = _tmp0_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = install_dir; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp2_ != NULL) { +#line 2151 "AppDirs.c" + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = install_dir; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, RESOURCES_LIB); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_child (_tmp5_, "shotwell"); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp6_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp5_); +#line 2170 "AppDirs.c" + } else { + GFile* _tmp7_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_exec_dir (); +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 2179 "AppDirs.c" + } +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (install_dir); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2187 "AppDirs.c" +} + + +GFile* app_dirs_get_system_plugins_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_lib_dir (); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "plugins"); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2211 "AppDirs.c" +} + + +GFile* app_dirs_get_user_plugins_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "plugins"); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2235 "AppDirs.c" +} + + +GFile* app_dirs_get_log_file (void) { + GFile* result = NULL; + const gchar* _tmp0_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 284 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ != NULL) { +#line 2246 "AppDirs.c" + const gchar* _tmp1_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 285 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (g_strcmp0 (_tmp1_, ":console:") == 0) { +#line 286 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = NULL; +#line 286 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2256 "AppDirs.c" + } else { + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2268 "AppDirs.c" + } + } else { + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_get_user_cache_dir (); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_child (_tmp6_, "shotwell"); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_get_child (_tmp8_, "shotwell.log"); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = _tmp9_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp8_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp6_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp10_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2300 "AppDirs.c" + } +} + + +GFile* app_dirs_get_thumbnailer_bin (void) { + GFile* result = NULL; +#line 297 "/home/jens/Source/shotwell/src/AppDirs.vala" + static const char filename[] = "shotwell-video-thumbnailer"; +#line 2309 "AppDirs.c" + GFile* f = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_libexec_dir (); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "thumbnailer"); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, filename); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp3_); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp5_; +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = f; +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 2343 "AppDirs.c" + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_get_libexec_dir (); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp9_, "shotwell"); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_child (_tmp11_, filename); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (f); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp12_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp9_); +#line 2367 "AppDirs.c" + } +#line 303 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = f; +#line 303 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2373 "AppDirs.c" +} + + +GFile* app_dirs_get_settings_migrator_bin (void) { + GFile* result = NULL; +#line 307 "/home/jens/Source/shotwell/src/AppDirs.vala" + static const char filename[] = "shotwell-settings-migrator"; +#line 2381 "AppDirs.c" + GFile* f = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_libexec_dir (); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "settings-migrator"); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, filename); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp3_); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp5_; +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = f; +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 2415 "AppDirs.c" + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_get_libexec_dir (); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp9_, "shotwell"); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_child (_tmp11_, filename); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (f); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp12_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp9_); +#line 2439 "AppDirs.c" + } +#line 313 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = f; +#line 313 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2445 "AppDirs.c" +} + + +AppDirs* app_dirs_construct (GType object_type) { + AppDirs* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self = (AppDirs*) g_type_create_instance (object_type); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return self; +#line 2455 "AppDirs.c" +} + + +AppDirs* app_dirs_new (void) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return app_dirs_construct (TYPE_APP_DIRS); +#line 2462 "AppDirs.c" +} + + +static void value_app_dirs_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2469 "AppDirs.c" +} + + +static void value_app_dirs_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (value->data[0].v_pointer); +#line 2478 "AppDirs.c" + } +} + + +static void value_app_dirs_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + dest_value->data[0].v_pointer = app_dirs_ref (src_value->data[0].v_pointer); +#line 2488 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + dest_value->data[0].v_pointer = NULL; +#line 2492 "AppDirs.c" + } +} + + +static gpointer value_app_dirs_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return value->data[0].v_pointer; +#line 2500 "AppDirs.c" +} + + +static gchar* value_app_dirs_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (collect_values[0].v_pointer) { +#line 2507 "AppDirs.c" + AppDirs* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2514 "AppDirs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2518 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = app_dirs_ref (object); +#line 2522 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2526 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2530 "AppDirs.c" +} + + +static gchar* value_app_dirs_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AppDirs** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2541 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = NULL; +#line 2547 "AppDirs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = value->data[0].v_pointer; +#line 2551 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = app_dirs_ref (value->data[0].v_pointer); +#line 2555 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2559 "AppDirs.c" +} + + +GParamSpec* param_spec_app_dirs (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAppDirs* spec; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_APP_DIRS), NULL); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return G_PARAM_SPEC (spec); +#line 2573 "AppDirs.c" +} + + +gpointer value_get_app_dirs (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS), NULL); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return value->data[0].v_pointer; +#line 2582 "AppDirs.c" +} + + +void value_set_app_dirs (GValue* value, gpointer v_object) { + AppDirs* old; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ref (value->data[0].v_pointer); +#line 2602 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2606 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (old); +#line 2612 "AppDirs.c" + } +} + + +void value_take_app_dirs (GValue* value, gpointer v_object) { + AppDirs* old; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = v_object; +#line 2631 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2635 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (old); +#line 2641 "AppDirs.c" + } +} + + +static void app_dirs_class_init (AppDirsClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + ((AppDirsClass *) klass)->finalize = app_dirs_finalize; +#line 2651 "AppDirs.c" +} + + +static void app_dirs_instance_init (AppDirs * self) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self->ref_count = 1; +#line 2658 "AppDirs.c" +} + + +static void app_dirs_finalize (AppDirs* obj) { + AppDirs * self; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_APP_DIRS, AppDirs); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_signal_handlers_destroy (self); +#line 2668 "AppDirs.c" +} + + +GType app_dirs_get_type (void) { + static volatile gsize app_dirs_type_id__volatile = 0; + if (g_once_init_enter (&app_dirs_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_app_dirs_init, value_app_dirs_free_value, value_app_dirs_copy_value, value_app_dirs_peek_pointer, "p", value_app_dirs_collect_value, "p", value_app_dirs_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AppDirsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) app_dirs_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AppDirs), 0, (GInstanceInitFunc) app_dirs_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType app_dirs_type_id; + app_dirs_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AppDirs", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&app_dirs_type_id__volatile, app_dirs_type_id); + } + return app_dirs_type_id__volatile; +} + + +gpointer app_dirs_ref (gpointer instance) { + AppDirs* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return instance; +#line 2693 "AppDirs.c" +} + + +void app_dirs_unref (gpointer instance) { + AppDirs* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + APP_DIRS_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2706 "AppDirs.c" + } +} + + + |