/* DataImportSource.c generated by valac 0.34.7, 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_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);
gchar* photo_metadata_thumbnail_hash (PhotoMetadata* self);
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 168 "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 175 "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 225 "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 231 "DataImportSource.c"
	} else {
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp6_ = FALSE;
#line 235 "DataImportSource.c"
	}
#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp6_) {
#line 239 "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 285 "DataImportSource.c"
	} else {
#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		self->priv->backing_file_found = FALSE;
#line 289 "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 295 "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 301 "DataImportSource.c"
	} else {
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp20_ = FALSE;
#line 305 "DataImportSource.c"
	}
#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp20_) {
#line 309 "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;
		PhotoMetadata* _tmp48_ = 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 324 "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 336 "DataImportSource.c"
				goto __catch221_g_error;
			}
		}
		goto __finally221;
		__catch221_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 370 "DataImportSource.c"
		}
		__finally221:
#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 389 "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 403 "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 411 "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 422 "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 428 "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 438 "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 450 "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 461 "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 470 "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 481 "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 487 "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 497 "DataImportSource.c"
		}
#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp48_ = metadata;
#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (_tmp48_ != NULL) {
#line 503 "DataImportSource.c"
			PhotoMetadata* _tmp49_ = NULL;
			gchar* _tmp50_ = NULL;
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp49_ = metadata;
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp50_ = photo_metadata_thumbnail_hash (_tmp49_);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (self->priv->preview_md5);
#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->preview_md5 = _tmp50_;
#line 514 "DataImportSource.c"
		}
		{
			guint64 _tmp51_ = 0ULL;
			GFile* _tmp52_ = NULL;
			guint64 _tmp53_ = 0ULL;
#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp52_ = photo;
#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp53_ = query_total_file_size (_tmp52_, NULL, &_inner_error_);
#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp51_ = _tmp53_;
#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 528 "DataImportSource.c"
				goto __catch222_g_error;
			}
#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->file_size = _tmp51_;
#line 533 "DataImportSource.c"
		}
		goto __finally222;
		__catch222_g_error:
		{
			GError* e = NULL;
			gchar* _tmp54_ = NULL;
			gchar* _tmp55_ = NULL;
			GError* _tmp56_ = NULL;
			const gchar* _tmp57_ = NULL;
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			e = _inner_error_;
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_inner_error_ = NULL;
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp54_ = spit_data_imports_data_import_source_get_filename (self);
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp55_ = _tmp54_;
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp56_ = e;
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp57_ = _tmp56_->message;
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_warning ("DataImportSource.vala:73: Could not get file size for %s: %s", _tmp55_, _tmp57_);
#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp55_);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_error_free0 (e);
#line 561 "DataImportSource.c"
		}
		__finally222:
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (date_time);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_object_unref0 (photo);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (filename);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (folder_path);
#line 70 "/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 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_clear_error (&_inner_error_);
#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return NULL;
#line 582 "DataImportSource.c"
		}
		{
			time_t _tmp58_ = 0;
			GFile* _tmp59_ = NULL;
			time_t _tmp60_ = 0;
#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp59_ = photo;
#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp60_ = query_file_modified (_tmp59_, &_inner_error_);
#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp58_ = _tmp60_;
#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 596 "DataImportSource.c"
				goto __catch223_g_error;
			}
#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			self->priv->modification_time = _tmp58_;
#line 601 "DataImportSource.c"
		}
		goto __finally223;
		__catch223_g_error:
		{
			GError* e = NULL;
			gchar* _tmp61_ = NULL;
			gchar* _tmp62_ = NULL;
			GError* _tmp63_ = NULL;
			const gchar* _tmp64_ = NULL;
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			e = _inner_error_;
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_inner_error_ = NULL;
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp61_ = spit_data_imports_data_import_source_get_filename (self);
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp62_ = _tmp61_;
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp63_ = e;
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_tmp64_ = _tmp63_->message;
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_warning ("DataImportSource.vala:78: Could not get modification time for %s: %s", _tmp62_, _tmp64_);
#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (_tmp62_);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_error_free0 (e);
#line 629 "DataImportSource.c"
		}
		__finally223:
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (date_time);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_media_metadata_unref0 (metadata);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_object_unref0 (photo);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (filename);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			_g_free0 (folder_path);
#line 75 "/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 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			g_clear_error (&_inner_error_);
#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
			return NULL;
#line 650 "DataImportSource.c"
		}
#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 656 "DataImportSource.c"
	} else {
		GFile* _tmp65_ = NULL;
		gchar* _tmp66_ = NULL;
		gchar* _tmp67_ = NULL;
		gchar* _tmp68_ = NULL;
		gchar* _tmp69_ = NULL;
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp65_ = photo;
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp66_ = g_file_get_path (_tmp65_);
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp67_ = _tmp66_;
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp68_ = g_strdup_printf ("Photo file %s not found", _tmp67_);
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp69_ = _tmp68_;
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		g_debug ("DataImportSource.vala:81: %s", _tmp69_);
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp69_);
#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp67_);
#line 679 "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 689 "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 696 "DataImportSource.c"
}


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


gchar* spit_data_imports_data_import_source_get_fulldir (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_folder_path (_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 732 "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 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_ = spit_data_imports_data_import_source_get_fulldir (self);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _tmp0_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = g_file_new_for_path (_tmp1_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp3_ = _tmp2_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp4_ = spit_data_imports_data_import_source_get_filename (self);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp5_ = _tmp4_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp6_ = g_file_get_child (_tmp3_, _tmp5_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp7_ = _tmp6_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp5_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_object_unref0 (_tmp3_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp1_);
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp7_;
#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 774 "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 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"
	_tmp1_ = self->priv->title;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = is_string_empty (_tmp1_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (!_tmp2_) {
#line 791 "DataImportSource.c"
		const gchar* _tmp3_ = NULL;
		gchar* _tmp4_ = NULL;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = self->priv->title;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = g_strdup (_tmp3_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp0_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 802 "DataImportSource.c"
	} else {
		gchar* _tmp5_ = NULL;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp5_ = spit_data_imports_data_import_source_get_filename (self);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_g_free0 (_tmp0_);
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp5_;
#line 811 "DataImportSource.c"
	}
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 817 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_get_title (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#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"
	_tmp0_ = self->priv->title;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 835 "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 105 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = spit_data_imports_data_import_source_get_filename (self);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _tmp0_;
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp2_ = photo_file_format_get_by_basename_extension (_tmp1_);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp3_ = _tmp2_;
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_g_free0 (_tmp1_);
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp3_;
#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 861 "DataImportSource.c"
}


gchar* spit_data_imports_data_import_source_to_string (SpitDataImportsDataImportSource* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = spit_data_imports_data_import_source_get_name (self);
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 876 "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 113 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0);
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = self->priv->exposure_time;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp1_ != NULL) {
#line 890 "DataImportSource.c"
		MetadataDateTime* _tmp2_ = NULL;
		time_t _tmp3_ = 0;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp2_ = self->priv->exposure_time;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = metadata_date_time_get_timestamp (_tmp2_);
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp3_;
#line 899 "DataImportSource.c"
	} else {
		time_t _tmp4_ = 0;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = self->priv->modification_time;
#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 906 "DataImportSource.c"
	}
#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 912 "DataImportSource.c"
}


guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self) {
	guint64 result = 0ULL;
	guint64 _tmp0_ = 0ULL;
#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0ULL);
#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->file_size;
#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 927 "DataImportSource.c"
}


SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self) {
	SpitDataImportsImportableMediaItem* result = NULL;
	SpitDataImportsImportableMediaItem* _tmp0_ = NULL;
	SpitDataImportsImportableMediaItem* _tmp1_ = NULL;
#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL);
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->db_photo;
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp1_;
#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 945 "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 125 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE);
#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp1_ = self->priv->preview_md5;
#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	if (_tmp1_ != NULL) {
#line 959 "DataImportSource.c"
		const gchar* _tmp2_ = NULL;
		PhotoFileFormat _tmp3_ = 0;
		gboolean _tmp4_ = FALSE;
#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp2_ = self->priv->preview_md5;
#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp3_ = spit_data_imports_data_import_source_get_file_format (self);
#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp4_ = library_photo_has_nontrash_duplicate (NULL, _tmp2_, NULL, _tmp3_);
#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = _tmp4_;
#line 971 "DataImportSource.c"
	} else {
#line 129 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		_tmp0_ = FALSE;
#line 975 "DataImportSource.c"
	}
#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 981 "DataImportSource.c"
}


gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE);
#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	_tmp0_ = self->priv->backing_file_found;
#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	result = _tmp0_;
#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return result;
#line 996 "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 1003 "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 1012 "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 1022 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		dest_value->data[0].v_pointer = NULL;
#line 1026 "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 1034 "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 1041 "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 1048 "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 1052 "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 1056 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1060 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return NULL;
#line 1064 "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 1075 "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 1081 "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 1085 "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 1089 "DataImportSource.c"
	}
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
	return NULL;
#line 1093 "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 1107 "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 1116 "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 1136 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1140 "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 1146 "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 1165 "DataImportSource.c"
	} else {
#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala"
		value->data[0].v_pointer = NULL;
#line 1169 "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 1175 "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 1187 "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 1200 "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 1218 "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 1251 "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 1264 "DataImportSource.c"
	}
}



