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

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

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


#define TYPE_MEDIA_METADATA (media_metadata_get_type ())
#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata))
#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass))
#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA))
#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA))
#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass))

typedef struct _MediaMetadata MediaMetadata;
typedef struct _MediaMetadataClass MediaMetadataClass;

#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ())
#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime))
#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass))
#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME))
#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME))
#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass))

typedef struct _MetadataDateTime MetadataDateTime;
typedef struct _MetadataDateTimeClass MetadataDateTimeClass;
#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_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 TYPE_VIDEO_READER (video_reader_get_type ())
#define VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_READER, VideoReader))
#define VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_READER, VideoReaderClass))
#define IS_VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_READER))
#define IS_VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_READER))
#define VIDEO_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_READER, VideoReaderClass))

typedef struct _VideoReader VideoReader;
typedef struct _VideoReaderClass VideoReaderClass;

#define TYPE_VIDEO_METADATA (video_metadata_get_type ())
#define VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_METADATA, VideoMetadata))
#define VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_METADATA, VideoMetadataClass))
#define IS_VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_METADATA))
#define IS_VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_METADATA))
#define VIDEO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_METADATA, VideoMetadataClass))

typedef struct _VideoMetadata VideoMetadata;
typedef struct _VideoMetadataClass VideoMetadataClass;
#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL)))
#define _video_reader_unref0(var) ((var == NULL) ? NULL : (var = (video_reader_unref (var), NULL)))

#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ())
#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter))
#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass))
#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER))
#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER))
#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass))

typedef struct _PhotoFileAdapter PhotoFileAdapter;
typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass;

#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ())
#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader))
#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass))
#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER))
#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER))
#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass))

typedef struct _PhotoFileReader PhotoFileReader;
typedef struct _PhotoFileReaderClass PhotoFileReaderClass;

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())

#define TYPE_PHOTO_METADATA (photo_metadata_get_type ())
#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata))
#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass))
#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA))
#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA))
#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass))

typedef struct _PhotoMetadata PhotoMetadata;
typedef struct _PhotoMetadataClass PhotoMetadataClass;
#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL)))

typedef enum  {
	PHOTO_FILE_FORMAT_JFIF,
	PHOTO_FILE_FORMAT_RAW,
	PHOTO_FILE_FORMAT_PNG,
	PHOTO_FILE_FORMAT_TIFF,
	PHOTO_FILE_FORMAT_BMP,
	PHOTO_FILE_FORMAT_UNKNOWN
} PhotoFileFormat;



gpointer media_metadata_ref (gpointer instance);
void media_metadata_unref (gpointer instance);
GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_media_metadata (GValue* value, gpointer v_object);
void value_take_media_metadata (GValue* value, gpointer v_object);
gpointer value_get_media_metadata (const GValue* value);
GType media_metadata_get_type (void) G_GNUC_CONST;
GFile* library_files_generate_unique_file (const gchar* basename, MediaMetadata* metadata, time_t ts, gboolean* collision, GError** error);
gpointer metadata_date_time_ref (gpointer instance);
void metadata_date_time_unref (gpointer instance);
GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_metadata_date_time (GValue* value, gpointer v_object);
void value_take_metadata_date_time (GValue* value, gpointer v_object);
gpointer value_get_metadata_date_time (const GValue* value);
GType metadata_date_time_get_type (void) G_GNUC_CONST;
MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self);
time_t metadata_date_time_get_timestamp (MetadataDateTime* self);
GFile* app_dirs_get_baked_import_dir (time_t tm);
gchar* library_files_convert_basename (const gchar* basename);
GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error);
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
gboolean configuration_facade_get_use_lowercase_filenames (ConfigurationFacade* self);
GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error);
time_t query_file_modified (GFile* file, GError** error);
gboolean video_reader_is_supported_video_file (GFile* file);
gpointer video_reader_ref (gpointer instance);
void video_reader_unref (gpointer instance);
GParamSpec* param_spec_video_reader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_video_reader (GValue* value, gpointer v_object);
void value_take_video_reader (GValue* value, gpointer v_object);
gpointer value_get_video_reader (const GValue* value);
GType video_reader_get_type (void) G_GNUC_CONST;
VideoReader* video_reader_new (GFile* file);
VideoReader* video_reader_construct (GType object_type, GFile* file);
GType video_metadata_get_type (void) G_GNUC_CONST;
VideoMetadata* video_reader_read_metadata (VideoReader* self, GError** error);
gpointer photo_file_adapter_ref (gpointer instance);
void photo_file_adapter_unref (gpointer instance);
GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_photo_file_adapter (GValue* value, gpointer v_object);
void value_take_photo_file_adapter (GValue* value, gpointer v_object);
gpointer value_get_photo_file_adapter (const GValue* value);
GType photo_file_adapter_get_type (void) G_GNUC_CONST;
GType photo_file_reader_get_type (void) G_GNUC_CONST;
GType photo_file_format_get_type (void) G_GNUC_CONST;
PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file);
PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath);
GType photo_metadata_get_type (void) G_GNUC_CONST;
PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error);
void library_monitor_blacklist_file (GFile* file, const gchar* reason);
void library_monitor_unblacklist_file (GFile* file);
gchar* md5_file (GFile* file, GError** error);


static gpointer _g_error_copy0 (gpointer self) {
#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	return self ? g_error_copy (self) : NULL;
#line 188 "LibraryFiles.c"
}


GFile* library_files_generate_unique_file (const gchar* basename, MediaMetadata* metadata, time_t ts, gboolean* collision, GError** error) {
	gboolean _vala_collision = FALSE;
	GFile* result = NULL;
	time_t timestamp = 0;
	time_t _tmp0_;
	MediaMetadata* _tmp1_;
	GFile* dir = NULL;
	time_t _tmp9_;
	GFile* _tmp10_;
	gchar* newbasename = NULL;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	GFile* _tmp17_ = NULL;
	GFile* _tmp18_;
	gboolean _tmp19_ = FALSE;
	GFile* _tmp20_;
	GFile* _tmp21_;
	GError * _inner_error_ = NULL;
#line 13 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	g_return_val_if_fail (basename != NULL, NULL);
#line 13 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	g_return_val_if_fail ((metadata == NULL) || IS_MEDIA_METADATA (metadata), NULL);
#line 18 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp0_ = ts;
#line 18 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	timestamp = _tmp0_;
#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp1_ = metadata;
#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (_tmp1_ != NULL) {
#line 222 "LibraryFiles.c"
		MetadataDateTime* date_time = NULL;
		MediaMetadata* _tmp2_;
		MetadataDateTime* _tmp3_;
		MetadataDateTime* _tmp4_;
#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp2_ = metadata;
#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp3_ = media_metadata_get_creation_date_time (_tmp2_);
#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		date_time = _tmp3_;
#line 21 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp4_ = date_time;
#line 21 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (_tmp4_ != NULL) {
#line 237 "LibraryFiles.c"
			MetadataDateTime* _tmp5_;
			time_t _tmp6_;
#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp5_ = date_time;
#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp6_ = metadata_date_time_get_timestamp (_tmp5_);
#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			timestamp = _tmp6_;
#line 246 "LibraryFiles.c"
		} else {
			time_t _tmp7_;
#line 23 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp7_ = timestamp;
#line 23 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			if (_tmp7_ == ((time_t) 0)) {
#line 253 "LibraryFiles.c"
				time_t _tmp8_;
#line 24 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
				_tmp8_ = time (NULL);
#line 24 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
				timestamp = _tmp8_;
#line 259 "LibraryFiles.c"
			}
		}
#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_metadata_date_time_unref0 (date_time);
#line 264 "LibraryFiles.c"
	}
#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp9_ = timestamp;
#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp10_ = app_dirs_get_baked_import_dir (_tmp9_);
#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	dir = _tmp10_;
#line 272 "LibraryFiles.c"
	{
		GFile* _tmp11_;
#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp11_ = dir;
#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_file_make_directory_with_parents (_tmp11_, NULL, &_inner_error_);
#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 281 "LibraryFiles.c"
			goto __catch463_g_error;
		}
	}
	goto __finally463;
	__catch463_g_error:
	{
		GError* err = NULL;
		GError* _tmp12_;
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		err = _inner_error_;
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_inner_error_ = NULL;
#line 32 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp12_ = err;
#line 32 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (!g_error_matches (_tmp12_, G_IO_ERROR, G_IO_ERROR_EXISTS)) {
#line 298 "LibraryFiles.c"
			GError* _tmp13_;
			GError* _tmp14_;
#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp13_ = err;
#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp14_ = _g_error_copy0 (_tmp13_);
#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_inner_error_ = _tmp14_;
#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_error_free0 (err);
#line 309 "LibraryFiles.c"
			goto __finally463;
		}
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_error_free0 (err);
#line 314 "LibraryFiles.c"
	}
	__finally463:
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (dir);
#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 325 "LibraryFiles.c"
	}
#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp15_ = basename;
#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp16_ = library_files_convert_basename (_tmp15_);
#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	newbasename = _tmp16_;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp18_ = dir;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp20_ = generate_unique_file (_tmp18_, newbasename, &_tmp19_, &_inner_error_);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_vala_collision = _tmp19_;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp17_ = _tmp20_;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_free0 (newbasename);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (dir);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 351 "LibraryFiles.c"
	}
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp21_ = _tmp17_;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp17_ = NULL;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	result = _tmp21_;
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_g_object_unref0 (_tmp17_);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_g_free0 (newbasename);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_g_object_unref0 (dir);
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (collision) {
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		*collision = _vala_collision;
#line 369 "LibraryFiles.c"
	}
#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	return result;
#line 373 "LibraryFiles.c"
}


gchar* library_files_convert_basename (const gchar* basename) {
	gchar* result = NULL;
	ConfigFacade* _tmp0_;
	ConfigFacade* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
#line 46 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	g_return_val_if_fail (basename != NULL, NULL);
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp0_ = config_facade_get_instance ();
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp1_ = _tmp0_;
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp2_ = configuration_facade_get_use_lowercase_filenames (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp3_ = _tmp2_;
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_g_object_unref0 (_tmp1_);
#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (_tmp3_) {
#line 397 "LibraryFiles.c"
		const gchar* _tmp4_;
		gchar* _tmp5_;
#line 48 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp4_ = basename;
#line 48 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp5_ = g_utf8_strdown (_tmp4_, (gssize) -1);
#line 48 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		result = _tmp5_;
#line 48 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return result;
#line 408 "LibraryFiles.c"
	} else {
		const gchar* _tmp6_;
		gchar* _tmp7_;
#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp6_ = basename;
#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp7_ = g_strdup (_tmp6_);
#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		result = _tmp7_;
#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return result;
#line 420 "LibraryFiles.c"
	}
}


GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error) {
	GFile* result = NULL;
	time_t timestamp = 0;
	MediaMetadata* metadata = NULL;
	GFile* _tmp8_;
	gboolean _tmp9_;
	gboolean collision = FALSE;
	GFile* dest = NULL;
	GFile* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	MediaMetadata* _tmp30_;
	time_t _tmp31_;
	gboolean _tmp32_ = FALSE;
	GFile* _tmp33_;
	GFile* _tmp34_;
	GFile* _tmp35_;
	gboolean _tmp37_;
	GError * _inner_error_ = NULL;
#line 57 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	g_return_val_if_fail (G_IS_FILE (src), NULL);
#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	timestamp = (time_t) 0;
#line 448 "LibraryFiles.c"
	{
		time_t _tmp0_ = 0;
		GFile* _tmp1_;
		time_t _tmp2_;
#line 60 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp1_ = src;
#line 60 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp2_ = query_file_modified (_tmp1_, &_inner_error_);
#line 60 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp0_ = _tmp2_;
#line 60 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 461 "LibraryFiles.c"
			goto __catch464_g_error;
		}
#line 60 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		timestamp = _tmp0_;
#line 466 "LibraryFiles.c"
	}
	goto __finally464;
	__catch464_g_error:
	{
		GError* err = NULL;
		GFile* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		GError* _tmp6_;
		const gchar* _tmp7_;
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		err = _inner_error_;
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_inner_error_ = NULL;
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp3_ = src;
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp4_ = g_file_get_path (_tmp3_);
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp5_ = _tmp4_;
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp6_ = err;
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp7_ = _tmp6_->message;
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_critical ("LibraryFiles.vala:62: Unable to access file modification for %s: %s", _tmp5_, _tmp7_);
#line 62 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_free0 (_tmp5_);
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_error_free0 (err);
#line 497 "LibraryFiles.c"
	}
	__finally464:
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 506 "LibraryFiles.c"
	}
#line 65 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	metadata = NULL;
#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp8_ = src;
#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp9_ = video_reader_is_supported_video_file (_tmp8_);
#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (_tmp9_) {
#line 516 "LibraryFiles.c"
		VideoReader* reader = NULL;
		GFile* _tmp10_;
		VideoReader* _tmp11_;
#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp10_ = src;
#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp11_ = video_reader_new (_tmp10_);
#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		reader = _tmp11_;
#line 526 "LibraryFiles.c"
		{
			VideoMetadata* _tmp12_ = NULL;
			VideoReader* _tmp13_;
			VideoMetadata* _tmp14_;
			VideoMetadata* _tmp15_;
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp13_ = reader;
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp14_ = video_reader_read_metadata (_tmp13_, &_inner_error_);
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp12_ = _tmp14_;
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 540 "LibraryFiles.c"
				goto __catch465_g_error;
			}
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp15_ = _tmp12_;
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp12_ = NULL;
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (metadata);
#line 69 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			metadata = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MEDIA_METADATA, MediaMetadata);
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (_tmp12_);
#line 553 "LibraryFiles.c"
		}
		goto __finally465;
		__catch465_g_error:
		{
			GError* err = NULL;
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			err = _inner_error_;
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_inner_error_ = NULL;
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_error_free0 (err);
#line 565 "LibraryFiles.c"
		}
		__finally465:
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			g_propagate_error (error, _inner_error_);
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_video_reader_unref0 (reader);
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (metadata);
#line 68 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			return NULL;
#line 578 "LibraryFiles.c"
		}
#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_video_reader_unref0 (reader);
#line 582 "LibraryFiles.c"
	} else {
		PhotoFileReader* reader = NULL;
		GFile* _tmp16_;
		PhotoFileFormat _tmp17_;
		GFile* _tmp18_;
		gchar* _tmp19_;
		gchar* _tmp20_;
		PhotoFileReader* _tmp21_;
		PhotoFileReader* _tmp22_;
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp16_ = src;
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp17_ = photo_file_format_get_by_file_extension (_tmp16_);
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp18_ = src;
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp19_ = g_file_get_path (_tmp18_);
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp20_ = _tmp19_;
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp21_ = photo_file_format_create_reader (_tmp17_, _tmp20_);
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp22_ = _tmp21_;
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_free0 (_tmp20_);
#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		reader = _tmp22_;
#line 610 "LibraryFiles.c"
		{
			PhotoMetadata* _tmp23_ = NULL;
			PhotoFileReader* _tmp24_;
			PhotoMetadata* _tmp25_;
			PhotoMetadata* _tmp26_;
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp24_ = reader;
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp25_ = photo_file_reader_read_metadata (_tmp24_, &_inner_error_);
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp23_ = _tmp25_;
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 624 "LibraryFiles.c"
				goto __catch466_g_error;
			}
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp26_ = _tmp23_;
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp23_ = NULL;
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (metadata);
#line 77 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			metadata = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_MEDIA_METADATA, MediaMetadata);
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (_tmp23_);
#line 637 "LibraryFiles.c"
		}
		goto __finally466;
		__catch466_g_error:
		{
			GError* err = NULL;
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			err = _inner_error_;
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_inner_error_ = NULL;
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_error_free0 (err);
#line 649 "LibraryFiles.c"
		}
		__finally466:
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			g_propagate_error (error, _inner_error_);
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_photo_file_adapter_unref0 (reader);
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_media_metadata_unref0 (metadata);
#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			return NULL;
#line 662 "LibraryFiles.c"
		}
#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_photo_file_adapter_unref0 (reader);
#line 666 "LibraryFiles.c"
	}
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp27_ = src;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp28_ = g_file_get_basename (_tmp27_);
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp29_ = _tmp28_;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp30_ = metadata;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp31_ = timestamp;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp33_ = library_files_generate_unique_file (_tmp29_, _tmp30_, _tmp31_, &_tmp32_, &_inner_error_);
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	collision = _tmp32_;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp34_ = _tmp33_;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_g_free0 (_tmp29_);
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	dest = _tmp34_;
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_media_metadata_unref0 (metadata);
#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 696 "LibraryFiles.c"
	}
#line 85 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp35_ = dest;
#line 85 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (_tmp35_ == NULL) {
#line 702 "LibraryFiles.c"
		GError* _tmp36_;
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp36_ = g_error_new_literal (G_FILE_ERROR, G_FILE_ERROR_FAILED, "Unable to generate unique pathname for destination");
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_inner_error_ = _tmp36_;
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (dest);
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_media_metadata_unref0 (metadata);
#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 716 "LibraryFiles.c"
	}
#line 88 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_tmp37_ = blacklist;
#line 88 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (_tmp37_) {
#line 722 "LibraryFiles.c"
		GFile* _tmp38_;
#line 89 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp38_ = dest;
#line 89 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		library_monitor_blacklist_file (_tmp38_, "LibraryFiles.duplicate");
#line 728 "LibraryFiles.c"
	}
	{
		GFile* _tmp39_;
		GFile* _tmp40_;
		GFileProgressCallback _tmp41_;
		void* _tmp41__target;
		gboolean _tmp42_;
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp39_ = src;
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp40_ = dest;
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp41_ = progress_callback;
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp41__target = progress_callback_target;
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_file_copy (_tmp39_, _tmp40_, G_FILE_COPY_ALL_METADATA | G_FILE_COPY_OVERWRITE, NULL, _tmp41_, _tmp41__target, &_inner_error_);
#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 748 "LibraryFiles.c"
			goto __catch467_g_error;
		}
#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp42_ = blacklist;
#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (_tmp42_) {
#line 755 "LibraryFiles.c"
			GFile* _tmp43_;
#line 94 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp43_ = dest;
#line 94 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			library_monitor_unblacklist_file (_tmp43_);
#line 761 "LibraryFiles.c"
		}
	}
	goto __finally467;
	__catch467_g_error:
	{
		GError* err = NULL;
		GFile* _tmp44_;
		gchar* _tmp45_;
		gchar* _tmp46_;
		GError* _tmp47_;
		const gchar* _tmp48_;
		gboolean _tmp49_ = FALSE;
		gboolean _tmp50_;
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		err = _inner_error_;
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_inner_error_ = NULL;
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp44_ = src;
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp45_ = g_file_get_path (_tmp44_);
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp46_ = _tmp45_;
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp47_ = err;
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp48_ = _tmp47_->message;
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_message ("LibraryFiles.vala:96: There was a problem copying %s: %s", _tmp46_, _tmp48_);
#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_free0 (_tmp46_);
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp50_ = blacklist;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (_tmp50_) {
#line 797 "LibraryFiles.c"
			gchar* _tmp51_ = NULL;
			GFile* _tmp52_;
			gchar* _tmp53_;
			gchar* _tmp54_ = NULL;
			GFile* _tmp55_;
			gchar* _tmp56_;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp52_ = src;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp53_ = md5_file (_tmp52_, &_inner_error_);
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp51_ = _tmp53_;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
				_g_error_free0 (err);
#line 814 "LibraryFiles.c"
				goto __finally467;
			}
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp55_ = dest;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp56_ = md5_file (_tmp55_, &_inner_error_);
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp54_ = _tmp56_;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
				_g_free0 (_tmp51_);
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
				_g_error_free0 (err);
#line 829 "LibraryFiles.c"
				goto __finally467;
			}
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp49_ = g_strcmp0 (_tmp51_, _tmp54_) != 0;
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_free0 (_tmp54_);
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_free0 (_tmp51_);
#line 838 "LibraryFiles.c"
		} else {
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp49_ = FALSE;
#line 842 "LibraryFiles.c"
		}
#line 97 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (_tmp49_) {
#line 846 "LibraryFiles.c"
			GFile* _tmp57_;
#line 98 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_tmp57_ = dest;
#line 98 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			library_monitor_unblacklist_file (_tmp57_);
#line 852 "LibraryFiles.c"
		}
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_error_free0 (err);
#line 856 "LibraryFiles.c"
	}
	__finally467:
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (dest);
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_media_metadata_unref0 (metadata);
#line 91 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 869 "LibraryFiles.c"
	}
	{
		GFileInfo* info = NULL;
		GFile* _tmp58_;
		GFileInfo* _tmp59_;
		guint32 mode = 0U;
		GFileInfo* _tmp60_;
		guint32 _tmp61_;
		gboolean _tmp62_ = FALSE;
		GFile* _tmp63_;
		guint32 _tmp64_;
		gboolean _tmp65_;
#line 103 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp58_ = dest;
#line 103 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp59_ = g_file_query_info (_tmp58_, G_FILE_ATTRIBUTE_UNIX_MODE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_);
#line 103 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		info = _tmp59_;
#line 103 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 890 "LibraryFiles.c"
			goto __catch468_g_error;
		}
#line 104 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp60_ = info;
#line 104 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp61_ = g_file_info_get_attribute_uint32 (_tmp60_, G_FILE_ATTRIBUTE_UNIX_MODE);
#line 104 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		mode = _tmp61_ | 0600;
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp63_ = dest;
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp64_ = mode;
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp65_ = g_file_set_attribute_uint32 (_tmp63_, G_FILE_ATTRIBUTE_UNIX_MODE, _tmp64_, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_);
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp62_ = _tmp65_;
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			_g_object_unref0 (info);
#line 911 "LibraryFiles.c"
			goto __catch468_g_error;
		}
#line 105 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		if (!_tmp62_) {
#line 106 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
			g_warning ("LibraryFiles.vala:106: Could not make file writable");
#line 918 "LibraryFiles.c"
		}
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (info);
#line 922 "LibraryFiles.c"
	}
	goto __finally468;
	__catch468_g_error:
	{
		GError* err = NULL;
		GError* _tmp66_;
		const gchar* _tmp67_;
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		err = _inner_error_;
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_inner_error_ = NULL;
#line 109 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp66_ = err;
#line 109 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_tmp67_ = _tmp66_->message;
#line 109 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_warning ("LibraryFiles.vala:109: Could not make file writable: %s", _tmp67_);
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_error_free0 (err);
#line 942 "LibraryFiles.c"
	}
	__finally468:
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		g_propagate_error (error, _inner_error_);
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_g_object_unref0 (dest);
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		_media_metadata_unref0 (metadata);
#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
		return NULL;
#line 955 "LibraryFiles.c"
	}
#line 112 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	result = dest;
#line 112 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	_media_metadata_unref0 (metadata);
#line 112 "/home/jens/Source/shotwell/src/LibraryFiles.vala"
	return result;
#line 963 "LibraryFiles.c"
}