/* DataImportSource.c generated by valac 0.34.1, the Vala compiler
 * generated from DataImportSource.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 "shotwell-plugin-dev-1.0.h"
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <gio/gio.h>
#include <gobject/gvaluecollector.h>


#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE (spit_data_imports_data_import_source_get_type ())
#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource))
#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass))
#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE))
#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE))
#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass))

typedef struct _SpitDataImportsDataImportSource SpitDataImportsDataImportSource;
typedef struct _SpitDataImportsDataImportSourceClass SpitDataImportsDataImportSourceClass;
typedef struct _SpitDataImportsDataImportSourcePrivate SpitDataImportsDataImportSourcePrivate;

#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL)))

#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_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 _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ())
#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview))
#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass))
#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW))
#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW))
#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass))

typedef struct _PhotoPreview PhotoPreview;
typedef struct _PhotoPreviewClass PhotoPreviewClass;
#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL)))

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())
typedef struct _SpitDataImportsParamSpecDataImportSource SpitDataImportsParamSpecDataImportSource;

struct _SpitDataImportsDataImportSource {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SpitDataImportsDataImportSourcePrivate * priv;
};

struct _SpitDataImportsDataImportSourceClass {
	GTypeClass parent_class;
	void (*finalize) (SpitDataImportsDataImportSource *self);
};

struct _SpitDataImportsDataImportSourcePrivate {
	gboolean backing_file_found;
	SpitDataImportsImportableMediaItem* db_photo;
	gchar* title;
	gchar* preview_md5;
	guint64 file_size;
	time_t modification_time;
	MetadataDateTime* exposure_time;
};

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;

struct _SpitDataImportsParamSpecDataImportSource {
	GParamSpec parent_instance;
};


static gpointer spit_data_imports_data_import_source_parent_class = NULL;

gpointer spit_data_imports_data_import_source_ref (gpointer instance);
void spit_data_imports_data_import_source_unref (gpointer instance);
GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object);
void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object);
gpointer spit_data_imports_value_get_data_import_source (const GValue* value);
GType spit_data_imports_data_import_source_get_type (void) G_GNUC_CONST;
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;
#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourcePrivate))
enum  {
	SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_DUMMY_PROPERTY
};
SpitDataImportsDataImportSource* spit_data_imports_data_import_source_new (SpitDataImportsImportableMediaItem* db_photo);
SpitDataImportsDataImportSource* spit_data_imports_data_import_source_construct (GType object_type, SpitDataImportsImportableMediaItem* db_photo);
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;
GType photo_metadata_get_type (void) G_GNUC_CONST;
PhotoMetadata* photo_metadata_new (void);
PhotoMetadata* photo_metadata_construct (GType object_type);
void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error);
gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self);
gchar* media_metadata_get_title (MediaMetadata* self);
MetadataDateTime* metadata_date_time_new (time_t timestamp);
MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp);
MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self);
gpointer photo_preview_ref (gpointer instance);
void photo_preview_unref (gpointer instance);
GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_photo_preview (GValue* value, gpointer v_object);
void value_take_photo_preview (GValue* value, gpointer v_object);
gpointer value_get_photo_preview (const GValue* value);
GType photo_preview_get_type (void) G_GNUC_CONST;
PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number);
guint8* photo_preview_flatten (PhotoPreview* self, int* result_length1, GError** error);
gchar* md5_binary (guint8* buffer, gsize length);
guint64 query_total_file_size (GFile* file_or_dir, GCancellable* cancellable, GError** error);
time_t query_file_modified (GFile* file, GError** error);
gchar* spit_data_imports_data_import_source_get_fulldir (SpitDataImportsDataImportSource* self);
GFile* spit_data_imports_data_import_source_get_file (SpitDataImportsDataImportSource* self);
gchar* spit_data_imports_data_import_source_get_name (SpitDataImportsDataImportSource* self);
gboolean is_string_empty (const gchar* s);
gchar* spit_data_imports_data_import_source_get_title (SpitDataImportsDataImportSource* self);
GType photo_file_format_get_type (void) G_GNUC_CONST;
PhotoFileFormat spit_data_imports_data_import_source_get_file_format (SpitDataImportsDataImportSource* self);
PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename);
gchar* spit_data_imports_data_import_source_to_string (SpitDataImportsDataImportSource* self);
time_t spit_data_imports_data_import_source_get_exposure_time (SpitDataImportsDataImportSource* self);
time_t metadata_date_time_get_timestamp (MetadataDateTime* self);
guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self);
SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self);
gboolean spit_data_imports_data_import_source_is_already_imported (SpitDataImportsDataImportSource* self);
gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format);
gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self);
static void spit_data_imports_data_import_source_finalize (SpitDataImportsDataImportSource* obj);


static gpointer _g_object_ref0 (gpointer self) {
#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return self ? g_object_ref (self) : NULL;
#line 188 "DataImportSource.c"
}


static gpointer _metadata_date_time_ref0 (gpointer self) {
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return self ? metadata_date_time_ref (self) : NULL;
#line 195 "DataImportSource.c"
}


static gpointer _photo_preview_ref0 (gpointer self) {
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return self ? photo_preview_ref (self) : NULL;
#line 202 "DataImportSource.c"
}


SpitDataImportsDataImportSource* spit_data_imports_data_import_source_construct (GType object_type, SpitDataImportsImportableMediaItem* db_photo) {
	SpitDataImportsDataImportSource* self = NULL;
	SpitDataImportsImportableMediaItem* _tmp0_ = NULL;
	SpitDataImportsImportableMediaItem* _tmp1_ = NULL;
	gchar* folder_path = NULL;
	SpitDataImportsImportableMediaItem* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* filename = NULL;
	SpitDataImportsImportableMediaItem* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	GFile* photo = NULL;
	gboolean _tmp6_ = FALSE;
	const gchar* _tmp7_ = NULL;
	gboolean _tmp20_ = FALSE;
	GFile* _tmp21_ = NULL;
	GError * _inner_error_ = NULL;
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (db_photo), NULL);
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self = (SpitDataImportsDataImportSource*) g_type_create_instance (object_type);
#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = db_photo;
#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_object_unref0 (self->priv->db_photo);
#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self->priv->db_photo = _tmp1_;
#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = db_photo;
#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp3_ = spit_data_imports_importable_media_item_get_folder_path (_tmp2_);
#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	folder_path = _tmp3_;
#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp4_ = db_photo;
#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp5_ = spit_data_imports_importable_media_item_get_filename (_tmp4_);
#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	filename = _tmp5_;
#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	photo = NULL;
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp7_ = folder_path;
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp7_ != NULL) {
#line 252 "DataImportSource.c"
		const gchar* _tmp8_ = NULL;
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp8_ = filename;
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp6_ = _tmp8_ != NULL;
#line 258 "DataImportSource.c"
	} else {
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp6_ = FALSE;
#line 262 "DataImportSource.c"
	}
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp6_) {
#line 266 "DataImportSource.c"
		SpitDataImportsImportableMediaItem* _tmp9_ = NULL;
		gchar* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		GFile* _tmp12_ = NULL;
		GFile* _tmp13_ = NULL;
		SpitDataImportsImportableMediaItem* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		GFile* _tmp17_ = NULL;
		GFile* _tmp18_ = NULL;
		gboolean _tmp19_ = FALSE;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp9_ = db_photo;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp10_ = spit_data_imports_importable_media_item_get_folder_path (_tmp9_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp11_ = _tmp10_;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp12_ = g_file_new_for_path (_tmp11_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp13_ = _tmp12_;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp14_ = db_photo;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp15_ = spit_data_imports_importable_media_item_get_filename (_tmp14_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp16_ = _tmp15_;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp17_ = g_file_get_child (_tmp13_, _tmp16_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_object_unref0 (photo);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		photo = _tmp17_;
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp16_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_object_unref0 (_tmp13_);
#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp11_);
#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp18_ = photo;
#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp19_ = g_file_query_exists (_tmp18_, NULL);
#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		self->priv->backing_file_found = _tmp19_;
#line 312 "DataImportSource.c"
	} else {
#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		self->priv->backing_file_found = FALSE;
#line 316 "DataImportSource.c"
	}
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp21_ = photo;
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp21_ != NULL) {
#line 322 "DataImportSource.c"
		gboolean _tmp22_ = FALSE;
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp22_ = self->priv->backing_file_found;
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp20_ = _tmp22_;
#line 328 "DataImportSource.c"
	} else {
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp20_ = FALSE;
#line 332 "DataImportSource.c"
	}
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp20_) {
#line 336 "DataImportSource.c"
		PhotoMetadata* metadata = NULL;
		PhotoMetadata* _tmp23_ = NULL;
		SpitDataImportsImportableMediaItem* _tmp30_ = NULL;
		gchar* _tmp31_ = NULL;
		const gchar* _tmp32_ = NULL;
		time_t* date_time = NULL;
		SpitDataImportsImportableMediaItem* _tmp38_ = NULL;
		time_t* _tmp39_ = NULL;
		time_t* _tmp40_ = NULL;
		PhotoPreview* _tmp48_ = NULL;
		PhotoMetadata* _tmp49_ = NULL;
		PhotoPreview* preview = NULL;
		PhotoPreview* _tmp52_ = NULL;
		PhotoPreview* _tmp53_ = NULL;
#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp23_ = photo_metadata_new ();
#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		metadata = _tmp23_;
#line 355 "DataImportSource.c"
		{
			PhotoMetadata* _tmp24_ = NULL;
			GFile* _tmp25_ = NULL;
#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp24_ = metadata;
#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp25_ = photo;
#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_METADATA, MediaMetadata), _tmp25_, &_inner_error_);
#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 367 "DataImportSource.c"
				goto __catch202_g_error;
			}
		}
		goto __finally202;
		__catch202_g_error:
		{
			GError* e = NULL;
			gchar* _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			GError* _tmp28_ = NULL;
			const gchar* _tmp29_ = NULL;
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			e = _inner_error_;
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_inner_error_ = NULL;
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp26_ = spit_data_imports_data_import_source_get_filename (self);
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp27_ = _tmp26_;
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp28_ = e;
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp29_ = _tmp28_->message;
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_warning ("DataImportSource.vala:48: Could not get file metadata for %s: %s", _tmp27_, _tmp29_);
#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp27_);
#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			metadata = NULL;
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_error_free0 (e);
#line 401 "DataImportSource.c"
		}
		__finally202:
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_object_unref0 (photo);
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (filename);
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (folder_path);
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_clear_error (&_inner_error_);
#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return NULL;
#line 420 "DataImportSource.c"
		}
#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp30_ = db_photo;
#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp31_ = spit_data_imports_importable_media_item_get_title (_tmp30_);
#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (self->priv->title);
#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		self->priv->title = _tmp31_;
#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp32_ = self->priv->title;
#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (_tmp32_ == NULL) {
#line 434 "DataImportSource.c"
			gchar* _tmp33_ = NULL;
			PhotoMetadata* _tmp34_ = NULL;
			gchar* _tmp37_ = NULL;
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp34_ = metadata;
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (_tmp34_ != NULL) {
#line 442 "DataImportSource.c"
				PhotoMetadata* _tmp35_ = NULL;
				gchar* _tmp36_ = NULL;
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp35_ = metadata;
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp36_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_METADATA, MediaMetadata));
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (_tmp33_);
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp33_ = _tmp36_;
#line 453 "DataImportSource.c"
			} else {
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (_tmp33_);
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp33_ = NULL;
#line 459 "DataImportSource.c"
			}
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp37_ = g_strdup (_tmp33_);
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (self->priv->title);
#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->title = _tmp37_;
#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp33_);
#line 469 "DataImportSource.c"
		}
#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp38_ = db_photo;
#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp39_ = spit_data_imports_importable_media_item_get_exposure_time (_tmp38_);
#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		date_time = _tmp39_;
#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp40_ = date_time;
#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (_tmp40_ != NULL) {
#line 481 "DataImportSource.c"
			time_t* _tmp41_ = NULL;
			MetadataDateTime* _tmp42_ = NULL;
#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp41_ = date_time;
#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp42_ = metadata_date_time_new (*_tmp41_);
#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_metadata_date_time_unref0 (self->priv->exposure_time);
#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->exposure_time = _tmp42_;
#line 492 "DataImportSource.c"
		} else {
			MetadataDateTime* _tmp43_ = NULL;
			PhotoMetadata* _tmp44_ = NULL;
			MetadataDateTime* _tmp47_ = NULL;
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp44_ = metadata;
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (_tmp44_ != NULL) {
#line 501 "DataImportSource.c"
				PhotoMetadata* _tmp45_ = NULL;
				MetadataDateTime* _tmp46_ = NULL;
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp45_ = metadata;
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp46_ = photo_metadata_get_exposure_date_time (_tmp45_);
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_metadata_date_time_unref0 (_tmp43_);
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp43_ = _tmp46_;
#line 512 "DataImportSource.c"
			} else {
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_metadata_date_time_unref0 (_tmp43_);
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp43_ = NULL;
#line 518 "DataImportSource.c"
			}
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp47_ = _metadata_date_time_ref0 (_tmp43_);
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_metadata_date_time_unref0 (self->priv->exposure_time);
#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->exposure_time = _tmp47_;
#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_metadata_date_time_unref0 (_tmp43_);
#line 528 "DataImportSource.c"
		}
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp49_ = metadata;
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (_tmp49_ != NULL) {
#line 534 "DataImportSource.c"
			PhotoMetadata* _tmp50_ = NULL;
			PhotoPreview* _tmp51_ = NULL;
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp50_ = metadata;
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp51_ = photo_metadata_get_preview (_tmp50_, (guint) 0);
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (_tmp48_);
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp48_ = _tmp51_;
#line 545 "DataImportSource.c"
		} else {
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (_tmp48_);
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp48_ = NULL;
#line 551 "DataImportSource.c"
		}
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp52_ = _photo_preview_ref0 (_tmp48_);
#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		preview = _tmp52_;
#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp53_ = preview;
#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (_tmp53_ != NULL) {
#line 561 "DataImportSource.c"
			{
				guint8* preview_raw = NULL;
				PhotoPreview* _tmp54_ = NULL;
				gint _tmp55_ = 0;
				guint8* _tmp56_ = NULL;
				gint preview_raw_length1 = 0;
				gint _preview_raw_size_ = 0;
				guint8* _tmp57_ = NULL;
				gint _tmp57__length1 = 0;
				guint8* _tmp58_ = NULL;
				gint _tmp58__length1 = 0;
				gchar* _tmp59_ = NULL;
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp54_ = preview;
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp56_ = photo_preview_flatten (_tmp54_, &_tmp55_, &_inner_error_);
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				preview_raw = _tmp56_;
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				preview_raw_length1 = _tmp55_;
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_preview_raw_size_ = preview_raw_length1;
#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 586 "DataImportSource.c"
					goto __catch203_g_error;
				}
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp57_ = preview_raw;
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp57__length1 = preview_raw_length1;
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp58_ = preview_raw;
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp58__length1 = preview_raw_length1;
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp59_ = md5_binary (_tmp57_, (gsize) _tmp58__length1);
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (self->priv->preview_md5);
#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				self->priv->preview_md5 = _tmp59_;
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				preview_raw = (g_free (preview_raw), NULL);
#line 605 "DataImportSource.c"
			}
			goto __finally203;
			__catch203_g_error:
			{
				GError* e = NULL;
				gchar* _tmp60_ = NULL;
				gchar* _tmp61_ = NULL;
				GError* _tmp62_ = NULL;
				const gchar* _tmp63_ = NULL;
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				e = _inner_error_;
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_inner_error_ = NULL;
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp60_ = spit_data_imports_data_import_source_get_filename (self);
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp61_ = _tmp60_;
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp62_ = e;
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_tmp63_ = _tmp62_->message;
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				g_warning ("DataImportSource.vala:67: Could not get raw preview for %s: %s", _tmp61_, _tmp63_);
#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (_tmp61_);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_error_free0 (e);
#line 633 "DataImportSource.c"
			}
			__finally203:
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_photo_preview_unref0 (preview);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_photo_preview_unref0 (_tmp48_);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (date_time);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_media_metadata_unref0 (metadata);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_object_unref0 (photo);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (filename);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				_g_free0 (folder_path);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				g_clear_error (&_inner_error_);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
				return NULL;
#line 658 "DataImportSource.c"
			}
		}
		{
			guint64 _tmp64_ = 0ULL;
			GFile* _tmp65_ = NULL;
			guint64 _tmp66_ = 0ULL;
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp65_ = photo;
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp66_ = query_total_file_size (_tmp65_, NULL, &_inner_error_);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp64_ = _tmp66_;
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 673 "DataImportSource.c"
				goto __catch204_g_error;
			}
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->file_size = _tmp64_;
#line 678 "DataImportSource.c"
		}
		goto __finally204;
		__catch204_g_error:
		{
			GError* e = NULL;
			gchar* _tmp67_ = NULL;
			gchar* _tmp68_ = NULL;
			GError* _tmp69_ = NULL;
			const gchar* _tmp70_ = NULL;
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			e = _inner_error_;
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_inner_error_ = NULL;
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp67_ = spit_data_imports_data_import_source_get_filename (self);
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp68_ = _tmp67_;
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp69_ = e;
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp70_ = _tmp69_->message;
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_warning ("DataImportSource.vala:77: Could not get file size for %s: %s", _tmp68_, _tmp70_);
#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp68_);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_error_free0 (e);
#line 706 "DataImportSource.c"
		}
		__finally204:
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (preview);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (_tmp48_);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (date_time);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_object_unref0 (photo);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (filename);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (folder_path);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_clear_error (&_inner_error_);
#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return NULL;
#line 731 "DataImportSource.c"
		}
		{
			time_t _tmp71_ = 0;
			GFile* _tmp72_ = NULL;
			time_t _tmp73_ = 0;
#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp72_ = photo;
#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp73_ = query_file_modified (_tmp72_, &_inner_error_);
#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp71_ = _tmp73_;
#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 745 "DataImportSource.c"
				goto __catch205_g_error;
			}
#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->modification_time = _tmp71_;
#line 750 "DataImportSource.c"
		}
		goto __finally205;
		__catch205_g_error:
		{
			GError* e = NULL;
			gchar* _tmp74_ = NULL;
			gchar* _tmp75_ = NULL;
			GError* _tmp76_ = NULL;
			const gchar* _tmp77_ = NULL;
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			e = _inner_error_;
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_inner_error_ = NULL;
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp74_ = spit_data_imports_data_import_source_get_filename (self);
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp75_ = _tmp74_;
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp76_ = e;
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp77_ = _tmp76_->message;
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_warning ("DataImportSource.vala:82: Could not get modification time for %s: %s", _tmp75_, _tmp77_);
#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp75_);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_error_free0 (e);
#line 778 "DataImportSource.c"
		}
		__finally205:
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (preview);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_photo_preview_unref0 (_tmp48_);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (date_time);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_object_unref0 (photo);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (filename);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (folder_path);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_clear_error (&_inner_error_);
#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return NULL;
#line 803 "DataImportSource.c"
		}
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_photo_preview_unref0 (preview);
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_photo_preview_unref0 (_tmp48_);
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (date_time);
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_media_metadata_unref0 (metadata);
#line 813 "DataImportSource.c"
	} else {
		GFile* _tmp78_ = NULL;
		gchar* _tmp79_ = NULL;
		gchar* _tmp80_ = NULL;
		gchar* _tmp81_ = NULL;
		gchar* _tmp82_ = NULL;
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp78_ = photo;
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp79_ = g_file_get_path (_tmp78_);
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp80_ = _tmp79_;
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp81_ = g_strdup_printf ("Photo file %s not found", _tmp80_);
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp82_ = _tmp81_;
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_debug ("DataImportSource.vala:85: %s", _tmp82_);
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp82_);
#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp80_);
#line 836 "DataImportSource.c"
	}
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_object_unref0 (photo);
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (filename);
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (folder_path);
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return self;
#line 846 "DataImportSource.c"
}


SpitDataImportsDataImportSource* spit_data_imports_data_import_source_new (SpitDataImportsImportableMediaItem* db_photo) {
#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return spit_data_imports_data_import_source_construct (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, db_photo);
#line 853 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	SpitDataImportsImportableMediaItem* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 89 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->db_photo;
#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = spit_data_imports_importable_media_item_get_filename (_tmp0_);
#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 871 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_get_fulldir (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	SpitDataImportsImportableMediaItem* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 93 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->db_photo;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = spit_data_imports_importable_media_item_get_folder_path (_tmp0_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 889 "DataImportSource.c"
}


GFile* spit_data_imports_data_import_source_get_file (SpitDataImportsDataImportSource* self) {
	GFile* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	GFile* _tmp2_ = NULL;
	GFile* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	GFile* _tmp6_ = NULL;
	GFile* _tmp7_ = NULL;
#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = spit_data_imports_data_import_source_get_fulldir (self);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _tmp0_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = g_file_new_for_path (_tmp1_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp3_ = _tmp2_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp4_ = spit_data_imports_data_import_source_get_filename (self);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp5_ = _tmp4_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp6_ = g_file_get_child (_tmp3_, _tmp5_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp7_ = _tmp6_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp5_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_object_unref0 (_tmp3_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp1_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp7_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 931 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_get_name (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = self->priv->title;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = is_string_empty (_tmp1_);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (!_tmp2_) {
#line 948 "DataImportSource.c"
		const gchar* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = self->priv->title;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = g_strdup (_tmp3_);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp0_);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 959 "DataImportSource.c"
	} else {
		gchar* _tmp5_ = NULL;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp5_ = spit_data_imports_data_import_source_get_filename (self);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp0_);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp5_;
#line 968 "DataImportSource.c"
	}
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 974 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_get_title (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->title;
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 992 "DataImportSource.c"
}


PhotoFileFormat spit_data_imports_data_import_source_get_file_format (SpitDataImportsDataImportSource* self) {
	PhotoFileFormat result = 0;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	PhotoFileFormat _tmp2_ = 0;
	PhotoFileFormat _tmp3_ = 0;
#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = spit_data_imports_data_import_source_get_filename (self);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _tmp0_;
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = photo_file_format_get_by_basename_extension (_tmp1_);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp3_ = _tmp2_;
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp1_);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp3_;
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1018 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_to_string (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 113 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = spit_data_imports_data_import_source_get_name (self);
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1033 "DataImportSource.c"
}


time_t spit_data_imports_data_import_source_get_exposure_time (SpitDataImportsDataImportSource* self) {
	time_t result = 0;
	time_t _tmp0_ = 0;
	MetadataDateTime* _tmp1_ = NULL;
#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0);
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = self->priv->exposure_time;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp1_ != NULL) {
#line 1047 "DataImportSource.c"
		MetadataDateTime* _tmp2_ = NULL;
		time_t _tmp3_ = 0;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp2_ = self->priv->exposure_time;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = metadata_date_time_get_timestamp (_tmp2_);
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp3_;
#line 1056 "DataImportSource.c"
	} else {
		time_t _tmp4_ = 0;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = self->priv->modification_time;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 1063 "DataImportSource.c"
	}
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1069 "DataImportSource.c"
}


guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self) {
	guint64 result = 0ULL;
	guint64 _tmp0_ = 0ULL;
#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0ULL);
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->file_size;
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1084 "DataImportSource.c"
}


SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self) {
	SpitDataImportsImportableMediaItem* result = NULL;
	SpitDataImportsImportableMediaItem* _tmp0_ = NULL;
	SpitDataImportsImportableMediaItem* _tmp1_ = NULL;
#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->db_photo;
#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1102 "DataImportSource.c"
}


gboolean spit_data_imports_data_import_source_is_already_imported (SpitDataImportsDataImportSource* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_ = NULL;
#line 129 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE);
#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = self->priv->preview_md5;
#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp1_ != NULL) {
#line 1116 "DataImportSource.c"
		const gchar* _tmp2_ = NULL;
		PhotoFileFormat _tmp3_ = 0;
		gboolean _tmp4_ = FALSE;
#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp2_ = self->priv->preview_md5;
#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = spit_data_imports_data_import_source_get_file_format (self);
#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = library_photo_has_nontrash_duplicate (NULL, _tmp2_, NULL, _tmp3_);
#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 1128 "DataImportSource.c"
	} else {
#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = FALSE;
#line 1132 "DataImportSource.c"
	}
#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1138 "DataImportSource.c"
}


gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE);
#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->backing_file_found;
#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 1153 "DataImportSource.c"
}


static void spit_data_imports_value_data_import_source_init (GValue* value) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	value->data[0].v_pointer = NULL;
#line 1160 "DataImportSource.c"
}


static void spit_data_imports_value_data_import_source_free_value (GValue* value) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (value->data[0].v_pointer) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		spit_data_imports_data_import_source_unref (value->data[0].v_pointer);
#line 1169 "DataImportSource.c"
	}
}


static void spit_data_imports_value_data_import_source_copy_value (const GValue* src_value, GValue* dest_value) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (src_value->data[0].v_pointer) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		dest_value->data[0].v_pointer = spit_data_imports_data_import_source_ref (src_value->data[0].v_pointer);
#line 1179 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		dest_value->data[0].v_pointer = NULL;
#line 1183 "DataImportSource.c"
	}
}


static gpointer spit_data_imports_value_data_import_source_peek_pointer (const GValue* value) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return value->data[0].v_pointer;
#line 1191 "DataImportSource.c"
}


static gchar* spit_data_imports_value_data_import_source_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (collect_values[0].v_pointer) {
#line 1198 "DataImportSource.c"
		SpitDataImportsDataImportSource* object;
		object = collect_values[0].v_pointer;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (object->parent_instance.g_class == NULL) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 1205 "DataImportSource.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 1209 "DataImportSource.c"
		}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = spit_data_imports_data_import_source_ref (object);
#line 1213 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1217 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return NULL;
#line 1221 "DataImportSource.c"
}


static gchar* spit_data_imports_value_data_import_source_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	SpitDataImportsDataImportSource** object_p;
	object_p = collect_values[0].v_pointer;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (!object_p) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 1232 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (!value->data[0].v_pointer) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		*object_p = NULL;
#line 1238 "DataImportSource.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		*object_p = value->data[0].v_pointer;
#line 1242 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		*object_p = spit_data_imports_data_import_source_ref (value->data[0].v_pointer);
#line 1246 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return NULL;
#line 1250 "DataImportSource.c"
}


GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	SpitDataImportsParamSpecDataImportSource* spec;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (g_type_is_a (object_type, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE), NULL);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return G_PARAM_SPEC (spec);
#line 1264 "DataImportSource.c"
}


gpointer spit_data_imports_value_get_data_import_source (const GValue* value) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE), NULL);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return value->data[0].v_pointer;
#line 1273 "DataImportSource.c"
}


void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object) {
	SpitDataImportsDataImportSource* old;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	old = value->data[0].v_pointer;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (v_object) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = v_object;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		spit_data_imports_data_import_source_ref (value->data[0].v_pointer);
#line 1293 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1297 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (old) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		spit_data_imports_data_import_source_unref (old);
#line 1303 "DataImportSource.c"
	}
}


void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object) {
	SpitDataImportsDataImportSource* old;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	old = value->data[0].v_pointer;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (v_object) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = v_object;
#line 1322 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1326 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (old) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		spit_data_imports_data_import_source_unref (old);
#line 1332 "DataImportSource.c"
	}
}


static void spit_data_imports_data_import_source_class_init (SpitDataImportsDataImportSourceClass * klass) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	spit_data_imports_data_import_source_parent_class = g_type_class_peek_parent (klass);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	((SpitDataImportsDataImportSourceClass *) klass)->finalize = spit_data_imports_data_import_source_finalize;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_type_class_add_private (klass, sizeof (SpitDataImportsDataImportSourcePrivate));
#line 1344 "DataImportSource.c"
}


static void spit_data_imports_data_import_source_instance_init (SpitDataImportsDataImportSource * self) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self->priv = SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_PRIVATE (self);
#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self->priv->title = NULL;
#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self->priv->preview_md5 = NULL;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self->ref_count = 1;
#line 1357 "DataImportSource.c"
}


static void spit_data_imports_data_import_source_finalize (SpitDataImportsDataImportSource* obj) {
	SpitDataImportsDataImportSource * self;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_signal_handlers_destroy (self);
#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_object_unref0 (self->priv->db_photo);
#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (self->priv->title);
#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (self->priv->preview_md5);
#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_metadata_date_time_unref0 (self->priv->exposure_time);
#line 1375 "DataImportSource.c"
}


/**
 * Photo source implementation for alien databases. This class is responsible
 * for extracting meta-data out of a source photo to support the import
 * process.
 *
 * This class does not extend PhotoSource in order to minimise the API to the
 * absolute minimum required to run the import job.
 */
GType spit_data_imports_data_import_source_get_type (void) {
	static volatile gsize spit_data_imports_data_import_source_type_id__volatile = 0;
	if (g_once_init_enter (&spit_data_imports_data_import_source_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { spit_data_imports_value_data_import_source_init, spit_data_imports_value_data_import_source_free_value, spit_data_imports_value_data_import_source_copy_value, spit_data_imports_value_data_import_source_peek_pointer, "p", spit_data_imports_value_data_import_source_collect_value, "p", spit_data_imports_value_data_import_source_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDataImportSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_data_import_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsDataImportSource), 0, (GInstanceInitFunc) spit_data_imports_data_import_source_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 spit_data_imports_data_import_source_type_id;
		spit_data_imports_data_import_source_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SpitDataImportsDataImportSource", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&spit_data_imports_data_import_source_type_id__volatile, spit_data_imports_data_import_source_type_id);
	}
	return spit_data_imports_data_import_source_type_id__volatile;
}


gpointer spit_data_imports_data_import_source_ref (gpointer instance) {
	SpitDataImportsDataImportSource* self;
	self = instance;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_atomic_int_inc (&self->ref_count);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return instance;
#line 1408 "DataImportSource.c"
}


void spit_data_imports_data_import_source_unref (gpointer instance) {
	SpitDataImportsDataImportSource* self;
	self = instance;
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS (self)->finalize (self);
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 1421 "DataImportSource.c"
	}
}