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

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


#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <time.h>
#include <gee.h>
#include <float.h>
#include <math.h>
#include <gobject/gvaluecollector.h>


#define TYPE_IMPORT_RESULT (import_result_get_type ())
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))

typedef struct _BatchImportJob BatchImportJob;
typedef struct _BatchImportJobClass BatchImportJobClass;
typedef struct _BatchImportJobPrivate BatchImportJobPrivate;

#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ())
#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile))
#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass))
#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE))
#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE))
#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass))

typedef struct _DuplicatedFile DuplicatedFile;
typedef struct _DuplicatedFileClass DuplicatedFileClass;

#define TYPE_DATA_OBJECT (data_object_get_type ())
#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

#define TYPE_DATA_SOURCE (data_source_get_type ())
#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

#define TYPE_MEDIA_SOURCE (media_source_get_type ())
#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))

typedef struct _BatchImportRoll BatchImportRoll;
typedef struct _BatchImportRollClass BatchImportRollClass;
typedef struct _ParamSpecBatchImportJob ParamSpecBatchImportJob;

#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))

typedef struct _FileImportJob FileImportJob;
typedef struct _FileImportJobClass FileImportJobClass;
typedef struct _FileImportJobPrivate FileImportJobPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _BatchImportRollPrivate BatchImportRollPrivate;

#define TYPE_IMPORT_ID (import_id_get_type ())
typedef struct _ImportID ImportID;

#define TYPE_DATA_COLLECTION (data_collection_get_type ())
#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))

typedef struct _DataCollection DataCollection;
typedef struct _DataCollectionClass DataCollectionClass;

#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))

typedef struct _ViewCollection ViewCollection;
typedef struct _ViewCollectionClass ViewCollectionClass;
#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
typedef struct _ParamSpecBatchImportRoll ParamSpecBatchImportRoll;

#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ())
#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult))
#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))
#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT))
#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT))
#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))

typedef struct _BatchImportResult BatchImportResult;
typedef struct _BatchImportResultClass BatchImportResultClass;
typedef struct _BatchImportResultPrivate BatchImportResultPrivate;
typedef struct _ParamSpecBatchImportResult ParamSpecBatchImportResult;

#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))

typedef struct _ImportManifest ImportManifest;
typedef struct _ImportManifestClass ImportManifestClass;
typedef struct _ImportManifestPrivate ImportManifestPrivate;
#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL)))
#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL)))
typedef struct _ParamSpecImportManifest ParamSpecImportManifest;

#define TYPE_BATCH_IMPORT (batch_import_get_type ())
#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))

typedef struct _BatchImport BatchImport;
typedef struct _BatchImportClass BatchImportClass;
typedef struct _BatchImportPrivate BatchImportPrivate;

#define TYPE_PREPARED_FILE (prepared_file_get_type ())
#define PREPARED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE, PreparedFile))
#define PREPARED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE, PreparedFileClass))
#define IS_PREPARED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE))
#define IS_PREPARED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE))
#define PREPARED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE, PreparedFileClass))

typedef struct _PreparedFile PreparedFile;
typedef struct _PreparedFileClass PreparedFileClass;

#define TYPE_COMPLETED_IMPORT_OBJECT (completed_import_object_get_type ())
#define COMPLETED_IMPORT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObject))
#define COMPLETED_IMPORT_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObjectClass))
#define IS_COMPLETED_IMPORT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMPLETED_IMPORT_OBJECT))
#define IS_COMPLETED_IMPORT_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMPLETED_IMPORT_OBJECT))
#define COMPLETED_IMPORT_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObjectClass))

typedef struct _CompletedImportObject CompletedImportObject;
typedef struct _CompletedImportObjectClass CompletedImportObjectClass;
enum  {
	BATCH_IMPORT_0_PROPERTY,
	BATCH_IMPORT_NUM_PROPERTIES
};
static GParamSpec* batch_import_properties[BATCH_IMPORT_NUM_PROPERTIES];

#define TYPE_APPLICATION (application_get_type ())
#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application))
#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass))
#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION))
#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION))
#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass))

typedef struct _Application Application;
typedef struct _ApplicationClass ApplicationClass;
#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL)))

#define TYPE_WORKERS (workers_get_type ())
#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers))
#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass))
#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS))
#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS))
#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass))

typedef struct _Workers Workers;
typedef struct _WorkersClass WorkersClass;
#define _batch_import_roll_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_roll_unref (var), NULL)))
#define _import_manifest_unref0(var) ((var == NULL) ? NULL : (var = (import_manifest_unref (var), NULL)))

#define TYPE_BACKGROUND_JOB (background_job_get_type ())
#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob))
#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass))
#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB))
#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB))
#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass))

typedef struct _BackgroundJob BackgroundJob;
typedef struct _BackgroundJobClass BackgroundJobClass;

#define TYPE_BACKGROUND_IMPORT_JOB (background_import_job_get_type ())
#define BACKGROUND_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob))
#define BACKGROUND_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJobClass))
#define IS_BACKGROUND_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_IMPORT_JOB))
#define IS_BACKGROUND_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_IMPORT_JOB))
#define BACKGROUND_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJobClass))

typedef struct _BackgroundImportJob BackgroundImportJob;
typedef struct _BackgroundImportJobClass BackgroundImportJobClass;
typedef struct _BackgroundJobPrivate BackgroundJobPrivate;

#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ())
typedef struct _BackgroundImportJobPrivate BackgroundImportJobPrivate;

#define TYPE_WORK_SNIFFER (work_sniffer_get_type ())
#define WORK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORK_SNIFFER, WorkSniffer))
#define WORK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORK_SNIFFER, WorkSnifferClass))
#define IS_WORK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORK_SNIFFER))
#define IS_WORK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORK_SNIFFER))
#define WORK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORK_SNIFFER, WorkSnifferClass))

typedef struct _WorkSniffer WorkSniffer;
typedef struct _WorkSnifferClass WorkSnifferClass;
#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL)))
typedef struct _WorkSnifferPrivate WorkSnifferPrivate;

#define TYPE_FILE_TO_PREPARE (file_to_prepare_get_type ())
#define FILE_TO_PREPARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_TO_PREPARE, FileToPrepare))
#define FILE_TO_PREPARE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_TO_PREPARE, FileToPrepareClass))
#define IS_FILE_TO_PREPARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_TO_PREPARE))
#define IS_FILE_TO_PREPARE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_TO_PREPARE))
#define FILE_TO_PREPARE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_TO_PREPARE, FileToPrepareClass))

typedef struct _FileToPrepare FileToPrepare;
typedef struct _FileToPrepareClass FileToPrepareClass;

#define TYPE_PREPARE_FILES_JOB (prepare_files_job_get_type ())
#define PREPARE_FILES_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARE_FILES_JOB, PrepareFilesJob))
#define PREPARE_FILES_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARE_FILES_JOB, PrepareFilesJobClass))
#define IS_PREPARE_FILES_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARE_FILES_JOB))
#define IS_PREPARE_FILES_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARE_FILES_JOB))
#define PREPARE_FILES_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARE_FILES_JOB, PrepareFilesJobClass))

typedef struct _PrepareFilesJob PrepareFilesJob;
typedef struct _PrepareFilesJobClass PrepareFilesJobClass;

#define TYPE_NOTIFICATION_OBJECT (notification_object_get_type ())
#define NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObject))
#define NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass))
#define IS_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATION_OBJECT))
#define IS_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATION_OBJECT))
#define NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass))

typedef struct _NotificationObject NotificationObject;
typedef struct _NotificationObjectClass NotificationObjectClass;

#define TYPE_THUMBNAIL_WRITER_JOB (thumbnail_writer_job_get_type ())
#define THUMBNAIL_WRITER_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob))
#define THUMBNAIL_WRITER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJobClass))
#define IS_THUMBNAIL_WRITER_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_WRITER_JOB))
#define IS_THUMBNAIL_WRITER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_WRITER_JOB))
#define THUMBNAIL_WRITER_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJobClass))

typedef struct _ThumbnailWriterJob ThumbnailWriterJob;
typedef struct _ThumbnailWriterJobClass ThumbnailWriterJobClass;
#define _completed_import_object_unref0(var) ((var == NULL) ? NULL : (var = (completed_import_object_unref (var), NULL)))

#define TYPE_PREPARED_FILE_IMPORT_JOB (prepared_file_import_job_get_type ())
#define PREPARED_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob))
#define PREPARED_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobClass))
#define IS_PREPARED_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE_IMPORT_JOB))
#define IS_PREPARED_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE_IMPORT_JOB))
#define PREPARED_FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobClass))

typedef struct _PreparedFileImportJob PreparedFileImportJob;
typedef struct _PreparedFileImportJobClass PreparedFileImportJobClass;
#define _prepared_file_unref0(var) ((var == NULL) ? NULL : (var = (prepared_file_unref (var), NULL)))
typedef struct _PreparedFilePrivate PreparedFilePrivate;

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())

#define TYPE_INTERLOCKED_NOTIFICATION_OBJECT (interlocked_notification_object_get_type ())
#define INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObject))
#define INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass))
#define IS_INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT))
#define IS_INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT))
#define INTERLOCKED_NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass))

typedef struct _InterlockedNotificationObject InterlockedNotificationObject;
typedef struct _InterlockedNotificationObjectClass InterlockedNotificationObjectClass;

#define TYPE_PREPARED_FILE_CLUSTER (prepared_file_cluster_get_type ())
#define PREPARED_FILE_CLUSTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster))
#define PREPARED_FILE_CLUSTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE_CLUSTER, PreparedFileClusterClass))
#define IS_PREPARED_FILE_CLUSTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE_CLUSTER))
#define IS_PREPARED_FILE_CLUSTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE_CLUSTER))
#define PREPARED_FILE_CLUSTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE_CLUSTER, PreparedFileClusterClass))

typedef struct _PreparedFileCluster PreparedFileCluster;
typedef struct _PreparedFileClusterClass PreparedFileClusterClass;
typedef struct _NotificationObjectPrivate NotificationObjectPrivate;
typedef struct _InterlockedNotificationObjectPrivate InterlockedNotificationObjectPrivate;
typedef struct _PreparedFileClusterPrivate PreparedFileClusterPrivate;
#define _notification_object_unref0(var) ((var == NULL) ? NULL : (var = (notification_object_unref (var), NULL)))

#define LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ())

#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))

typedef struct _PhotoSource PhotoSource;
typedef struct _PhotoSourceClass PhotoSourceClass;

#define TYPE_PHOTO (photo_get_type ())
#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))

typedef struct _Photo Photo;
typedef struct _PhotoClass PhotoClass;

#define TYPE_LIBRARY_PHOTO (library_photo_get_type ())
#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto))
#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))
#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO))
#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO))
#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass))

typedef struct _LibraryPhoto LibraryPhoto;
typedef struct _LibraryPhotoClass LibraryPhotoClass;

#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;

#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))

typedef struct _MediaSourceCollection MediaSourceCollection;
typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;

#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))

typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;

#define VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ())

#define TYPE_VIDEO_SOURCE (video_source_get_type ())
#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))

typedef struct _VideoSource VideoSource;
typedef struct _VideoSourceClass VideoSourceClass;

#define TYPE_VIDEO (video_get_type ())
#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video))
#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass))
#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO))
#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO))
#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass))

typedef struct _Video Video;
typedef struct _VideoClass VideoClass;

#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))

typedef struct _VideoSourceCollection VideoSourceCollection;
typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;

#define TYPE_VIDEO_ID (video_id_get_type ())
typedef struct _VideoID VideoID;

#define TYPE_DATABASE_TABLE (database_table_get_type ())
#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable))
#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass))
#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE))
#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE))
#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass))

typedef struct _DatabaseTable DatabaseTable;
typedef struct _DatabaseTableClass DatabaseTableClass;

#define TYPE_VIDEO_TABLE (video_table_get_type ())
#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable))
#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass))
#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE))
#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE))
#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass))

typedef struct _VideoTable VideoTable;
typedef struct _VideoTableClass VideoTableClass;
#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL)))

#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ())
#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank))
#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK))
#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK))
#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))

typedef struct _SourceHoldingTank SourceHoldingTank;
typedef struct _SourceHoldingTankClass SourceHoldingTankClass;

#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ())
#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank))
#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))
#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK))
#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK))
#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))

typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank;
typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass;

#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ())
#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank))
#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))
#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK))
#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK))
#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))

typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank;
typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass;
#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL)))

#define TYPE_MONITORABLE (monitorable_get_type ())
#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable))
#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE))
#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface))

typedef struct _Monitorable Monitorable;
typedef struct _MonitorableIface MonitorableIface;

#define TYPE_PHOTO_ID (photo_id_get_type ())
typedef struct _PhotoID PhotoID;

#define TYPE_PHOTO_TABLE (photo_table_get_type ())
#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable))
#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass))
#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE))
#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE))
#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass))

typedef struct _PhotoTable PhotoTable;
typedef struct _PhotoTableClass PhotoTableClass;
typedef struct _BatchImportProcessPreparedFilesData BatchImportProcessPreparedFilesData;
typedef struct _PrepareFilesJobPrivate PrepareFilesJobPrivate;
typedef struct _PreparedFileImportJobPrivate PreparedFileImportJobPrivate;

#define TYPE_READY_FOR_IMPORT (ready_for_import_get_type ())
#define READY_FOR_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_READY_FOR_IMPORT, ReadyForImport))
#define READY_FOR_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_READY_FOR_IMPORT, ReadyForImportClass))
#define IS_READY_FOR_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_READY_FOR_IMPORT))
#define IS_READY_FOR_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_READY_FOR_IMPORT))
#define READY_FOR_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_READY_FOR_IMPORT, ReadyForImportClass))

typedef struct _ReadyForImport ReadyForImport;
typedef struct _ReadyForImportClass ReadyForImportClass;
typedef struct _ReadyForImportPrivate ReadyForImportPrivate;

#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ())
#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams))
#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass))
#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS))
#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS))
#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass))

typedef struct _PhotoImportParams PhotoImportParams;
typedef struct _PhotoImportParamsClass PhotoImportParamsClass;

#define TYPE_VIDEO_IMPORT_PARAMS (video_import_params_get_type ())
#define VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParams))
#define VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass))
#define IS_VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_PARAMS))
#define IS_VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_PARAMS))
#define VIDEO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass))

typedef struct _VideoImportParams VideoImportParams;
typedef struct _VideoImportParamsClass VideoImportParamsClass;

#define TYPE_TOMBSTONE (tombstone_get_type ())
#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone))
#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass))
#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE))
#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE))
#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass))

typedef struct _Tombstone Tombstone;
typedef struct _TombstoneClass TombstoneClass;

#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ())
#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection))
#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))
#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION))
#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION))
#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))

typedef struct _TombstoneSourceCollection TombstoneSourceCollection;
typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass;
typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate;

#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ())

#define TYPE_THUMBNAILS (thumbnails_get_type ())
#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails))
#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass))
#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS))
#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS))
#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass))

typedef struct _Thumbnails Thumbnails;
typedef struct _ThumbnailsClass ThumbnailsClass;

#define TYPE_PHOTO_ROW (photo_row_get_type ())
#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow))
#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass))
#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW))
#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW))
#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass))

typedef struct _PhotoRow PhotoRow;
typedef struct _PhotoRowClass PhotoRowClass;

#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ())
#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow))
#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass))
#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW))
#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW))
#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass))

typedef struct _BackingPhotoRow BackingPhotoRow;
typedef struct _BackingPhotoRowClass BackingPhotoRowClass;
typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate;

#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ())
typedef struct _BackingPhotoID BackingPhotoID;

#define TYPE_DIMENSIONS (dimensions_get_type ())
typedef struct _Dimensions Dimensions;

#define TYPE_ORIENTATION (orientation_get_type ())

#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL)))

#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))

typedef struct _ConfigurationFacade ConfigurationFacade;
typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;

#define CONFIG_TYPE_FACADE (config_facade_get_type ())
#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))

typedef struct _ConfigFacade ConfigFacade;
typedef struct _ConfigFacadeClass ConfigFacadeClass;
#define _thumbnails_unref0(var) ((var == NULL) ? NULL : (var = (thumbnails_unref (var), NULL)))
typedef struct _ThumbnailWriterJobPrivate ThumbnailWriterJobPrivate;
typedef struct _CompletedImportObjectPrivate CompletedImportObjectPrivate;

#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))

typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))

#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ())
#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection))
#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION))
#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION))
#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))

typedef struct _ContainerSourceCollection ContainerSourceCollection;
typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass;

#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ())
#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection))
#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))
#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION))
#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION))
#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass))

typedef struct _EventSourceCollection EventSourceCollection;
typedef struct _EventSourceCollectionClass EventSourceCollectionClass;

#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ())
#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection))
#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))
#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION))
#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION))
#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))

typedef struct _TagSourceCollection TagSourceCollection;
typedef struct _TagSourceCollectionClass TagSourceCollectionClass;
enum  {
	BATCH_IMPORT_STARTING_SIGNAL,
	BATCH_IMPORT_PREPARING_SIGNAL,
	BATCH_IMPORT_PROGRESS_SIGNAL,
	BATCH_IMPORT_IMPORTED_SIGNAL,
	BATCH_IMPORT_FATAL_ERROR_SIGNAL,
	BATCH_IMPORT_IMPORT_JOB_FAILED_SIGNAL,
	BATCH_IMPORT_IMPORT_COMPLETE_SIGNAL,
	BATCH_IMPORT_NUM_SIGNALS
};
static guint batch_import_signals[BATCH_IMPORT_NUM_SIGNALS] = {0};
typedef struct _DuplicatedFilePrivate DuplicatedFilePrivate;
enum  {
	DUPLICATED_FILE_0_PROPERTY,
	DUPLICATED_FILE_NUM_PROPERTIES
};
static GParamSpec* duplicated_file_properties[DUPLICATED_FILE_NUM_PROPERTIES];
#define _video_id_free0(var) ((var == NULL) ? NULL : (var = (video_id_free (var), NULL)))
#define _photo_id_free0(var) ((var == NULL) ? NULL : (var = (photo_id_free (var), NULL)))

#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ())
#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore))
#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))
#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE))
#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE))
#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))

typedef struct _AbstractSemaphore AbstractSemaphore;
typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass;
typedef struct _FileToPreparePrivate FileToPreparePrivate;
#define _file_to_prepare_unref0(var) ((var == NULL) ? NULL : (var = (file_to_prepare_unref (var), NULL)))
typedef struct _ParamSpecFileToPrepare ParamSpecFileToPrepare;

#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ())
#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties))
#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass))
#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES))
#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES))
#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass))

typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties;
typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass;

#define TYPE_RAW_FILE_FORMAT_PROPERTIES (raw_file_format_properties_get_type ())
#define RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties))
#define RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass))
#define IS_RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES))
#define IS_RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES))
#define RAW_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass))

typedef struct _RawFileFormatProperties RawFileFormatProperties;
typedef struct _RawFileFormatPropertiesClass RawFileFormatPropertiesClass;
#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL)))

#define TYPE_JFIF_FILE_FORMAT_PROPERTIES (jfif_file_format_properties_get_type ())
#define JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties))
#define JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass))
#define IS_JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES))
#define IS_JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES))
#define JFIF_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass))

typedef struct _JfifFileFormatProperties JfifFileFormatProperties;
typedef struct _JfifFileFormatPropertiesClass JfifFileFormatPropertiesClass;
typedef struct _ParamSpecPreparedFile ParamSpecPreparedFile;

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

typedef struct _PhotoFileAdapter PhotoFileAdapter;
typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass;

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

typedef struct _PhotoFileReader PhotoFileReader;
typedef struct _PhotoFileReaderClass PhotoFileReaderClass;

#define TYPE_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 _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL)))
#define _photo_import_params_unref0(var) ((var == NULL) ? NULL : (var = (photo_import_params_unref (var), NULL)))
#define _video_import_params_unref0(var) ((var == NULL) ? NULL : (var = (video_import_params_unref (var), NULL)))
typedef struct _VideoImportParamsPrivate VideoImportParamsPrivate;

#define TYPE_VIDEO_ROW (video_row_get_type ())
#define VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_ROW, VideoRow))
#define VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_ROW, VideoRowClass))
#define IS_VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_ROW))
#define IS_VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_ROW))
#define VIDEO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_ROW, VideoRowClass))

typedef struct _VideoRow VideoRow;
typedef struct _VideoRowClass VideoRowClass;
typedef struct _ParamSpecReadyForImport ParamSpecReadyForImport;
#define _ready_for_import_unref0(var) ((var == NULL) ? NULL : (var = (ready_for_import_unref (var), NULL)))

#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ())
typedef struct _ParamSpecCompletedImportObject ParamSpecCompletedImportObject;
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

typedef enum  {
	IMPORT_RESULT_SUCCESS,
	IMPORT_RESULT_FILE_ERROR,
	IMPORT_RESULT_DECODE_ERROR,
	IMPORT_RESULT_DATABASE_ERROR,
	IMPORT_RESULT_USER_ABORT,
	IMPORT_RESULT_NOT_A_FILE,
	IMPORT_RESULT_PHOTO_EXISTS,
	IMPORT_RESULT_UNSUPPORTED_FORMAT,
	IMPORT_RESULT_NOT_AN_IMAGE,
	IMPORT_RESULT_DISK_FAILURE,
	IMPORT_RESULT_DISK_FULL,
	IMPORT_RESULT_CAMERA_ERROR,
	IMPORT_RESULT_FILE_WRITE_ERROR,
	IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE
} ImportResult;

typedef enum  {
	GPHOTO_ERROR_LIBRARY
} GPhotoError;
#define GPHOTO_ERROR gphoto_error_quark ()
struct _BatchImportJob {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportJobPrivate * priv;
};

struct _BatchImportJobClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportJob *self);
	gchar* (*get_dest_identifier) (BatchImportJob* self);
	gchar* (*get_source_identifier) (BatchImportJob* self);
	gboolean (*is_directory) (BatchImportJob* self);
	gchar* (*get_basename) (BatchImportJob* self);
	gchar* (*get_path) (BatchImportJob* self);
	DuplicatedFile* (*get_duplicated_file) (BatchImportJob* self);
	GFile* (*get_associated_file) (BatchImportJob* self);
	void (*set_associated) (BatchImportJob* self, BatchImportJob* associated);
	gboolean (*determine_file_size) (BatchImportJob* self, guint64* filesize, GFile* * file_or_dir);
	gboolean (*prepare) (BatchImportJob* self, GFile* * file_to_import, gboolean* copy_to_library, GError** error);
	gboolean (*complete) (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error);
	time_t (*get_exposure_time_override) (BatchImportJob* self);
	gboolean (*recurse) (BatchImportJob* self);
};

struct _ParamSpecBatchImportJob {
	GParamSpec parent_instance;
};

struct _FileImportJob {
	BatchImportJob parent_instance;
	FileImportJobPrivate * priv;
};

struct _FileImportJobClass {
	BatchImportJobClass parent_class;
};

struct _FileImportJobPrivate {
	GFile* file_or_dir;
	gboolean copy_to_library;
	FileImportJob* associated;
	gboolean _recurse;
};

struct _ImportID {
	gint64 id;
};

struct _BatchImportRoll {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportRollPrivate * priv;
	ImportID import_id;
	ViewCollection* generated_events;
};

struct _BatchImportRollClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportRoll *self);
};

struct _ParamSpecBatchImportRoll {
	GParamSpec parent_instance;
};

struct _BatchImportResult {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BatchImportResultPrivate * priv;
	BatchImportJob* job;
	GFile* file;
	gchar* src_identifier;
	gchar* dest_identifier;
	ImportResult result;
	gchar* errmsg;
	DuplicatedFile* duplicate_of;
};

struct _BatchImportResultClass {
	GTypeClass parent_class;
	void (*finalize) (BatchImportResult *self);
};

struct _ParamSpecBatchImportResult {
	GParamSpec parent_instance;
};

struct _ImportManifest {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ImportManifestPrivate * priv;
	GeeList* imported;
	GeeList* success;
	GeeList* camera_failed;
	GeeList* failed;
	GeeList* write_failed;
	GeeList* skipped_photos;
	GeeList* skipped_files;
	GeeList* aborted;
	GeeList* already_imported;
	GeeList* corrupt_files;
	GeeList* all;
	GTimer* timer;
};

struct _ImportManifestClass {
	GTypeClass parent_class;
	void (*finalize) (ImportManifest *self);
};

struct _ParamSpecImportManifest {
	GParamSpec parent_instance;
};

struct _BatchImport {
	GObject parent_instance;
	BatchImportPrivate * priv;
};

struct _BatchImportClass {
	GObjectClass parent_class;
};

typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data);
struct _BatchImportPrivate {
	GeeIterable* jobs;
	BatchImportRoll* import_roll;
	gchar* name;
	guint64 completed_bytes;
	guint64 total_bytes;
	BatchImportImportReporter reporter;
	gpointer reporter_target;
	ImportManifest* manifest;
	gboolean scheduled;
	gboolean completed;
	gint file_imports_to_perform;
	gint file_imports_completed;
	GCancellable* cancellable;
	gulong last_preparing_ms;
	GeeHashSet* skipset;
	GeeHashMap* imported_full_md5_table;
	guint throbber_id;
	guint max_outstanding_import_jobs;
	gboolean untrash_duplicates;
	gboolean mark_duplicates_online;
	GeeList* ready_files;
	GeeList* ready_thumbnails;
	GeeList* display_imported_queue;
	GeeList* ready_sources;
};

typedef enum  {
	BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100,
	BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75,
	BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50,
	BACKGROUND_JOB_JOB_PRIORITY_LOW = 25,
	BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0
} BackgroundJobJobPriority;

struct _BackgroundJob {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackgroundJobPrivate * priv;
};

struct _BackgroundJobClass {
	GTypeClass parent_class;
	void (*finalize) (BackgroundJob *self);
	void (*execute) (BackgroundJob* self);
	BackgroundJobJobPriority (*get_priority) (BackgroundJob* self);
};

struct _BackgroundImportJob {
	BackgroundJob parent_instance;
	BackgroundImportJobPrivate * priv;
	ImportResult abort_flag;
	GeeList* failed;
};

struct _BackgroundImportJobClass {
	BackgroundJobClass parent_class;
};

typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data);
typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data);
struct _WorkSniffer {
	BackgroundImportJob parent_instance;
	WorkSnifferPrivate * priv;
	GeeList* files_to_prepare;
	guint64 total_bytes;
};

struct _WorkSnifferClass {
	BackgroundImportJobClass parent_class;
};

typedef void (*NotificationCallback) (BackgroundJob* job, NotificationObject* user, void* user_data);
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 _PreparedFile {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PreparedFilePrivate * priv;
	BatchImportJob* job;
	ImportResult result;
	GFile* file;
	GFile* associated_file;
	gchar* source_id;
	gchar* dest_id;
	gboolean copy_to_library;
	gchar* exif_md5;
	gchar* thumbnail_md5;
	gchar* full_md5;
	PhotoFileFormat file_format;
	guint64 filesize;
	gboolean is_video;
};

struct _PreparedFileClass {
	GTypeClass parent_class;
	void (*finalize) (PreparedFile *self);
};

struct _NotificationObject {
	GTypeInstance parent_instance;
	volatile int ref_count;
	NotificationObjectPrivate * priv;
};

struct _NotificationObjectClass {
	GTypeClass parent_class;
	void (*finalize) (NotificationObject *self);
};

struct _InterlockedNotificationObject {
	NotificationObject parent_instance;
	InterlockedNotificationObjectPrivate * priv;
};

struct _InterlockedNotificationObjectClass {
	NotificationObjectClass parent_class;
};

struct _PreparedFileCluster {
	InterlockedNotificationObject parent_instance;
	PreparedFileClusterPrivate * priv;
	GeeArrayList* list;
};

struct _PreparedFileClusterClass {
	InterlockedNotificationObjectClass parent_class;
};

typedef enum  {
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE,
	LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER
} LibraryPhotoSourceCollectionState;

typedef enum  {
	VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN,
	VIDEO_SOURCE_COLLECTION_STATE_ONLINE,
	VIDEO_SOURCE_COLLECTION_STATE_OFFLINE,
	VIDEO_SOURCE_COLLECTION_STATE_TRASH
} VideoSourceCollectionState;

struct _VideoID {
	gint64 id;
};

struct _MonitorableIface {
	GTypeInterface parent_iface;
	gboolean (*is_offline) (Monitorable* self);
	void (*mark_online) (Monitorable* self);
	void (*mark_offline) (Monitorable* self);
	void (*set_master_file) (Monitorable* self, GFile* file);
	void (*set_master_timestamp) (Monitorable* self, GFileInfo* info);
};

struct _PhotoID {
	gint64 id;
};

struct _BatchImportProcessPreparedFilesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	GAsyncReadyCallback _callback_;
	gboolean _task_complete_;
	BatchImport* self;
	GeeList* list;
	GeeList* _prepared_file_list;
	GeeList* _tmp0_;
	gint _prepared_file_size;
	GeeList* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	gint _prepared_file_index;
	gint _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	PreparedFile* prepared_file;
	GeeList* _tmp7_;
	gint _tmp8_;
	gpointer _tmp9_;
	BatchImportResult* import_result;
	LibraryPhotoSourceCollectionState photo_state;
	LibraryPhoto* photo;
	LibraryPhotoSourceCollection* _tmp10_;
	PreparedFile* _tmp11_;
	GFile* _tmp12_;
	LibraryPhotoSourceCollectionState _tmp13_;
	LibraryPhoto* _tmp14_;
	LibraryPhoto* _tmp15_;
	LibraryPhotoSourceCollectionState _tmp16_;
	PreparedFile* _tmp17_;
	BatchImportJob* _tmp18_;
	PreparedFile* _tmp19_;
	GFile* _tmp20_;
	PreparedFile* _tmp21_;
	GFile* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	PreparedFile* _tmp25_;
	GFile* _tmp26_;
	gchar* _tmp27_;
	gchar* _tmp28_;
	LibraryPhoto* _tmp29_;
	GFile* _tmp30_;
	GFile* _tmp31_;
	DuplicatedFile* _tmp32_;
	DuplicatedFile* _tmp33_;
	BatchImportResult* _tmp34_;
	LibraryPhotoSourceCollectionState _tmp35_;
	LibraryPhoto* _tmp36_;
	LibraryPhotoSourceCollectionState _tmp37_;
	GEnumValue* _tmp38_;
	BatchImportResult* _tmp39_;
	BatchImportResult* _tmp40_;
	VideoSourceCollectionState video_state;
	Video* video;
	VideoSourceCollection* _tmp41_;
	PreparedFile* _tmp42_;
	GFile* _tmp43_;
	VideoSourceCollectionState _tmp44_;
	Video* _tmp45_;
	Video* _tmp46_;
	VideoSourceCollectionState _tmp47_;
	PreparedFile* _tmp48_;
	BatchImportJob* _tmp49_;
	PreparedFile* _tmp50_;
	GFile* _tmp51_;
	PreparedFile* _tmp52_;
	GFile* _tmp53_;
	gchar* _tmp54_;
	gchar* _tmp55_;
	PreparedFile* _tmp56_;
	GFile* _tmp57_;
	gchar* _tmp58_;
	gchar* _tmp59_;
	Video* _tmp60_;
	GFile* _tmp61_;
	GFile* _tmp62_;
	DuplicatedFile* _tmp63_;
	DuplicatedFile* _tmp64_;
	BatchImportResult* _tmp65_;
	VideoSourceCollectionState _tmp66_;
	Video* _tmp67_;
	VideoSourceCollectionState _tmp68_;
	GEnumValue* _tmp69_;
	BatchImportResult* _tmp70_;
	BatchImportResult* _tmp71_;
	gboolean _tmp72_;
	PreparedFile* _tmp73_;
	gboolean _tmp74_;
	PreparedFile* _tmp75_;
	GFile* _tmp76_;
	PreparedFile* _tmp77_;
	const gchar* _tmp78_;
	VideoID* duplicate_ids;
	VideoTable* _tmp79_;
	VideoTable* _tmp80_;
	PreparedFile* _tmp81_;
	GFile* _tmp82_;
	PreparedFile* _tmp83_;
	const gchar* _tmp84_;
	gint _tmp85_;
	VideoID* _tmp86_;
	VideoID* _tmp87_;
	gint _tmp87__length1;
	gint duplicate_ids_length1;
	gint _duplicate_ids_size_;
	VideoID* _tmp88_;
	gint _tmp88__length1;
	DuplicatedFile* duplicated_file;
	VideoID* _tmp89_;
	gint _tmp89__length1;
	VideoID _tmp90_;
	DuplicatedFile* _tmp91_;
	ImportResult result_code;
	gboolean _tmp92_;
	Video* dupe_video;
	VideoSourceCollection* _tmp93_;
	MediaSourceHoldingTank* _tmp94_;
	MediaSourceHoldingTank* _tmp95_;
	PreparedFile* _tmp96_;
	GFile* _tmp97_;
	MediaSource* _tmp98_;
	Video* _tmp99_;
	Video* _tmp100_;
	VideoSourceCollection* _tmp101_;
	MediaSourceHoldingTank* _tmp102_;
	MediaSourceHoldingTank* _tmp103_;
	PreparedFile* _tmp104_;
	const gchar* _tmp105_;
	MediaSource* _tmp106_;
	Video* _tmp107_;
	PreparedFile* _tmp108_;
	GFile* _tmp109_;
	gchar* _tmp110_;
	gchar* _tmp111_;
	Video* _tmp112_;
	PreparedFile* _tmp113_;
	GFile* _tmp114_;
	Video* _tmp115_;
	ImportManifest* _tmp116_;
	GeeList* _tmp117_;
	Video* _tmp118_;
	Video* _tmp119_;
	PreparedFile* _tmp120_;
	BatchImportJob* _tmp121_;
	PreparedFile* _tmp122_;
	GFile* _tmp123_;
	PreparedFile* _tmp124_;
	GFile* _tmp125_;
	gchar* _tmp126_;
	gchar* _tmp127_;
	PreparedFile* _tmp128_;
	GFile* _tmp129_;
	gchar* _tmp130_;
	gchar* _tmp131_;
	DuplicatedFile* _tmp132_;
	ImportResult _tmp133_;
	BatchImportResult* _tmp134_;
	ImportResult _tmp135_;
	ImportManifest* _tmp136_;
	BatchImportResult* _tmp137_;
	PreparedFile* _tmp138_;
	GFile* _tmp139_;
	GFile* _tmp140_;
	gboolean _tmp141_;
	PreparedFile* _tmp142_;
	BatchImportJob* _tmp143_;
	PreparedFile* _tmp144_;
	GFile* _tmp145_;
	PreparedFile* _tmp146_;
	GFile* _tmp147_;
	gchar* _tmp148_;
	gchar* _tmp149_;
	PreparedFile* _tmp150_;
	GFile* _tmp151_;
	gchar* _tmp152_;
	gchar* _tmp153_;
	PreparedFile* _tmp154_;
	GFile* _tmp155_;
	GFile* _tmp156_;
	DuplicatedFile* _tmp157_;
	DuplicatedFile* _tmp158_;
	BatchImportResult* _tmp159_;
	PreparedFile* _tmp160_;
	GFile* _tmp161_;
	PreparedFile* _tmp162_;
	const gchar* _tmp163_;
	PreparedFile* _tmp164_;
	PhotoFileFormat _tmp165_;
	gboolean _tmp166_;
	LibraryPhotoSourceCollection* _tmp167_;
	PreparedFile* _tmp168_;
	GFile* _tmp169_;
	LibraryPhoto* _tmp170_;
	gboolean _tmp171_;
	LibraryPhoto* _tmp172_;
	PreparedFile* _tmp173_;
	const gchar* _tmp174_;
	LibraryPhotoSourceCollection* _tmp175_;
	PreparedFile* _tmp176_;
	const gchar* _tmp177_;
	LibraryPhoto* _tmp178_;
	LibraryPhoto* _tmp179_;
	PreparedFile* _tmp180_;
	GFile* _tmp181_;
	gchar* _tmp182_;
	gchar* _tmp183_;
	LibraryPhoto* _tmp184_;
	PreparedFile* _tmp185_;
	GFile* _tmp186_;
	LibraryPhoto* _tmp187_;
	LibraryPhoto* _tmp188_;
	gboolean _tmp189_;
	LibraryPhoto* _tmp190_;
	gboolean _tmp191_;
	LibraryPhotoSourceCollection* _tmp192_;
	PreparedFile* _tmp193_;
	GFile* _tmp194_;
	LibraryPhoto* _tmp195_;
	gboolean _tmp196_;
	LibraryPhoto* _tmp197_;
	PreparedFile* _tmp198_;
	const gchar* _tmp199_;
	LibraryPhotoSourceCollection* _tmp200_;
	PreparedFile* _tmp201_;
	const gchar* _tmp202_;
	LibraryPhoto* _tmp203_;
	LibraryPhoto* _tmp204_;
	PreparedFile* _tmp205_;
	GFile* _tmp206_;
	gchar* _tmp207_;
	gchar* _tmp208_;
	LibraryPhoto* _tmp209_;
	PreparedFile* _tmp210_;
	GFile* _tmp211_;
	LibraryPhoto* _tmp212_;
	LibraryPhoto* _tmp213_;
	PreparedFile* _tmp214_;
	BatchImportJob* _tmp215_;
	PreparedFile* _tmp216_;
	GFile* _tmp217_;
	PreparedFile* _tmp218_;
	GFile* _tmp219_;
	gchar* _tmp220_;
	gchar* _tmp221_;
	PreparedFile* _tmp222_;
	GFile* _tmp223_;
	gchar* _tmp224_;
	gchar* _tmp225_;
	BatchImportResult* _tmp226_;
	ImportManifest* _tmp227_;
	GeeList* _tmp228_;
	LibraryPhoto* _tmp229_;
	ImportManifest* _tmp230_;
	BatchImportResult* _tmp231_;
	LibraryPhoto* _tmp232_;
	PreparedFile* _tmp233_;
	GFile* _tmp234_;
	gchar* _tmp235_;
	gchar* _tmp236_;
	PhotoID* photo_ids;
	PhotoTable* _tmp237_;
	PhotoTable* _tmp238_;
	PreparedFile* _tmp239_;
	GFile* _tmp240_;
	PreparedFile* _tmp241_;
	const gchar* _tmp242_;
	PreparedFile* _tmp243_;
	PhotoFileFormat _tmp244_;
	gint _tmp245_;
	PhotoID* _tmp246_;
	PhotoID* _tmp247_;
	gint _tmp247__length1;
	gint photo_ids_length1;
	gint _photo_ids_size_;
	PhotoID* _tmp248_;
	gint _tmp248__length1;
	DuplicatedFile* _vala1_duplicated_file;
	PhotoID* _tmp249_;
	gint _tmp249__length1;
	PhotoID _tmp250_;
	DuplicatedFile* _tmp251_;
	PreparedFile* _tmp252_;
	BatchImportJob* _tmp253_;
	PreparedFile* _tmp254_;
	GFile* _tmp255_;
	PreparedFile* _tmp256_;
	GFile* _tmp257_;
	gchar* _tmp258_;
	gchar* _tmp259_;
	PreparedFile* _tmp260_;
	GFile* _tmp261_;
	gchar* _tmp262_;
	gchar* _tmp263_;
	DuplicatedFile* _tmp264_;
	BatchImportResult* _tmp265_;
	BatchImportResult* _tmp266_;
	BatchImportResult* _tmp267_;
	GeeList* _tmp268_;
	PreparedFile* _tmp269_;
};

struct _PrepareFilesJob {
	BackgroundImportJob parent_instance;
	PrepareFilesJobPrivate * priv;
	gint prepared_files;
};

struct _PrepareFilesJobClass {
	BackgroundImportJobClass parent_class;
};

struct _PreparedFileImportJob {
	BackgroundJob parent_instance;
	PreparedFileImportJobPrivate * priv;
	PreparedFile* not_ready;
	ReadyForImport* ready;
	BatchImportResult* failed;
};

struct _PreparedFileImportJobClass {
	BackgroundJobClass parent_class;
};

struct _ReadyForImport {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ReadyForImportPrivate * priv;
	GFile* final_file;
	PreparedFile* prepared_file;
	PhotoImportParams* photo_import_params;
	VideoImportParams* video_import_params;
	BatchImportResult* batch_result;
	gboolean is_video;
};

struct _ReadyForImportClass {
	GTypeClass parent_class;
	void (*finalize) (ReadyForImport *self);
};

typedef enum  {
	PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000,
	PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001
} PhotoFileSnifferOptions;

struct _PhotoImportParams {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PhotoImportParamsPrivate * priv;
	GFile* file;
	GFile* final_associated_file;
	ImportID import_id;
	PhotoFileSnifferOptions sniffer_options;
	gchar* exif_md5;
	gchar* thumbnail_md5;
	gchar* full_md5;
	Thumbnails* thumbnails;
	PhotoRow* row;
	GeeCollection* keywords;
};

struct _PhotoImportParamsClass {
	GTypeClass parent_class;
	void (*finalize) (PhotoImportParams *self);
};

struct _BackingPhotoID {
	gint64 id;
};

struct _Dimensions {
	gint width;
	gint height;
};

typedef enum  {
	ORIENTATION_MIN = 1,
	ORIENTATION_TOP_LEFT = 1,
	ORIENTATION_TOP_RIGHT = 2,
	ORIENTATION_BOTTOM_RIGHT = 3,
	ORIENTATION_BOTTOM_LEFT = 4,
	ORIENTATION_LEFT_TOP = 5,
	ORIENTATION_RIGHT_TOP = 6,
	ORIENTATION_RIGHT_BOTTOM = 7,
	ORIENTATION_LEFT_BOTTOM = 8,
	ORIENTATION_MAX = 8
} Orientation;

struct _BackingPhotoRow {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BackingPhotoRowPrivate * priv;
	BackingPhotoID id;
	time_t time_created;
	gchar* filepath;
	gint64 filesize;
	time_t timestamp;
	PhotoFileFormat file_format;
	Dimensions dim;
	Orientation original_orientation;
};

struct _BackingPhotoRowClass {
	GTypeClass parent_class;
	void (*finalize) (BackingPhotoRow *self);
};

typedef enum  {
	RAW_DEVELOPER_SHOTWELL = 0,
	RAW_DEVELOPER_CAMERA,
	RAW_DEVELOPER_EMBEDDED
} RawDeveloper;

struct _ThumbnailWriterJob {
	BackgroundImportJob parent_instance;
	ThumbnailWriterJobPrivate * priv;
	CompletedImportObject* completed_import_source;
};

struct _ThumbnailWriterJobClass {
	BackgroundImportJobClass parent_class;
};

struct _CompletedImportObject {
	GTypeInstance parent_instance;
	volatile int ref_count;
	CompletedImportObjectPrivate * priv;
	Thumbnails* thumbnails;
	BatchImportResult* batch_result;
	MediaSource* source;
	BatchImportJob* original_job;
	GdkPixbuf* user_preview;
};

struct _CompletedImportObjectClass {
	GTypeClass parent_class;
	void (*finalize) (CompletedImportObject *self);
};

struct _DuplicatedFile {
	GObject parent_instance;
	DuplicatedFilePrivate * priv;
};

struct _DuplicatedFileClass {
	GObjectClass parent_class;
};

struct _DuplicatedFilePrivate {
	VideoID* video_id;
	PhotoID* photo_id;
	GFile* file;
};

struct _FileToPrepare {
	GTypeInstance parent_instance;
	volatile int ref_count;
	FileToPreparePrivate * priv;
	BatchImportJob* job;
	GFile* file;
	gboolean copy_to_library;
	FileToPrepare* associated;
};

struct _FileToPrepareClass {
	GTypeClass parent_class;
	void (*finalize) (FileToPrepare *self);
};

struct _ParamSpecFileToPrepare {
	GParamSpec parent_instance;
};

struct _WorkSnifferPrivate {
	GeeIterable* jobs;
	GeeHashSet* skipset;
};

struct _ParamSpecPreparedFile {
	GParamSpec parent_instance;
};

struct _PrepareFilesJobPrivate {
	GeeList* files_to_prepare;
	NotificationCallback notification;
	gpointer notification_target;
	GFile* library_dir;
	gint import_file_count;
	gint fail_every;
	gint skip_every;
};

struct _VideoImportParams {
	GTypeInstance parent_instance;
	volatile int ref_count;
	VideoImportParamsPrivate * priv;
	GFile* file;
	ImportID import_id;
	gchar* md5;
	time_t exposure_time_override;
	Thumbnails* thumbnails;
	VideoRow* row;
};

struct _VideoImportParamsClass {
	GTypeClass parent_class;
	void (*finalize) (VideoImportParams *self);
};

struct _ParamSpecReadyForImport {
	GParamSpec parent_instance;
};

struct _PreparedFileImportJobPrivate {
	ImportID import_id;
};

typedef enum  {
	THUMBNAIL_CACHE_SIZE_LARGEST = 360,
	THUMBNAIL_CACHE_SIZE_BIG = 360,
	THUMBNAIL_CACHE_SIZE_MEDIUM = 128,
	THUMBNAIL_CACHE_SIZE_SMALLEST = 128
} ThumbnailCacheSize;

struct _ParamSpecCompletedImportObject {
	GParamSpec parent_instance;
};


static gpointer batch_import_job_parent_class = NULL;
static gpointer file_import_job_parent_class = NULL;
static gpointer batch_import_roll_parent_class = NULL;
static gpointer batch_import_result_parent_class = NULL;
static gpointer import_manifest_parent_class = NULL;
static gpointer batch_import_parent_class = NULL;
static Workers* batch_import_feeder_workers;
static Workers* batch_import_feeder_workers = NULL;
static Workers* batch_import_import_workers;
static Workers* batch_import_import_workers = NULL;
extern LibraryPhotoSourceCollection* library_photo_global;
extern VideoSourceCollection* video_global;
extern TombstoneSourceCollection* tombstone_global;
extern EventSourceCollection* event_global;
extern TagSourceCollection* tag_global;
static gpointer duplicated_file_parent_class = NULL;
static gpointer background_import_job_parent_class = NULL;
static gpointer file_to_prepare_parent_class = NULL;
static gpointer work_sniffer_parent_class = NULL;
static gpointer prepared_file_parent_class = NULL;
static gpointer prepared_file_cluster_parent_class = NULL;
static gpointer prepare_files_job_parent_class = NULL;
static gpointer ready_for_import_parent_class = NULL;
static gpointer prepared_file_import_job_parent_class = NULL;
static gpointer completed_import_object_parent_class = NULL;
static gpointer thumbnail_writer_job_parent_class = NULL;

GType import_result_get_type (void) G_GNUC_CONST;
gchar* import_result_to_string (ImportResult self);
gboolean import_result_is_abort (ImportResult self);
gboolean import_result_is_nonuser_abort (ImportResult self);
ImportResult import_result_convert_error (GError* err,
                                          ImportResult default_result);
GQuark gphoto_error_quark (void);
gpointer batch_import_job_ref (gpointer instance);
void batch_import_job_unref (gpointer instance);
GParamSpec* param_spec_batch_import_job (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
void value_set_batch_import_job (GValue* value,
                                 gpointer v_object);
void value_take_batch_import_job (GValue* value,
                                  gpointer v_object);
gpointer value_get_batch_import_job (const GValue* value);
GType batch_import_job_get_type (void) G_GNUC_CONST;
GType duplicated_file_get_type (void) G_GNUC_CONST;
GType data_object_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
gpointer batch_import_roll_ref (gpointer instance);
void batch_import_roll_unref (gpointer instance);
GParamSpec* param_spec_batch_import_roll (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
void value_set_batch_import_roll (GValue* value,
                                  gpointer v_object);
void value_take_batch_import_roll (GValue* value,
                                   gpointer v_object);
gpointer value_get_batch_import_roll (const GValue* value);
GType batch_import_roll_get_type (void) G_GNUC_CONST;
gchar* batch_import_job_get_dest_identifier (BatchImportJob* self);
static gchar* batch_import_job_real_get_dest_identifier (BatchImportJob* self);
gchar* batch_import_job_get_source_identifier (BatchImportJob* self);
static gchar* batch_import_job_real_get_source_identifier (BatchImportJob* self);
gboolean batch_import_job_is_directory (BatchImportJob* self);
static gboolean batch_import_job_real_is_directory (BatchImportJob* self);
gchar* batch_import_job_get_basename (BatchImportJob* self);
static gchar* batch_import_job_real_get_basename (BatchImportJob* self);
gchar* batch_import_job_get_path (BatchImportJob* self);
static gchar* batch_import_job_real_get_path (BatchImportJob* self);
DuplicatedFile* batch_import_job_get_duplicated_file (BatchImportJob* self);
static DuplicatedFile* batch_import_job_real_get_duplicated_file (BatchImportJob* self);
GFile* batch_import_job_get_associated_file (BatchImportJob* self);
static GFile* batch_import_job_real_get_associated_file (BatchImportJob* self);
void batch_import_job_set_associated (BatchImportJob* self,
                                      BatchImportJob* associated);
static void batch_import_job_real_set_associated (BatchImportJob* self,
                                           BatchImportJob* associated);
gboolean batch_import_job_determine_file_size (BatchImportJob* self,
                                               guint64* filesize,
                                               GFile* * file_or_dir);
static gboolean batch_import_job_real_determine_file_size (BatchImportJob* self,
                                                    guint64* filesize,
                                                    GFile* * file_or_dir);
gboolean batch_import_job_prepare (BatchImportJob* self,
                                   GFile* * file_to_import,
                                   gboolean* copy_to_library,
                                   GError** error);
static gboolean batch_import_job_real_prepare (BatchImportJob* self,
                                        GFile* * file_to_import,
                                        gboolean* copy_to_library,
                                        GError** error);
gboolean batch_import_job_complete (BatchImportJob* self,
                                    MediaSource* source,
                                    BatchImportRoll* import_roll,
                                    GError** error);
static gboolean batch_import_job_real_complete (BatchImportJob* self,
                                         MediaSource* source,
                                         BatchImportRoll* import_roll,
                                         GError** error);
time_t batch_import_job_get_exposure_time_override (BatchImportJob* self);
static time_t batch_import_job_real_get_exposure_time_override (BatchImportJob* self);
gboolean batch_import_job_recurse (BatchImportJob* self);
static gboolean batch_import_job_real_recurse (BatchImportJob* self);
BatchImportJob* batch_import_job_construct (GType object_type);
static void batch_import_job_finalize (BatchImportJob * obj);
GType file_import_job_get_type (void) G_GNUC_CONST;
#define FILE_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FILE_IMPORT_JOB, FileImportJobPrivate))
FileImportJob* file_import_job_new (GFile* file_or_dir,
                                    gboolean copy_to_library,
                                    gboolean recurse);
FileImportJob* file_import_job_construct (GType object_type,
                                          GFile* file_or_dir,
                                          gboolean copy_to_library,
                                          gboolean recurse);
static gchar* file_import_job_real_get_dest_identifier (BatchImportJob* base);
static gchar* file_import_job_real_get_source_identifier (BatchImportJob* base);
static gboolean file_import_job_real_is_directory (BatchImportJob* base);
gboolean query_is_directory (GFile* file);
static gchar* file_import_job_real_get_basename (BatchImportJob* base);
static gchar* file_import_job_real_get_path (BatchImportJob* base);
static void file_import_job_real_set_associated (BatchImportJob* base,
                                          BatchImportJob* associated);
static gboolean file_import_job_real_determine_file_size (BatchImportJob* base,
                                                   guint64* filesize,
                                                   GFile* * file);
static gboolean file_import_job_real_prepare (BatchImportJob* base,
                                       GFile* * file_to_import,
                                       gboolean* copy,
                                       GError** error);
GFile* file_import_job_get_file (FileImportJob* self);
static gboolean file_import_job_real_recurse (BatchImportJob* base);
static void file_import_job_finalize (BatchImportJob * obj);
GType import_id_get_type (void) G_GNUC_CONST;
ImportID* import_id_dup (const ImportID* self);
void import_id_free (ImportID* self);
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_data_collection (GValue* value,
                                gpointer v_object);
void value_take_data_collection (GValue* value,
                                 gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType view_collection_get_type (void) G_GNUC_CONST;
ViewCollection* view_collection_new (const gchar* name);
ViewCollection* view_collection_construct (GType object_type,
                                           const gchar* name);
BatchImportRoll* batch_import_roll_new (void);
BatchImportRoll* batch_import_roll_construct (GType object_type);
void import_id_generate (ImportID* result);
static void batch_import_roll_finalize (BatchImportRoll * obj);
gpointer batch_import_result_ref (gpointer instance);
void batch_import_result_unref (gpointer instance);
GParamSpec* param_spec_batch_import_result (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void value_set_batch_import_result (GValue* value,
                                    gpointer v_object);
void value_take_batch_import_result (GValue* value,
                                     gpointer v_object);
gpointer value_get_batch_import_result (const GValue* value);
GType batch_import_result_get_type (void) G_GNUC_CONST;
BatchImportResult* batch_import_result_new (BatchImportJob* job,
                                            GFile* file,
                                            const gchar* src_identifier,
                                            const gchar* dest_identifier,
                                            DuplicatedFile* duplicate_of,
                                            ImportResult _result_);
BatchImportResult* batch_import_result_construct (GType object_type,
                                                  BatchImportJob* job,
                                                  GFile* file,
                                                  const gchar* src_identifier,
                                                  const gchar* dest_identifier,
                                                  DuplicatedFile* duplicate_of,
                                                  ImportResult _result_);
BatchImportResult* batch_import_result_new_from_error (BatchImportJob* job,
                                                       GFile* file,
                                                       const gchar* src_identifier,
                                                       const gchar* dest_identifier,
                                                       GError* err,
                                                       ImportResult default_result);
BatchImportResult* batch_import_result_construct_from_error (GType object_type,
                                                             BatchImportJob* job,
                                                             GFile* file,
                                                             const gchar* src_identifier,
                                                             const gchar* dest_identifier,
                                                             GError* err,
                                                             ImportResult default_result);
static void batch_import_result_finalize (BatchImportResult * obj);
gpointer import_manifest_ref (gpointer instance);
void import_manifest_unref (gpointer instance);
GParamSpec* param_spec_import_manifest (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_import_manifest (GValue* value,
                                gpointer v_object);
void value_take_import_manifest (GValue* value,
                                 gpointer v_object);
gpointer value_get_import_manifest (const GValue* value);
GType import_manifest_get_type (void) G_GNUC_CONST;
ImportManifest* import_manifest_new (GeeList* prefailed,
                                     GeeList* pre_already_imported);
ImportManifest* import_manifest_construct (GType object_type,
                                           GeeList* prefailed,
                                           GeeList* pre_already_imported);
void import_manifest_add_result (ImportManifest* self,
                                 BatchImportResult* batch_result);
static void import_manifest_finalize (ImportManifest * obj);
GType batch_import_get_type (void) G_GNUC_CONST;
gpointer prepared_file_ref (gpointer instance);
void prepared_file_unref (gpointer instance);
GParamSpec* param_spec_prepared_file (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
void value_set_prepared_file (GValue* value,
                              gpointer v_object);
void value_take_prepared_file (GValue* value,
                               gpointer v_object);
gpointer value_get_prepared_file (const GValue* value);
GType prepared_file_get_type (void) G_GNUC_CONST;
gpointer completed_import_object_ref (gpointer instance);
void completed_import_object_unref (gpointer instance);
GParamSpec* param_spec_completed_import_object (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
void value_set_completed_import_object (GValue* value,
                                        gpointer v_object);
void value_take_completed_import_object (GValue* value,
                                         gpointer v_object);
gpointer value_get_completed_import_object (const GValue* value);
GType completed_import_object_get_type (void) G_GNUC_CONST;
#define BATCH_IMPORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BATCH_IMPORT, BatchImportPrivate))
gpointer application_ref (gpointer instance);
void application_unref (gpointer instance);
GParamSpec* param_spec_application (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
void value_set_application (GValue* value,
                            gpointer v_object);
void value_take_application (GValue* value,
                             gpointer v_object);
gpointer value_get_application (const GValue* value);
GType application_get_type (void) G_GNUC_CONST;
Application* application_get_instance (void);
void batch_import_user_halt (BatchImport* self);
static void _batch_import_user_halt_application_exiting (Application* _sender,
                                                  gboolean panicked,
                                                  gpointer self);
gpointer workers_ref (gpointer instance);
void workers_unref (gpointer instance);
GParamSpec* param_spec_workers (const gchar* name,
                                const gchar* nick,
                                const gchar* blurb,
                                GType object_type,
                                GParamFlags flags);
void value_set_workers (GValue* value,
                        gpointer v_object);
void value_take_workers (GValue* value,
                         gpointer v_object);
gpointer value_get_workers (const GValue* value);
GType workers_get_type (void) G_GNUC_CONST;
Workers* workers_new (guint max_threads,
                      gboolean exclusive);
Workers* workers_construct (GType object_type,
                            guint max_threads,
                            gboolean exclusive);
guint workers_thread_per_cpu_minus_one (void);
#define BATCH_IMPORT_WORK_SNIFFER_THROBBER_MSEC 125
#define BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES 100
#define BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC 3000
#define BATCH_IMPORT_READY_SOURCES_COUNT_OVERFLOW 10
#define BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC 125
#define BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW ((3 * 1000) / BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC)
BatchImport* batch_import_new (GeeIterable* jobs,
                               const gchar* name,
                               BatchImportImportReporter reporter,
                               void* reporter_target,
                               GeeArrayList* prefailed,
                               GeeArrayList* pre_already_imported,
                               GCancellable* cancellable,
                               BatchImportRoll* import_roll,
                               ImportManifest* skip_manifest);
BatchImport* batch_import_construct (GType object_type,
                                     GeeIterable* jobs,
                                     const gchar* name,
                                     BatchImportImportReporter reporter,
                                     void* reporter_target,
                                     GeeArrayList* prefailed,
                                     GeeArrayList* pre_already_imported,
                                     GCancellable* cancellable,
                                     BatchImportRoll* import_roll,
                                     ImportManifest* skip_manifest);
guint file_hash (GFile* file);
static guint _file_hash_gee_hash_data_func (gconstpointer v,
                                     gpointer self);
gboolean file_equal (GFile* a,
                     GFile* b);
static gboolean _file_equal_gee_equal_data_func (gconstpointer a,
                                          gconstpointer b,
                                          gpointer self);
GFile* media_source_get_file (MediaSource* self);
static gboolean batch_import_display_imported_timer (BatchImport* self);
static gboolean _batch_import_display_imported_timer_gsource_func (gpointer self);
gchar* batch_import_get_name (BatchImport* self);
gboolean batch_import_get_untrash_duplicates (BatchImport* self);
void batch_import_set_untrash_duplicates (BatchImport* self,
                                          gboolean untrash_duplicates);
gboolean batch_import_get_mark_duplicates_online (BatchImport* self);
void batch_import_set_mark_duplicates_online (BatchImport* self,
                                              gboolean mark_duplicates_online);
static void batch_import_log_status (BatchImport* self,
                              const gchar* where);
static gboolean batch_import_report_failure (BatchImport* self,
                                      BatchImportResult* import_result);
guint64 query_total_file_size (GFile* file_or_dir,
                               GCancellable* cancellable,
                               GError** error);
static void batch_import_report_progress (BatchImport* self,
                                   guint64 increment_of_progress);
gulong now_ms (void);
gpointer background_job_ref (gpointer instance);
void background_job_unref (gpointer instance);
GParamSpec* param_spec_background_job (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
void value_set_background_job (GValue* value,
                               gpointer v_object);
void value_take_background_job (GValue* value,
                                gpointer v_object);
gpointer value_get_background_job (const GValue* value);
GType background_job_get_type (void) G_GNUC_CONST;
GType background_import_job_get_type (void) G_GNUC_CONST;
static gboolean batch_import_report_failures (BatchImport* self,
                                       BackgroundImportJob* background_job);
GType background_job_job_priority_get_type (void) G_GNUC_CONST;
static void batch_import_report_completed (BatchImport* self,
                                    const gchar* where);
static void batch_import_flush_ready_sources (BatchImport* self);
static void batch_import_file_import_complete (BatchImport* self);
void batch_import_schedule (BatchImport* self);
void workers_enqueue (Workers* self,
                      BackgroundJob* job);
static void batch_import_on_work_sniffed_out (BatchImport* self,
                                       BackgroundJob* j);
static void _batch_import_on_work_sniffed_out_completion_callback (BackgroundJob* job,
                                                            gpointer self);
static void batch_import_on_sniffer_cancelled (BatchImport* self,
                                        BackgroundJob* j);
static void _batch_import_on_sniffer_cancelled_cancellation_callback (BackgroundJob* job,
                                                               gpointer self);
WorkSniffer* work_sniffer_new (BatchImport* owner,
                               GeeIterable* jobs,
                               CompletionCallback callback,
                               void* callback_target,
                               GCancellable* cancellable,
                               CancellationCallback cancellation,
                               void* cancellation_target,
                               GeeHashSet* skipset);
WorkSniffer* work_sniffer_construct (GType object_type,
                                     BatchImport* owner,
                                     GeeIterable* jobs,
                                     CompletionCallback callback,
                                     void* callback_target,
                                     GCancellable* cancellable,
                                     CancellationCallback cancellation,
                                     void* cancellation_target,
                                     GeeHashSet* skipset);
GType work_sniffer_get_type (void) G_GNUC_CONST;
static gboolean batch_import_on_sniffer_working (BatchImport* self);
static gboolean _batch_import_on_sniffer_working_gsource_func (gpointer self);
gpointer file_to_prepare_ref (gpointer instance);
void file_to_prepare_unref (gpointer instance);
GParamSpec* param_spec_file_to_prepare (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_file_to_prepare (GValue* value,
                                gpointer v_object);
void value_take_file_to_prepare (GValue* value,
                                 gpointer v_object);
gpointer value_get_file_to_prepare (const GValue* value);
GType file_to_prepare_get_type (void) G_GNUC_CONST;
GType prepare_files_job_get_type (void) G_GNUC_CONST;
gpointer notification_object_ref (gpointer instance);
void notification_object_unref (gpointer instance);
GParamSpec* param_spec_notification_object (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void value_set_notification_object (GValue* value,
                                    gpointer v_object);
void value_take_notification_object (GValue* value,
                                     gpointer v_object);
gpointer value_get_notification_object (const GValue* value);
GType notification_object_get_type (void) G_GNUC_CONST;
static void batch_import_on_file_prepared (BatchImport* self,
                                    BackgroundJob* j,
                                    NotificationObject* user);
static void _batch_import_on_file_prepared_notification_callback (BackgroundJob* job,
                                                           NotificationObject* user,
                                                           gpointer self);
static void batch_import_on_files_prepared (BatchImport* self,
                                     BackgroundJob* j);
static void _batch_import_on_files_prepared_completion_callback (BackgroundJob* job,
                                                          gpointer self);
static void batch_import_on_file_prepare_cancelled (BatchImport* self,
                                             BackgroundJob* j);
static void _batch_import_on_file_prepare_cancelled_cancellation_callback (BackgroundJob* job,
                                                                    gpointer self);
PrepareFilesJob* prepare_files_job_new (BatchImport* owner,
                                        GeeList* files_to_prepare,
                                        NotificationCallback notification,
                                        void* notification_target,
                                        CompletionCallback callback,
                                        void* callback_target,
                                        GCancellable* cancellable,
                                        CancellationCallback cancellation,
                                        void* cancellation_target);
PrepareFilesJob* prepare_files_job_construct (GType object_type,
                                              BatchImport* owner,
                                              GeeList* files_to_prepare,
                                              NotificationCallback notification,
                                              void* notification_target,
                                              CompletionCallback callback,
                                              void* callback_target,
                                              GCancellable* cancellable,
                                              CancellationCallback cancellation,
                                              void* cancellation_target);
static void batch_import_flush_import_jobs (BatchImport* self);
gint workers_get_pending_job_count (Workers* self);
static void batch_import_on_thumbnail_writer_completed (BatchImport* self,
                                                 BackgroundJob* j);
static void _batch_import_on_thumbnail_writer_completed_completion_callback (BackgroundJob* job,
                                                                      gpointer self);
static void batch_import_on_thumbnail_writer_cancelled (BatchImport* self,
                                                 BackgroundJob* j);
static void _batch_import_on_thumbnail_writer_cancelled_cancellation_callback (BackgroundJob* job,
                                                                        gpointer self);
ThumbnailWriterJob* thumbnail_writer_job_new (BatchImport* owner,
                                              CompletedImportObject* completed_import_source,
                                              CompletionCallback callback,
                                              void* callback_target,
                                              GCancellable* cancellable,
                                              CancellationCallback cancel_callback,
                                              void* cancel_callback_target);
ThumbnailWriterJob* thumbnail_writer_job_construct (GType object_type,
                                                    BatchImport* owner,
                                                    CompletedImportObject* completed_import_source,
                                                    CompletionCallback callback,
                                                    void* callback_target,
                                                    GCancellable* cancellable,
                                                    CancellationCallback cancel_callback,
                                                    void* cancel_callback_target);
GType thumbnail_writer_job_get_type (void) G_GNUC_CONST;
static void batch_import_on_import_files_completed (BatchImport* self,
                                             BackgroundJob* j);
static void _batch_import_on_import_files_completed_completion_callback (BackgroundJob* job,
                                                                  gpointer self);
static void batch_import_on_import_files_cancelled (BatchImport* self,
                                             BackgroundJob* j);
static void _batch_import_on_import_files_cancelled_cancellation_callback (BackgroundJob* job,
                                                                    gpointer self);
PreparedFileImportJob* prepared_file_import_job_new (BatchImport* owner,
                                                     PreparedFile* prepared_file,
                                                     ImportID* import_id,
                                                     CompletionCallback callback,
                                                     void* callback_target,
                                                     GCancellable* cancellable,
                                                     CancellationCallback cancellation,
                                                     void* cancellation_target);
PreparedFileImportJob* prepared_file_import_job_construct (GType object_type,
                                                           BatchImport* owner,
                                                           PreparedFile* prepared_file,
                                                           ImportID* import_id,
                                                           CompletionCallback callback,
                                                           void* callback_target,
                                                           GCancellable* cancellable,
                                                           CancellationCallback cancellation,
                                                           void* cancellation_target);
GType prepared_file_import_job_get_type (void) G_GNUC_CONST;
static GFile* batch_import_get_in_current_import (BatchImport* self,
                                           PreparedFile* prepared_file);
GType photo_file_format_get_type (void) G_GNUC_CONST;
GType interlocked_notification_object_get_type (void) G_GNUC_CONST;
GType prepared_file_cluster_get_type (void) G_GNUC_CONST;
static void batch_import_process_prepared_files (BatchImport* self,
                                          GeeList* list,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
static void batch_import_process_prepared_files_finish (BatchImport* self,
                                                 GAsyncResult* _res_);
static void batch_import_process_prepared_files_data_free (gpointer _data);
static void batch_import_process_prepared_files_async_ready_wrapper (GObject *source_object,
                                                              GAsyncResult *res,
                                                              void *user_data);
static gboolean batch_import_process_prepared_files_co (BatchImportProcessPreparedFilesData* _data_);
static gboolean _batch_import_process_prepared_files_co_gsource_func (gpointer self);
GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST;
GType photo_source_get_type (void) G_GNUC_CONST;
GType photo_get_type (void) G_GNUC_CONST;
GType library_photo_get_type (void) G_GNUC_CONST;
GType source_collection_get_type (void) G_GNUC_CONST;
GType database_source_collection_get_type (void) G_GNUC_CONST;
GType media_source_collection_get_type (void) G_GNUC_CONST;
GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self,
                                                                 GFile* file,
                                                                 LibraryPhotoSourceCollectionState* state);
DuplicatedFile* duplicated_file_create_from_file (GFile* file);
GFile* media_source_get_master_file (MediaSource* self);
void media_source_mark_online (MediaSource* self);
const gchar* library_photo_source_collection_state_to_string (LibraryPhotoSourceCollectionState self);
GType video_source_collection_state_get_type (void) G_GNUC_CONST;
GType video_source_get_type (void) G_GNUC_CONST;
GType video_get_type (void) G_GNUC_CONST;
GType video_source_collection_get_type (void) G_GNUC_CONST;
Video* video_source_collection_get_state_by_file (VideoSourceCollection* self,
                                                  GFile* file,
                                                  VideoSourceCollectionState* state);
const gchar* video_source_collection_state_to_string (VideoSourceCollectionState self);
gboolean video_is_duplicate (GFile* file,
                             const gchar* full_md5);
GType video_id_get_type (void) G_GNUC_CONST;
VideoID* video_id_dup (const VideoID* self);
void video_id_free (VideoID* self);
gpointer database_table_ref (gpointer instance);
void database_table_unref (gpointer instance);
GParamSpec* param_spec_database_table (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
void value_set_database_table (GValue* value,
                               gpointer v_object);
void value_take_database_table (GValue* value,
                                gpointer v_object);
gpointer value_get_database_table (const GValue* value);
GType database_table_get_type (void) G_GNUC_CONST;
GType video_table_get_type (void) G_GNUC_CONST;
VideoTable* video_table_get_instance (void);
VideoID* video_table_get_duplicate_ids (VideoTable* self,
                                        GFile* file,
                                        const gchar* md5,
                                        int* result_length1);
DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id);
gpointer source_holding_tank_ref (gpointer instance);
void source_holding_tank_unref (gpointer instance);
GParamSpec* param_spec_source_holding_tank (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void value_set_source_holding_tank (GValue* value,
                                    gpointer v_object);
void value_take_source_holding_tank (GValue* value,
                                     gpointer v_object);
gpointer value_get_source_holding_tank (const GValue* value);
GType source_holding_tank_get_type (void) G_GNUC_CONST;
GType database_source_holding_tank_get_type (void) G_GNUC_CONST;
GType media_source_holding_tank_get_type (void) G_GNUC_CONST;
MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self);
MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self,
                                                             GFile* file);
MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self,
                                                     const gchar* md5);
GType monitorable_get_type (void) G_GNUC_CONST;
void monitorable_set_master_file (Monitorable* self,
                                  GFile* file);
guint64 media_source_get_filesize (MediaSource* self);
gboolean photo_is_duplicate (GFile* file,
                             const gchar* thumbnail_md5,
                             const gchar* full_md5,
                             PhotoFileFormat file_format);
LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self,
                                                                   GFile* file);
LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self,
                                                                  const gchar* md5);
void media_source_untrash (MediaSource* self);
void photo_remove_all_transformations (Photo* self);
LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self,
                                                                   GFile* file);
LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self,
                                                                  const gchar* md5);
GType photo_id_get_type (void) G_GNUC_CONST;
PhotoID* photo_id_dup (const PhotoID* self);
void photo_id_free (PhotoID* self);
GType photo_table_get_type (void) G_GNUC_CONST;
PhotoTable* photo_table_get_instance (void);
PhotoID* photo_table_get_duplicate_ids (PhotoTable* self,
                                        GFile* file,
                                        const gchar* thumbnail_md5,
                                        const gchar* md5,
                                        PhotoFileFormat file_format,
                                        int* result_length1);
DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id);
static void batch_import_done_preparing_files (BatchImport* self,
                                        BackgroundJob* j,
                                        const gchar* caller);
gpointer ready_for_import_ref (gpointer instance);
void ready_for_import_unref (gpointer instance);
GParamSpec* param_spec_ready_for_import (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
void value_set_ready_for_import (GValue* value,
                                 gpointer v_object);
void value_take_ready_for_import (GValue* value,
                                  gpointer v_object);
gpointer value_get_ready_for_import (const GValue* value);
GType ready_for_import_get_type (void) G_GNUC_CONST;
gpointer photo_import_params_ref (gpointer instance);
void photo_import_params_unref (gpointer instance);
GParamSpec* param_spec_photo_import_params (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void value_set_photo_import_params (GValue* value,
                                    gpointer v_object);
void value_take_photo_import_params (GValue* value,
                                     gpointer v_object);
gpointer value_get_photo_import_params (const GValue* value);
GType photo_import_params_get_type (void) G_GNUC_CONST;
gpointer video_import_params_ref (gpointer instance);
void video_import_params_unref (gpointer instance);
GParamSpec* param_spec_video_import_params (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void value_set_video_import_params (GValue* value,
                                    gpointer v_object);
void value_take_video_import_params (GValue* value,
                                     gpointer v_object);
gpointer value_get_video_import_params (const GValue* value);
GType video_import_params_get_type (void) G_GNUC_CONST;
GType tombstone_get_type (void) G_GNUC_CONST;
GType tombstone_source_collection_get_type (void) G_GNUC_CONST;
Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self,
                                               GFile* file);
void tombstone_source_collection_resurrect (TombstoneSourceCollection* self,
                                            Tombstone* tombstone);
ImportResult video_import_create (VideoImportParams* params,
                                  Video* * video);
ImportResult library_photo_import_create (PhotoImportParams* params,
                                          LibraryPhoto* * photo);
GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST;
gpointer thumbnails_ref (gpointer instance);
void thumbnails_unref (gpointer instance);
GParamSpec* param_spec_thumbnails (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
void value_set_thumbnails (GValue* value,
                           gpointer v_object);
void value_take_thumbnails (GValue* value,
                            gpointer v_object);
gpointer value_get_thumbnails (const GValue* value);
GType thumbnails_get_type (void) G_GNUC_CONST;
gpointer photo_row_ref (gpointer instance);
void photo_row_unref (gpointer instance);
GParamSpec* param_spec_photo_row (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
void value_set_photo_row (GValue* value,
                          gpointer v_object);
void value_take_photo_row (GValue* value,
                           gpointer v_object);
gpointer value_get_photo_row (const GValue* value);
GType photo_row_get_type (void) G_GNUC_CONST;
gpointer backing_photo_row_ref (gpointer instance);
void backing_photo_row_unref (gpointer instance);
GParamSpec* param_spec_backing_photo_row (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
void value_set_backing_photo_row (GValue* value,
                                  gpointer v_object);
void value_take_backing_photo_row (GValue* value,
                                   gpointer v_object);
gpointer value_get_backing_photo_row (const GValue* value);
GType backing_photo_row_get_type (void) G_GNUC_CONST;
BackingPhotoRow* backing_photo_row_new (void);
BackingPhotoRow* backing_photo_row_construct (GType object_type);
GType backing_photo_id_get_type (void) G_GNUC_CONST;
BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self);
void backing_photo_id_free (BackingPhotoID* self);
GType dimensions_get_type (void) G_GNUC_CONST;
Dimensions* dimensions_dup (const Dimensions* self);
void dimensions_free (Dimensions* self);
GType orientation_get_type (void) G_GNUC_CONST;
GType raw_developer_get_type (void) G_GNUC_CONST;
void photo_add_backing_photo_for_development (Photo* self,
                                              RawDeveloper d,
                                              BackingPhotoRow* bpr,
                                              gboolean notify,
                                              GError** error);
PhotoFileFormat photo_get_master_file_format (Photo* self);
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self);
gboolean photo_is_raw_developer_available (Photo* self,
                                           RawDeveloper d);
void photo_set_default_raw_developer (Photo* self,
                                      RawDeveloper d);
void photo_set_raw_developer (Photo* self,
                              RawDeveloper d,
                              gboolean notify);
Thumbnails* ready_for_import_get_thumbnails (ReadyForImport* self);
CompletedImportObject* completed_import_object_new (MediaSource* source,
                                                    Thumbnails* thumbnails,
                                                    BatchImportJob* original_job,
                                                    BatchImportResult* import_result);
CompletedImportObject* completed_import_object_construct (GType object_type,
                                                          MediaSource* source,
                                                          Thumbnails* thumbnails,
                                                          BatchImportJob* original_job,
                                                          BatchImportResult* import_result);
BatchImportResult* ready_for_import_abort (ReadyForImport* self);
gchar* data_object_to_string (DataObject* self);
void library_photo_import_failed (LibraryPhoto* photo);
void video_import_failed (Video* video);
gpointer media_collection_registry_ref (gpointer instance);
void media_collection_registry_unref (gpointer instance);
GParamSpec* param_spec_media_collection_registry (const gchar* name,
                                                  const gchar* nick,
                                                  const gchar* blurb,
                                                  GType object_type,
                                                  GParamFlags flags);
void value_set_media_collection_registry (GValue* value,
                                          gpointer v_object);
void value_take_media_collection_registry (GValue* value,
                                           gpointer v_object);
gpointer value_get_media_collection_registry (const GValue* value);
GType media_collection_registry_get_type (void) G_GNUC_CONST;
MediaCollectionRegistry* media_collection_registry_get_instance (void);
void media_collection_registry_begin_transaction_on_all (MediaCollectionRegistry* self);
GType container_source_collection_get_type (void) G_GNUC_CONST;
GType event_source_collection_get_type (void) G_GNUC_CONST;
void data_collection_freeze_notifications (DataCollection* self);
GType tag_source_collection_get_type (void) G_GNUC_CONST;
void media_source_collection_import_many (MediaSourceCollection* self,
                                          GeeCollection* media);
void event_generate_many_events (GeeCollection* sources,
                                 ViewCollection* events_so_far);
void data_collection_thaw_notifications (DataCollection* self);
void media_collection_registry_commit_transaction_on_all (MediaCollectionRegistry* self);
guint64 media_source_get_master_filesize (MediaSource* self);
static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure,
                                                  GValue * return_value,
                                                  guint n_param_values,
                                                  const GValue * param_values,
                                                  gpointer invocation_hint,
                                                  gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT (GClosure * closure,
                                                      GValue * return_value,
                                                      guint n_param_values,
                                                      const GValue * param_values,
                                                      gpointer invocation_hint,
                                                      gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__ENUM_STRING (GClosure * closure,
                                                GValue * return_value,
                                                guint n_param_values,
                                                const GValue * param_values,
                                                gpointer invocation_hint,
                                                gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT (GClosure * closure,
                                                        GValue * return_value,
                                                        guint n_param_values,
                                                        const GValue * param_values,
                                                        gpointer invocation_hint,
                                                        gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL (GClosure * closure,
                                                                      GValue * return_value,
                                                                      guint n_param_values,
                                                                      const GValue * param_values,
                                                                      gpointer invocation_hint,
                                                                      gpointer marshal_data);
static void batch_import_finalize (GObject * obj);
#define DUPLICATED_FILE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DUPLICATED_FILE, DuplicatedFilePrivate))
static DuplicatedFile* duplicated_file_new (void);
static DuplicatedFile* duplicated_file_construct (GType object_type);
gboolean photo_id_is_valid (PhotoID *self);
gboolean video_id_is_valid (VideoID *self);
GFile* duplicated_file_get_file (DuplicatedFile* self);
LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self,
                                                     PhotoID* photo_id);
Video* video_source_collection_fetch (VideoSourceCollection* self,
                                      VideoID* video_id);
static void duplicated_file_finalize (GObject * obj);
BackgroundImportJob* background_import_job_construct (GType object_type,
                                                      BatchImport* owner,
                                                      CompletionCallback callback,
                                                      void* callback_target,
                                                      GCancellable* cancellable,
                                                      CancellationCallback cancellation,
                                                      void* cancellation_target);
gpointer abstract_semaphore_ref (gpointer instance);
void abstract_semaphore_unref (gpointer instance);
GParamSpec* param_spec_abstract_semaphore (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
void value_set_abstract_semaphore (GValue* value,
                                   gpointer v_object);
void value_take_abstract_semaphore (GValue* value,
                                    gpointer v_object);
gpointer value_get_abstract_semaphore (const GValue* value);
GType abstract_semaphore_get_type (void) G_GNUC_CONST;
BackgroundJob* background_job_construct (GType object_type,
                                         GObject* owner,
                                         CompletionCallback callback,
                                         void* callback_target,
                                         GCancellable* cancellable,
                                         CancellationCallback cancellation,
                                         void* cancellation_target,
                                         AbstractSemaphore* completion_semaphore);
ImportResult background_import_job_abort_check (BackgroundImportJob* self);
gboolean background_job_is_cancelled (BackgroundJob* self);
void background_import_job_abort (BackgroundImportJob* self,
                                  ImportResult _result_);
void background_import_job_report_failure (BackgroundImportJob* self,
                                           BatchImportJob* job,
                                           GFile* file,
                                           const gchar* src_identifier,
                                           const gchar* dest_identifier,
                                           ImportResult _result_);
void background_import_job_report_error (BackgroundImportJob* self,
                                         BatchImportJob* job,
                                         GFile* file,
                                         const gchar* src_identifier,
                                         const gchar* dest_identifier,
                                         GError* err,
                                         ImportResult default_result);
static void background_import_job_finalize (BackgroundJob * obj);
FileToPrepare* file_to_prepare_new (BatchImportJob* job,
                                    GFile* file,
                                    gboolean copy_to_library);
FileToPrepare* file_to_prepare_construct (GType object_type,
                                          BatchImportJob* job,
                                          GFile* file,
                                          gboolean copy_to_library);
void file_to_prepare_set_associated (FileToPrepare* self,
                                     FileToPrepare* a);
gchar* file_to_prepare_get_parent_path (FileToPrepare* self);
gchar* file_to_prepare_get_path (FileToPrepare* self);
gchar* file_to_prepare_get_basename (FileToPrepare* self);
gboolean file_to_prepare_is_directory (FileToPrepare* self);
static void file_to_prepare_finalize (FileToPrepare * obj);
#define WORK_SNIFFER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_WORK_SNIFFER, WorkSnifferPrivate))
static void work_sniffer_real_execute (BackgroundJob* base);
static void work_sniffer_sniff_job (WorkSniffer* self,
                             BatchImportJob* job,
                             GError** error);
static gint __lambda11_ (WorkSniffer* self,
                  FileToPrepare* a,
                  FileToPrepare* b);
gint utf8_cs_compare (void* a,
                      void* b);
static gint ___lambda11__gcompare_data_func (gconstpointer a,
                                      gconstpointer b,
                                      gpointer self);
void disassemble_filename (const gchar* basename,
                           gchar* * name,
                           gchar* * ext);
gboolean is_string_empty (const gchar* s);
gpointer photo_file_format_properties_ref (gpointer instance);
void photo_file_format_properties_unref (gpointer instance);
GParamSpec* param_spec_photo_file_format_properties (const gchar* name,
                                                     const gchar* nick,
                                                     const gchar* blurb,
                                                     GType object_type,
                                                     GParamFlags flags);
void value_set_photo_file_format_properties (GValue* value,
                                             gpointer v_object);
void value_take_photo_file_format_properties (GValue* value,
                                              gpointer v_object);
gpointer value_get_photo_file_format_properties (const GValue* value);
GType photo_file_format_properties_get_type (void) G_GNUC_CONST;
GType raw_file_format_properties_get_type (void) G_GNUC_CONST;
RawFileFormatProperties* raw_file_format_properties_get_instance (void);
gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self,
                                                               const gchar* ext);
static gboolean work_sniffer_is_paired (WorkSniffer* self,
                                 FileToPrepare* raw,
                                 FileToPrepare* maybe_paired);
GType jfif_file_format_properties_get_type (void) G_GNUC_CONST;
JfifFileFormatProperties* jfif_file_format_properties_get_instance (void);
void work_sniffer_search_dir (WorkSniffer* self,
                              BatchImportJob* job,
                              GFile* dir,
                              gboolean copy_to_library,
                              gboolean recurse,
                              GError** error);
GCancellable* background_job_get_cancellable (BackgroundJob* self);
gboolean photo_is_file_image (GFile* file);
gboolean photo_file_format_is_file_supported (GFile* file);
gboolean video_reader_is_supported_video_file (GFile* file);
static void work_sniffer_finalize (BackgroundJob * obj);
PreparedFile* prepared_file_new (BatchImportJob* job,
                                 GFile* file,
                                 GFile* associated_file,
                                 const gchar* source_id,
                                 const gchar* dest_id,
                                 gboolean copy_to_library,
                                 const gchar* exif_md5,
                                 const gchar* thumbnail_md5,
                                 const gchar* full_md5,
                                 PhotoFileFormat file_format,
                                 guint64 filesize,
                                 gboolean is_video);
PreparedFile* prepared_file_construct (GType object_type,
                                       BatchImportJob* job,
                                       GFile* file,
                                       GFile* associated_file,
                                       const gchar* source_id,
                                       const gchar* dest_id,
                                       gboolean copy_to_library,
                                       const gchar* exif_md5,
                                       const gchar* thumbnail_md5,
                                       const gchar* full_md5,
                                       PhotoFileFormat file_format,
                                       guint64 filesize,
                                       gboolean is_video);
static void prepared_file_finalize (PreparedFile * obj);
PreparedFileCluster* prepared_file_cluster_new (GeeArrayList* list);
PreparedFileCluster* prepared_file_cluster_construct (GType object_type,
                                                      GeeArrayList* list);
InterlockedNotificationObject* interlocked_notification_object_construct (GType object_type);
static void prepared_file_cluster_finalize (NotificationObject * obj);
#define PREPARE_FILES_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREPARE_FILES_JOB, PrepareFilesJobPrivate))
GFile* app_dirs_get_import_dir (void);
static gint prepare_files_job_get_test_variable (const gchar* name);
void background_job_set_notification_priority (BackgroundJob* self,
                                               gint priority);
static void prepare_files_job_real_execute (BackgroundJob* base);
static gboolean prepare_files_job_create_file (PrepareFilesJob* self,
                                        BatchImportJob* job,
                                        GFile* * file,
                                        gboolean* copy_to_library);
static ImportResult prepare_files_job_prepare_file (PrepareFilesJob* self,
                                             BatchImportJob* job,
                                             GFile* file,
                                             GFile* associated_file,
                                             gboolean copy_to_library,
                                             PreparedFile* * prepared_file);
void background_job_notify (BackgroundJob* self,
                            NotificationCallback callback,
                            void* callback_target,
                            NotificationObject* user);
gchar* md5_file (GFile* file,
                 GError** error);
PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file);
gpointer photo_file_adapter_ref (gpointer instance);
void photo_file_adapter_unref (gpointer instance);
GParamSpec* param_spec_photo_file_adapter (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
void value_set_photo_file_adapter (GValue* value,
                                   gpointer v_object);
void value_take_photo_file_adapter (GValue* value,
                                    gpointer v_object);
gpointer value_get_photo_file_adapter (const GValue* value);
GType photo_file_adapter_get_type (void) G_GNUC_CONST;
GType photo_file_reader_get_type (void) G_GNUC_CONST;
PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self,
                                                  const gchar* filepath);
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_file_reader_read_metadata (PhotoFileReader* self,
                                                GError** error);
gchar* photo_metadata_exif_hash (PhotoMetadata* self);
gchar* photo_metadata_thumbnail_hash (PhotoMetadata* self);
static void prepare_files_job_finalize (BackgroundJob * obj);
ReadyForImport* ready_for_import_new (GFile* final_file,
                                      PreparedFile* prepared_file,
                                      PhotoImportParams* photo_import_params,
                                      VideoImportParams* video_import_params,
                                      BatchImportResult* batch_result);
ReadyForImport* ready_for_import_construct (GType object_type,
                                            GFile* final_file,
                                            PreparedFile* prepared_file,
                                            PhotoImportParams* photo_import_params,
                                            VideoImportParams* video_import_params,
                                            BatchImportResult* batch_result);
gpointer video_row_ref (gpointer instance);
void video_row_unref (gpointer instance);
GParamSpec* param_spec_video_row (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
void value_set_video_row (GValue* value,
                          gpointer v_object);
void value_take_video_row (GValue* value,
                           gpointer v_object);
gpointer value_get_video_row (const GValue* value);
GType video_row_get_type (void) G_GNUC_CONST;
static void ready_for_import_finalize (ReadyForImport * obj);
#define PREPARED_FILE_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobPrivate))
void background_job_set_completion_priority (BackgroundJob* self,
                                             gint priority);
static void prepared_file_import_job_real_execute (BackgroundJob* base);
GFile* library_files_duplicate (GFile* src,
                                GFileProgressCallback progress_callback,
                                void* progress_callback_target,
                                gboolean blacklist,
                                GError** error);
Thumbnails* thumbnails_new (void);
Thumbnails* thumbnails_construct (GType object_type);
VideoImportParams* video_import_params_new (GFile* file,
                                            ImportID* import_id,
                                            const gchar* md5,
                                            Thumbnails* thumbnails,
                                            time_t exposure_time_override);
VideoImportParams* video_import_params_construct (GType object_type,
                                                  GFile* file,
                                                  ImportID* import_id,
                                                  const gchar* md5,
                                                  Thumbnails* thumbnails,
                                                  time_t exposure_time_override);
ImportResult video_reader_prepare_for_import (VideoImportParams* params);
PhotoImportParams* photo_import_params_new (GFile* file,
                                            GFile* final_associated_file,
                                            ImportID* import_id,
                                            PhotoFileSnifferOptions sniffer_options,
                                            const gchar* exif_md5,
                                            const gchar* thumbnail_md5,
                                            const gchar* full_md5,
                                            Thumbnails* thumbnails);
PhotoImportParams* photo_import_params_construct (GType object_type,
                                                  GFile* file,
                                                  GFile* final_associated_file,
                                                  ImportID* import_id,
                                                  PhotoFileSnifferOptions sniffer_options,
                                                  const gchar* exif_md5,
                                                  const gchar* thumbnail_md5,
                                                  const gchar* full_md5,
                                                  Thumbnails* thumbnails);
ImportResult photo_prepare_for_import (PhotoImportParams* params);
static void prepared_file_import_job_finalize (BackgroundJob * obj);
GType thumbnail_cache_size_get_type (void) G_GNUC_CONST;
GdkPixbuf* thumbnails_get (Thumbnails* self,
                           ThumbnailCacheSize size);
static void completed_import_object_finalize (CompletedImportObject * obj);
static void thumbnail_writer_job_real_execute (BackgroundJob* base);
void thumbnail_cache_import_thumbnails (ThumbnailSource* source,
                                        Thumbnails* thumbnails,
                                        gboolean force,
                                        GError** error);
static void thumbnail_writer_job_finalize (BackgroundJob * obj);


gchar*
import_result_to_string (ImportResult self)
{
	gchar* result = NULL;
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (self) {
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_SUCCESS:
#line 2767 "BatchImport.c"
		{
			gchar* _tmp0_;
#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp0_ = g_strdup (_ ("Success"));
#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp0_;
#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2776 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_ERROR:
#line 2780 "BatchImport.c"
		{
			gchar* _tmp1_;
#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = g_strdup (_ ("File error"));
#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp1_;
#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2789 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DECODE_ERROR:
#line 2793 "BatchImport.c"
		{
			gchar* _tmp2_;
#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = g_strdup (_ ("Unable to decode file"));
#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp2_;
#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2802 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DATABASE_ERROR:
#line 2806 "BatchImport.c"
		{
			gchar* _tmp3_;
#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = g_strdup (_ ("Database error"));
#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp3_;
#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2815 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_USER_ABORT:
#line 2819 "BatchImport.c"
		{
			gchar* _tmp4_;
#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = g_strdup (_ ("User aborted import"));
#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp4_;
#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2828 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_A_FILE:
#line 2832 "BatchImport.c"
		{
			gchar* _tmp5_;
#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = g_strdup (_ ("Not a file"));
#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp5_;
#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2841 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PHOTO_EXISTS:
#line 2845 "BatchImport.c"
		{
			gchar* _tmp6_;
#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = g_strdup (_ ("File already exists in database"));
#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp6_;
#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2854 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_UNSUPPORTED_FORMAT:
#line 2858 "BatchImport.c"
		{
			gchar* _tmp7_;
#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = g_strdup (_ ("Unsupported file format"));
#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp7_;
#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2867 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_AN_IMAGE:
#line 2871 "BatchImport.c"
		{
			gchar* _tmp8_;
#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = g_strdup (_ ("Not an image file"));
#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp8_;
#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2880 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FAILURE:
#line 2884 "BatchImport.c"
		{
			gchar* _tmp9_;
#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = g_strdup (_ ("Disk failure"));
#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp9_;
#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2893 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FULL:
#line 2897 "BatchImport.c"
		{
			gchar* _tmp10_;
#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = g_strdup (_ ("Disk full"));
#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp10_;
#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2906 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_CAMERA_ERROR:
#line 2910 "BatchImport.c"
		{
			gchar* _tmp11_;
#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = g_strdup (_ ("Camera error"));
#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp11_;
#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2919 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_WRITE_ERROR:
#line 2923 "BatchImport.c"
		{
			gchar* _tmp12_;
#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = g_strdup (_ ("File write error"));
#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp12_;
#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2932 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE:
#line 2936 "BatchImport.c"
		{
			gchar* _tmp13_;
#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = g_strdup (_ ("Corrupt image file"));
#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp13_;
#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2945 "BatchImport.c"
		}
		default:
		{
			gchar* _tmp14_;
#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = g_strdup_printf (_ ("Imported failed (%d)"), (gint) self);
#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp14_;
#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2956 "BatchImport.c"
		}
	}
}


gboolean
import_result_is_abort (ImportResult self)
{
	gboolean result = FALSE;
#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (self) {
#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FULL:
#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FAILURE:
#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_USER_ABORT:
#line 2974 "BatchImport.c"
		{
#line 77 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = TRUE;
#line 77 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2980 "BatchImport.c"
		}
		default:
		{
#line 80 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = FALSE;
#line 80 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 2988 "BatchImport.c"
		}
	}
}


gboolean
import_result_is_nonuser_abort (ImportResult self)
{
	gboolean result = FALSE;
#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (self) {
#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FULL:
#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FAILURE:
#line 3004 "BatchImport.c"
		{
#line 88 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = TRUE;
#line 88 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 3010 "BatchImport.c"
		}
		default:
		{
#line 91 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = FALSE;
#line 91 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 3018 "BatchImport.c"
		}
	}
}


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


ImportResult
import_result_convert_error (GError* err,
                             ImportResult default_result)
{
	ImportResult result = 0;
#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (err->domain == G_FILE_ERROR) {
#line 3040 "BatchImport.c"
		GError* ferr = NULL;
		GError* _tmp0_;
		GError* _tmp1_;
#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _g_error_copy0 ((GError*) err);
#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ferr = _tmp0_;
#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = ferr;
#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (g_error_matches (_tmp1_, G_FILE_ERROR, G_FILE_ERROR_NOSPC)) {
#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_DISK_FULL;
#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (ferr);
#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 3058 "BatchImport.c"
		} else {
			GError* _tmp2_;
#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = ferr;
#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (g_error_matches (_tmp2_, G_FILE_ERROR, G_FILE_ERROR_IO)) {
#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala"
				result = IMPORT_RESULT_DISK_FAILURE;
#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (ferr);
#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return result;
#line 3071 "BatchImport.c"
			} else {
				GError* _tmp3_;
#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp3_ = ferr;
#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (g_error_matches (_tmp3_, G_FILE_ERROR, G_FILE_ERROR_ISDIR)) {
#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala"
					result = IMPORT_RESULT_NOT_A_FILE;
#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (ferr);
#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala"
					return result;
#line 3084 "BatchImport.c"
				} else {
					GError* _tmp4_;
#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp4_ = ferr;
#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp4_, G_FILE_ERROR, G_FILE_ERROR_ACCES)) {
#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala"
						result = IMPORT_RESULT_FILE_WRITE_ERROR;
#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_error_free0 (ferr);
#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala"
						return result;
#line 3097 "BatchImport.c"
					} else {
						GError* _tmp5_;
#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp5_ = ferr;
#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp5_, G_FILE_ERROR, G_FILE_ERROR_PERM)) {
#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala"
							result = IMPORT_RESULT_FILE_WRITE_ERROR;
#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_error_free0 (ferr);
#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala"
							return result;
#line 3110 "BatchImport.c"
						} else {
#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala"
							result = IMPORT_RESULT_FILE_ERROR;
#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_error_free0 (ferr);
#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala"
							return result;
#line 3118 "BatchImport.c"
						}
					}
				}
			}
		}
#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (ferr);
#line 3126 "BatchImport.c"
	} else {
#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (err->domain == G_IO_ERROR) {
#line 3130 "BatchImport.c"
			GError* ioerr = NULL;
			GError* _tmp6_;
			GError* _tmp7_;
#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = _g_error_copy0 ((GError*) err);
#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala"
			ioerr = _tmp6_;
#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = ioerr;
#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (g_error_matches (_tmp7_, G_IO_ERROR, G_IO_ERROR_NO_SPACE)) {
#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala"
				result = IMPORT_RESULT_DISK_FULL;
#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (ioerr);
#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return result;
#line 3148 "BatchImport.c"
			} else {
				GError* _tmp8_;
#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = ioerr;
#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (g_error_matches (_tmp8_, G_IO_ERROR, G_IO_ERROR_FAILED)) {
#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala"
					result = IMPORT_RESULT_DISK_FAILURE;
#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (ioerr);
#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala"
					return result;
#line 3161 "BatchImport.c"
				} else {
					GError* _tmp9_;
#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp9_ = ioerr;
#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp9_, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY)) {
#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala"
						result = IMPORT_RESULT_NOT_A_FILE;
#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_error_free0 (ioerr);
#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala"
						return result;
#line 3174 "BatchImport.c"
					} else {
						GError* _tmp10_;
#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp10_ = ioerr;
#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp10_, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala"
							result = IMPORT_RESULT_USER_ABORT;
#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_error_free0 (ioerr);
#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala"
							return result;
#line 3187 "BatchImport.c"
						} else {
							GError* _tmp11_;
#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp11_ = ioerr;
#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala"
							if (g_error_matches (_tmp11_, G_IO_ERROR, G_IO_ERROR_READ_ONLY)) {
#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala"
								result = IMPORT_RESULT_FILE_WRITE_ERROR;
#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_g_error_free0 (ioerr);
#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala"
								return result;
#line 3200 "BatchImport.c"
							} else {
								GError* _tmp12_;
#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_tmp12_ = ioerr;
#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala"
								if (g_error_matches (_tmp12_, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED)) {
#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala"
									result = IMPORT_RESULT_FILE_WRITE_ERROR;
#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala"
									_g_error_free0 (ioerr);
#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala"
									return result;
#line 3213 "BatchImport.c"
								} else {
#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala"
									result = IMPORT_RESULT_FILE_ERROR;
#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala"
									_g_error_free0 (ioerr);
#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala"
									return result;
#line 3221 "BatchImport.c"
								}
							}
						}
					}
				}
			}
#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (ioerr);
#line 3230 "BatchImport.c"
		} else {
#line 128 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (err->domain == GPHOTO_ERROR) {
#line 129 "/home/jens/Source/shotwell/src/BatchImport.vala"
				result = IMPORT_RESULT_CAMERA_ERROR;
#line 129 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return result;
#line 3238 "BatchImport.c"
			} else {
#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (err->domain == GDK_PIXBUF_ERROR) {
#line 3242 "BatchImport.c"
					GError* pixbuferr = NULL;
					GError* _tmp13_;
					GError* _tmp14_;
#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp13_ = _g_error_copy0 ((GError*) err);
#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala"
					pixbuferr = _tmp13_;
#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp14_ = pixbuferr;
#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp14_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE)) {
#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala"
						result = IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE;
#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_error_free0 (pixbuferr);
#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala"
						return result;
#line 3260 "BatchImport.c"
					} else {
						GError* _tmp15_;
#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp15_ = pixbuferr;
#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp15_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY)) {
#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala"
							result = default_result;
#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_error_free0 (pixbuferr);
#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala"
							return result;
#line 3273 "BatchImport.c"
						} else {
							GError* _tmp16_;
#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp16_ = pixbuferr;
#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala"
							if (g_error_matches (_tmp16_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_BAD_OPTION)) {
#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala"
								result = default_result;
#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_g_error_free0 (pixbuferr);
#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala"
								return result;
#line 3286 "BatchImport.c"
							} else {
								GError* _tmp17_;
#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_tmp17_ = pixbuferr;
#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala"
								if (g_error_matches (_tmp17_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNKNOWN_TYPE)) {
#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala"
									result = IMPORT_RESULT_UNSUPPORTED_FORMAT;
#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala"
									_g_error_free0 (pixbuferr);
#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala"
									return result;
#line 3299 "BatchImport.c"
								} else {
									GError* _tmp18_;
#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala"
									_tmp18_ = pixbuferr;
#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala"
									if (g_error_matches (_tmp18_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION)) {
#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala"
										result = default_result;
#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala"
										_g_error_free0 (pixbuferr);
#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala"
										return result;
#line 3312 "BatchImport.c"
									} else {
										GError* _tmp19_;
#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala"
										_tmp19_ = pixbuferr;
#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala"
										if (g_error_matches (_tmp19_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED)) {
#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala"
											result = default_result;
#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala"
											_g_error_free0 (pixbuferr);
#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala"
											return result;
#line 3325 "BatchImport.c"
										} else {
#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala"
											result = default_result;
#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala"
											_g_error_free0 (pixbuferr);
#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala"
											return result;
#line 3333 "BatchImport.c"
										}
									}
								}
							}
						}
					}
#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (pixbuferr);
#line 3342 "BatchImport.c"
				}
			}
		}
	}
#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = default_result;
#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3351 "BatchImport.c"
}


GType
import_result_get_type (void)
{
	static volatile gsize import_result_type_id__volatile = 0;
	if (g_once_init_enter (&import_result_type_id__volatile)) {
		static const GEnumValue values[] = {{IMPORT_RESULT_SUCCESS, "IMPORT_RESULT_SUCCESS", "success"}, {IMPORT_RESULT_FILE_ERROR, "IMPORT_RESULT_FILE_ERROR", "file-error"}, {IMPORT_RESULT_DECODE_ERROR, "IMPORT_RESULT_DECODE_ERROR", "decode-error"}, {IMPORT_RESULT_DATABASE_ERROR, "IMPORT_RESULT_DATABASE_ERROR", "database-error"}, {IMPORT_RESULT_USER_ABORT, "IMPORT_RESULT_USER_ABORT", "user-abort"}, {IMPORT_RESULT_NOT_A_FILE, "IMPORT_RESULT_NOT_A_FILE", "not-a-file"}, {IMPORT_RESULT_PHOTO_EXISTS, "IMPORT_RESULT_PHOTO_EXISTS", "photo-exists"}, {IMPORT_RESULT_UNSUPPORTED_FORMAT, "IMPORT_RESULT_UNSUPPORTED_FORMAT", "unsupported-format"}, {IMPORT_RESULT_NOT_AN_IMAGE, "IMPORT_RESULT_NOT_AN_IMAGE", "not-an-image"}, {IMPORT_RESULT_DISK_FAILURE, "IMPORT_RESULT_DISK_FAILURE", "disk-failure"}, {IMPORT_RESULT_DISK_FULL, "IMPORT_RESULT_DISK_FULL", "disk-full"}, {IMPORT_RESULT_CAMERA_ERROR, "IMPORT_RESULT_CAMERA_ERROR", "camera-error"}, {IMPORT_RESULT_FILE_WRITE_ERROR, "IMPORT_RESULT_FILE_WRITE_ERROR", "file-write-error"}, {IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE, "IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE", "pixbuf-corrupt-image"}, {0, NULL, NULL}};
		GType import_result_type_id;
		import_result_type_id = g_enum_register_static ("ImportResult", values);
		g_once_init_leave (&import_result_type_id__volatile, import_result_type_id);
	}
	return import_result_type_id__volatile;
}


static gchar*
batch_import_job_real_get_dest_identifier (BatchImportJob* self)
{
#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_dest_identifier'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3376 "BatchImport.c"
}


gchar*
batch_import_job_get_dest_identifier (BatchImportJob* self)
{
#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_dest_identifier (self);
#line 3387 "BatchImport.c"
}


static gchar*
batch_import_job_real_get_source_identifier (BatchImportJob* self)
{
#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_source_identifier'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3398 "BatchImport.c"
}


gchar*
batch_import_job_get_source_identifier (BatchImportJob* self)
{
#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_source_identifier (self);
#line 3409 "BatchImport.c"
}


static gboolean
batch_import_job_real_is_directory (BatchImportJob* self)
{
	gboolean _tmp0_ = FALSE;
#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_is_directory'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return _tmp0_;
#line 3421 "BatchImport.c"
}


gboolean
batch_import_job_is_directory (BatchImportJob* self)
{
#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->is_directory (self);
#line 3432 "BatchImport.c"
}


static gchar*
batch_import_job_real_get_basename (BatchImportJob* self)
{
#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_basename'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3443 "BatchImport.c"
}


gchar*
batch_import_job_get_basename (BatchImportJob* self)
{
#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_basename (self);
#line 3454 "BatchImport.c"
}


static gchar*
batch_import_job_real_get_path (BatchImportJob* self)
{
#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_path'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3465 "BatchImport.c"
}


gchar*
batch_import_job_get_path (BatchImportJob* self)
{
#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_path (self);
#line 3476 "BatchImport.c"
}


static DuplicatedFile*
batch_import_job_real_get_duplicated_file (BatchImportJob* self)
{
	DuplicatedFile* result = NULL;
#line 172 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = NULL;
#line 172 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3488 "BatchImport.c"
}


DuplicatedFile*
batch_import_job_get_duplicated_file (BatchImportJob* self)
{
#line 171 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 171 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_duplicated_file (self);
#line 3499 "BatchImport.c"
}


static GFile*
batch_import_job_real_get_associated_file (BatchImportJob* self)
{
	GFile* result = NULL;
#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = NULL;
#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3511 "BatchImport.c"
}


GFile*
batch_import_job_get_associated_file (BatchImportJob* self)
{
#line 175 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL);
#line 175 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_associated_file (self);
#line 3522 "BatchImport.c"
}


static void
batch_import_job_real_set_associated (BatchImportJob* self,
                                      BatchImportJob* associated)
{
#line 180 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_set_associated'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 180 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return;
#line 3534 "BatchImport.c"
}


void
batch_import_job_set_associated (BatchImportJob* self,
                                 BatchImportJob* associated)
{
#line 180 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (self));
#line 180 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BATCH_IMPORT_JOB_GET_CLASS (self)->set_associated (self, associated);
#line 3546 "BatchImport.c"
}


static gboolean
batch_import_job_real_determine_file_size (BatchImportJob* self,
                                           guint64* filesize,
                                           GFile* * file_or_dir)
{
	gboolean _tmp0_ = FALSE;
#line 187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_determine_file_size'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return _tmp0_;
#line 3560 "BatchImport.c"
}


gboolean
batch_import_job_determine_file_size (BatchImportJob* self,
                                      guint64* filesize,
                                      GFile* * file_or_dir)
{
#line 187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->determine_file_size (self, filesize, file_or_dir);
#line 3573 "BatchImport.c"
}


static gboolean
batch_import_job_real_prepare (BatchImportJob* self,
                               GFile* * file_to_import,
                               gboolean* copy_to_library,
                               GError** error)
{
	gboolean _tmp0_ = FALSE;
#line 190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_critical ("Type `%s' does not implement abstract method `batch_import_job_prepare'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return _tmp0_;
#line 3588 "BatchImport.c"
}


gboolean
batch_import_job_prepare (BatchImportJob* self,
                          GFile* * file_to_import,
                          gboolean* copy_to_library,
                          GError** error)
{
#line 190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->prepare (self, file_to_import, copy_to_library, error);
#line 3602 "BatchImport.c"
}


static gboolean
batch_import_job_real_complete (BatchImportJob* self,
                                MediaSource* source,
                                BatchImportRoll* import_roll,
                                GError** error)
{
	gboolean result = FALSE;
#line 200 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
#line 200 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_ROLL (import_roll), FALSE);
#line 201 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = FALSE;
#line 201 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3621 "BatchImport.c"
}


gboolean
batch_import_job_complete (BatchImportJob* self,
                           MediaSource* source,
                           BatchImportRoll* import_roll,
                           GError** error)
{
#line 200 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 200 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->complete (self, source, import_roll, error);
#line 3635 "BatchImport.c"
}


static time_t
batch_import_job_real_get_exposure_time_override (BatchImportJob* self)
{
	time_t result = 0;
#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = (time_t) 0;
#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3647 "BatchImport.c"
}


time_t
batch_import_job_get_exposure_time_override (BatchImportJob* self)
{
#line 206 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), 0);
#line 206 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_exposure_time_override (self);
#line 3658 "BatchImport.c"
}


static gboolean
batch_import_job_real_recurse (BatchImportJob* self)
{
	gboolean result = FALSE;
#line 211 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 211 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3670 "BatchImport.c"
}


gboolean
batch_import_job_recurse (BatchImportJob* self)
{
#line 210 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 210 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->recurse (self);
#line 3681 "BatchImport.c"
}


BatchImportJob*
batch_import_job_construct (GType object_type)
{
	BatchImportJob* self = NULL;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportJob*) g_type_create_instance (object_type);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 3693 "BatchImport.c"
}


static void
value_batch_import_job_init (GValue* value)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 3702 "BatchImport.c"
}


static void
value_batch_import_job_free_value (GValue* value)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_job_unref (value->data[0].v_pointer);
#line 3713 "BatchImport.c"
	}
}


static void
value_batch_import_job_copy_value (const GValue* src_value,
                                   GValue* dest_value)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = batch_import_job_ref (src_value->data[0].v_pointer);
#line 3726 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3730 "BatchImport.c"
	}
}


static gpointer
value_batch_import_job_peek_pointer (const GValue* value)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 3740 "BatchImport.c"
}


static gchar*
value_batch_import_job_collect_value (GValue* value,
                                      guint n_collect_values,
                                      GTypeCValue* collect_values,
                                      guint collect_flags)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 3752 "BatchImport.c"
		BatchImportJob * object;
		object = collect_values[0].v_pointer;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3759 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.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 3763 "BatchImport.c"
		}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_job_ref (object);
#line 3767 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3771 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3775 "BatchImport.c"
}


static gchar*
value_batch_import_job_lcopy_value (const GValue* value,
                                    guint n_collect_values,
                                    GTypeCValue* collect_values,
                                    guint collect_flags)
{
	BatchImportJob ** object_p;
	object_p = collect_values[0].v_pointer;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 3791 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 3797 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 3801 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_job_ref (value->data[0].v_pointer);
#line 3805 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3809 "BatchImport.c"
}


GParamSpec*
param_spec_batch_import_job (const gchar* name,
                             const gchar* nick,
                             const gchar* blurb,
                             GType object_type,
                             GParamFlags flags)
{
	ParamSpecBatchImportJob* spec;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_JOB), NULL);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 3829 "BatchImport.c"
}


gpointer
value_get_batch_import_job (const GValue* value)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB), NULL);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 3840 "BatchImport.c"
}


void
value_set_batch_import_job (GValue* value,
                            gpointer v_object)
{
	BatchImportJob * old;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_JOB));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_job_ref (value->data[0].v_pointer);
#line 3863 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3867 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_job_unref (old);
#line 3873 "BatchImport.c"
	}
}


void
value_take_batch_import_job (GValue* value,
                             gpointer v_object)
{
	BatchImportJob * old;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_JOB));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 3895 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3899 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_job_unref (old);
#line 3905 "BatchImport.c"
	}
}


static void
batch_import_job_class_init (BatchImportJobClass * klass)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_job_parent_class = g_type_class_peek_parent (klass);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->finalize = batch_import_job_finalize;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_dest_identifier = (gchar* (*) (BatchImportJob *)) batch_import_job_real_get_dest_identifier;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_source_identifier = (gchar* (*) (BatchImportJob *)) batch_import_job_real_get_source_identifier;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->is_directory = (gboolean (*) (BatchImportJob *)) batch_import_job_real_is_directory;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_basename = (gchar* (*) (BatchImportJob *)) batch_import_job_real_get_basename;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_path = (gchar* (*) (BatchImportJob *)) batch_import_job_real_get_path;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_duplicated_file = (DuplicatedFile* (*) (BatchImportJob *)) batch_import_job_real_get_duplicated_file;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_associated_file = (GFile* (*) (BatchImportJob *)) batch_import_job_real_get_associated_file;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->set_associated = (void (*) (BatchImportJob *, BatchImportJob*)) batch_import_job_real_set_associated;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->determine_file_size = (gboolean (*) (BatchImportJob *, guint64*, GFile* *)) batch_import_job_real_determine_file_size;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->prepare = (gboolean (*) (BatchImportJob *, GFile* *, gboolean*, GError**)) batch_import_job_real_prepare;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->complete = (gboolean (*) (BatchImportJob *, MediaSource*, BatchImportRoll*, GError**)) batch_import_job_real_complete;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_exposure_time_override = (time_t (*) (BatchImportJob *)) batch_import_job_real_get_exposure_time_override;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->recurse = (gboolean (*) (BatchImportJob *)) batch_import_job_real_recurse;
#line 3943 "BatchImport.c"
}


static void
batch_import_job_instance_init (BatchImportJob * self)
{
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 3952 "BatchImport.c"
}


static void
batch_import_job_finalize (BatchImportJob * obj)
{
	BatchImportJob * self;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_JOB, BatchImportJob);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 3964 "BatchImport.c"
}


GType
batch_import_job_get_type (void)
{
	static volatile gsize batch_import_job_type_id__volatile = 0;
	if (g_once_init_enter (&batch_import_job_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_batch_import_job_init, value_batch_import_job_free_value, value_batch_import_job_copy_value, value_batch_import_job_peek_pointer, "p", value_batch_import_job_collect_value, "p", value_batch_import_job_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (BatchImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportJob), 0, (GInstanceInitFunc) batch_import_job_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 batch_import_job_type_id;
		batch_import_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportJob", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&batch_import_job_type_id__volatile, batch_import_job_type_id);
	}
	return batch_import_job_type_id__volatile;
}


gpointer
batch_import_job_ref (gpointer instance)
{
	BatchImportJob * self;
	self = instance;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 3993 "BatchImport.c"
}


void
batch_import_job_unref (gpointer instance)
{
	BatchImportJob * self;
	self = instance;
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		BATCH_IMPORT_JOB_GET_CLASS (self)->finalize (self);
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 4008 "BatchImport.c"
	}
}


static gpointer
_g_object_ref0 (gpointer self)
{
#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? g_object_ref (self) : NULL;
#line 4018 "BatchImport.c"
}


FileImportJob*
file_import_job_construct (GType object_type,
                           GFile* file_or_dir,
                           gboolean copy_to_library,
                           gboolean recurse)
{
	FileImportJob* self = NULL;
	GFile* _tmp0_;
#line 221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file_or_dir), NULL);
#line 221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (FileImportJob*) batch_import_job_construct (object_type);
#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (file_or_dir);
#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file_or_dir);
#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_or_dir = _tmp0_;
#line 223 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->copy_to_library = copy_to_library;
#line 224 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->_recurse = recurse;
#line 221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4046 "BatchImport.c"
}


FileImportJob*
file_import_job_new (GFile* file_or_dir,
                     gboolean copy_to_library,
                     gboolean recurse)
{
#line 221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return file_import_job_construct (TYPE_FILE_IMPORT_JOB, file_or_dir, copy_to_library, recurse);
#line 4057 "BatchImport.c"
}


static gchar*
file_import_job_real_get_dest_identifier (BatchImportJob* base)
{
	FileImportJob * self;
	gchar* result = NULL;
	GFile* _tmp0_;
	gchar* _tmp1_;
#line 227 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 228 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 228 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_file_get_path (_tmp0_);
#line 228 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp1_;
#line 228 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4078 "BatchImport.c"
}


static gchar*
file_import_job_real_get_source_identifier (BatchImportJob* base)
{
	FileImportJob * self;
	gchar* result = NULL;
	GFile* _tmp0_;
	gchar* _tmp1_;
#line 231 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_file_get_path (_tmp0_);
#line 232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp1_;
#line 232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4099 "BatchImport.c"
}


static gboolean
file_import_job_real_is_directory (BatchImportJob* base)
{
	FileImportJob * self;
	gboolean result = FALSE;
	GFile* _tmp0_;
#line 235 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 236 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 236 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = query_is_directory (_tmp0_);
#line 236 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4117 "BatchImport.c"
}


static gchar*
file_import_job_real_get_basename (BatchImportJob* base)
{
	FileImportJob * self;
	gchar* result = NULL;
	GFile* _tmp0_;
	gchar* _tmp1_;
#line 239 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 240 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 240 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_file_get_basename (_tmp0_);
#line 240 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp1_;
#line 240 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4138 "BatchImport.c"
}


static gchar*
file_import_job_real_get_path (BatchImportJob* base)
{
	FileImportJob * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (batch_import_job_is_directory (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BATCH_IMPORT_JOB, BatchImportJob))) {
#line 4152 "BatchImport.c"
		GFile* _tmp1_;
		gchar* _tmp2_;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = self->priv->file_or_dir;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = g_file_get_path (_tmp1_);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp2_;
#line 4163 "BatchImport.c"
	} else {
		GFile* _tmp3_;
		GFile* _tmp4_;
		GFile* _tmp5_;
		gchar* _tmp6_;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->file_or_dir;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = g_file_get_parent (_tmp3_);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = g_file_get_path (_tmp5_);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp6_;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp5_);
#line 4183 "BatchImport.c"
	}
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 244 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4189 "BatchImport.c"
}


static gpointer
_batch_import_job_ref0 (gpointer self)
{
#line 248 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? batch_import_job_ref (self) : NULL;
#line 4198 "BatchImport.c"
}


static void
file_import_job_real_set_associated (BatchImportJob* base,
                                     BatchImportJob* associated)
{
	FileImportJob * self;
	FileImportJob* _tmp0_;
#line 247 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 247 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (associated));
#line 248 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (associated, TYPE_FILE_IMPORT_JOB) ? ((FileImportJob*) associated) : NULL);
#line 248 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->priv->associated);
#line 248 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->associated = _tmp0_;
#line 4218 "BatchImport.c"
}


static gboolean
file_import_job_real_determine_file_size (BatchImportJob* base,
                                          guint64* filesize,
                                          GFile* * file)
{
	FileImportJob * self;
	guint64 _vala_filesize = 0ULL;
	GFile* _vala_file = NULL;
	gboolean result = FALSE;
	GFile* _tmp0_;
	GFile* _tmp1_;
#line 251 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_filesize = (guint64) 0;
#line 253 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 253 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 253 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_vala_file);
#line 253 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_file = _tmp1_;
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = FALSE;
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (filesize) {
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*filesize = _vala_filesize;
#line 4251 "BatchImport.c"
	}
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file) {
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file = _vala_file;
#line 4257 "BatchImport.c"
	} else {
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 4261 "BatchImport.c"
	}
#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4265 "BatchImport.c"
}


static gboolean
file_import_job_real_prepare (BatchImportJob* base,
                              GFile* * file_to_import,
                              gboolean* copy,
                              GError** error)
{
	FileImportJob * self;
	GFile* _vala_file_to_import = NULL;
	gboolean _vala_copy = FALSE;
	gboolean result = FALSE;
	GFile* _tmp0_;
	GFile* _tmp1_;
	gboolean _tmp2_;
#line 258 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_vala_file_to_import);
#line 259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_file_to_import = _tmp1_;
#line 260 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->priv->copy_to_library;
#line 260 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_copy = _tmp2_;
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file_to_import) {
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file_to_import = _vala_file_to_import;
#line 4302 "BatchImport.c"
	} else {
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file_to_import);
#line 4306 "BatchImport.c"
	}
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (copy) {
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*copy = _vala_copy;
#line 4312 "BatchImport.c"
	}
#line 262 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4316 "BatchImport.c"
}


GFile*
file_import_job_get_file (FileImportJob* self)
{
	GFile* result = NULL;
	GFile* _tmp0_;
	GFile* _tmp1_;
#line 265 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_IMPORT_JOB (self), NULL);
#line 266 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 266 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 266 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp1_;
#line 266 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4336 "BatchImport.c"
}


static gboolean
file_import_job_real_recurse (BatchImportJob* base)
{
	FileImportJob * self;
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 269 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 270 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->_recurse;
#line 270 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 270 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 4354 "BatchImport.c"
}


static void
file_import_job_class_init (FileImportJobClass * klass)
{
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_import_job_parent_class = g_type_class_peek_parent (klass);
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->finalize = file_import_job_finalize;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (FileImportJobPrivate));
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_dest_identifier = (gchar* (*) (BatchImportJob *)) file_import_job_real_get_dest_identifier;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_source_identifier = (gchar* (*) (BatchImportJob *)) file_import_job_real_get_source_identifier;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->is_directory = (gboolean (*) (BatchImportJob *)) file_import_job_real_is_directory;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_basename = (gchar* (*) (BatchImportJob *)) file_import_job_real_get_basename;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->get_path = (gchar* (*) (BatchImportJob *)) file_import_job_real_get_path;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->set_associated = (void (*) (BatchImportJob *, BatchImportJob*)) file_import_job_real_set_associated;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->determine_file_size = (gboolean (*) (BatchImportJob *, guint64*, GFile* *)) file_import_job_real_determine_file_size;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->prepare = (gboolean (*) (BatchImportJob *, GFile* *, gboolean*, GError**)) file_import_job_real_prepare;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportJobClass *) klass)->recurse = (gboolean (*) (BatchImportJob *)) file_import_job_real_recurse;
#line 4385 "BatchImport.c"
}


static void
file_import_job_instance_init (FileImportJob * self)
{
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = FILE_IMPORT_JOB_GET_PRIVATE (self);
#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->associated = NULL;
#line 4396 "BatchImport.c"
}


static void
file_import_job_finalize (BatchImportJob * obj)
{
	FileImportJob * self;
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 216 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file_or_dir);
#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->priv->associated);
#line 215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BATCH_IMPORT_JOB_CLASS (file_import_job_parent_class)->finalize (obj);
#line 4412 "BatchImport.c"
}


GType
file_import_job_get_type (void)
{
	static volatile gsize file_import_job_type_id__volatile = 0;
	if (g_once_init_enter (&file_import_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (FileImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) file_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FileImportJob), 0, (GInstanceInitFunc) file_import_job_instance_init, NULL };
		GType file_import_job_type_id;
		file_import_job_type_id = g_type_register_static (TYPE_BATCH_IMPORT_JOB, "FileImportJob", &g_define_type_info, 0);
		g_once_init_leave (&file_import_job_type_id__volatile, file_import_job_type_id);
	}
	return file_import_job_type_id__volatile;
}


BatchImportRoll*
batch_import_roll_construct (GType object_type)
{
	BatchImportRoll* self = NULL;
	ImportID _tmp0_ = {0};
#line 281 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportRoll*) g_type_create_instance (object_type);
#line 282 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_id_generate (&_tmp0_);
#line 282 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->import_id = _tmp0_;
#line 281 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4443 "BatchImport.c"
}


BatchImportRoll*
batch_import_roll_new (void)
{
#line 281 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return batch_import_roll_construct (TYPE_BATCH_IMPORT_ROLL);
#line 4452 "BatchImport.c"
}


static void
value_batch_import_roll_init (GValue* value)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 4461 "BatchImport.c"
}


static void
value_batch_import_roll_free_value (GValue* value)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_unref (value->data[0].v_pointer);
#line 4472 "BatchImport.c"
	}
}


static void
value_batch_import_roll_copy_value (const GValue* src_value,
                                    GValue* dest_value)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = batch_import_roll_ref (src_value->data[0].v_pointer);
#line 4485 "BatchImport.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 4489 "BatchImport.c"
	}
}


static gpointer
value_batch_import_roll_peek_pointer (const GValue* value)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 4499 "BatchImport.c"
}


static gchar*
value_batch_import_roll_collect_value (GValue* value,
                                       guint n_collect_values,
                                       GTypeCValue* collect_values,
                                       guint collect_flags)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 4511 "BatchImport.c"
		BatchImportRoll * object;
		object = collect_values[0].v_pointer;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 4518 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.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 4522 "BatchImport.c"
		}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_roll_ref (object);
#line 4526 "BatchImport.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4530 "BatchImport.c"
	}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 4534 "BatchImport.c"
}


static gchar*
value_batch_import_roll_lcopy_value (const GValue* value,
                                     guint n_collect_values,
                                     GTypeCValue* collect_values,
                                     guint collect_flags)
{
	BatchImportRoll ** object_p;
	object_p = collect_values[0].v_pointer;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 4550 "BatchImport.c"
	}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 4556 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 4560 "BatchImport.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_roll_ref (value->data[0].v_pointer);
#line 4564 "BatchImport.c"
	}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 4568 "BatchImport.c"
}


GParamSpec*
param_spec_batch_import_roll (const gchar* name,
                              const gchar* nick,
                              const gchar* blurb,
                              GType object_type,
                              GParamFlags flags)
{
	ParamSpecBatchImportRoll* spec;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_ROLL), NULL);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 4588 "BatchImport.c"
}


gpointer
value_get_batch_import_roll (const GValue* value)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL), NULL);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 4599 "BatchImport.c"
}


void
value_set_batch_import_roll (GValue* value,
                             gpointer v_object)
{
	BatchImportRoll * old;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_ref (value->data[0].v_pointer);
#line 4622 "BatchImport.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4626 "BatchImport.c"
	}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_unref (old);
#line 4632 "BatchImport.c"
	}
}


void
value_take_batch_import_roll (GValue* value,
                              gpointer v_object)
{
	BatchImportRoll * old;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 4654 "BatchImport.c"
	} else {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4658 "BatchImport.c"
	}
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_unref (old);
#line 4664 "BatchImport.c"
	}
}


static void
batch_import_roll_class_init (BatchImportRollClass * klass)
{
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_roll_parent_class = g_type_class_peek_parent (klass);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportRollClass *) klass)->finalize = batch_import_roll_finalize;
#line 4676 "BatchImport.c"
}


static void
batch_import_roll_instance_init (BatchImportRoll * self)
{
	ViewCollection* _tmp0_;
#line 279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = view_collection_new ("BatchImportRoll generated events");
#line 279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->generated_events = _tmp0_;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 4690 "BatchImport.c"
}


static void
batch_import_roll_finalize (BatchImportRoll * obj)
{
	BatchImportRoll * self;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_ROLL, BatchImportRoll);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_collection_unref0 (self->generated_events);
#line 4704 "BatchImport.c"
}


GType
batch_import_roll_get_type (void)
{
	static volatile gsize batch_import_roll_type_id__volatile = 0;
	if (g_once_init_enter (&batch_import_roll_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_batch_import_roll_init, value_batch_import_roll_free_value, value_batch_import_roll_copy_value, value_batch_import_roll_peek_pointer, "p", value_batch_import_roll_collect_value, "p", value_batch_import_roll_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (BatchImportRollClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_roll_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportRoll), 0, (GInstanceInitFunc) batch_import_roll_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 batch_import_roll_type_id;
		batch_import_roll_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportRoll", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&batch_import_roll_type_id__volatile, batch_import_roll_type_id);
	}
	return batch_import_roll_type_id__volatile;
}


gpointer
batch_import_roll_ref (gpointer instance)
{
	BatchImportRoll * self;
	self = instance;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 4733 "BatchImport.c"
}


void
batch_import_roll_unref (gpointer instance)
{
	BatchImportRoll * self;
	self = instance;
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		BATCH_IMPORT_ROLL_GET_CLASS (self)->finalize (self);
#line 277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 4748 "BatchImport.c"
	}
}


BatchImportResult*
batch_import_result_construct (GType object_type,
                               BatchImportJob* job,
                               GFile* file,
                               const gchar* src_identifier,
                               const gchar* dest_identifier,
                               DuplicatedFile* duplicate_of,
                               ImportResult _result_)
{
	BatchImportResult* self = NULL;
	BatchImportJob* _tmp0_;
	GFile* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	DuplicatedFile* _tmp4_;
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (src_identifier != NULL, NULL);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_identifier != NULL, NULL);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((duplicate_of == NULL) || IS_DUPLICATED_FILE (duplicate_of), NULL);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportResult*) g_type_create_instance (object_type);
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _batch_import_job_ref0 (job);
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp0_;
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (file);
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp1_;
#line 305 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = g_strdup (src_identifier);
#line 305 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 305 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->src_identifier = _tmp2_;
#line 306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = g_strdup (dest_identifier);
#line 306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_identifier = _tmp3_;
#line 307 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _g_object_ref0 (duplicate_of);
#line 307 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->duplicate_of);
#line 307 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->duplicate_of = _tmp4_;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = _result_;
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4814 "BatchImport.c"
}


BatchImportResult*
batch_import_result_new (BatchImportJob* job,
                         GFile* file,
                         const gchar* src_identifier,
                         const gchar* dest_identifier,
                         DuplicatedFile* duplicate_of,
                         ImportResult _result_)
{
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return batch_import_result_construct (TYPE_BATCH_IMPORT_RESULT, job, file, src_identifier, dest_identifier, duplicate_of, _result_);
#line 4828 "BatchImport.c"
}


BatchImportResult*
batch_import_result_construct_from_error (GType object_type,
                                          BatchImportJob* job,
                                          GFile* file,
                                          const gchar* src_identifier,
                                          const gchar* dest_identifier,
                                          GError* err,
                                          ImportResult default_result)
{
	BatchImportResult* self = NULL;
	BatchImportJob* _tmp0_;
	GFile* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (src_identifier != NULL, NULL);
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_identifier != NULL, NULL);
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportResult*) g_type_create_instance (object_type);
#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _batch_import_job_ref0 (job);
#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp0_;
#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (file);
#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp1_;
#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = g_strdup (src_identifier);
#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->src_identifier = _tmp2_;
#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = g_strdup (dest_identifier);
#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_identifier = _tmp3_;
#line 317 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = import_result_convert_error (err, default_result);
#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = err->message;
#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->errmsg);
#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->errmsg = _tmp5_;
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4894 "BatchImport.c"
}


BatchImportResult*
batch_import_result_new_from_error (BatchImportJob* job,
                                    GFile* file,
                                    const gchar* src_identifier,
                                    const gchar* dest_identifier,
                                    GError* err,
                                    ImportResult default_result)
{
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return batch_import_result_construct_from_error (TYPE_BATCH_IMPORT_RESULT, job, file, src_identifier, dest_identifier, err, default_result);
#line 4908 "BatchImport.c"
}


static void
value_batch_import_result_init (GValue* value)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 4917 "BatchImport.c"
}


static void
value_batch_import_result_free_value (GValue* value)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_unref (value->data[0].v_pointer);
#line 4928 "BatchImport.c"
	}
}


static void
value_batch_import_result_copy_value (const GValue* src_value,
                                      GValue* dest_value)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = batch_import_result_ref (src_value->data[0].v_pointer);
#line 4941 "BatchImport.c"
	} else {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 4945 "BatchImport.c"
	}
}


static gpointer
value_batch_import_result_peek_pointer (const GValue* value)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 4955 "BatchImport.c"
}


static gchar*
value_batch_import_result_collect_value (GValue* value,
                                         guint n_collect_values,
                                         GTypeCValue* collect_values,
                                         guint collect_flags)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 4967 "BatchImport.c"
		BatchImportResult * object;
		object = collect_values[0].v_pointer;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 4974 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.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 4978 "BatchImport.c"
		}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_result_ref (object);
#line 4982 "BatchImport.c"
	} else {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4986 "BatchImport.c"
	}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 4990 "BatchImport.c"
}


static gchar*
value_batch_import_result_lcopy_value (const GValue* value,
                                       guint n_collect_values,
                                       GTypeCValue* collect_values,
                                       guint collect_flags)
{
	BatchImportResult ** object_p;
	object_p = collect_values[0].v_pointer;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 5006 "BatchImport.c"
	}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 5012 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 5016 "BatchImport.c"
	} else {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_result_ref (value->data[0].v_pointer);
#line 5020 "BatchImport.c"
	}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 5024 "BatchImport.c"
}


GParamSpec*
param_spec_batch_import_result (const gchar* name,
                                const gchar* nick,
                                const gchar* blurb,
                                GType object_type,
                                GParamFlags flags)
{
	ParamSpecBatchImportResult* spec;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_RESULT), NULL);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 5044 "BatchImport.c"
}


gpointer
value_get_batch_import_result (const GValue* value)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT), NULL);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 5055 "BatchImport.c"
}


void
value_set_batch_import_result (GValue* value,
                               gpointer v_object)
{
	BatchImportResult * old;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_ref (value->data[0].v_pointer);
#line 5078 "BatchImport.c"
	} else {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5082 "BatchImport.c"
	}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_unref (old);
#line 5088 "BatchImport.c"
	}
}


void
value_take_batch_import_result (GValue* value,
                                gpointer v_object)
{
	BatchImportResult * old;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 5110 "BatchImport.c"
	} else {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5114 "BatchImport.c"
	}
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_unref (old);
#line 5120 "BatchImport.c"
	}
}


static void
batch_import_result_class_init (BatchImportResultClass * klass)
{
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_result_parent_class = g_type_class_peek_parent (klass);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BatchImportResultClass *) klass)->finalize = batch_import_result_finalize;
#line 5132 "BatchImport.c"
}


static void
batch_import_result_instance_init (BatchImportResult * self)
{
#line 298 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->errmsg = NULL;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 5143 "BatchImport.c"
}


static void
batch_import_result_finalize (BatchImportResult * obj)
{
	BatchImportResult * self;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_RESULT, BatchImportResult);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 294 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 295 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 298 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->errmsg);
#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->duplicate_of);
#line 5167 "BatchImport.c"
}


GType
batch_import_result_get_type (void)
{
	static volatile gsize batch_import_result_type_id__volatile = 0;
	if (g_once_init_enter (&batch_import_result_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_batch_import_result_init, value_batch_import_result_free_value, value_batch_import_result_copy_value, value_batch_import_result_peek_pointer, "p", value_batch_import_result_collect_value, "p", value_batch_import_result_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (BatchImportResultClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_result_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportResult), 0, (GInstanceInitFunc) batch_import_result_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 batch_import_result_type_id;
		batch_import_result_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportResult", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&batch_import_result_type_id__volatile, batch_import_result_type_id);
	}
	return batch_import_result_type_id__volatile;
}


gpointer
batch_import_result_ref (gpointer instance)
{
	BatchImportResult * self;
	self = instance;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 5196 "BatchImport.c"
}


void
batch_import_result_unref (gpointer instance)
{
	BatchImportResult * self;
	self = instance;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		BATCH_IMPORT_RESULT_GET_CLASS (self)->finalize (self);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 5211 "BatchImport.c"
	}
}


ImportManifest*
import_manifest_construct (GType object_type,
                           GeeList* prefailed,
                           GeeList* pre_already_imported)
{
	ImportManifest* self = NULL;
	GTimer* _tmp0_;
#line 336 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((prefailed == NULL) || GEE_IS_LIST (prefailed), NULL);
#line 336 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((pre_already_imported == NULL) || GEE_IS_LIST (pre_already_imported), NULL);
#line 336 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ImportManifest*) g_type_create_instance (object_type);
#line 338 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = g_timer_new ();
#line 338 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_timer_destroy0 (self->timer);
#line 338 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->timer = _tmp0_;
#line 339 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (prefailed != NULL) {
#line 5237 "BatchImport.c"
		{
			GeeList* _job_list = NULL;
			GeeList* _tmp1_;
			gint _job_size = 0;
			GeeList* _tmp2_;
			gint _tmp3_;
			gint _tmp4_;
			gint _job_index = 0;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = _g_object_ref0 (prefailed);
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_list = _tmp1_;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = _job_list;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = _tmp3_;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_size = _tmp4_;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_index = -1;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 5262 "BatchImport.c"
				gint _tmp5_;
				gint _tmp6_;
				gint _tmp7_;
				BatchImportJob* job = NULL;
				GeeList* _tmp8_;
				gint _tmp9_;
				gpointer _tmp10_;
				BatchImportResult* batch_result = NULL;
				BatchImportJob* _tmp11_;
				BatchImportJob* _tmp12_;
				gchar* _tmp13_;
				gchar* _tmp14_;
				BatchImportJob* _tmp15_;
				gchar* _tmp16_;
				gchar* _tmp17_;
				BatchImportResult* _tmp18_;
				BatchImportResult* _tmp19_;
				BatchImportResult* _tmp20_;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp5_ = _job_index;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_job_index = _tmp5_ + 1;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp6_ = _job_index;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = _job_size;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp6_ < _tmp7_)) {
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 5293 "BatchImport.c"
				}
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = _job_list;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = _job_index;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = gee_list_get (_tmp8_, _tmp9_);
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				job = (BatchImportJob*) _tmp10_;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = job;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = job;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = batch_import_job_get_source_identifier (_tmp12_);
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = _tmp13_;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = job;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = batch_import_job_get_dest_identifier (_tmp15_);
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = _tmp16_;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = batch_import_result_new (_tmp11_, NULL, _tmp14_, _tmp17_, NULL, IMPORT_RESULT_FILE_ERROR);
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = _tmp18_;
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp17_);
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp14_);
#line 341 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_result = _tmp19_;
#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = batch_result;
#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala"
				import_manifest_add_result (self, _tmp20_);
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (batch_result);
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 5335 "BatchImport.c"
			}
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_job_list);
#line 5339 "BatchImport.c"
		}
	}
#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (pre_already_imported != NULL) {
#line 5344 "BatchImport.c"
		{
			GeeList* _job_list = NULL;
			GeeList* _tmp21_;
			gint _job_size = 0;
			GeeList* _tmp22_;
			gint _tmp23_;
			gint _tmp24_;
			gint _job_index = 0;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = _g_object_ref0 (pre_already_imported);
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_list = _tmp21_;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = _job_list;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection));
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = _tmp23_;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_size = _tmp24_;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_index = -1;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 5369 "BatchImport.c"
				gint _tmp25_;
				gint _tmp26_;
				gint _tmp27_;
				BatchImportJob* job = NULL;
				GeeList* _tmp28_;
				gint _tmp29_;
				gpointer _tmp30_;
				BatchImportResult* batch_result = NULL;
				BatchImportJob* _tmp31_;
				BatchImportJob* _tmp32_;
				gchar* _tmp33_;
				gchar* _tmp34_;
				GFile* _tmp35_;
				GFile* _tmp36_;
				BatchImportJob* _tmp37_;
				gchar* _tmp38_;
				gchar* _tmp39_;
				BatchImportJob* _tmp40_;
				gchar* _tmp41_;
				gchar* _tmp42_;
				BatchImportJob* _tmp43_;
				DuplicatedFile* _tmp44_;
				DuplicatedFile* _tmp45_;
				BatchImportResult* _tmp46_;
				BatchImportResult* _tmp47_;
				BatchImportResult* _tmp48_;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = _job_index;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_job_index = _tmp25_ + 1;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp26_ = _job_index;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp27_ = _job_size;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp26_ < _tmp27_)) {
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 5408 "BatchImport.c"
				}
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = _job_list;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = _job_index;
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = gee_list_get (_tmp28_, _tmp29_);
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				job = (BatchImportJob*) _tmp30_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = job;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = job;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp33_ = batch_import_job_get_basename (_tmp32_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = _tmp33_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = g_file_new_for_path (_tmp34_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = _tmp35_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = job;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp38_ = batch_import_job_get_source_identifier (_tmp37_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp39_ = _tmp38_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp40_ = job;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = batch_import_job_get_dest_identifier (_tmp40_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = _tmp41_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp43_ = job;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp44_ = batch_import_job_get_duplicated_file (_tmp43_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = _tmp44_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = batch_import_result_new (_tmp31_, _tmp36_, _tmp39_, _tmp42_, _tmp45_, IMPORT_RESULT_PHOTO_EXISTS);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp47_ = _tmp46_;
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp45_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp42_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp39_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp36_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp34_);
#line 351 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_result = _tmp47_;
#line 356 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = batch_result;
#line 356 "/home/jens/Source/shotwell/src/BatchImport.vala"
				import_manifest_add_result (self, _tmp48_);
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (batch_result);
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 5472 "BatchImport.c"
			}
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_job_list);
#line 5476 "BatchImport.c"
		}
	}
#line 336 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 5481 "BatchImport.c"
}


ImportManifest*
import_manifest_new (GeeList* prefailed,
                     GeeList* pre_already_imported)
{
#line 336 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return import_manifest_construct (TYPE_IMPORT_MANIFEST, prefailed, pre_already_imported);
#line 5491 "BatchImport.c"
}


void
import_manifest_add_result (ImportManifest* self,
                            BatchImportResult* batch_result)
{
	gboolean reported = FALSE;
	ImportResult _tmp0_;
	gboolean _tmp13_;
#line 361 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_IMPORT_MANIFEST (self));
#line 361 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_RESULT (batch_result));
#line 362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	reported = TRUE;
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = batch_result->result;
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (_tmp0_) {
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_SUCCESS:
#line 5514 "BatchImport.c"
		{
			GeeList* _tmp1_;
#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = self->success;
#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 366 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5523 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_USER_ABORT:
#line 5527 "BatchImport.c"
		{
			gboolean _tmp2_ = FALSE;
			GFile* _tmp3_;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = batch_result->file;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp3_ != NULL) {
#line 5535 "BatchImport.c"
				GFile* _tmp4_;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp4_ = batch_result->file;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp2_ = !query_is_directory (_tmp4_);
#line 5541 "BatchImport.c"
			} else {
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp2_ = FALSE;
#line 5545 "BatchImport.c"
			}
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp2_) {
#line 5549 "BatchImport.c"
				GeeList* _tmp5_;
#line 370 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp5_ = self->aborted;
#line 370 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 5555 "BatchImport.c"
			} else {
#line 372 "/home/jens/Source/shotwell/src/BatchImport.vala"
				reported = FALSE;
#line 5559 "BatchImport.c"
			}
#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5563 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_UNSUPPORTED_FORMAT:
#line 5567 "BatchImport.c"
		{
			GeeList* _tmp6_;
#line 376 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = self->skipped_photos;
#line 376 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5576 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_A_FILE:
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_AN_IMAGE:
#line 5582 "BatchImport.c"
		{
			GeeList* _tmp7_;
#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = self->skipped_files;
#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 382 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5591 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PHOTO_EXISTS:
#line 5595 "BatchImport.c"
		{
			GeeList* _tmp8_;
#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = self->already_imported;
#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 386 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5604 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_CAMERA_ERROR:
#line 5608 "BatchImport.c"
		{
			GeeList* _tmp9_;
#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = self->camera_failed;
#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5617 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_WRITE_ERROR:
#line 5621 "BatchImport.c"
		{
			GeeList* _tmp10_;
#line 393 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = self->write_failed;
#line 393 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 394 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5630 "BatchImport.c"
		}
#line 363 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE:
#line 5634 "BatchImport.c"
		{
			GeeList* _tmp11_;
#line 397 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = self->corrupt_files;
#line 397 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 398 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5643 "BatchImport.c"
		}
		default:
		{
			GeeList* _tmp12_;
#line 401 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = self->failed;
#line 401 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 5654 "BatchImport.c"
		}
	}
#line 405 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = reported;
#line 405 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp13_) {
#line 5661 "BatchImport.c"
		GeeList* _tmp14_;
#line 406 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = self->all;
#line 406 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), batch_result);
#line 5667 "BatchImport.c"
	}
}


static void
value_import_manifest_init (GValue* value)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 5677 "BatchImport.c"
}


static void
value_import_manifest_free_value (GValue* value)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_unref (value->data[0].v_pointer);
#line 5688 "BatchImport.c"
	}
}


static void
value_import_manifest_copy_value (const GValue* src_value,
                                  GValue* dest_value)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = import_manifest_ref (src_value->data[0].v_pointer);
#line 5701 "BatchImport.c"
	} else {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 5705 "BatchImport.c"
	}
}


static gpointer
value_import_manifest_peek_pointer (const GValue* value)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 5715 "BatchImport.c"
}


static gchar*
value_import_manifest_collect_value (GValue* value,
                                     guint n_collect_values,
                                     GTypeCValue* collect_values,
                                     guint collect_flags)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 5727 "BatchImport.c"
		ImportManifest * object;
		object = collect_values[0].v_pointer;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 5734 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.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 5738 "BatchImport.c"
		}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = import_manifest_ref (object);
#line 5742 "BatchImport.c"
	} else {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5746 "BatchImport.c"
	}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 5750 "BatchImport.c"
}


static gchar*
value_import_manifest_lcopy_value (const GValue* value,
                                   guint n_collect_values,
                                   GTypeCValue* collect_values,
                                   guint collect_flags)
{
	ImportManifest ** object_p;
	object_p = collect_values[0].v_pointer;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 5766 "BatchImport.c"
	}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 5772 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 5776 "BatchImport.c"
	} else {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = import_manifest_ref (value->data[0].v_pointer);
#line 5780 "BatchImport.c"
	}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 5784 "BatchImport.c"
}


GParamSpec*
param_spec_import_manifest (const gchar* name,
                            const gchar* nick,
                            const gchar* blurb,
                            GType object_type,
                            GParamFlags flags)
{
	ParamSpecImportManifest* spec;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_IMPORT_MANIFEST), NULL);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 5804 "BatchImport.c"
}


gpointer
value_get_import_manifest (const GValue* value)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST), NULL);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 5815 "BatchImport.c"
}


void
value_set_import_manifest (GValue* value,
                           gpointer v_object)
{
	ImportManifest * old;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_ref (value->data[0].v_pointer);
#line 5838 "BatchImport.c"
	} else {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5842 "BatchImport.c"
	}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_unref (old);
#line 5848 "BatchImport.c"
	}
}


void
value_take_import_manifest (GValue* value,
                            gpointer v_object)
{
	ImportManifest * old;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 5870 "BatchImport.c"
	} else {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5874 "BatchImport.c"
	}
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_unref (old);
#line 5880 "BatchImport.c"
	}
}


static void
import_manifest_class_init (ImportManifestClass * klass)
{
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_manifest_parent_class = g_type_class_peek_parent (klass);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((ImportManifestClass *) klass)->finalize = import_manifest_finalize;
#line 5892 "BatchImport.c"
}


static void
import_manifest_instance_init (ImportManifest * self)
{
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	GeeArrayList* _tmp4_;
	GeeArrayList* _tmp5_;
	GeeArrayList* _tmp6_;
	GeeArrayList* _tmp7_;
	GeeArrayList* _tmp8_;
	GeeArrayList* _tmp9_;
	GeeArrayList* _tmp10_;
#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->success = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->camera_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList);
#line 326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
#line 327 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 327 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->write_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList);
#line 328 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 328 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->skipped_photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList);
#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->skipped_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList);
#line 330 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 330 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->aborted = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList);
#line 331 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 331 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->already_imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_LIST, GeeList);
#line 332 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 332 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->corrupt_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_LIST, GeeList);
#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->all = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_LIST, GeeList);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 5956 "BatchImport.c"
}


static void
import_manifest_finalize (ImportManifest * obj)
{
	ImportManifest * self;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_MANIFEST, ImportManifest);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->imported);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->success);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->camera_failed);
#line 326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->failed);
#line 327 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->write_failed);
#line 328 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->skipped_photos);
#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->skipped_files);
#line 330 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->aborted);
#line 331 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->already_imported);
#line 332 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->corrupt_files);
#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->all);
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_timer_destroy0 (self->timer);
#line 5992 "BatchImport.c"
}


GType
import_manifest_get_type (void)
{
	static volatile gsize import_manifest_type_id__volatile = 0;
	if (g_once_init_enter (&import_manifest_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_import_manifest_init, value_import_manifest_free_value, value_import_manifest_copy_value, value_import_manifest_peek_pointer, "p", value_import_manifest_collect_value, "p", value_import_manifest_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (ImportManifestClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_manifest_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportManifest), 0, (GInstanceInitFunc) import_manifest_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 import_manifest_type_id;
		import_manifest_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ImportManifest", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&import_manifest_type_id__volatile, import_manifest_type_id);
	}
	return import_manifest_type_id__volatile;
}


gpointer
import_manifest_ref (gpointer instance)
{
	ImportManifest * self;
	self = instance;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 6021 "BatchImport.c"
}


void
import_manifest_unref (gpointer instance)
{
	ImportManifest * self;
	self = instance;
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		IMPORT_MANIFEST_GET_CLASS (self)->finalize (self);
#line 322 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 6036 "BatchImport.c"
	}
}


static void
_batch_import_user_halt_application_exiting (Application* _sender,
                                             gboolean panicked,
                                             gpointer self)
{
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_user_halt ((BatchImport*) self);
#line 6048 "BatchImport.c"
}


static gpointer
_batch_import_roll_ref0 (gpointer self)
{
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? batch_import_roll_ref (self) : NULL;
#line 6057 "BatchImport.c"
}


static guint
_file_hash_gee_hash_data_func (gconstpointer v,
                               gpointer self)
{
	guint result;
	result = file_hash ((GFile*) v);
#line 507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6069 "BatchImport.c"
}


static gboolean
_file_equal_gee_equal_data_func (gconstpointer a,
                                 gconstpointer b,
                                 gpointer self)
{
	gboolean result;
	result = file_equal ((GFile*) a, (GFile*) b);
#line 507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6082 "BatchImport.c"
}


static gboolean
_batch_import_display_imported_timer_gsource_func (gpointer self)
{
	gboolean result;
	result = batch_import_display_imported_timer ((BatchImport*) self);
#line 517 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6093 "BatchImport.c"
}


BatchImport*
batch_import_construct (GType object_type,
                        GeeIterable* jobs,
                        const gchar* name,
                        BatchImportImportReporter reporter,
                        void* reporter_target,
                        GeeArrayList* prefailed,
                        GeeArrayList* pre_already_imported,
                        GCancellable* cancellable,
                        BatchImportRoll* import_roll,
                        ImportManifest* skip_manifest)
{
	BatchImport * self = NULL;
	GeeIterable* _tmp0_;
	gchar* _tmp1_;
	ImportManifest* _tmp2_;
	GCancellable* _tmp3_ = NULL;
	GCancellable* _tmp6_;
	BatchImportRoll* _tmp7_ = NULL;
	BatchImportRoll* _tmp10_;
	Application* _tmp27_;
	Application* _tmp28_;
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((prefailed == NULL) || GEE_IS_ARRAY_LIST (prefailed), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((pre_already_imported == NULL) || GEE_IS_ARRAY_LIST (pre_already_imported), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((import_roll == NULL) || IS_BATCH_IMPORT_ROLL (import_roll), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((skip_manifest == NULL) || IS_IMPORT_MANIFEST (skip_manifest), NULL);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImport*) g_object_new (object_type, NULL);
#line 499 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (jobs);
#line 499 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 499 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->jobs = _tmp0_;
#line 500 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_strdup (name);
#line 500 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->priv->name);
#line 500 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->name = _tmp1_;
#line 501 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->reporter = reporter;
#line 501 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->reporter_target = reporter_target;
#line 502 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_manifest_new (G_TYPE_CHECK_INSTANCE_CAST (prefailed, GEE_TYPE_LIST, GeeList), G_TYPE_CHECK_INSTANCE_CAST (pre_already_imported, GEE_TYPE_LIST, GeeList));
#line 502 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_import_manifest_unref0 (self->priv->manifest);
#line 502 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->manifest = _tmp2_;
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (cancellable != NULL) {
#line 6159 "BatchImport.c"
		GCancellable* _tmp4_;
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _g_object_ref0 (cancellable);
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp3_);
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp4_;
#line 6167 "BatchImport.c"
	} else {
		GCancellable* _tmp5_;
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = g_cancellable_new ();
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp3_);
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp5_;
#line 6176 "BatchImport.c"
	}
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _g_object_ref0 (_tmp3_);
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 503 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->cancellable = _tmp6_;
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (import_roll != NULL) {
#line 6186 "BatchImport.c"
		BatchImportRoll* _tmp8_;
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _batch_import_roll_ref0 (import_roll);
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_roll_unref0 (_tmp7_);
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp8_;
#line 6194 "BatchImport.c"
	} else {
		BatchImportRoll* _tmp9_;
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = batch_import_roll_new ();
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_roll_unref0 (_tmp7_);
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp9_;
#line 6203 "BatchImport.c"
	}
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = _batch_import_roll_ref0 (_tmp7_);
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (self->priv->import_roll);
#line 504 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_roll = _tmp10_;
#line 506 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (skip_manifest != NULL) {
#line 6213 "BatchImport.c"
		GeeHashSet* _tmp11_;
#line 507 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = gee_hash_set_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL);
#line 507 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (self->priv->skipset);
#line 507 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->skipset = _tmp11_;
#line 6221 "BatchImport.c"
		{
			GeeList* _source_list = NULL;
			GeeList* _tmp12_;
			GeeList* _tmp13_;
			gint _source_size = 0;
			GeeList* _tmp14_;
			gint _tmp15_;
			gint _tmp16_;
			gint _source_index = 0;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = skip_manifest->imported;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _g_object_ref0 (_tmp12_);
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_list = _tmp13_;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = _source_list;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp16_ = _tmp15_;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_size = _tmp16_;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_index = -1;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 6249 "BatchImport.c"
				gint _tmp17_;
				gint _tmp18_;
				gint _tmp19_;
				MediaSource* source = NULL;
				GeeList* _tmp20_;
				gint _tmp21_;
				gpointer _tmp22_;
				GeeHashSet* _tmp23_;
				MediaSource* _tmp24_;
				GFile* _tmp25_;
				GFile* _tmp26_;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = _source_index;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_source_index = _tmp17_ + 1;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = _source_index;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = _source_size;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp18_ < _tmp19_)) {
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 6273 "BatchImport.c"
				}
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _source_list;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = _source_index;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = gee_list_get (_tmp20_, _tmp21_);
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				source = (MediaSource*) _tmp22_;
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = self->priv->skipset;
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = source;
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = media_source_get_file (_tmp24_);
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp26_ = _tmp25_;
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_);
#line 509 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp26_);
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (source);
#line 6297 "BatchImport.c"
			}
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_source_list);
#line 6301 "BatchImport.c"
		}
	}
#line 514 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp27_ = application_get_instance ();
#line 514 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp28_ = _tmp27_;
#line 514 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_connect_object (_tmp28_, "exiting", (GCallback) _batch_import_user_halt_application_exiting, self, 0);
#line 514 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_application_unref0 (_tmp28_);
#line 517 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC, _batch_import_display_imported_timer_gsource_func, g_object_ref (self), g_object_unref);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (_tmp7_);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_tmp3_);
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 6320 "BatchImport.c"
}


BatchImport*
batch_import_new (GeeIterable* jobs,
                  const gchar* name,
                  BatchImportImportReporter reporter,
                  void* reporter_target,
                  GeeArrayList* prefailed,
                  GeeArrayList* pre_already_imported,
                  GCancellable* cancellable,
                  BatchImportRoll* import_roll,
                  ImportManifest* skip_manifest)
{
#line 494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return batch_import_construct (TYPE_BATCH_IMPORT, jobs, name, reporter, reporter_target, prefailed, pre_already_imported, cancellable, import_roll, skip_manifest);
#line 6337 "BatchImport.c"
}


gchar*
batch_import_get_name (BatchImport* self)
{
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 527 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), NULL);
#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->name;
#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp1_;
#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6357 "BatchImport.c"
}


void
batch_import_user_halt (BatchImport* self)
{
	GCancellable* _tmp0_;
#line 531 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->cancellable;
#line 532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_cancellable_cancel (_tmp0_);
#line 6371 "BatchImport.c"
}


gboolean
batch_import_get_untrash_duplicates (BatchImport* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 535 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 536 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->untrash_duplicates;
#line 536 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 536 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6388 "BatchImport.c"
}


void
batch_import_set_untrash_duplicates (BatchImport* self,
                                     gboolean untrash_duplicates)
{
#line 539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 540 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->untrash_duplicates = untrash_duplicates;
#line 6400 "BatchImport.c"
}


gboolean
batch_import_get_mark_duplicates_online (BatchImport* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 543 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->mark_duplicates_online;
#line 544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6417 "BatchImport.c"
}


void
batch_import_set_mark_duplicates_online (BatchImport* self,
                                         gboolean mark_duplicates_online)
{
#line 547 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->mark_duplicates_online = mark_duplicates_online;
#line 6429 "BatchImport.c"
}


static void
batch_import_log_status (BatchImport* self,
                         const gchar* where)
{
#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (where != NULL);
#line 6441 "BatchImport.c"
}


static gboolean
batch_import_report_failure (BatchImport* self,
                             BatchImportResult* import_result)
{
	gboolean result = FALSE;
	gboolean proceed = FALSE;
	ImportManifest* _tmp0_;
	ImportResult _tmp1_;
	gboolean _tmp14_ = FALSE;
	ImportResult _tmp15_;
	GError * _inner_error_ = NULL;
#line 561 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 561 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), FALSE);
#line 562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	proceed = TRUE;
#line 564 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->manifest;
#line 564 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_manifest_add_result (_tmp0_, import_result);
#line 566 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = import_result->result;
#line 566 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != IMPORT_RESULT_SUCCESS) {
#line 6470 "BatchImport.c"
		gboolean _tmp2_ = FALSE;
		GFile* _tmp3_;
#line 567 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORT_JOB_FAILED_SIGNAL], 0, import_result);
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = import_result->file;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ != NULL) {
#line 6479 "BatchImport.c"
			ImportResult _tmp4_;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = import_result->result;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = !import_result_is_abort (_tmp4_);
#line 6485 "BatchImport.c"
		} else {
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = FALSE;
#line 6489 "BatchImport.c"
		}
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp2_) {
#line 6493 "BatchImport.c"
			guint64 filesize = 0ULL;
			guint64 _tmp13_;
#line 570 "/home/jens/Source/shotwell/src/BatchImport.vala"
			filesize = (guint64) 0;
#line 6498 "BatchImport.c"
			{
				guint64 _tmp5_ = 0ULL;
				GFile* _tmp6_;
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp6_ = import_result->file;
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp5_ = query_total_file_size (_tmp6_, NULL, &_inner_error_);
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 6508 "BatchImport.c"
					goto __catch423_g_error;
				}
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
				filesize = _tmp5_;
#line 6513 "BatchImport.c"
			}
			goto __finally423;
			__catch423_g_error:
			{
				GError* err = NULL;
				GFile* _tmp7_;
				gchar* _tmp8_;
				gchar* _tmp9_;
				GError* _tmp10_;
				const gchar* _tmp11_;
#line 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = import_result->file;
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = g_file_get_path (_tmp7_);
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = _tmp8_;
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = err;
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = _tmp10_->message;
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:575: Unable to query file size of %s: %s", _tmp9_, _tmp11_);
#line 575 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp9_);
#line 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 6544 "BatchImport.c"
			}
			__finally423:
#line 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 6549 "BatchImport.c"
				gboolean _tmp12_ = FALSE;
#line 571 "/home/jens/Source/shotwell/src/BatchImport.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 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return _tmp12_;
#line 6557 "BatchImport.c"
			}
#line 579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = filesize;
#line 579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, _tmp13_);
#line 6563 "BatchImport.c"
		}
	}
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = import_result->result;
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (import_result_is_nonuser_abort (_tmp15_)) {
#line 6570 "BatchImport.c"
		gboolean _tmp16_;
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = proceed;
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp16_;
#line 6576 "BatchImport.c"
	} else {
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = FALSE;
#line 6580 "BatchImport.c"
	}
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp14_) {
#line 6584 "BatchImport.c"
		ImportResult _tmp17_;
		const gchar* _tmp18_;
#line 585 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = import_result->result;
#line 585 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = import_result->errmsg;
#line 585 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_FATAL_ERROR_SIGNAL], 0, _tmp17_, _tmp18_);
#line 586 "/home/jens/Source/shotwell/src/BatchImport.vala"
		proceed = FALSE;
#line 6595 "BatchImport.c"
	}
#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = proceed;
#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6601 "BatchImport.c"
}


static void
batch_import_report_progress (BatchImport* self,
                              guint64 increment_of_progress)
{
	guint64 _tmp0_;
	guint64 _tmp1_;
#line 592 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 593 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed_bytes;
#line 593 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed_bytes = _tmp0_ + increment_of_progress;
#line 597 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->priv->completed_bytes;
#line 597 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ == ((guint64) 0)) {
#line 6621 "BatchImport.c"
		gulong now = 0UL;
		gulong _tmp2_;
		gulong _tmp3_;
#line 598 "/home/jens/Source/shotwell/src/BatchImport.vala"
		now = now_ms ();
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = now;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->last_preparing_ms;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp2_ - _tmp3_) > ((gulong) 250)) {
#line 6633 "BatchImport.c"
			gulong _tmp4_;
#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = now;
#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->priv->last_preparing_ms = _tmp4_;
#line 601 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_signal_emit (self, batch_import_signals[BATCH_IMPORT_PREPARING_SIGNAL], 0);
#line 6641 "BatchImport.c"
		}
	} else {
#line 603 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (increment_of_progress > ((guint64) 0)) {
#line 6646 "BatchImport.c"
			gulong now = 0UL;
			gulong _tmp5_;
			gulong _tmp6_;
#line 604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			now = now_ms ();
#line 605 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = now;
#line 605 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = self->priv->last_preparing_ms;
#line 605 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if ((_tmp5_ - _tmp6_) > ((gulong) 250)) {
#line 6658 "BatchImport.c"
				gulong _tmp7_;
				guint64 _tmp8_;
				guint64 _tmp9_;
#line 606 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = now;
#line 606 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->priv->last_preparing_ms = _tmp7_;
#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = self->priv->completed_bytes;
#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = self->priv->total_bytes;
#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_signal_emit (self, batch_import_signals[BATCH_IMPORT_PROGRESS_SIGNAL], 0, _tmp8_, _tmp9_);
#line 6672 "BatchImport.c"
			}
		}
	}
}


static gboolean
batch_import_report_failures (BatchImport* self,
                              BackgroundImportJob* background_job)
{
	gboolean result = FALSE;
	gboolean proceed = FALSE;
#line 612 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 612 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (background_job), FALSE);
#line 613 "/home/jens/Source/shotwell/src/BatchImport.vala"
	proceed = TRUE;
#line 6691 "BatchImport.c"
	{
		GeeList* _import_result_list = NULL;
		GeeList* _tmp0_;
		GeeList* _tmp1_;
		gint _import_result_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _import_result_index = 0;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = background_job->failed;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _g_object_ref0 (_tmp0_);
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_list = _tmp1_;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _import_result_list;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp3_;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_size = _tmp4_;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_index = -1;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 6719 "BatchImport.c"
			gint _tmp5_;
			gint _tmp6_;
			gint _tmp7_;
			BatchImportResult* import_result = NULL;
			GeeList* _tmp8_;
			gint _tmp9_;
			gpointer _tmp10_;
			BatchImportResult* _tmp11_;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = _import_result_index;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_import_result_index = _tmp5_ + 1;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = _import_result_index;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _import_result_size;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp6_ < _tmp7_)) {
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 6740 "BatchImport.c"
			}
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = _import_result_list;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = _import_result_index;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = gee_list_get (_tmp8_, _tmp9_);
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			import_result = (BatchImportResult*) _tmp10_;
#line 616 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = import_result;
#line 616 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!batch_import_report_failure (self, _tmp11_)) {
#line 617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				proceed = FALSE;
#line 6756 "BatchImport.c"
			}
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (import_result);
#line 6760 "BatchImport.c"
		}
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_import_result_list);
#line 6764 "BatchImport.c"
	}
#line 620 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = proceed;
#line 620 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6770 "BatchImport.c"
}


static void
batch_import_report_completed (BatchImport* self,
                               const gchar* where)
{
	gboolean _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	ImportManifest* _tmp3_;
	GTimer* _tmp4_;
	gdouble _tmp5_;
	BatchImportImportReporter _tmp6_;
	void* _tmp6__target;
	ImportManifest* _tmp10_;
	BatchImportRoll* _tmp11_;
#line 623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (where != NULL);
#line 624 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 624 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 625 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_error ("BatchImport.vala:625: Attempted to complete already-completed import: " \
"%s", where);
#line 6798 "BatchImport.c"
	}
#line 627 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed = TRUE;
#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_ready_sources (self);
#line 631 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_strdup_printf ("Import completed: %s", where);
#line 631 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 631 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp2_);
#line 631 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp2_);
#line 632 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->manifest;
#line 632 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->timer;
#line 632 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_timer_elapsed (_tmp4_, NULL);
#line 632 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_debug ("BatchImport.vala:632: Import complete after %f", _tmp5_);
#line 635 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = self->priv->reporter;
#line 635 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6__target = self->priv->reporter_target;
#line 635 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp6_ != NULL) {
#line 6826 "BatchImport.c"
		BatchImportImportReporter _tmp7_;
		void* _tmp7__target;
		ImportManifest* _tmp8_;
		BatchImportRoll* _tmp9_;
#line 636 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->reporter;
#line 636 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7__target = self->priv->reporter_target;
#line 636 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = self->priv->manifest;
#line 636 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->priv->import_roll;
#line 636 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ (_tmp8_, _tmp9_, _tmp7__target);
#line 6841 "BatchImport.c"
	}
#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = self->priv->manifest;
#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = self->priv->import_roll;
#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORT_COMPLETE_SIGNAL], 0, _tmp10_, _tmp11_);
#line 6849 "BatchImport.c"
}


static void
batch_import_file_import_complete (BatchImport* self)
{
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp4_ = FALSE;
	gint _tmp5_;
#line 642 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_imports_completed;
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_completed = _tmp0_ + 1;
#line 645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->priv->file_imports_to_perform;
#line 645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != -1) {
#line 6870 "BatchImport.c"
		gint _tmp2_;
		gint _tmp3_;
#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->file_imports_completed;
#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->file_imports_to_perform;
#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp2_ <= _tmp3_, "file_imports_completed <= file_imports_to_perform");
#line 6879 "BatchImport.c"
	}
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = self->priv->file_imports_to_perform;
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ != -1) {
#line 6885 "BatchImport.c"
		gint _tmp6_;
		gint _tmp7_;
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->priv->file_imports_completed;
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->file_imports_to_perform;
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp6_ == _tmp7_;
#line 6894 "BatchImport.c"
	} else {
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = FALSE;
#line 6898 "BatchImport.c"
	}
#line 650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_) {
#line 651 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "completed preparing files, all outstanding imports completed");
#line 6904 "BatchImport.c"
	}
}


static void
_batch_import_on_work_sniffed_out_completion_callback (BackgroundJob* job,
                                                       gpointer self)
{
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_work_sniffed_out ((BatchImport*) self, job);
#line 6915 "BatchImport.c"
}


static void
_batch_import_on_sniffer_cancelled_cancellation_callback (BackgroundJob* job,
                                                          gpointer self)
{
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_sniffer_cancelled ((BatchImport*) self, job);
#line 6925 "BatchImport.c"
}


static gboolean
_batch_import_on_sniffer_working_gsource_func (gpointer self)
{
	gboolean result;
	result = batch_import_on_sniffer_working ((BatchImport*) self);
#line 663 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6936 "BatchImport.c"
}


void
batch_import_schedule (BatchImport* self)
{
	gboolean _tmp0_;
	Workers* _tmp1_;
	GeeIterable* _tmp2_;
	GCancellable* _tmp3_;
	GeeHashSet* _tmp4_;
	WorkSniffer* _tmp5_;
	WorkSniffer* _tmp6_;
#line 654 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 655 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->scheduled;
#line 655 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_ == FALSE, "scheduled == false");
#line 656 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->scheduled = TRUE;
#line 658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_emit (self, batch_import_signals[BATCH_IMPORT_STARTING_SIGNAL], 0);
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = batch_import_feeder_workers;
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->priv->jobs;
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->cancellable;
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->skipset;
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = work_sniffer_new (self, _tmp2_, _batch_import_on_work_sniffed_out_completion_callback, self, _tmp3_, _batch_import_on_sniffer_cancelled_cancellation_callback, self, _tmp4_);
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_;
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	workers_enqueue (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (_tmp6_);
#line 663 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->throbber_id = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) BATCH_IMPORT_WORK_SNIFFER_THROBBER_MSEC, _batch_import_on_sniffer_working_gsource_func, g_object_ref (self), g_object_unref);
#line 6978 "BatchImport.c"
}


static gboolean
batch_import_on_sniffer_working (BatchImport* self)
{
	gboolean result = FALSE;
#line 670 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 671 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_progress (self, (guint64) 0);
#line 673 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 673 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6994 "BatchImport.c"
}


static gpointer
_background_job_ref0 (gpointer self)
{
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? background_job_ref (self) : NULL;
#line 7003 "BatchImport.c"
}


static void
_batch_import_on_file_prepared_notification_callback (BackgroundJob* job,
                                                      NotificationObject* user,
                                                      gpointer self)
{
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_file_prepared ((BatchImport*) self, job, user);
#line 7014 "BatchImport.c"
}


static void
_batch_import_on_files_prepared_completion_callback (BackgroundJob* job,
                                                     gpointer self)
{
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_files_prepared ((BatchImport*) self, job);
#line 7024 "BatchImport.c"
}


static void
_batch_import_on_file_prepare_cancelled_cancellation_callback (BackgroundJob* job,
                                                               gpointer self)
{
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_file_prepare_cancelled ((BatchImport*) self, job);
#line 7034 "BatchImport.c"
}


static void
batch_import_on_work_sniffed_out (BatchImport* self,
                                  BackgroundJob* j)
{
	gboolean _tmp0_;
	WorkSniffer* sniffer = NULL;
	WorkSniffer* _tmp1_;
	gboolean _tmp2_ = FALSE;
	WorkSniffer* _tmp3_;
	WorkSniffer* _tmp8_;
	guint64 _tmp9_;
	PrepareFilesJob* prepare_files_job = NULL;
	WorkSniffer* _tmp10_;
	GeeList* _tmp11_;
	GCancellable* _tmp12_;
	PrepareFilesJob* _tmp13_;
	Workers* _tmp14_;
	PrepareFilesJob* _tmp15_;
	guint _tmp16_;
#line 676 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 676 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_WORK_SNIFFER, WorkSniffer));
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sniffer = _tmp1_;
#line 681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_work_sniffed_out");
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = sniffer;
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob))) {
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = TRUE;
#line 7077 "BatchImport.c"
	} else {
		WorkSniffer* _tmp4_;
		GeeList* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = sniffer;
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->files_to_prepare;
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _tmp7_ == 0;
#line 7093 "BatchImport.c"
	}
#line 683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_) {
#line 684 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "work sniffed out: nothing to do");
#line 686 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (sniffer);
#line 686 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 7103 "BatchImport.c"
	}
#line 689 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = sniffer;
#line 689 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _tmp8_->total_bytes;
#line 689 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->total_bytes = _tmp9_;
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = sniffer;
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = _tmp10_->files_to_prepare;
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = self->priv->cancellable;
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = prepare_files_job_new (self, _tmp11_, _batch_import_on_file_prepared_notification_callback, self, _batch_import_on_files_prepared_completion_callback, self, _tmp12_, _batch_import_on_file_prepare_cancelled_cancellation_callback, self);
#line 696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepare_files_job = _tmp13_;
#line 699 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = batch_import_feeder_workers;
#line 699 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = prepare_files_job;
#line 699 "/home/jens/Source/shotwell/src/BatchImport.vala"
	workers_enqueue (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = self->priv->throbber_id;
#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp16_ > ((guint) 0)) {
#line 7131 "BatchImport.c"
		guint _tmp17_;
#line 702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = self->priv->throbber_id;
#line 702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_source_remove (_tmp17_);
#line 703 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->throbber_id = (guint) 0;
#line 7139 "BatchImport.c"
	}
#line 676 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (prepare_files_job);
#line 676 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (sniffer);
#line 7145 "BatchImport.c"
}


static void
batch_import_on_sniffer_cancelled (BatchImport* self,
                                   BackgroundJob* j)
{
	gboolean _tmp0_;
	WorkSniffer* sniffer = NULL;
	WorkSniffer* _tmp1_;
	WorkSniffer* _tmp2_;
	guint _tmp3_;
#line 707 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 707 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 708 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 708 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 710 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_WORK_SNIFFER, WorkSniffer));
#line 710 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sniffer = _tmp1_;
#line 712 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_sniffer_cancelled");
#line 714 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = sniffer;
#line 714 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_completed (self, "work sniffer cancelled");
#line 717 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->throbber_id;
#line 717 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_ > ((guint) 0)) {
#line 7182 "BatchImport.c"
		guint _tmp4_;
#line 718 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->priv->throbber_id;
#line 718 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_source_remove (_tmp4_);
#line 719 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->throbber_id = (guint) 0;
#line 7190 "BatchImport.c"
	}
#line 707 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (sniffer);
#line 7194 "BatchImport.c"
}


static void
_batch_import_on_thumbnail_writer_completed_completion_callback (BackgroundJob* job,
                                                                 gpointer self)
{
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_thumbnail_writer_completed ((BatchImport*) self, job);
#line 7204 "BatchImport.c"
}


static void
_batch_import_on_thumbnail_writer_cancelled_cancellation_callback (BackgroundJob* job,
                                                                   gpointer self)
{
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_thumbnail_writer_cancelled ((BatchImport*) self, job);
#line 7214 "BatchImport.c"
}


static void
_batch_import_on_import_files_completed_completion_callback (BackgroundJob* job,
                                                             gpointer self)
{
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_import_files_completed ((BatchImport*) self, job);
#line 7224 "BatchImport.c"
}


static void
_batch_import_on_import_files_cancelled_cancellation_callback (BackgroundJob* job,
                                                               gpointer self)
{
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_on_import_files_cancelled ((BatchImport*) self, job);
#line 7234 "BatchImport.c"
}


static void
batch_import_flush_import_jobs (BatchImport* self)
{
#line 727 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 7245 "BatchImport.c"
		gboolean _tmp0_ = FALSE;
		GeeList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		Workers* _tmp6_;
		GeeList* _tmp7_;
		gpointer _tmp8_;
		CompletedImportObject* _tmp9_;
		GCancellable* _tmp10_;
		ThumbnailWriterJob* _tmp11_;
		ThumbnailWriterJob* _tmp12_;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = self->priv->ready_thumbnails;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ > 0) {
#line 7265 "BatchImport.c"
			Workers* _tmp4_;
			guint _tmp5_;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = batch_import_import_workers;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = self->priv->max_outstanding_import_jobs;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp0_ = ((guint) workers_get_pending_job_count (_tmp4_)) < _tmp5_;
#line 7274 "BatchImport.c"
		} else {
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp0_ = FALSE;
#line 7278 "BatchImport.c"
		}
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp0_) {
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 7284 "BatchImport.c"
		}
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = batch_import_import_workers;
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->ready_thumbnails;
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = gee_list_remove_at (_tmp7_, 0);
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = (CompletedImportObject*) _tmp8_;
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = self->priv->cancellable;
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = thumbnail_writer_job_new (self, _tmp9_, _batch_import_on_thumbnail_writer_completed_completion_callback, self, _tmp10_, _batch_import_on_thumbnail_writer_cancelled_cancellation_callback, self);
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = _tmp11_;
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		workers_enqueue (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (_tmp12_);
#line 733 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_import_object_unref0 (_tmp9_);
#line 7306 "BatchImport.c"
	}
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 7310 "BatchImport.c"
		gboolean _tmp13_ = FALSE;
		GeeList* _tmp14_;
		gint _tmp15_;
		gint _tmp16_;
		Workers* _tmp19_;
		GeeList* _tmp20_;
		gpointer _tmp21_;
		PreparedFile* _tmp22_;
		BatchImportRoll* _tmp23_;
		ImportID _tmp24_;
		GCancellable* _tmp25_;
		PreparedFileImportJob* _tmp26_;
		PreparedFileImportJob* _tmp27_;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = self->priv->ready_files;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp16_ > 0) {
#line 7332 "BatchImport.c"
			Workers* _tmp17_;
			guint _tmp18_;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = batch_import_import_workers;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = self->priv->max_outstanding_import_jobs;
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = ((guint) workers_get_pending_job_count (_tmp17_)) < _tmp18_;
#line 7341 "BatchImport.c"
		} else {
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = FALSE;
#line 7345 "BatchImport.c"
		}
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp13_) {
#line 737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 7351 "BatchImport.c"
		}
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = batch_import_import_workers;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = self->priv->ready_files;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = gee_list_remove_at (_tmp20_, 0);
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = (PreparedFile*) _tmp21_;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = self->priv->import_roll;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = _tmp23_->import_id;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = self->priv->cancellable;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = prepared_file_import_job_new (self, _tmp22_, &_tmp24_, _batch_import_on_import_files_completed_completion_callback, self, _tmp25_, _batch_import_on_import_files_cancelled_cancellation_callback, self);
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		workers_enqueue (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (_tmp27_);
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_prepared_file_unref0 (_tmp22_);
#line 7377 "BatchImport.c"
	}
}


static GFile*
batch_import_get_in_current_import (BatchImport* self,
                                    PreparedFile* prepared_file)
{
	GFile* result = NULL;
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_;
	const gchar* _tmp7_;
#line 746 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), NULL);
#line 746 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = prepared_file->full_md5;
#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 7398 "BatchImport.c"
		GeeHashMap* _tmp2_;
		const gchar* _tmp3_;
#line 749 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->imported_full_md5_table;
#line 749 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = prepared_file->full_md5;
#line 749 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_);
#line 7407 "BatchImport.c"
	} else {
#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 7411 "BatchImport.c"
	}
#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 7415 "BatchImport.c"
		GeeHashMap* _tmp4_;
		const gchar* _tmp5_;
		gpointer _tmp6_;
#line 751 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->priv->imported_full_md5_table;
#line 751 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = prepared_file->full_md5;
#line 751 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_);
#line 751 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = (GFile*) _tmp6_;
#line 751 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 7429 "BatchImport.c"
	}
#line 755 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = prepared_file->full_md5;
#line 755 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp7_ != NULL) {
#line 7435 "BatchImport.c"
		GeeHashMap* _tmp8_;
		const gchar* _tmp9_;
		GFile* _tmp10_;
#line 756 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = self->priv->imported_full_md5_table;
#line 756 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = prepared_file->full_md5;
#line 756 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = prepared_file->file;
#line 756 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, _tmp10_);
#line 7447 "BatchImport.c"
	}
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = NULL;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 7453 "BatchImport.c"
}


static gpointer
_notification_object_ref0 (gpointer self)
{
#line 765 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? notification_object_ref (self) : NULL;
#line 7462 "BatchImport.c"
}


static void
batch_import_on_file_prepared (BatchImport* self,
                               BackgroundJob* j,
                               NotificationObject* user)
{
	gboolean _tmp0_;
	PreparedFileCluster* cluster = NULL;
	PreparedFileCluster* _tmp1_;
	GeeArrayList* _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	GeeArrayList* _tmp7_;
#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((user == NULL) || IS_NOTIFICATION_OBJECT (user));
#line 763 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 763 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 765 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _notification_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (user, TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster));
#line 765 "/home/jens/Source/shotwell/src/BatchImport.vala"
	cluster = _tmp1_;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cluster->list;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_strdup_printf ("on_file_prepared (%d files)", _tmp4_);
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp6_);
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp6_);
#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = cluster->list;
#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_process_prepared_files (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList), NULL, NULL);
#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_notification_object_unref0 (cluster);
#line 7514 "BatchImport.c"
}


static void
batch_import_process_prepared_files_data_free (gpointer _data)
{
	BatchImportProcessPreparedFilesData* _data_;
	_data_ = _data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_data_->list);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_data_->self);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_slice_free (BatchImportProcessPreparedFilesData, _data_);
#line 7529 "BatchImport.c"
}


static void
batch_import_process_prepared_files_async_ready_wrapper (GObject *source_object,
                                                         GAsyncResult *res,
                                                         void *user_data)
{
	BatchImportProcessPreparedFilesData* _task_data_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_task_data_ = g_task_get_task_data (G_TASK (res));
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_task_data_->_callback_ != NULL) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_task_data_->_callback_ (source_object, res, user_data);
#line 7545 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_task_data_->_task_complete_ = TRUE;
#line 7549 "BatchImport.c"
}


static void
batch_import_process_prepared_files (BatchImport* self,
                                     GeeList* list,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	BatchImportProcessPreparedFilesData* _data_;
	BatchImport* _tmp0_;
	GeeList* _tmp1_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_ = g_slice_new0 (BatchImportProcessPreparedFilesData);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->_callback_ = _callback_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, batch_import_process_prepared_files_async_ready_wrapper, _user_data_);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_callback_ == NULL) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_task_complete_ = TRUE;
#line 7572 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_task_set_task_data (_data_->_async_result, _data_, batch_import_process_prepared_files_data_free);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->self = _tmp0_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (list);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_data_->list);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->list = _tmp1_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_process_prepared_files_co (_data_);
#line 7588 "BatchImport.c"
}


static void
batch_import_process_prepared_files_finish (BatchImport* self,
                                            GAsyncResult* _res_)
{
	BatchImportProcessPreparedFilesData* _data_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 7599 "BatchImport.c"
}


static gboolean
_batch_import_process_prepared_files_co_gsource_func (gpointer self)
{
	gboolean result;
	result = batch_import_process_prepared_files_co (self);
#line 776 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 7610 "BatchImport.c"
}


static gboolean
batch_import_process_prepared_files_co (BatchImportProcessPreparedFilesData* _data_)
{
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (_data_->_state_) {
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case 0:
#line 7621 "BatchImport.c"
		goto _state_0;
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case 1:
#line 7625 "BatchImport.c"
		goto _state_1;
		default:
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_assert_not_reached ();
#line 7630 "BatchImport.c"
	}
	_state_0:
	{
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp0_ = _g_object_ref0 (_data_->list);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_list = _data_->_tmp0_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp1_ = _data_->_prepared_file_list;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp3_ = _data_->_tmp2_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_size = _data_->_tmp3_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_index = -1;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp4_ = _data_->_prepared_file_index;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_prepared_file_index = _data_->_tmp4_ + 1;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp5_ = _data_->_prepared_file_index;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp6_ = _data_->_prepared_file_size;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_data_->_tmp5_ < _data_->_tmp6_)) {
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 7662 "BatchImport.c"
			}
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp7_ = _data_->_prepared_file_list;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp8_ = _data_->_prepared_file_index;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp9_ = gee_list_get (_data_->_tmp7_, _data_->_tmp8_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->prepared_file = (PreparedFile*) _data_->_tmp9_;
#line 776 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _batch_import_process_prepared_files_co_gsource_func, _data_, NULL);
#line 777 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_state_ = 1;
#line 777 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return FALSE;
#line 7678 "BatchImport.c"
			_state_1:
			;
#line 779 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->import_result = NULL;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp10_ = library_photo_global;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp11_ = _data_->prepared_file;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp12_ = _data_->_tmp11_->file;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp13_ = 0;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp14_ = library_photo_source_collection_get_state_by_file (_data_->_tmp10_, _data_->_tmp12_, &_data_->_tmp13_);
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->photo_state = _data_->_tmp13_;
#line 784 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->photo = _data_->_tmp14_;
#line 786 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp15_ = _data_->photo;
#line 786 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp15_ != NULL) {
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp16_ = _data_->photo_state;
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
				switch (_data_->_tmp16_) {
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE:
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE:
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE:
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER:
#line 7713 "BatchImport.c"
					{
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp17_ = _data_->prepared_file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp18_ = _data_->_tmp17_->job;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp19_ = _data_->prepared_file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp20_ = _data_->_tmp19_->file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp21_ = _data_->prepared_file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp22_ = _data_->_tmp21_->file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp23_ = g_file_get_path (_data_->_tmp22_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp24_ = _data_->_tmp23_;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp25_ = _data_->prepared_file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp26_ = _data_->_tmp25_->file;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp27_ = g_file_get_path (_data_->_tmp26_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp28_ = _data_->_tmp27_;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp29_ = _data_->photo;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp30_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp29_, TYPE_MEDIA_SOURCE, MediaSource));
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp31_ = _data_->_tmp30_;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp32_ = duplicated_file_create_from_file (_data_->_tmp31_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp33_ = _data_->_tmp32_;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp34_ = batch_import_result_new (_data_->_tmp18_, _data_->_tmp20_, _data_->_tmp24_, _data_->_tmp28_, _data_->_tmp33_, IMPORT_RESULT_PHOTO_EXISTS);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->import_result = _data_->_tmp34_;
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp33_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp31_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp28_);
#line 792 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp24_);
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp35_ = _data_->photo_state;
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp35_ == LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE) {
#line 798 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp36_ = _data_->photo;
#line 798 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp36_, TYPE_MEDIA_SOURCE, MediaSource));
#line 7771 "BatchImport.c"
						}
#line 799 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7775 "BatchImport.c"
					}
#line 787 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH:
#line 7779 "BatchImport.c"
					{
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7783 "BatchImport.c"
					}
					default:
					{
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp37_ = _data_->photo_state;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp38_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp37_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_error ("BatchImport.vala:806: Unknown LibraryPhotoSourceCollection state: %s", (_data_->_tmp38_ != NULL) ? _data_->_tmp38_->value_name : NULL);
#line 7793 "BatchImport.c"
					}
				}
			}
#line 810 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp39_ = _data_->import_result;
#line 810 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp39_ != NULL) {
#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp40_ = _data_->import_result;
#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp40_);
#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 814 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 814 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 814 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 814 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 7815 "BatchImport.c"
			}
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp41_ = video_global;
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp42_ = _data_->prepared_file;
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp43_ = _data_->_tmp42_->file;
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp44_ = 0;
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp45_ = video_source_collection_get_state_by_file (_data_->_tmp41_, _data_->_tmp43_, &_data_->_tmp44_);
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->video_state = _data_->_tmp44_;
#line 818 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->video = _data_->_tmp45_;
#line 819 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp46_ = _data_->video;
#line 819 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp46_ != NULL) {
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp47_ = _data_->video_state;
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
				switch (_data_->_tmp47_) {
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_ONLINE:
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_OFFLINE:
#line 7843 "BatchImport.c"
					{
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp48_ = _data_->prepared_file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp49_ = _data_->_tmp48_->job;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp50_ = _data_->prepared_file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp51_ = _data_->_tmp50_->file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp52_ = _data_->prepared_file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp53_ = _data_->_tmp52_->file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp54_ = g_file_get_path (_data_->_tmp53_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp55_ = _data_->_tmp54_;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp56_ = _data_->prepared_file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp57_ = _data_->_tmp56_->file;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp58_ = g_file_get_path (_data_->_tmp57_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp59_ = _data_->_tmp58_;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp60_ = _data_->video;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp61_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp60_, TYPE_MEDIA_SOURCE, MediaSource));
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp62_ = _data_->_tmp61_;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp63_ = duplicated_file_create_from_file (_data_->_tmp62_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp64_ = _data_->_tmp63_;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp65_ = batch_import_result_new (_data_->_tmp49_, _data_->_tmp51_, _data_->_tmp55_, _data_->_tmp59_, _data_->_tmp64_, IMPORT_RESULT_PHOTO_EXISTS);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->import_result = _data_->_tmp65_;
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp64_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp62_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp59_);
#line 823 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp55_);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp66_ = _data_->video_state;
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp66_ == VIDEO_SOURCE_COLLECTION_STATE_OFFLINE) {
#line 829 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp67_ = _data_->video;
#line 829 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp67_, TYPE_MEDIA_SOURCE, MediaSource));
#line 7901 "BatchImport.c"
						}
#line 830 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7905 "BatchImport.c"
					}
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_TRASH:
#line 7909 "BatchImport.c"
					{
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7913 "BatchImport.c"
					}
					default:
					{
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp68_ = _data_->video_state;
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp69_ = g_enum_get_value (g_type_class_ref (VIDEO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp68_);
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_error ("BatchImport.vala:837: Unknown VideoSourceCollection state: %s", (_data_->_tmp69_ != NULL) ? _data_->_tmp69_->value_name : NULL);
#line 7923 "BatchImport.c"
					}
				}
			}
#line 841 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp70_ = _data_->import_result;
#line 841 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp70_ != NULL) {
#line 842 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp71_ = _data_->import_result;
#line 842 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp71_);
#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 845 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->video);
#line 845 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 845 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 845 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 845 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 7947 "BatchImport.c"
			}
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp73_ = _data_->prepared_file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp74_ = _data_->_tmp73_->is_video;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp74_) {
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp75_ = _data_->prepared_file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp76_ = _data_->_tmp75_->file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp77_ = _data_->prepared_file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp78_ = _data_->_tmp77_->full_md5;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp72_ = video_is_duplicate (_data_->_tmp76_, _data_->_tmp78_);
#line 7965 "BatchImport.c"
			} else {
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp72_ = FALSE;
#line 7969 "BatchImport.c"
			}
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp72_) {
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp79_ = video_table_get_instance ();
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp80_ = _data_->_tmp79_;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp81_ = _data_->prepared_file;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp82_ = _data_->_tmp81_->file;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp83_ = _data_->prepared_file;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp84_ = _data_->_tmp83_->full_md5;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp86_ = video_table_get_duplicate_ids (_data_->_tmp80_, _data_->_tmp82_, _data_->_tmp84_, &_data_->_tmp85_);
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp87_ = _data_->_tmp86_;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp87__length1 = _data_->_tmp85_;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_database_table_unref0 (_data_->_tmp80_);
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids = _data_->_tmp87_;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids_length1 = _data_->_tmp87__length1;
#line 851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_duplicate_ids_size_ = _data_->duplicate_ids_length1;
#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp88_ = _data_->duplicate_ids;
#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp88__length1 = _data_->duplicate_ids_length1;
#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_vala_assert (_data_->_tmp88__length1 > 0, "duplicate_ids.length > 0");
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp89_ = _data_->duplicate_ids;
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp89__length1 = _data_->duplicate_ids_length1;
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp90_ = _data_->_tmp89_[0];
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp91_ = duplicated_file_create_from_video_id (&_data_->_tmp90_);
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicated_file = _data_->_tmp91_;
#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->result_code = IMPORT_RESULT_PHOTO_EXISTS;
#line 860 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp92_ = _data_->self->priv->mark_duplicates_online;
#line 860 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_data_->_tmp92_) {
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp93_ = video_global;
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp94_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp93_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp95_ = _data_->_tmp94_;
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp96_ = _data_->prepared_file;
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp97_ = _data_->_tmp96_->file;
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp98_ = media_source_holding_tank_fetch_by_master_file (_data_->_tmp95_, _data_->_tmp97_);
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp99_ = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp98_, TYPE_VIDEO, Video);
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_source_holding_tank_unref0 (_data_->_tmp95_);
#line 861 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->dupe_video = _data_->_tmp99_;
#line 863 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp100_ = _data_->dupe_video;
#line 863 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp100_ == NULL) {
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp101_ = video_global;
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp102_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp101_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp103_ = _data_->_tmp102_;
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp104_ = _data_->prepared_file;
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp105_ = _data_->_tmp104_->full_md5;
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp106_ = media_source_holding_tank_fetch_by_md5 (_data_->_tmp103_, _data_->_tmp105_);
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->dupe_video);
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->dupe_video = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp106_, TYPE_VIDEO, Video);
#line 864 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_source_holding_tank_unref0 (_data_->_tmp103_);
#line 8061 "BatchImport.c"
					}
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp107_ = _data_->dupe_video;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp107_ != NULL) {
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp108_ = _data_->prepared_file;
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp109_ = _data_->_tmp108_->file;
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp110_ = g_file_get_path (_data_->_tmp109_);
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp111_ = _data_->_tmp110_;
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_debug ("BatchImport.vala:867: duplicate video found offline, marking as online" \
": %s", _data_->_tmp111_);
#line 867 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp111_);
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp112_ = _data_->dupe_video;
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp113_ = _data_->prepared_file;
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp114_ = _data_->_tmp113_->file;
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
						monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp112_, TYPE_MONITORABLE, Monitorable), _data_->_tmp114_);
#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp115_ = _data_->dupe_video;
#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala"
						media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp115_, TYPE_MEDIA_SOURCE, MediaSource));
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->duplicated_file);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->duplicated_file = NULL;
#line 875 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp116_ = _data_->self->priv->manifest;
#line 875 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp117_ = _data_->_tmp116_->imported;
#line 875 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp118_ = _data_->dupe_video;
#line 875 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp117_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp118_, TYPE_MEDIA_SOURCE, MediaSource));
#line 876 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp119_ = _data_->dupe_video;
#line 876 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_report_progress (_data_->self, media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp119_, TYPE_MEDIA_SOURCE, MediaSource)));
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_file_import_complete (_data_->self);
#line 879 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->result_code = IMPORT_RESULT_SUCCESS;
#line 8111 "BatchImport.c"
					}
#line 860 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->dupe_video);
#line 8115 "BatchImport.c"
				}
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp120_ = _data_->prepared_file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp121_ = _data_->_tmp120_->job;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp122_ = _data_->prepared_file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp123_ = _data_->_tmp122_->file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp124_ = _data_->prepared_file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp125_ = _data_->_tmp124_->file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp126_ = g_file_get_path (_data_->_tmp125_);
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp127_ = _data_->_tmp126_;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp128_ = _data_->prepared_file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp129_ = _data_->_tmp128_->file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp130_ = g_file_get_path (_data_->_tmp129_);
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp131_ = _data_->_tmp130_;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp132_ = _data_->duplicated_file;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp133_ = _data_->result_code;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp134_ = batch_import_result_new (_data_->_tmp121_, _data_->_tmp123_, _data_->_tmp127_, _data_->_tmp131_, _data_->_tmp132_, _data_->_tmp133_);
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->import_result = _data_->_tmp134_;
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp131_);
#line 883 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp127_);
#line 887 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp135_ = _data_->result_code;
#line 887 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_data_->_tmp135_ == IMPORT_RESULT_SUCCESS) {
#line 888 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp136_ = _data_->self->priv->manifest;
#line 888 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp137_ = _data_->import_result;
#line 888 "/home/jens/Source/shotwell/src/BatchImport.vala"
					import_manifest_add_result (_data_->_tmp136_, _data_->_tmp137_);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->duplicated_file);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->video);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->photo);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_result_unref0 (_data_->import_result);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_unref0 (_data_->prepared_file);
#line 890 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 8179 "BatchImport.c"
				}
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->duplicated_file);
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL);
#line 8185 "BatchImport.c"
			}
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp138_ = _data_->prepared_file;
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp139_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp138_);
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp140_ = _data_->_tmp139_;
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp141_ = _data_->_tmp140_ != NULL;
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->_tmp140_);
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp141_) {
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp142_ = _data_->prepared_file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp143_ = _data_->_tmp142_->job;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp144_ = _data_->prepared_file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp145_ = _data_->_tmp144_->file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp146_ = _data_->prepared_file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp147_ = _data_->_tmp146_->file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp148_ = g_file_get_path (_data_->_tmp147_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp149_ = _data_->_tmp148_;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp150_ = _data_->prepared_file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp151_ = _data_->_tmp150_->file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp152_ = g_file_get_path (_data_->_tmp151_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp153_ = _data_->_tmp152_;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp154_ = _data_->prepared_file;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp155_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp154_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp156_ = _data_->_tmp155_;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp157_ = duplicated_file_create_from_file (_data_->_tmp156_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp158_ = _data_->_tmp157_;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp159_ = batch_import_result_new (_data_->_tmp143_, _data_->_tmp145_, _data_->_tmp149_, _data_->_tmp153_, _data_->_tmp158_, IMPORT_RESULT_PHOTO_EXISTS);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->import_result = _data_->_tmp159_;
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->_tmp158_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->_tmp156_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp153_);
#line 897 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp149_);
#line 8247 "BatchImport.c"
			} else {
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp160_ = _data_->prepared_file;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp161_ = _data_->_tmp160_->file;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp162_ = _data_->prepared_file;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp163_ = _data_->_tmp162_->full_md5;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp164_ = _data_->prepared_file;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp165_ = _data_->_tmp164_->file_format;
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (photo_is_duplicate (_data_->_tmp161_, NULL, _data_->_tmp163_, _data_->_tmp165_)) {
#line 903 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp166_ = _data_->self->priv->untrash_duplicates;
#line 903 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp166_) {
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp167_ = library_photo_global;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp168_ = _data_->prepared_file;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp169_ = _data_->_tmp168_->file;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp170_ = library_photo_source_collection_get_trashed_by_file (_data_->_tmp167_, _data_->_tmp169_);
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->photo);
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->photo = _data_->_tmp170_;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp172_ = _data_->photo;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp172_ == NULL) {
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp173_ = _data_->prepared_file;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp174_ = _data_->_tmp173_->full_md5;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp171_ = _data_->_tmp174_ != NULL;
#line 8289 "BatchImport.c"
						} else {
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp171_ = FALSE;
#line 8293 "BatchImport.c"
						}
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp171_) {
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp175_ = library_photo_global;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp176_ = _data_->prepared_file;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp177_ = _data_->_tmp176_->full_md5;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp178_ = library_photo_source_collection_get_trashed_by_md5 (_data_->_tmp175_, _data_->_tmp177_);
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_object_unref0 (_data_->photo);
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->photo = _data_->_tmp178_;
#line 8309 "BatchImport.c"
						}
#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp179_ = _data_->photo;
#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp179_ != NULL) {
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp180_ = _data_->prepared_file;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp181_ = _data_->_tmp180_->file;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp182_ = g_file_get_path (_data_->_tmp181_);
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp183_ = _data_->_tmp182_;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							g_debug ("BatchImport.vala:912: duplicate linked photo found in trash, untrashin" \
"g and removing transforms for %s", _data_->_tmp183_);
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_free0 (_data_->_tmp183_);
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp184_ = _data_->photo;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp185_ = _data_->prepared_file;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp186_ = _data_->_tmp185_->file;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp184_, TYPE_MONITORABLE, Monitorable), _data_->_tmp186_);
#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp187_ = _data_->photo;
#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_untrash (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp187_, TYPE_MEDIA_SOURCE, MediaSource));
#line 917 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp188_ = _data_->photo;
#line 917 "/home/jens/Source/shotwell/src/BatchImport.vala"
							photo_remove_all_transformations (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp188_, TYPE_PHOTO, Photo));
#line 8343 "BatchImport.c"
						}
					}
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp190_ = _data_->photo;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp190_ == NULL) {
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp191_ = _data_->self->priv->mark_duplicates_online;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp189_ = _data_->_tmp191_;
#line 8354 "BatchImport.c"
					} else {
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp189_ = FALSE;
#line 8358 "BatchImport.c"
					}
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp189_) {
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp192_ = library_photo_global;
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp193_ = _data_->prepared_file;
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp194_ = _data_->_tmp193_->file;
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp195_ = library_photo_source_collection_get_offline_by_file (_data_->_tmp192_, _data_->_tmp194_);
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->photo);
#line 923 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->photo = _data_->_tmp195_;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp197_ = _data_->photo;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp197_ == NULL) {
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp198_ = _data_->prepared_file;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp199_ = _data_->_tmp198_->full_md5;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp196_ = _data_->_tmp199_ != NULL;
#line 8384 "BatchImport.c"
						} else {
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp196_ = FALSE;
#line 8388 "BatchImport.c"
						}
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp196_) {
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp200_ = library_photo_global;
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp201_ = _data_->prepared_file;
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp202_ = _data_->_tmp201_->full_md5;
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp203_ = library_photo_source_collection_get_offline_by_md5 (_data_->_tmp200_, _data_->_tmp202_);
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_object_unref0 (_data_->photo);
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->photo = _data_->_tmp203_;
#line 8404 "BatchImport.c"
						}
#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp204_ = _data_->photo;
#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp204_ != NULL) {
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp205_ = _data_->prepared_file;
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp206_ = _data_->_tmp205_->file;
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp207_ = g_file_get_path (_data_->_tmp206_);
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp208_ = _data_->_tmp207_;
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							g_debug ("BatchImport.vala:929: duplicate photo found marked offline, marking on" \
"line: %s", _data_->_tmp208_);
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_free0 (_data_->_tmp208_);
#line 932 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp209_ = _data_->photo;
#line 932 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp210_ = _data_->prepared_file;
#line 932 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp211_ = _data_->_tmp210_->file;
#line 932 "/home/jens/Source/shotwell/src/BatchImport.vala"
							monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp209_, TYPE_MONITORABLE, Monitorable), _data_->_tmp211_);
#line 933 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp212_ = _data_->photo;
#line 933 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp212_, TYPE_MEDIA_SOURCE, MediaSource));
#line 8434 "BatchImport.c"
						}
					}
#line 937 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp213_ = _data_->photo;
#line 937 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp213_ != NULL) {
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp214_ = _data_->prepared_file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp215_ = _data_->_tmp214_->job;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp216_ = _data_->prepared_file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp217_ = _data_->_tmp216_->file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp218_ = _data_->prepared_file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp219_ = _data_->_tmp218_->file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp220_ = g_file_get_path (_data_->_tmp219_);
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp221_ = _data_->_tmp220_;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp222_ = _data_->prepared_file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp223_ = _data_->_tmp222_->file;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp224_ = g_file_get_path (_data_->_tmp223_);
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp225_ = _data_->_tmp224_;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp226_ = batch_import_result_new (_data_->_tmp215_, _data_->_tmp217_, _data_->_tmp221_, _data_->_tmp225_, NULL, IMPORT_RESULT_SUCCESS);
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->import_result = _data_->_tmp226_;
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp225_);
#line 938 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp221_);
#line 942 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp227_ = _data_->self->priv->manifest;
#line 942 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp228_ = _data_->_tmp227_->imported;
#line 942 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp229_ = _data_->photo;
#line 942 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp228_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp229_, TYPE_MEDIA_SOURCE, MediaSource));
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp230_ = _data_->self->priv->manifest;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp231_ = _data_->import_result;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
						import_manifest_add_result (_data_->_tmp230_, _data_->_tmp231_);
#line 945 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp232_ = _data_->photo;
#line 945 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_report_progress (_data_->self, media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp232_, TYPE_MEDIA_SOURCE, MediaSource)));
#line 946 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_file_import_complete (_data_->self);
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->video);
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->photo);
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_prepared_file_unref0 (_data_->prepared_file);
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
						continue;
#line 8505 "BatchImport.c"
					}
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp233_ = _data_->prepared_file;
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp234_ = _data_->_tmp233_->file;
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp235_ = g_file_get_path (_data_->_tmp234_);
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp236_ = _data_->_tmp235_;
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_debug ("BatchImport.vala:951: duplicate photo detected, not importing %s", _data_->_tmp236_);
#line 951 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp236_);
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp237_ = photo_table_get_instance ();
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp238_ = _data_->_tmp237_;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp239_ = _data_->prepared_file;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp240_ = _data_->_tmp239_->file;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp241_ = _data_->prepared_file;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp242_ = _data_->_tmp241_->full_md5;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp243_ = _data_->prepared_file;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp244_ = _data_->_tmp243_->file_format;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp246_ = photo_table_get_duplicate_ids (_data_->_tmp238_, _data_->_tmp240_, NULL, _data_->_tmp242_, _data_->_tmp244_, &_data_->_tmp245_);
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp247_ = _data_->_tmp246_;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp247__length1 = _data_->_tmp245_;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_database_table_unref0 (_data_->_tmp238_);
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids = _data_->_tmp247_;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids_length1 = _data_->_tmp247__length1;
#line 953 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_photo_ids_size_ = _data_->photo_ids_length1;
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp248_ = _data_->photo_ids;
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp248__length1 = _data_->photo_ids_length1;
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_vala_assert (_data_->_tmp248__length1 > 0, "photo_ids.length > 0");
#line 958 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp249_ = _data_->photo_ids;
#line 958 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp249__length1 = _data_->photo_ids_length1;
#line 958 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp250_ = _data_->_tmp249_[0];
#line 958 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp251_ = duplicated_file_create_from_photo_id (&_data_->_tmp250_);
#line 958 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_vala1_duplicated_file = _data_->_tmp251_;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp252_ = _data_->prepared_file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp253_ = _data_->_tmp252_->job;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp254_ = _data_->prepared_file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp255_ = _data_->_tmp254_->file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp256_ = _data_->prepared_file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp257_ = _data_->_tmp256_->file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp258_ = g_file_get_path (_data_->_tmp257_);
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp259_ = _data_->_tmp258_;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp260_ = _data_->prepared_file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp261_ = _data_->_tmp260_->file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp262_ = g_file_get_path (_data_->_tmp261_);
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp263_ = _data_->_tmp262_;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp264_ = _data_->_vala1_duplicated_file;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp265_ = batch_import_result_new (_data_->_tmp253_, _data_->_tmp255_, _data_->_tmp259_, _data_->_tmp263_, _data_->_tmp264_, IMPORT_RESULT_PHOTO_EXISTS);
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_result_unref0 (_data_->import_result);
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->import_result = _data_->_tmp265_;
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp263_);
#line 960 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp259_);
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->_vala1_duplicated_file);
#line 901 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids = (g_free (_data_->photo_ids), NULL);
#line 8605 "BatchImport.c"
				}
			}
#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp266_ = _data_->import_result;
#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp266_ != NULL) {
#line 966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp267_ = _data_->import_result;
#line 966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp267_);
#line 967 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->video);
#line 969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 8628 "BatchImport.c"
			}
#line 972 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (_data_->self, (guint64) 0);
#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp268_ = _data_->self->priv->ready_files;
#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp269_ = _data_->prepared_file;
#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp268_, GEE_TYPE_COLLECTION, GeeCollection), _data_->_tmp269_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->video);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->photo);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (_data_->import_result);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_data_->prepared_file);
#line 8646 "BatchImport.c"
		}
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_data_->_prepared_file_list);
#line 8650 "BatchImport.c"
	}
#line 976 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (_data_->self);
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_data_->_state_ != 0) {
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 8662 "BatchImport.c"
		}
	}
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_object_unref (_data_->_async_result);
#line 774 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return FALSE;
#line 8669 "BatchImport.c"
}


static void
batch_import_done_preparing_files (BatchImport* self,
                                   BackgroundJob* j,
                                   const gchar* caller)
{
	gboolean _tmp0_;
	PrepareFilesJob* prepare_files_job = NULL;
	PrepareFilesJob* _tmp1_;
	PrepareFilesJob* _tmp2_;
	PrepareFilesJob* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	gboolean _tmp7_ = FALSE;
	gint _tmp8_;
#line 979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (caller != NULL);
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_PREPARE_FILES_JOB, PrepareFilesJob));
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepare_files_job = _tmp1_;
#line 984 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = prepare_files_job;
#line 984 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = prepare_files_job;
#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->prepared_files;
#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_to_perform = _tmp4_;
#line 988 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = self->priv->file_imports_to_perform;
#line 988 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = self->priv->file_imports_completed;
#line 988 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp5_ >= _tmp6_, "file_imports_to_perform >= file_imports_completed");
#line 990 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, caller);
#line 993 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = self->priv->file_imports_to_perform;
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp8_ == 0) {
#line 8726 "BatchImport.c"
		gboolean _tmp9_;
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->priv->completed;
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = !_tmp9_;
#line 8732 "BatchImport.c"
	} else {
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = FALSE;
#line 8736 "BatchImport.c"
	}
#line 997 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp7_) {
#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "no files prepared for import");
#line 8742 "BatchImport.c"
	} else {
		gboolean _tmp10_ = FALSE;
		gint _tmp11_;
		gint _tmp12_;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = self->priv->file_imports_completed;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = self->priv->file_imports_to_perform;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp11_ == _tmp12_) {
#line 8753 "BatchImport.c"
			gboolean _tmp13_;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = self->priv->completed;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = !_tmp13_;
#line 8759 "BatchImport.c"
		} else {
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = FALSE;
#line 8763 "BatchImport.c"
		}
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp10_) {
#line 1000 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_completed (self, "completed preparing files, all outstanding imports completed");
#line 8769 "BatchImport.c"
		}
	}
#line 979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (prepare_files_job);
#line 8774 "BatchImport.c"
}


static void
batch_import_on_files_prepared (BatchImport* self,
                                BackgroundJob* j)
{
#line 1003 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1003 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_done_preparing_files (self, j, "on_files_prepared");
#line 8788 "BatchImport.c"
}


static void
batch_import_on_file_prepare_cancelled (BatchImport* self,
                                        BackgroundJob* j)
{
#line 1007 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1007 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1008 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_done_preparing_files (self, j, "on_file_prepare_cancelled");
#line 8802 "BatchImport.c"
}


static void
batch_import_on_import_files_completed (BatchImport* self,
                                        BackgroundJob* j)
{
	gboolean _tmp0_;
	PreparedFileImportJob* job = NULL;
	PreparedFileImportJob* _tmp1_;
	PreparedFileImportJob* _tmp2_;
	PreparedFile* _tmp3_;
	PreparedFileImportJob* _tmp4_;
	BatchImportResult* _tmp5_;
	PreparedFileImportJob* _tmp11_;
	ReadyForImport* _tmp12_;
	GError * _inner_error_ = NULL;
#line 1015 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1015 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1016 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1016 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob));
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp1_;
#line 1020 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_import_files_completed");
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = job;
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->not_ready;
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp3_ == NULL, "job.not_ready == null");
#line 1026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = job;
#line 1026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_->failed;
#line 1026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ != NULL) {
#line 8846 "BatchImport.c"
		PreparedFileImportJob* _tmp6_;
		BatchImportResult* _tmp7_;
		ImportResult _tmp8_;
		PreparedFileImportJob* _tmp9_;
		BatchImportResult* _tmp10_;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = job;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->failed;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_->result;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp8_ != IMPORT_RESULT_SUCCESS, "job.failed.result != ImportResult.SUCCESS");
#line 1029 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = job;
#line 1029 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = _tmp9_->failed;
#line 1029 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp10_);
#line 1030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8868 "BatchImport.c"
	}
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = job;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = _tmp11_->ready;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp12_ != NULL) {
#line 8876 "BatchImport.c"
		PreparedFileImportJob* _tmp13_;
		ReadyForImport* _tmp14_;
		BatchImportResult* _tmp15_;
		ImportResult _tmp16_;
		Tombstone* tombstone = NULL;
		TombstoneSourceCollection* _tmp17_;
		PreparedFileImportJob* _tmp18_;
		ReadyForImport* _tmp19_;
		GFile* _tmp20_;
		Tombstone* _tmp21_;
		Tombstone* _tmp22_;
		MediaSource* source = NULL;
		PreparedFileImportJob* _tmp25_;
		ReadyForImport* _tmp26_;
		gboolean _tmp27_;
		PreparedFileImportJob* _tmp83_;
		ReadyForImport* _tmp84_;
		BatchImportResult* _tmp85_;
		ImportResult _tmp86_;
#line 1036 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = job;
#line 1036 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp13_->ready;
#line 1036 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_->batch_result;
#line 1036 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_->result;
#line 1036 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp16_ == IMPORT_RESULT_SUCCESS, "job.ready.batch_result.result == ImportResult.SUCCESS");
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = tombstone_global;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = job;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = _tmp18_->ready;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = _tmp19_->final_file;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = tombstone_source_collection_locate (_tmp17_, _tmp20_);
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
		tombstone = _tmp21_;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = tombstone;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp22_ != NULL) {
#line 8922 "BatchImport.c"
			TombstoneSourceCollection* _tmp23_;
			Tombstone* _tmp24_;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = tombstone_global;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = tombstone;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
			tombstone_source_collection_resurrect (_tmp23_, _tmp24_);
#line 8931 "BatchImport.c"
		}
#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala"
		source = NULL;
#line 1044 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = job;
#line 1044 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = _tmp25_->ready;
#line 1044 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_->is_video;
#line 1044 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp27_) {
#line 8943 "BatchImport.c"
			PreparedFileImportJob* _tmp28_;
			ReadyForImport* _tmp29_;
			BatchImportResult* _tmp30_;
			PreparedFileImportJob* _tmp31_;
			ReadyForImport* _tmp32_;
			VideoImportParams* _tmp33_;
			Video* _tmp34_ = NULL;
			ImportResult _tmp35_;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = job;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = _tmp28_->ready;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _tmp29_->batch_result;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = job;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = _tmp31_->ready;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _tmp32_->video_import_params;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = video_import_create (_tmp33_, &_tmp34_);
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (source);
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			source = G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_MEDIA_SOURCE, MediaSource);
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_->result = _tmp35_;
#line 8972 "BatchImport.c"
		} else {
			PreparedFileImportJob* _tmp36_;
			ReadyForImport* _tmp37_;
			BatchImportResult* _tmp38_;
			PreparedFileImportJob* _tmp39_;
			ReadyForImport* _tmp40_;
			PhotoImportParams* _tmp41_;
			LibraryPhoto* _tmp42_ = NULL;
			ImportResult _tmp43_;
			Photo* photo = NULL;
			MediaSource* _tmp44_;
			Photo* _tmp45_;
			PreparedFileImportJob* _tmp46_;
			ReadyForImport* _tmp47_;
			PhotoImportParams* _tmp48_;
			GFile* _tmp49_;
			Photo* _tmp71_;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = job;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = _tmp36_->ready;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = _tmp37_->batch_result;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = job;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->ready;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = _tmp40_->photo_import_params;
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = library_photo_import_create (_tmp41_, &_tmp42_);
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (source);
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			source = G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_MEDIA_SOURCE, MediaSource);
#line 1048 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_->result = _tmp43_;
#line 1050 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = source;
#line 1050 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp44_, TYPE_PHOTO) ? ((Photo*) _tmp44_) : NULL);
#line 1050 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo = _tmp45_;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = job;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = _tmp46_->ready;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = _tmp47_->photo_import_params;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = _tmp48_->final_associated_file;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp49_ != NULL) {
#line 9026 "BatchImport.c"
				BackingPhotoRow* bpr = NULL;
				BackingPhotoRow* _tmp50_;
				BackingPhotoRow* _tmp51_;
				BackingPhotoRow* _tmp52_;
				PreparedFileImportJob* _tmp53_;
				ReadyForImport* _tmp54_;
				PhotoImportParams* _tmp55_;
				GFile* _tmp56_;
				gchar* _tmp57_;
				MediaSource* _tmp58_;
				GFile* _tmp59_;
				GFile* _tmp60_;
				gchar* _tmp61_;
				gchar* _tmp62_;
				BackingPhotoRow* _tmp63_;
				const gchar* _tmp64_;
#line 1054 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = backing_photo_row_new ();
#line 1054 "/home/jens/Source/shotwell/src/BatchImport.vala"
				bpr = _tmp50_;
#line 1055 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = bpr;
#line 1055 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_->file_format = PHOTO_FILE_FORMAT_JFIF;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_ = bpr;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp53_ = job;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = _tmp53_->ready;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp55_ = _tmp54_->photo_import_params;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56_ = _tmp55_->final_associated_file;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = g_file_get_path (_tmp56_);
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp52_->filepath);
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_->filepath = _tmp57_;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = source;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_PHOTO, Photo), TYPE_MEDIA_SOURCE, MediaSource));
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp60_ = _tmp59_;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = g_file_get_path (_tmp60_);
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = _tmp61_;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = bpr;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = _tmp63_->filepath;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_debug ("BatchImport.vala:1057: Associating %s with sibling %s", _tmp62_, _tmp64_);
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp62_);
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp60_);
#line 9087 "BatchImport.c"
				{
					MediaSource* _tmp65_;
					BackingPhotoRow* _tmp66_;
#line 1060 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp65_ = source;
#line 1060 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp66_ = bpr;
#line 1060 "/home/jens/Source/shotwell/src/BatchImport.vala"
					photo_add_backing_photo_for_development (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_PHOTO, Photo), RAW_DEVELOPER_CAMERA, _tmp66_, TRUE, &_inner_error_);
#line 1060 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 9099 "BatchImport.c"
						goto __catch424_g_error;
					}
				}
				goto __finally424;
				__catch424_g_error:
				{
					GError* e = NULL;
					BackingPhotoRow* _tmp67_;
					const gchar* _tmp68_;
					GError* _tmp69_;
					const gchar* _tmp70_;
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					e = _inner_error_;
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_inner_error_ = NULL;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp67_ = bpr;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp68_ = _tmp67_->filepath;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp69_ = e;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp70_ = _tmp69_->message;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_warning ("BatchImport.vala:1062: Unable to associate JPEG with RAW. File: %s Err" \
"or: %s", _tmp68_, _tmp70_);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (e);
#line 9127 "BatchImport.c"
				}
				__finally424:
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_backing_photo_row_unref0 (bpr);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (photo);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (source);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (tombstone);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_background_job_unref0 (job);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.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 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_clear_error (&_inner_error_);
#line 1059 "/home/jens/Source/shotwell/src/BatchImport.vala"
					return;
#line 9148 "BatchImport.c"
				}
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_backing_photo_row_unref0 (bpr);
#line 9152 "BatchImport.c"
			}
#line 1068 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp71_ = photo;
#line 1068 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (photo_get_master_file_format (_tmp71_) == PHOTO_FILE_FORMAT_RAW) {
#line 9158 "BatchImport.c"
				RawDeveloper d = 0;
				ConfigFacade* _tmp72_;
				ConfigFacade* _tmp73_;
				RawDeveloper _tmp74_;
				gboolean _tmp75_ = FALSE;
				RawDeveloper _tmp76_;
				Photo* _tmp79_;
				RawDeveloper _tmp80_;
				Photo* _tmp81_;
				RawDeveloper _tmp82_;
#line 1069 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp72_ = config_facade_get_instance ();
#line 1069 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp73_ = _tmp72_;
#line 1069 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp74_ = configuration_facade_get_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 1069 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp73_);
#line 1069 "/home/jens/Source/shotwell/src/BatchImport.vala"
				d = _tmp74_;
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp76_ = d;
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp76_ == RAW_DEVELOPER_CAMERA) {
#line 9183 "BatchImport.c"
					Photo* _tmp77_;
					RawDeveloper _tmp78_;
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp77_ = photo;
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp78_ = d;
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp75_ = !photo_is_raw_developer_available (_tmp77_, _tmp78_);
#line 9192 "BatchImport.c"
				} else {
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp75_ = FALSE;
#line 9196 "BatchImport.c"
				}
#line 1070 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp75_) {
#line 1071 "/home/jens/Source/shotwell/src/BatchImport.vala"
					d = RAW_DEVELOPER_EMBEDDED;
#line 9202 "BatchImport.c"
				}
#line 1073 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp79_ = photo;
#line 1073 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp80_ = d;
#line 1073 "/home/jens/Source/shotwell/src/BatchImport.vala"
				photo_set_default_raw_developer (_tmp79_, _tmp80_);
#line 1074 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp81_ = photo;
#line 1074 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp82_ = d;
#line 1074 "/home/jens/Source/shotwell/src/BatchImport.vala"
				photo_set_raw_developer (_tmp81_, _tmp82_, FALSE);
#line 9216 "BatchImport.c"
			}
#line 1044 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo);
#line 9220 "BatchImport.c"
		}
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp83_ = job;
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp84_ = _tmp83_->ready;
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp85_ = _tmp84_->batch_result;
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp86_ = _tmp85_->result;
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp86_ != IMPORT_RESULT_SUCCESS) {
#line 9232 "BatchImport.c"
			PreparedFileImportJob* _tmp87_;
			ReadyForImport* _tmp88_;
			BatchImportResult* _tmp89_;
			ImportResult _tmp90_;
			gchar* _tmp91_;
			gchar* _tmp92_;
			PreparedFileImportJob* _tmp93_;
			ReadyForImport* _tmp94_;
			BatchImportResult* _tmp95_;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp87_ = job;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp88_ = _tmp87_->ready;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp89_ = _tmp88_->batch_result;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp90_ = _tmp89_->result;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp91_ = import_result_to_string (_tmp90_);
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp92_ = _tmp91_;
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_debug ("BatchImport.vala:1079: on_import_file_completed: %s", _tmp92_);
#line 1079 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp92_);
#line 1081 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93_ = job;
#line 1081 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp94_ = _tmp93_->ready;
#line 1081 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = _tmp94_->batch_result;
#line 1081 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_failure (self, _tmp95_);
#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_file_import_complete (self);
#line 9268 "BatchImport.c"
		} else {
			GeeList* _tmp96_;
			MediaSource* _tmp97_;
			PreparedFileImportJob* _tmp98_;
			ReadyForImport* _tmp99_;
			Thumbnails* _tmp100_;
			Thumbnails* _tmp101_;
			PreparedFileImportJob* _tmp102_;
			ReadyForImport* _tmp103_;
			PreparedFile* _tmp104_;
			BatchImportJob* _tmp105_;
			PreparedFileImportJob* _tmp106_;
			ReadyForImport* _tmp107_;
			BatchImportResult* _tmp108_;
			CompletedImportObject* _tmp109_;
			CompletedImportObject* _tmp110_;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp96_ = self->priv->ready_thumbnails;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp97_ = source;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp98_ = job;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp99_ = _tmp98_->ready;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp100_ = ready_for_import_get_thumbnails (_tmp99_);
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp101_ = _tmp100_;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp102_ = job;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp103_ = _tmp102_->ready;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp104_ = _tmp103_->prepared_file;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp105_ = _tmp104_->job;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp106_ = job;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp107_ = _tmp106_->ready;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp108_ = _tmp107_->batch_result;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp109_ = completed_import_object_new (_tmp97_, _tmp101_, _tmp105_, _tmp108_);
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp110_ = _tmp109_;
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, GEE_TYPE_COLLECTION, GeeCollection), _tmp110_);
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_import_object_unref0 (_tmp110_);
#line 1084 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_thumbnails_unref0 (_tmp101_);
#line 9321 "BatchImport.c"
		}
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (source);
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (tombstone);
#line 9327 "BatchImport.c"
	}
#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1015 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 9333 "BatchImport.c"
}


static void
batch_import_on_import_files_cancelled (BatchImport* self,
                                        BackgroundJob* j)
{
	gboolean _tmp0_;
	PreparedFileImportJob* job = NULL;
	PreparedFileImportJob* _tmp1_;
	PreparedFileImportJob* _tmp2_;
	PreparedFile* _tmp3_;
	PreparedFileImportJob* _tmp22_;
	BatchImportResult* _tmp23_;
	PreparedFileImportJob* _tmp26_;
	ReadyForImport* _tmp27_;
#line 1092 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1092 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1093 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1093 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob));
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp1_;
#line 1097 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_import_files_cancelled");
#line 1099 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = job;
#line 1099 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->not_ready;
#line 1099 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_ != NULL) {
#line 9370 "BatchImport.c"
		PreparedFileImportJob* _tmp4_;
		PreparedFile* _tmp5_;
		BatchImportJob* _tmp6_;
		PreparedFileImportJob* _tmp7_;
		PreparedFile* _tmp8_;
		GFile* _tmp9_;
		PreparedFileImportJob* _tmp10_;
		PreparedFile* _tmp11_;
		GFile* _tmp12_;
		gchar* _tmp13_;
		gchar* _tmp14_;
		PreparedFileImportJob* _tmp15_;
		PreparedFile* _tmp16_;
		GFile* _tmp17_;
		gchar* _tmp18_;
		gchar* _tmp19_;
		BatchImportResult* _tmp20_;
		BatchImportResult* _tmp21_;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = job;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->not_ready;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_->job;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = job;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_->not_ready;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->file;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = job;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_->not_ready;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = _tmp11_->file;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = g_file_get_path (_tmp12_);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp13_;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = job;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_->not_ready;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_->file;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = g_file_get_path (_tmp17_);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = _tmp18_;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = batch_import_result_new (_tmp6_, _tmp9_, _tmp14_, _tmp19_, NULL, IMPORT_RESULT_USER_ABORT);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = _tmp20_;
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp21_);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (_tmp21_);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp19_);
#line 1100 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp14_);
#line 1103 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 9435 "BatchImport.c"
	}
#line 1106 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = job;
#line 1106 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = _tmp22_->failed;
#line 1106 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp23_ != NULL) {
#line 9443 "BatchImport.c"
		PreparedFileImportJob* _tmp24_;
		BatchImportResult* _tmp25_;
#line 1107 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = job;
#line 1107 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = _tmp24_->failed;
#line 1107 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp25_);
#line 1108 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 9454 "BatchImport.c"
	}
#line 1111 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = job;
#line 1111 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp27_ = _tmp26_->ready;
#line 1111 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp27_ != NULL) {
#line 9462 "BatchImport.c"
		PreparedFileImportJob* _tmp28_;
		ReadyForImport* _tmp29_;
		BatchImportResult* _tmp30_;
		BatchImportResult* _tmp31_;
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = job;
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = _tmp28_->ready;
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = ready_for_import_abort (_tmp29_);
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = _tmp30_;
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp31_);
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (_tmp31_);
#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 9481 "BatchImport.c"
	}
#line 1116 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1092 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 9487 "BatchImport.c"
}


static gpointer
_completed_import_object_ref0 (gpointer self)
{
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? completed_import_object_ref (self) : NULL;
#line 9496 "BatchImport.c"
}


static void
batch_import_on_thumbnail_writer_completed (BatchImport* self,
                                            BackgroundJob* j)
{
	gboolean _tmp0_;
	ThumbnailWriterJob* job = NULL;
	ThumbnailWriterJob* _tmp1_;
	CompletedImportObject* completed = NULL;
	ThumbnailWriterJob* _tmp2_;
	CompletedImportObject* _tmp3_;
	CompletedImportObject* _tmp4_;
	CompletedImportObject* _tmp5_;
	BatchImportResult* _tmp6_;
	ImportResult _tmp7_;
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1127 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1127 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob));
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp1_;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = job;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->completed_import_source;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _completed_import_object_ref0 (_tmp3_);
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completed = _tmp4_;
#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_thumbnail_writer_completed");
#line 1134 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = completed;
#line 1134 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_->batch_result;
#line 1134 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _tmp6_->result;
#line 1134 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp7_ != IMPORT_RESULT_SUCCESS) {
#line 9544 "BatchImport.c"
		CompletedImportObject* _tmp8_;
		MediaSource* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		CompletedImportObject* _tmp12_;
		BatchImportResult* _tmp13_;
		ImportResult _tmp14_;
		gchar* _tmp15_;
		gchar* _tmp16_;
		CompletedImportObject* _tmp17_;
		MediaSource* _tmp18_;
		CompletedImportObject* _tmp25_;
		BatchImportResult* _tmp26_;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = completed;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->source;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject));
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = completed;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_->batch_result;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp13_->result;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = import_result_to_string (_tmp14_);
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_;
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1135: Failed to import %s: unable to write thumbnails" \
" (%s)", _tmp11_, _tmp16_);
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp16_);
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp11_);
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = completed;
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = _tmp17_->source;
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_LIBRARY_PHOTO)) {
#line 9588 "BatchImport.c"
			CompletedImportObject* _tmp19_;
			MediaSource* _tmp20_;
#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = completed;
#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = _tmp19_->source;
#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala"
			library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp20_) : NULL);
#line 9597 "BatchImport.c"
		} else {
			CompletedImportObject* _tmp21_;
			MediaSource* _tmp22_;
#line 1140 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = completed;
#line 1140 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = _tmp21_->source;
#line 1140 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, TYPE_VIDEO)) {
#line 9607 "BatchImport.c"
				CompletedImportObject* _tmp23_;
				MediaSource* _tmp24_;
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = completed;
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = _tmp23_->source;
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
				video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp24_, TYPE_VIDEO) ? ((Video*) _tmp24_) : NULL);
#line 9616 "BatchImport.c"
			}
		}
#line 1143 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = completed;
#line 1143 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = _tmp25_->batch_result;
#line 1143 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp26_);
#line 1144 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 9627 "BatchImport.c"
	} else {
		ImportManifest* _tmp27_;
		GeeList* _tmp28_;
		CompletedImportObject* _tmp29_;
		MediaSource* _tmp30_;
		ImportManifest* _tmp31_;
		CompletedImportObject* _tmp32_;
		BatchImportResult* _tmp33_;
		GeeList* _tmp34_;
		CompletedImportObject* _tmp35_;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = self->priv->manifest;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = _tmp27_->imported;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = completed;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = _tmp29_->source;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection), _tmp30_);
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = self->priv->manifest;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp32_ = completed;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp33_ = _tmp32_->batch_result;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_add_result (_tmp31_, _tmp33_);
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp34_ = self->priv->display_imported_queue;
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp35_ = completed;
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), _tmp35_);
#line 9662 "BatchImport.c"
	}
#line 1152 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (completed);
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 9670 "BatchImport.c"
}


static void
batch_import_on_thumbnail_writer_cancelled (BatchImport* self,
                                            BackgroundJob* j)
{
	gboolean _tmp0_;
	ThumbnailWriterJob* job = NULL;
	ThumbnailWriterJob* _tmp1_;
	CompletedImportObject* completed = NULL;
	ThumbnailWriterJob* _tmp2_;
	CompletedImportObject* _tmp3_;
	CompletedImportObject* _tmp4_;
	CompletedImportObject* _tmp5_;
	MediaSource* _tmp6_;
	CompletedImportObject* _tmp13_;
	BatchImportResult* _tmp14_;
#line 1155 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1155 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1156 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1156 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1158 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob));
#line 1158 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp1_;
#line 1159 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = job;
#line 1159 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->completed_import_source;
#line 1159 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _completed_import_object_ref0 (_tmp3_);
#line 1159 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completed = _tmp4_;
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_thumbnail_writer_cancelled");
#line 1163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = completed;
#line 1163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_->source;
#line 1163 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_LIBRARY_PHOTO)) {
#line 9717 "BatchImport.c"
		CompletedImportObject* _tmp7_;
		MediaSource* _tmp8_;
#line 1164 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = completed;
#line 1164 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_->source;
#line 1164 "/home/jens/Source/shotwell/src/BatchImport.vala"
		library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp8_) : NULL);
#line 9726 "BatchImport.c"
	} else {
		CompletedImportObject* _tmp9_;
		MediaSource* _tmp10_;
#line 1165 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = completed;
#line 1165 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = _tmp9_->source;
#line 1165 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_VIDEO)) {
#line 9736 "BatchImport.c"
			CompletedImportObject* _tmp11_;
			MediaSource* _tmp12_;
#line 1166 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = completed;
#line 1166 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = _tmp11_->source;
#line 1166 "/home/jens/Source/shotwell/src/BatchImport.vala"
			video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_VIDEO) ? ((Video*) _tmp12_) : NULL);
#line 9745 "BatchImport.c"
		}
	}
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = completed;
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = _tmp13_->batch_result;
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failure (self, _tmp14_);
#line 1169 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_file_import_complete (self);
#line 1171 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1155 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (completed);
#line 1155 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 9762 "BatchImport.c"
}


static void
batch_import_flush_ready_sources (BatchImport* self)
{
	GeeList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GeeList* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	GeeArrayList* all = NULL;
	GeeArrayList* _tmp8_;
	GeeArrayList* photos = NULL;
	GeeArrayList* _tmp9_;
	GeeArrayList* videos = NULL;
	GeeArrayList* _tmp10_;
	GeeHashMap* completion_list = NULL;
	GeeHashMap* _tmp11_;
	MediaCollectionRegistry* _tmp41_;
	MediaCollectionRegistry* _tmp42_;
	EventSourceCollection* _tmp43_;
	TagSourceCollection* _tmp44_;
	LibraryPhotoSourceCollection* _tmp45_;
	GeeArrayList* _tmp46_;
	VideoSourceCollection* _tmp47_;
	GeeArrayList* _tmp48_;
	GeeArrayList* _tmp69_;
	BatchImportRoll* _tmp70_;
	ViewCollection* _tmp71_;
	TagSourceCollection* _tmp72_;
	EventSourceCollection* _tmp73_;
	MediaCollectionRegistry* _tmp74_;
	MediaCollectionRegistry* _tmp75_;
	GeeList* _tmp76_;
	GError * _inner_error_ = NULL;
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->ready_sources;
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ == 0) {
#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 9814 "BatchImport.c"
	}
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->ready_sources;
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_;
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = g_strdup_printf ("flush_ready_sources (%d)", _tmp5_);
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _tmp6_;
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp7_);
#line 1185 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp7_);
#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	all = _tmp8_;
#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala"
	photos = _tmp9_;
#line 1189 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 1189 "/home/jens/Source/shotwell/src/BatchImport.vala"
	videos = _tmp10_;
#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, (GDestroyNotify) batch_import_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completion_list = _tmp11_;
#line 9846 "BatchImport.c"
	{
		GeeList* _completed_list = NULL;
		GeeList* _tmp12_;
		GeeList* _tmp13_;
		gint _completed_size = 0;
		GeeList* _tmp14_;
		gint _tmp15_;
		gint _tmp16_;
		gint _completed_index = 0;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = self->priv->ready_sources;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _g_object_ref0 (_tmp12_);
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_list = _tmp13_;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _completed_list;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_size = _tmp16_;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_index = -1;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 9874 "BatchImport.c"
			gint _tmp17_;
			gint _tmp18_;
			gint _tmp19_;
			CompletedImportObject* completed = NULL;
			GeeList* _tmp20_;
			gint _tmp21_;
			gpointer _tmp22_;
			GeeArrayList* _tmp23_;
			CompletedImportObject* _tmp24_;
			MediaSource* _tmp25_;
			CompletedImportObject* _tmp26_;
			MediaSource* _tmp27_;
			GeeHashMap* _tmp36_;
			CompletedImportObject* _tmp37_;
			MediaSource* _tmp38_;
			CompletedImportObject* _tmp39_;
			BatchImportJob* _tmp40_;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = _completed_index;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_index = _tmp17_ + 1;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = _completed_index;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = _completed_size;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp18_ < _tmp19_)) {
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 9904 "BatchImport.c"
			}
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = _completed_list;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = _completed_index;
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = gee_list_get (_tmp20_, _tmp21_);
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			completed = (CompletedImportObject*) _tmp22_;
#line 1193 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = all;
#line 1193 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = completed;
#line 1193 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = _tmp24_->source;
#line 1193 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp25_);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = completed;
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _tmp26_->source;
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_LIBRARY_PHOTO)) {
#line 9928 "BatchImport.c"
				GeeArrayList* _tmp28_;
				CompletedImportObject* _tmp29_;
				MediaSource* _tmp30_;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = photos;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = completed;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _tmp29_->source;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_LIBRARY_PHOTO, LibraryPhoto));
#line 9940 "BatchImport.c"
			} else {
				CompletedImportObject* _tmp31_;
				MediaSource* _tmp32_;
#line 1197 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = completed;
#line 1197 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _tmp31_->source;
#line 1197 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, TYPE_VIDEO)) {
#line 9950 "BatchImport.c"
					GeeArrayList* _tmp33_;
					CompletedImportObject* _tmp34_;
					MediaSource* _tmp35_;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp33_ = videos;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp34_ = completed;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp35_ = _tmp34_->source;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
					gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_VIDEO, Video));
#line 9962 "BatchImport.c"
				}
			}
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = completion_list;
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = completed;
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = _tmp37_->source;
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = completed;
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->original_job;
#line 1200 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp38_, _tmp40_);
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_import_object_unref0 (completed);
#line 9979 "BatchImport.c"
		}
#line 1192 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_completed_list);
#line 9983 "BatchImport.c"
	}
#line 1203 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp41_ = media_collection_registry_get_instance ();
#line 1203 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp42_ = _tmp41_;
#line 1203 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_collection_registry_begin_transaction_on_all (_tmp42_);
#line 1203 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_media_collection_registry_unref0 (_tmp42_);
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp43_ = event_global;
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_COLLECTION, DataCollection));
#line 1205 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp44_ = tag_global;
#line 1205 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATA_COLLECTION, DataCollection));
#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp45_ = library_photo_global;
#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp46_ = photos;
#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_source_collection_import_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp47_ = video_global;
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp48_ = videos;
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_source_collection_import_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection));
#line 10013 "BatchImport.c"
	{
		GeeIterator* _media_it = NULL;
		GeeHashMap* _tmp49_;
		GeeSet* _tmp50_;
		GeeSet* _tmp51_;
		GeeSet* _tmp52_;
		GeeIterator* _tmp53_;
		GeeIterator* _tmp54_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp49_ = completion_list;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp50_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = _tmp50_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = _tmp51_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable));
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp54_ = _tmp53_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp52_);
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_media_it = _tmp54_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 10040 "BatchImport.c"
			GeeIterator* _tmp55_;
			MediaSource* media = NULL;
			GeeIterator* _tmp56_;
			gpointer _tmp57_;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55_ = _media_it;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!gee_iterator_next (_tmp55_)) {
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 10051 "BatchImport.c"
			}
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp56_ = _media_it;
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp57_ = gee_iterator_get (_tmp56_);
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			media = (MediaSource*) _tmp57_;
#line 10059 "BatchImport.c"
			{
				GeeHashMap* _tmp58_;
				MediaSource* _tmp59_;
				gpointer _tmp60_;
				BatchImportJob* _tmp61_;
				MediaSource* _tmp62_;
				BatchImportRoll* _tmp63_;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = completion_list;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = media;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp60_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp59_);
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = (BatchImportJob*) _tmp60_;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = media;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = self->priv->import_roll;
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_job_complete (_tmp61_, _tmp62_, _tmp63_, &_inner_error_);
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (_tmp61_);
#line 1213 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 10085 "BatchImport.c"
					goto __catch425_g_error;
				}
			}
			goto __finally425;
			__catch425_g_error:
			{
				GError* err = NULL;
				MediaSource* _tmp64_;
				gchar* _tmp65_;
				gchar* _tmp66_;
				GError* _tmp67_;
				const gchar* _tmp68_;
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = media;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_DATA_OBJECT, DataObject));
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66_ = _tmp65_;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67_ = err;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp68_ = _tmp67_->message;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:1215: Completion error when finalizing import of %s: " \
"%s", _tmp66_, _tmp68_);
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp66_);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 10118 "BatchImport.c"
			}
			__finally425:
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (media);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_media_it);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (completion_list);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (videos);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (photos);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (all);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.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 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 1212 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 10141 "BatchImport.c"
			}
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (media);
#line 10145 "BatchImport.c"
		}
#line 1211 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_media_it);
#line 10149 "BatchImport.c"
	}
#line 1221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp69_ = all;
#line 1221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp70_ = self->priv->import_roll;
#line 1221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp71_ = _tmp70_->generated_events;
#line 1221 "/home/jens/Source/shotwell/src/BatchImport.vala"
	event_generate_many_events (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_COLLECTION, GeeCollection), _tmp71_);
#line 1223 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp72_ = tag_global;
#line 1223 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, TYPE_DATA_COLLECTION, DataCollection));
#line 1224 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp73_ = event_global;
#line 1224 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_DATA_COLLECTION, DataCollection));
#line 1225 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp74_ = media_collection_registry_get_instance ();
#line 1225 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp75_ = _tmp74_;
#line 1225 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_collection_registry_commit_transaction_on_all (_tmp75_);
#line 1225 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_media_collection_registry_unref0 (_tmp75_);
#line 1227 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp76_ = self->priv->ready_sources;
#line 1227 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (completion_list);
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (videos);
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (photos);
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (all);
#line 10187 "BatchImport.c"
}


static gboolean
batch_import_display_imported_timer (BatchImport* self)
{
	gboolean result = FALSE;
	GeeList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GCancellable* _tmp4_;
	gint total = 0;
	GCancellable* _tmp8_;
	gint _tmp15_;
	GeeList* _tmp16_;
	gint _tmp17_;
	gint _tmp18_;
	gboolean _tmp41_ = FALSE;
	GeeList* _tmp42_;
	gint _tmp43_;
	gint _tmp44_;
#line 1232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->display_imported_queue;
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ == 0) {
#line 10219 "BatchImport.c"
		gboolean _tmp3_;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->completed;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = !_tmp3_;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 10227 "BatchImport.c"
	}
#line 1236 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->cancellable;
#line 1236 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_cancellable_is_cancelled (_tmp4_)) {
#line 10233 "BatchImport.c"
		GeeList* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
#line 1237 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->priv->display_imported_queue;
#line 1237 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1237 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1237 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:1237: Importing %d photos at once", _tmp7_);
#line 10245 "BatchImport.c"
	}
#line 1239 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "display_imported_timer");
#line 1249 "/home/jens/Source/shotwell/src/BatchImport.vala"
	total = 1;
#line 1250 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = self->priv->cancellable;
#line 1250 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!g_cancellable_is_cancelled (_tmp8_)) {
#line 10255 "BatchImport.c"
		GeeList* _tmp9_;
		gint _tmp10_;
		gint _tmp11_;
#line 1251 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->priv->display_imported_queue;
#line 1251 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1251 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_;
#line 1251 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp11_ > BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) {
#line 10267 "BatchImport.c"
			GeeList* _tmp12_;
			gint _tmp13_;
			gint _tmp14_;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = self->priv->display_imported_queue;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = _tmp13_;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
			total = 1 << CLAMP ((_tmp14_ / BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) + 2, 0, 16);
#line 10279 "BatchImport.c"
		}
	} else {
#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala"
		total = BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW;
#line 10284 "BatchImport.c"
	}
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = total;
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = self->priv->display_imported_queue;
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = _tmp17_;
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
	total = MIN (_tmp15_, _tmp18_);
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 10298 "BatchImport.c"
		gint _tmp19_;
		CompletedImportObject* completed_object = NULL;
		GeeList* _tmp20_;
		gpointer _tmp21_;
		GdkPixbuf* user_preview = NULL;
		CompletedImportObject* _tmp22_;
		GdkPixbuf* _tmp23_;
		GdkPixbuf* _tmp24_;
		CompletedImportObject* _tmp25_;
		CompletedImportObject* _tmp26_;
		GeeList* _tmp27_;
		CompletedImportObject* _tmp28_;
		CompletedImportObject* _tmp29_;
		MediaSource* _tmp30_;
		GdkPixbuf* _tmp31_;
		gint _tmp32_;
		CompletedImportObject* _tmp33_;
		MediaSource* _tmp34_;
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = total;
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
		total = _tmp19_ - 1;
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!(_tmp19_ > 0)) {
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 10325 "BatchImport.c"
		}
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = self->priv->display_imported_queue;
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = gee_list_remove_at (_tmp20_, 0);
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_object = (CompletedImportObject*) _tmp21_;
#line 1273 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = completed_object;
#line 1273 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = _tmp22_->user_preview;
#line 1273 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = _g_object_ref0 (_tmp23_);
#line 1273 "/home/jens/Source/shotwell/src/BatchImport.vala"
		user_preview = _tmp24_;
#line 1276 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = completed_object;
#line 1276 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp25_->user_preview);
#line 1276 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_->user_preview = NULL;
#line 1277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = completed_object;
#line 1277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp26_->thumbnails);
#line 1277 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_->thumbnails = NULL;
#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = self->priv->ready_sources;
#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = completed_object;
#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_);
#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = completed_object;
#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = _tmp29_->source;
#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = user_preview;
#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp32_ = total;
#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORTED_SIGNAL], 0, _tmp30_, _tmp31_, _tmp32_);
#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp33_ = completed_object;
#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp34_ = _tmp33_->source;
#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp34_, TYPE_PHOTO_SOURCE)) {
#line 10375 "BatchImport.c"
			PhotoSource* photo_source = NULL;
			CompletedImportObject* _tmp35_;
			MediaSource* _tmp36_;
			PhotoSource* _tmp37_;
			PhotoSource* _tmp38_;
#line 1288 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = completed_object;
#line 1288 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = _tmp35_->source;
#line 1288 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp36_, TYPE_PHOTO_SOURCE) ? ((PhotoSource*) _tmp36_) : NULL);
#line 1288 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo_source = _tmp37_;
#line 1289 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = photo_source;
#line 1289 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, media_source_get_master_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_MEDIA_SOURCE, MediaSource)));
#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo_source);
#line 10395 "BatchImport.c"
		} else {
			CompletedImportObject* _tmp39_;
			MediaSource* _tmp40_;
#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = completed_object;
#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->source;
#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, media_source_get_filesize (_tmp40_));
#line 10405 "BatchImport.c"
		}
#line 1293 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (user_preview);
#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_import_object_unref0 (completed_object);
#line 10413 "BatchImport.c"
	}
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp42_ = self->priv->ready_sources;
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp43_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp44_ = _tmp43_;
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp44_ >= BATCH_IMPORT_READY_SOURCES_COUNT_OVERFLOW) {
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp41_ = TRUE;
#line 10425 "BatchImport.c"
	} else {
		GCancellable* _tmp45_;
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp45_ = self->priv->cancellable;
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp41_ = g_cancellable_is_cancelled (_tmp45_);
#line 10432 "BatchImport.c"
	}
#line 1296 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp41_) {
#line 1297 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_flush_ready_sources (self);
#line 10438 "BatchImport.c"
	}
#line 1299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 1299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10444 "BatchImport.c"
}


static void
g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure,
                                             GValue * return_value,
                                             guint n_param_values,
                                             const GValue * param_values,
                                             gpointer invocation_hint,
                                             gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__UINT64_UINT64) (gpointer data1, guint64 arg_1, guint64 arg_2, gpointer data2);
	register GMarshalFunc_VOID__UINT64_UINT64 callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 10470 "BatchImport.c"
	} else {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 10476 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__UINT64_UINT64) (marshal_data ? marshal_data : cc->callback);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, g_value_get_uint64 (param_values + 1), g_value_get_uint64 (param_values + 2), data2);
#line 10482 "BatchImport.c"
}


static void
g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT (GClosure * closure,
                                                 GValue * return_value,
                                                 guint n_param_values,
                                                 const GValue * param_values,
                                                 gpointer invocation_hint,
                                                 gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_INT) (gpointer data1, gpointer arg_1, gpointer arg_2, gint arg_3, gpointer data2);
	register GMarshalFunc_VOID__OBJECT_OBJECT_INT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 4);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 10508 "BatchImport.c"
	} else {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 10514 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__OBJECT_OBJECT_INT) (marshal_data ? marshal_data : cc->callback);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_int (param_values + 3), data2);
#line 10520 "BatchImport.c"
}


static void
g_cclosure_user_marshal_VOID__ENUM_STRING (GClosure * closure,
                                           GValue * return_value,
                                           guint n_param_values,
                                           const GValue * param_values,
                                           gpointer invocation_hint,
                                           gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__ENUM_STRING) (gpointer data1, gint arg_1, const char* arg_2, gpointer data2);
	register GMarshalFunc_VOID__ENUM_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 10546 "BatchImport.c"
	} else {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 10552 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__ENUM_STRING) (marshal_data ? marshal_data : cc->callback);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, g_value_get_enum (param_values + 1), g_value_get_string (param_values + 2), data2);
#line 10558 "BatchImport.c"
}


static void
g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT (GClosure * closure,
                                                   GValue * return_value,
                                                   guint n_param_values,
                                                   const GValue * param_values,
                                                   gpointer invocation_hint,
                                                   gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__BATCH_IMPORT_RESULT) (gpointer data1, gpointer arg_1, gpointer data2);
	register GMarshalFunc_VOID__BATCH_IMPORT_RESULT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 2);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 10584 "BatchImport.c"
	} else {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 10590 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__BATCH_IMPORT_RESULT) (marshal_data ? marshal_data : cc->callback);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, value_get_batch_import_result (param_values + 1), data2);
#line 10596 "BatchImport.c"
}


static void
g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL (GClosure * closure,
                                                                 GValue * return_value,
                                                                 guint n_param_values,
                                                                 const GValue * param_values,
                                                                 gpointer invocation_hint,
                                                                 gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2);
	register GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 10622 "BatchImport.c"
	} else {
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 10628 "BatchImport.c"
	}
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL) (marshal_data ? marshal_data : cc->callback);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, value_get_import_manifest (param_values + 1), value_get_batch_import_roll (param_values + 2), data2);
#line 10634 "BatchImport.c"
}


static void
batch_import_class_init (BatchImportClass * klass)
{
	Workers* _tmp0_;
	Workers* _tmp1_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_parent_class = g_type_class_peek_parent (klass);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (BatchImportPrivate));
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (klass)->finalize = batch_import_finalize;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_STARTING_SIGNAL] = g_signal_new ("starting", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_PREPARING_SIGNAL] = g_signal_new ("preparing", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_PROGRESS_SIGNAL] = g_signal_new ("progress", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT64_UINT64, G_TYPE_NONE, 2, G_TYPE_UINT64, G_TYPE_UINT64);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_IMPORTED_SIGNAL] = g_signal_new ("imported", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT, G_TYPE_NONE, 3, TYPE_MEDIA_SOURCE, gdk_pixbuf_get_type (), G_TYPE_INT);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_FATAL_ERROR_SIGNAL] = g_signal_new ("fatal-error", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__ENUM_STRING, G_TYPE_NONE, 2, TYPE_IMPORT_RESULT, G_TYPE_STRING);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_IMPORT_JOB_FAILED_SIGNAL] = g_signal_new ("import-job-failed", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT_RESULT);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_signals[BATCH_IMPORT_IMPORT_COMPLETE_SIGNAL] = g_signal_new ("import-complete", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL, G_TYPE_NONE, 2, TYPE_IMPORT_MANIFEST, TYPE_BATCH_IMPORT_ROLL);
#line 429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = workers_new ((guint) 1, FALSE);
#line 429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_feeder_workers = _tmp0_;
#line 430 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = workers_new (workers_thread_per_cpu_minus_one (), FALSE);
#line 430 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_import_workers = _tmp1_;
#line 10671 "BatchImport.c"
}


static void
batch_import_instance_init (BatchImport * self)
{
	GeeHashMap* _tmp0_;
	GeeLinkedList* _tmp1_;
	GeeLinkedList* _tmp2_;
	GeeLinkedList* _tmp3_;
	GeeLinkedList* _tmp4_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = BATCH_IMPORT_GET_PRIVATE (self);
#line 435 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed_bytes = (guint64) 0;
#line 436 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->total_bytes = (guint64) 0;
#line 439 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->scheduled = FALSE;
#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed = FALSE;
#line 441 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_to_perform = -1;
#line 442 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_completed = 0;
#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->cancellable = NULL;
#line 444 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->last_preparing_ms = (gulong) 0;
#line 447 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 447 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->imported_full_md5_table = _tmp0_;
#line 449 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->throbber_id = (guint) 0;
#line 450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->max_outstanding_import_jobs = workers_thread_per_cpu_minus_one ();
#line 451 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->untrash_duplicates = TRUE;
#line 452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->mark_duplicates_online = TRUE;
#line 456 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_linked_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, (GDestroyNotify) prepared_file_unref, NULL, NULL, NULL);
#line 456 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList);
#line 457 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, (GDestroyNotify) completed_import_object_unref, NULL, NULL, NULL);
#line 457 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_thumbnails = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList);
#line 459 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, (GDestroyNotify) completed_import_object_unref, NULL, NULL, NULL);
#line 459 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->display_imported_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
#line 461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, (GDestroyNotify) completed_import_object_unref, NULL, NULL, NULL);
#line 461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList);
#line 10729 "BatchImport.c"
}


static void
batch_import_finalize (GObject * obj)
{
	BatchImport * self;
	Application* _tmp0_;
	Application* _tmp1_;
	guint _tmp2_;
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT, BatchImport);
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = application_get_instance ();
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _tmp0_;
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_parse_name ("exiting", TYPE_APPLICATION, &_tmp2_, NULL, FALSE);
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _batch_import_user_halt_application_exiting, self);
#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_application_unref0 (_tmp1_);
#line 432 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 433 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (self->priv->import_roll);
#line 434 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->priv->name);
#line 438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_import_manifest_unref0 (self->priv->manifest);
#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 447 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->imported_full_md5_table);
#line 456 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_files);
#line 457 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_thumbnails);
#line 459 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->display_imported_queue);
#line 461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_sources);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (batch_import_parent_class)->finalize (obj);
#line 10776 "BatchImport.c"
}


GType
batch_import_get_type (void)
{
	static volatile gsize batch_import_type_id__volatile = 0;
	if (g_once_init_enter (&batch_import_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BatchImportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImport), 0, (GInstanceInitFunc) batch_import_instance_init, NULL };
		GType batch_import_type_id;
		batch_import_type_id = g_type_register_static (G_TYPE_OBJECT, "BatchImport", &g_define_type_info, 0);
		g_once_init_leave (&batch_import_type_id__volatile, batch_import_type_id);
	}
	return batch_import_type_id__volatile;
}


static DuplicatedFile*
duplicated_file_construct (GType object_type)
{
	DuplicatedFile * self = NULL;
#line 1308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (DuplicatedFile*) g_object_new (object_type, NULL);
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (self->priv->video_id);
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->video_id = NULL;
#line 1310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (self->priv->photo_id);
#line 1310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->photo_id = NULL;
#line 1311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file);
#line 1311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file = NULL;
#line 1308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 10814 "BatchImport.c"
}


static DuplicatedFile*
duplicated_file_new (void)
{
#line 1308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return duplicated_file_construct (TYPE_DUPLICATED_FILE);
#line 10823 "BatchImport.c"
}


static gpointer
_photo_id_dup0 (gpointer self)
{
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? photo_id_dup (self) : NULL;
#line 10832 "BatchImport.c"
}


DuplicatedFile*
duplicated_file_create_from_photo_id (PhotoID* photo_id)
{
	DuplicatedFile* result = NULL;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp0_;
	PhotoID _tmp1_;
	PhotoID* _tmp2_;
#line 1314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (photo_id != NULL, NULL);
#line 1315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (photo_id_is_valid (photo_id), "photo_id.is_valid()");
#line 1317 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = duplicated_file_new ();
#line 1317 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp0_;
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = *photo_id;
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _photo_id_dup0 (&_tmp1_);
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (_result_->priv->photo_id);
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->photo_id = _tmp2_;
#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10864 "BatchImport.c"
}


static gpointer
_video_id_dup0 (gpointer self)
{
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? video_id_dup (self) : NULL;
#line 10873 "BatchImport.c"
}


DuplicatedFile*
duplicated_file_create_from_video_id (VideoID* video_id)
{
	DuplicatedFile* result = NULL;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp0_;
	VideoID _tmp1_;
	VideoID* _tmp2_;
#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (video_id != NULL, NULL);
#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (video_id_is_valid (video_id), "video_id.is_valid()");
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = duplicated_file_new ();
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp0_;
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = *video_id;
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _video_id_dup0 (&_tmp1_);
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (_result_->priv->video_id);
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->video_id = _tmp2_;
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10905 "BatchImport.c"
}


DuplicatedFile*
duplicated_file_create_from_file (GFile* file)
{
	DuplicatedFile* result = NULL;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp0_;
	GFile* _tmp1_;
#line 1330 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), NULL);
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = duplicated_file_new ();
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp0_;
#line 1333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (file);
#line 1333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_result_->priv->file);
#line 1333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->file = _tmp1_;
#line 1335 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1335 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10932 "BatchImport.c"
}


GFile*
duplicated_file_get_file (DuplicatedFile* self)
{
	GFile* result = NULL;
	GFile* _tmp0_;
#line 1338 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_DUPLICATED_FILE (self), NULL);
#line 1339 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file;
#line 1339 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_ != NULL) {
#line 10947 "BatchImport.c"
		GFile* _tmp1_;
		GFile* _tmp2_;
#line 1340 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = self->priv->file;
#line 1340 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 1340 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = _tmp2_;
#line 1340 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 10958 "BatchImport.c"
	} else {
		PhotoID* _tmp3_;
#line 1341 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->photo_id;
#line 1341 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ != NULL) {
#line 10965 "BatchImport.c"
			Photo* photo_object = NULL;
			LibraryPhotoSourceCollection* _tmp4_;
			PhotoID* _tmp5_;
			PhotoID _tmp6_;
			LibraryPhoto* _tmp7_;
			Photo* _tmp8_;
			GFile* _tmp9_;
			GFile* _tmp10_;
			GFile* _tmp11_;
#line 1342 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = library_photo_global;
#line 1342 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = self->priv->photo_id;
#line 1342 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = *_tmp5_;
#line 1342 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = library_photo_source_collection_fetch (_tmp4_, &_tmp6_);
#line 1342 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo);
#line 1343 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = photo_object;
#line 1343 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1343 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (self->priv->file);
#line 1343 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->priv->file = _tmp9_;
#line 1344 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = self->priv->file;
#line 1344 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _g_object_ref0 (_tmp10_);
#line 1344 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp11_;
#line 1344 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo_object);
#line 1344 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 11003 "BatchImport.c"
		} else {
			VideoID* _tmp12_;
#line 1345 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = self->priv->video_id;
#line 1345 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp12_ != NULL) {
#line 11010 "BatchImport.c"
				Video* video_object = NULL;
				VideoSourceCollection* _tmp13_;
				VideoID* _tmp14_;
				VideoID _tmp15_;
				Video* _tmp16_;
				Video* _tmp17_;
				GFile* _tmp18_;
				GFile* _tmp19_;
				GFile* _tmp20_;
#line 1346 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = video_global;
#line 1346 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = self->priv->video_id;
#line 1346 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = *_tmp14_;
#line 1346 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = video_source_collection_fetch (_tmp13_, &_tmp15_);
#line 1346 "/home/jens/Source/shotwell/src/BatchImport.vala"
				video_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_VIDEO, Video);
#line 1347 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = video_object;
#line 1347 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1347 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (self->priv->file);
#line 1347 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->priv->file = _tmp18_;
#line 1348 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = self->priv->file;
#line 1348 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _g_object_ref0 (_tmp19_);
#line 1348 "/home/jens/Source/shotwell/src/BatchImport.vala"
				result = _tmp20_;
#line 1348 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (video_object);
#line 1348 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return result;
#line 11048 "BatchImport.c"
			} else {
#line 1350 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_assert_not_reached ();
#line 11052 "BatchImport.c"
			}
		}
	}
}


static void
duplicated_file_class_init (DuplicatedFileClass * klass)
{
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	duplicated_file_parent_class = g_type_class_peek_parent (klass);
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (DuplicatedFilePrivate));
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (klass)->finalize = duplicated_file_finalize;
#line 11068 "BatchImport.c"
}


static void
duplicated_file_instance_init (DuplicatedFile * self)
{
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = DUPLICATED_FILE_GET_PRIVATE (self);
#line 11077 "BatchImport.c"
}


static void
duplicated_file_finalize (GObject * obj)
{
	DuplicatedFile * self;
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DUPLICATED_FILE, DuplicatedFile);
#line 1304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (self->priv->video_id);
#line 1305 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (self->priv->photo_id);
#line 1306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file);
#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (duplicated_file_parent_class)->finalize (obj);
#line 11095 "BatchImport.c"
}


GType
duplicated_file_get_type (void)
{
	static volatile gsize duplicated_file_type_id__volatile = 0;
	if (g_once_init_enter (&duplicated_file_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DuplicatedFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) duplicated_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DuplicatedFile), 0, (GInstanceInitFunc) duplicated_file_instance_init, NULL };
		GType duplicated_file_type_id;
		duplicated_file_type_id = g_type_register_static (G_TYPE_OBJECT, "DuplicatedFile", &g_define_type_info, 0);
		g_once_init_leave (&duplicated_file_type_id__volatile, duplicated_file_type_id);
	}
	return duplicated_file_type_id__volatile;
}


BackgroundImportJob*
background_import_job_construct (GType object_type,
                                 BatchImport* owner,
                                 CompletionCallback callback,
                                 void* callback_target,
                                 GCancellable* cancellable,
                                 CancellationCallback cancellation,
                                 void* cancellation_target)
{
	BackgroundImportJob* self = NULL;
#line 1377 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1377 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1379 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BackgroundImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (owner, G_TYPE_OBJECT, GObject), callback, callback_target, cancellable, cancellation, cancellation_target, NULL);
#line 1377 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 11131 "BatchImport.c"
}


ImportResult
background_import_job_abort_check (BackgroundImportJob* self)
{
	ImportResult result = 0;
	gboolean _tmp0_ = FALSE;
	ImportResult _tmp1_;
	ImportResult _tmp2_;
#line 1384 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (self), 0);
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->abort_flag;
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ == IMPORT_RESULT_SUCCESS) {
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 11150 "BatchImport.c"
	} else {
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 11154 "BatchImport.c"
	}
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 1386 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->abort_flag = IMPORT_RESULT_USER_ABORT;
#line 11160 "BatchImport.c"
	}
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->abort_flag;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp2_;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11168 "BatchImport.c"
}


void
background_import_job_abort (BackgroundImportJob* self,
                             ImportResult _result_)
{
	ImportResult _tmp0_;
#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1393 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->abort_flag;
#line 1393 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_ == IMPORT_RESULT_SUCCESS) {
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->abort_flag = _result_;
#line 11185 "BatchImport.c"
	}
}


void
background_import_job_report_failure (BackgroundImportJob* self,
                                      BatchImportJob* job,
                                      GFile* file,
                                      const gchar* src_identifier,
                                      const gchar* dest_identifier,
                                      ImportResult _result_)
{
	GeeList* _tmp2_;
	BatchImportResult* _tmp3_;
	BatchImportResult* _tmp4_;
#line 1397 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1397 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1397 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((file == NULL) || G_IS_FILE (file));
#line 1397 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (src_identifier != NULL);
#line 1397 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (dest_identifier != NULL);
#line 1399 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_result_ != IMPORT_RESULT_SUCCESS, "result != ImportResult.SUCCESS");
#line 1402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (import_result_is_abort (_result_)) {
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_abort (self, _result_);
#line 11217 "BatchImport.c"
	} else {
		gchar* _tmp0_;
		gchar* _tmp1_;
#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = import_result_to_string (_result_);
#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _tmp0_;
#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1405: Import failure %s: %s", src_identifier, _tmp1_);
#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp1_);
#line 11229 "BatchImport.c"
	}
#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->failed;
#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = batch_import_result_new (job, file, src_identifier, dest_identifier, NULL, _result_);
#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_;
#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_);
#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (_tmp4_);
#line 11241 "BatchImport.c"
}


void
background_import_job_report_error (BackgroundImportJob* self,
                                    BatchImportJob* job,
                                    GFile* file,
                                    const gchar* src_identifier,
                                    const gchar* dest_identifier,
                                    GError* err,
                                    ImportResult default_result)
{
	ImportResult _result_ = 0;
	const gchar* _tmp0_;
	ImportResult _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	ImportResult _tmp4_;
	GeeList* _tmp6_;
	BatchImportResult* _tmp7_;
	BatchImportResult* _tmp8_;
#line 1411 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1411 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1411 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((file == NULL) || G_IS_FILE (file));
#line 1411 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (src_identifier != NULL);
#line 1411 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (dest_identifier != NULL);
#line 1413 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = import_result_convert_error (err, default_result);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = err->message;
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _result_;
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_result_to_string (_tmp1_);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_;
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_warning ("BatchImport.vala:1415: Import error %s: %s (%s)", src_identifier, _tmp0_, _tmp3_);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp3_);
#line 1417 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _result_;
#line 1417 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (import_result_is_abort (_tmp4_)) {
#line 11291 "BatchImport.c"
		ImportResult _tmp5_;
#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _result_;
#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_abort (self, _tmp5_);
#line 11297 "BatchImport.c"
	}
#line 1420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = self->failed;
#line 1420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = batch_import_result_new_from_error (job, file, src_identifier, dest_identifier, err, default_result);
#line 1420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = _tmp7_;
#line 1420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), _tmp8_);
#line 1420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (_tmp8_);
#line 11309 "BatchImport.c"
}


static void
background_import_job_class_init (BackgroundImportJobClass * klass)
{
#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala"
	background_import_job_parent_class = g_type_class_peek_parent (klass);
#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->finalize = background_import_job_finalize;
#line 11320 "BatchImport.c"
}


static void
background_import_job_instance_init (BackgroundImportJob * self)
{
	GeeArrayList* _tmp0_;
#line 1374 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->abort_flag = IMPORT_RESULT_SUCCESS;
#line 1375 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, (GDestroyNotify) batch_import_result_unref, NULL, NULL, NULL);
#line 1375 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 11334 "BatchImport.c"
}


static void
background_import_job_finalize (BackgroundJob * obj)
{
	BackgroundImportJob * self;
#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob);
#line 1375 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->failed);
#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (background_import_job_parent_class)->finalize (obj);
#line 11348 "BatchImport.c"
}


GType
background_import_job_get_type (void)
{
	static volatile gsize background_import_job_type_id__volatile = 0;
	if (g_once_init_enter (&background_import_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BackgroundImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) background_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackgroundImportJob), 0, (GInstanceInitFunc) background_import_job_instance_init, NULL };
		GType background_import_job_type_id;
		background_import_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "BackgroundImportJob", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&background_import_job_type_id__volatile, background_import_job_type_id);
	}
	return background_import_job_type_id__volatile;
}


FileToPrepare*
file_to_prepare_construct (GType object_type,
                           BatchImportJob* job,
                           GFile* file,
                           gboolean copy_to_library)
{
	FileToPrepare* self = NULL;
	BatchImportJob* _tmp0_;
	GFile* _tmp1_;
#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (FileToPrepare*) g_type_create_instance (object_type);
#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _batch_import_job_ref0 (job);
#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp0_;
#line 1433 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (file);
#line 1433 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1433 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp1_;
#line 1434 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->copy_to_library = copy_to_library;
#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 11397 "BatchImport.c"
}


FileToPrepare*
file_to_prepare_new (BatchImportJob* job,
                     GFile* file,
                     gboolean copy_to_library)
{
#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return file_to_prepare_construct (TYPE_FILE_TO_PREPARE, job, file, copy_to_library);
#line 11408 "BatchImport.c"
}


static gpointer
_file_to_prepare_ref0 (gpointer self)
{
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? file_to_prepare_ref (self) : NULL;
#line 11417 "BatchImport.c"
}


void
file_to_prepare_set_associated (FileToPrepare* self,
                                FileToPrepare* a)
{
	FileToPrepare* _tmp0_;
#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_FILE_TO_PREPARE (self));
#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((a == NULL) || IS_FILE_TO_PREPARE (a));
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _file_to_prepare_ref0 (a);
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (self->associated);
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->associated = _tmp0_;
#line 11436 "BatchImport.c"
}


gchar*
file_to_prepare_get_parent_path (FileToPrepare* self)
{
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	GFile* _tmp1_;
#line 1441 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 11452 "BatchImport.c"
		GFile* _tmp2_;
		GFile* _tmp3_;
		GFile* _tmp4_;
		gchar* _tmp5_;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_get_parent (_tmp2_);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp3_;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = g_file_get_path (_tmp4_);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp5_;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp4_);
#line 11471 "BatchImport.c"
	} else {
		BatchImportJob* _tmp6_;
		gchar* _tmp7_;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->job;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = batch_import_job_get_path (_tmp6_);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp7_;
#line 11483 "BatchImport.c"
	}
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1442 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11489 "BatchImport.c"
}


gchar*
file_to_prepare_get_path (FileToPrepare* self)
{
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	GFile* _tmp1_;
#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 11505 "BatchImport.c"
		GFile* _tmp2_;
		gchar* _tmp3_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_get_path (_tmp2_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 11516 "BatchImport.c"
	} else {
		BatchImportJob* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		GFile* _tmp7_;
		GFile* _tmp8_;
		BatchImportJob* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		GFile* _tmp12_;
		GFile* _tmp13_;
		gchar* _tmp14_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->job;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = batch_import_job_get_path (_tmp4_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = g_file_new_for_path (_tmp6_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->job;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = batch_import_job_get_basename (_tmp9_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = g_file_get_child (_tmp8_, _tmp11_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = g_file_get_path (_tmp13_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp14_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp13_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp11_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp8_);
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp6_);
#line 11563 "BatchImport.c"
	}
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1446 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11569 "BatchImport.c"
}


gchar*
file_to_prepare_get_basename (FileToPrepare* self)
{
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	GFile* _tmp1_;
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL);
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 11585 "BatchImport.c"
		GFile* _tmp2_;
		gchar* _tmp3_;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_get_basename (_tmp2_);
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 11596 "BatchImport.c"
	} else {
		BatchImportJob* _tmp4_;
		gchar* _tmp5_;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->job;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = batch_import_job_get_basename (_tmp4_);
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp5_;
#line 11608 "BatchImport.c"
	}
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11614 "BatchImport.c"
}


gboolean
file_to_prepare_is_directory (FileToPrepare* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	GFile* _tmp1_;
#line 1454 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), FALSE);
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 11630 "BatchImport.c"
		GFile* _tmp2_;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = g_file_query_file_type (_tmp2_, G_FILE_QUERY_INFO_NONE, NULL) == G_FILE_TYPE_DIRECTORY;
#line 11636 "BatchImport.c"
	} else {
		BatchImportJob* _tmp3_;
#line 1456 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->job;
#line 1456 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = batch_import_job_is_directory (_tmp3_);
#line 11643 "BatchImport.c"
	}
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11649 "BatchImport.c"
}


static void
value_file_to_prepare_init (GValue* value)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 11658 "BatchImport.c"
}


static void
value_file_to_prepare_free_value (GValue* value)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_unref (value->data[0].v_pointer);
#line 11669 "BatchImport.c"
	}
}


static void
value_file_to_prepare_copy_value (const GValue* src_value,
                                  GValue* dest_value)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = file_to_prepare_ref (src_value->data[0].v_pointer);
#line 11682 "BatchImport.c"
	} else {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 11686 "BatchImport.c"
	}
}


static gpointer
value_file_to_prepare_peek_pointer (const GValue* value)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 11696 "BatchImport.c"
}


static gchar*
value_file_to_prepare_collect_value (GValue* value,
                                     guint n_collect_values,
                                     GTypeCValue* collect_values,
                                     guint collect_flags)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 11708 "BatchImport.c"
		FileToPrepare * object;
		object = collect_values[0].v_pointer;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 11715 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.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 11719 "BatchImport.c"
		}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = file_to_prepare_ref (object);
#line 11723 "BatchImport.c"
	} else {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 11727 "BatchImport.c"
	}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 11731 "BatchImport.c"
}


static gchar*
value_file_to_prepare_lcopy_value (const GValue* value,
                                   guint n_collect_values,
                                   GTypeCValue* collect_values,
                                   guint collect_flags)
{
	FileToPrepare ** object_p;
	object_p = collect_values[0].v_pointer;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 11747 "BatchImport.c"
	}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 11753 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 11757 "BatchImport.c"
	} else {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = file_to_prepare_ref (value->data[0].v_pointer);
#line 11761 "BatchImport.c"
	}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 11765 "BatchImport.c"
}


GParamSpec*
param_spec_file_to_prepare (const gchar* name,
                            const gchar* nick,
                            const gchar* blurb,
                            GType object_type,
                            GParamFlags flags)
{
	ParamSpecFileToPrepare* spec;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_FILE_TO_PREPARE), NULL);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 11785 "BatchImport.c"
}


gpointer
value_get_file_to_prepare (const GValue* value)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE), NULL);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 11796 "BatchImport.c"
}


void
value_set_file_to_prepare (GValue* value,
                           gpointer v_object)
{
	FileToPrepare * old;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_ref (value->data[0].v_pointer);
#line 11819 "BatchImport.c"
	} else {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 11823 "BatchImport.c"
	}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_unref (old);
#line 11829 "BatchImport.c"
	}
}


void
value_take_file_to_prepare (GValue* value,
                            gpointer v_object)
{
	FileToPrepare * old;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 11851 "BatchImport.c"
	} else {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 11855 "BatchImport.c"
	}
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_unref (old);
#line 11861 "BatchImport.c"
	}
}


static void
file_to_prepare_class_init (FileToPrepareClass * klass)
{
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_to_prepare_parent_class = g_type_class_peek_parent (klass);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((FileToPrepareClass *) klass)->finalize = file_to_prepare_finalize;
#line 11873 "BatchImport.c"
}


static void
file_to_prepare_instance_init (FileToPrepare * self)
{
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->associated = NULL;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 11884 "BatchImport.c"
}


static void
file_to_prepare_finalize (FileToPrepare * obj)
{
	FileToPrepare * self;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_TO_PREPARE, FileToPrepare);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1426 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (self->associated);
#line 11902 "BatchImport.c"
}


GType
file_to_prepare_get_type (void)
{
	static volatile gsize file_to_prepare_type_id__volatile = 0;
	if (g_once_init_enter (&file_to_prepare_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_file_to_prepare_init, value_file_to_prepare_free_value, value_file_to_prepare_copy_value, value_file_to_prepare_peek_pointer, "p", value_file_to_prepare_collect_value, "p", value_file_to_prepare_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (FileToPrepareClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) file_to_prepare_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FileToPrepare), 0, (GInstanceInitFunc) file_to_prepare_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 file_to_prepare_type_id;
		file_to_prepare_type_id = g_type_register_fundamental (g_type_fundamental_next (), "FileToPrepare", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&file_to_prepare_type_id__volatile, file_to_prepare_type_id);
	}
	return file_to_prepare_type_id__volatile;
}


gpointer
file_to_prepare_ref (gpointer instance)
{
	FileToPrepare * self;
	self = instance;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 11931 "BatchImport.c"
}


void
file_to_prepare_unref (gpointer instance)
{
	FileToPrepare * self;
	self = instance;
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		FILE_TO_PREPARE_GET_CLASS (self)->finalize (self);
#line 1425 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 11946 "BatchImport.c"
	}
}


WorkSniffer*
work_sniffer_construct (GType object_type,
                        BatchImport* owner,
                        GeeIterable* jobs,
                        CompletionCallback callback,
                        void* callback_target,
                        GCancellable* cancellable,
                        CancellationCallback cancellation,
                        void* cancellation_target,
                        GeeHashSet* skipset)
{
	WorkSniffer* self = NULL;
	GeeIterable* _tmp0_;
	GeeHashSet* _tmp1_;
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL);
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((skipset == NULL) || GEE_IS_HASH_SET (skipset), NULL);
#line 1469 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (WorkSniffer*) background_import_job_construct (object_type, owner, callback, callback_target, cancellable, cancellation, cancellation_target);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (jobs);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->jobs = _tmp0_;
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (skipset);
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skipset = _tmp1_;
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 11989 "BatchImport.c"
}


WorkSniffer*
work_sniffer_new (BatchImport* owner,
                  GeeIterable* jobs,
                  CompletionCallback callback,
                  void* callback_target,
                  GCancellable* cancellable,
                  CancellationCallback cancellation,
                  void* cancellation_target,
                  GeeHashSet* skipset)
{
#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return work_sniffer_construct (TYPE_WORK_SNIFFER, owner, jobs, callback, callback_target, cancellable, cancellation, cancellation_target, skipset);
#line 12005 "BatchImport.c"
}


static gint
__lambda11_ (WorkSniffer* self,
             FileToPrepare* a,
             FileToPrepare* b)
{
	gint result = 0;
	FileToPrepare* file_a = NULL;
	FileToPrepare* _tmp0_;
	FileToPrepare* file_b = NULL;
	FileToPrepare* _tmp1_;
	gchar* sa = NULL;
	gchar* _tmp2_;
	gchar* sb = NULL;
	gchar* _tmp3_;
#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (a), 0);
#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (b), 0);
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (a, TYPE_FILE_TO_PREPARE, FileToPrepare));
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_a = _tmp0_;
#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (b, TYPE_FILE_TO_PREPARE, FileToPrepare));
#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_b = _tmp1_;
#line 1510 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file_to_prepare_get_path (file_a);
#line 1510 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sa = _tmp2_;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = file_to_prepare_get_path (file_b);
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sb = _tmp3_;
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = utf8_cs_compare (sa, sb);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (sb);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (sa);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (file_b);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (file_a);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 12055 "BatchImport.c"
}


static gint
___lambda11__gcompare_data_func (gconstpointer a,
                                 gconstpointer b,
                                 gpointer self)
{
	gint result;
	result = __lambda11_ ((WorkSniffer*) self, (FileToPrepare*) a, (FileToPrepare*) b);
#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 12068 "BatchImport.c"
}


static void
work_sniffer_real_execute (BackgroundJob* base)
{
	WorkSniffer * self;
	GeeList* sorted = NULL;
	GeeArrayList* _tmp23_;
	GeeList* _tmp38_;
	GError * _inner_error_ = NULL;
#line 1475 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_WORK_SNIFFER, WorkSniffer);
#line 12082 "BatchImport.c"
	{
		GeeIterator* _job_it = NULL;
		GeeIterable* _tmp0_;
		GeeIterator* _tmp1_;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = self->priv->jobs;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = gee_iterable_iterator (_tmp0_);
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_job_it = _tmp1_;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 12095 "BatchImport.c"
			GeeIterator* _tmp2_;
			BatchImportJob* job = NULL;
			GeeIterator* _tmp3_;
			gpointer _tmp4_;
			ImportResult _result_ = 0;
			ImportResult _tmp5_;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = _job_it;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!gee_iterator_next (_tmp2_)) {
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 12108 "BatchImport.c"
			}
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = _job_it;
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = gee_iterator_get (_tmp3_);
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			job = (BatchImportJob*) _tmp4_;
#line 1480 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1481 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = _result_;
#line 1481 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp5_ != IMPORT_RESULT_SUCCESS) {
#line 12122 "BatchImport.c"
				BatchImportJob* _tmp6_;
				BatchImportJob* _tmp7_;
				gchar* _tmp8_;
				gchar* _tmp9_;
				BatchImportJob* _tmp10_;
				gchar* _tmp11_;
				gchar* _tmp12_;
				ImportResult _tmp13_;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp6_ = job;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = job;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = batch_import_job_get_source_identifier (_tmp7_);
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = _tmp8_;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = job;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = batch_import_job_get_dest_identifier (_tmp10_);
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = _tmp11_;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = _result_;
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp6_, NULL, _tmp9_, _tmp12_, _tmp13_);
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp12_);
#line 1482 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp9_);
#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 12157 "BatchImport.c"
			}
			{
				BatchImportJob* _tmp14_;
#line 1489 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = job;
#line 1489 "/home/jens/Source/shotwell/src/BatchImport.vala"
				work_sniffer_sniff_job (self, _tmp14_, &_inner_error_);
#line 1489 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 12167 "BatchImport.c"
					goto __catch426_g_error;
				}
			}
			goto __finally426;
			__catch426_g_error:
			{
				GError* err = NULL;
				BatchImportJob* _tmp15_;
				BatchImportJob* _tmp16_;
				gchar* _tmp17_;
				gchar* _tmp18_;
				BatchImportJob* _tmp19_;
				gchar* _tmp20_;
				gchar* _tmp21_;
				GError* _tmp22_;
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = job;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = job;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = batch_import_job_get_source_identifier (_tmp16_);
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = _tmp17_;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = job;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = batch_import_job_get_dest_identifier (_tmp19_);
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = _tmp20_;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = err;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp15_, NULL, _tmp18_, _tmp21_, _tmp22_, IMPORT_RESULT_FILE_ERROR);
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp21_);
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp18_);
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 12211 "BatchImport.c"
			}
			__finally426:
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_job_it);
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.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 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 12226 "BatchImport.c"
			}
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob))) {
#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 12234 "BatchImport.c"
			}
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_job_unref0 (job);
#line 12238 "BatchImport.c"
		}
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_job_it);
#line 12242 "BatchImport.c"
	}
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = gee_array_list_new (TYPE_FILE_TO_PREPARE, (GBoxedCopyFunc) file_to_prepare_ref, (GDestroyNotify) file_to_prepare_unref, NULL, NULL, NULL);
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sorted = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_LIST, GeeList);
#line 12248 "BatchImport.c"
	{
		GeeList* _ftp_list = NULL;
		GeeList* _tmp24_;
		GeeList* _tmp25_;
		gint _ftp_size = 0;
		GeeList* _tmp26_;
		gint _tmp27_;
		gint _tmp28_;
		gint _ftp_index = 0;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = self->files_to_prepare;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = _g_object_ref0 (_tmp24_);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_list = _tmp25_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = _ftp_list;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = _tmp27_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_size = _tmp28_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_index = -1;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 12276 "BatchImport.c"
			gint _tmp29_;
			gint _tmp30_;
			gint _tmp31_;
			FileToPrepare* ftp = NULL;
			GeeList* _tmp32_;
			gint _tmp33_;
			gpointer _tmp34_;
			FileToPrepare* _tmp35_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = _ftp_index;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_ftp_index = _tmp29_ + 1;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _ftp_index;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = _ftp_size;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp30_ < _tmp31_)) {
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 12297 "BatchImport.c"
			}
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = _ftp_list;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _ftp_index;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = gee_list_get (_tmp32_, _tmp33_);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			ftp = (FileToPrepare*) _tmp34_;
#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = ftp;
#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!file_to_prepare_is_directory (_tmp35_)) {
#line 12311 "BatchImport.c"
				GeeList* _tmp36_;
				FileToPrepare* _tmp37_;
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = sorted;
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = ftp;
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_);
#line 12320 "BatchImport.c"
			}
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_unref0 (ftp);
#line 12324 "BatchImport.c"
		}
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_ftp_list);
#line 12328 "BatchImport.c"
	}
#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp38_ = sorted;
#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_list_sort (_tmp38_, ___lambda11__gcompare_data_func, background_job_ref (self), background_job_unref);
#line 12334 "BatchImport.c"
	{
		gint i = 0;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
		i = 0;
#line 12339 "BatchImport.c"
		{
			gboolean _tmp39_ = FALSE;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = TRUE;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 12346 "BatchImport.c"
				gint _tmp41_;
				GeeList* _tmp42_;
				gint _tmp43_;
				gint _tmp44_;
				gchar* name = NULL;
				gchar* ext = NULL;
				FileToPrepare* ftp = NULL;
				GeeList* _tmp45_;
				gint _tmp46_;
				gpointer _tmp47_;
				FileToPrepare* _tmp48_;
				gchar* _tmp49_;
				gchar* _tmp50_;
				gchar* _tmp51_ = NULL;
				gchar* _tmp52_ = NULL;
				const gchar* _tmp53_;
				RawFileFormatProperties* _tmp54_;
				RawFileFormatProperties* _tmp55_;
				const gchar* _tmp56_;
				gboolean _tmp57_;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!_tmp39_) {
#line 12369 "BatchImport.c"
					gint _tmp40_;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp40_ = i;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
					i = _tmp40_ + 1;
#line 12375 "BatchImport.c"
				}
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp39_ = FALSE;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = i;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = sorted;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp43_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp44_ = _tmp43_;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp41_ < _tmp44_)) {
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 12391 "BatchImport.c"
				}
#line 1519 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = sorted;
#line 1519 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = i;
#line 1519 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp47_ = gee_list_get (_tmp45_, _tmp46_);
#line 1519 "/home/jens/Source/shotwell/src/BatchImport.vala"
				ftp = (FileToPrepare*) _tmp47_;
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = ftp;
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp49_ = file_to_prepare_get_basename (_tmp48_);
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = _tmp49_;
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				disassemble_filename (_tmp50_, &_tmp51_, &_tmp52_);
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (name);
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				name = _tmp51_;
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (ext);
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				ext = _tmp52_;
#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp50_);
#line 1522 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp53_ = ext;
#line 1522 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (is_string_empty (_tmp53_)) {
#line 1523 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (ftp);
#line 1523 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (ext);
#line 1523 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (name);
#line 1523 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 12431 "BatchImport.c"
				}
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = raw_file_format_properties_get_instance ();
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp55_ = _tmp54_;
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56_ = ext;
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp56_);
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_photo_file_format_properties_unref0 (_tmp55_);
#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp57_) {
#line 12445 "BatchImport.c"
					gboolean _tmp58_ = FALSE;
					gint _tmp59_;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp59_ = i;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_tmp59_ > 0) {
#line 12452 "BatchImport.c"
						FileToPrepare* _tmp60_;
						GeeList* _tmp61_;
						gint _tmp62_;
						gpointer _tmp63_;
						FileToPrepare* _tmp64_;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp60_ = ftp;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp61_ = sorted;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp62_ = i;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp63_ = gee_list_get (_tmp61_, _tmp62_ - 1);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp64_ = (FileToPrepare*) _tmp63_;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp58_ = work_sniffer_is_paired (self, _tmp60_, _tmp64_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_file_to_prepare_unref0 (_tmp64_);
#line 12472 "BatchImport.c"
					} else {
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp58_ = FALSE;
#line 12476 "BatchImport.c"
					}
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_tmp58_) {
#line 12480 "BatchImport.c"
						FileToPrepare* associated_file = NULL;
						GeeList* _tmp65_;
						gint _tmp66_;
						gpointer _tmp67_;
						GeeList* _tmp68_;
						FileToPrepare* _tmp69_;
						FileToPrepare* _tmp70_;
						FileToPrepare* _tmp71_;
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp65_ = sorted;
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp66_ = i;
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp67_ = gee_list_get (_tmp65_, _tmp66_ - 1);
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
						associated_file = (FileToPrepare*) _tmp67_;
#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp68_ = self->files_to_prepare;
#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp69_ = associated_file;
#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_COLLECTION, GeeCollection), _tmp69_);
#line 1531 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp70_ = ftp;
#line 1531 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp71_ = associated_file;
#line 1531 "/home/jens/Source/shotwell/src/BatchImport.vala"
						file_to_prepare_set_associated (_tmp70_, _tmp71_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_file_to_prepare_unref0 (associated_file);
#line 12511 "BatchImport.c"
					} else {
						gboolean _tmp72_ = FALSE;
						gint _tmp73_;
						GeeList* _tmp74_;
						gint _tmp75_;
						gint _tmp76_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp73_ = i;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp74_ = sorted;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp75_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp76_ = _tmp75_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_tmp73_ < (_tmp76_ - 1)) {
#line 12528 "BatchImport.c"
							FileToPrepare* _tmp77_;
							GeeList* _tmp78_;
							gint _tmp79_;
							gpointer _tmp80_;
							FileToPrepare* _tmp81_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp77_ = ftp;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp78_ = sorted;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp79_ = i;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp80_ = gee_list_get (_tmp78_, _tmp79_ + 1);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp81_ = (FileToPrepare*) _tmp80_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp72_ = work_sniffer_is_paired (self, _tmp77_, _tmp81_);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_file_to_prepare_unref0 (_tmp81_);
#line 12548 "BatchImport.c"
						} else {
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp72_ = FALSE;
#line 12552 "BatchImport.c"
						}
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_tmp72_) {
#line 12556 "BatchImport.c"
							FileToPrepare* associated_file = NULL;
							GeeList* _tmp82_;
							gint _tmp83_;
							gpointer _tmp84_;
							GeeList* _tmp85_;
							FileToPrepare* _tmp86_;
							FileToPrepare* _tmp87_;
							FileToPrepare* _tmp88_;
#line 1533 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp82_ = sorted;
#line 1533 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp83_ = i;
#line 1533 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp84_ = gee_list_get (_tmp82_, _tmp83_ + 1);
#line 1533 "/home/jens/Source/shotwell/src/BatchImport.vala"
							associated_file = (FileToPrepare*) _tmp84_;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp85_ = self->files_to_prepare;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp86_ = associated_file;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
							gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_COLLECTION, GeeCollection), _tmp86_);
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp87_ = ftp;
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp88_ = associated_file;
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
							file_to_prepare_set_associated (_tmp87_, _tmp88_);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_file_to_prepare_unref0 (associated_file);
#line 12587 "BatchImport.c"
						}
					}
				}
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_file_to_prepare_unref0 (ftp);
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (ext);
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (name);
#line 12597 "BatchImport.c"
			}
		}
	}
#line 1475 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (sorted);
#line 12603 "BatchImport.c"
}


static gboolean
work_sniffer_is_paired (WorkSniffer* self,
                        FileToPrepare* raw,
                        FileToPrepare* maybe_paired)
{
	gboolean result = FALSE;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gboolean _tmp4_;
	gchar* name = NULL;
	gchar* ext = NULL;
	gchar* test_name = NULL;
	gchar* test_ext = NULL;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	JfifFileFormatProperties* _tmp9_;
	JfifFileFormatProperties* _tmp10_;
	const gchar* _tmp11_;
	gboolean _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
#line 1544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_WORK_SNIFFER (self), FALSE);
#line 1544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (raw), FALSE);
#line 1544 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (maybe_paired), FALSE);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = file_to_prepare_get_parent_path (raw);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _tmp0_;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file_to_prepare_get_parent_path (maybe_paired);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = g_strcmp0 (_tmp1_, _tmp3_) != 0;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp3_);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp1_);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_) {
#line 1546 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1546 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 12662 "BatchImport.c"
	}
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = file_to_prepare_get_basename (maybe_paired);
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_;
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	disassemble_filename (_tmp6_, &_tmp7_, &_tmp8_);
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_name);
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	test_name = _tmp7_;
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_ext);
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	test_ext = _tmp8_;
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp6_);
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = jfif_file_format_properties_get_instance ();
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = _tmp9_;
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = test_ext;
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = !photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp11_);
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_file_format_properties_unref0 (_tmp10_);
#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp12_) {
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (test_ext);
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (test_name);
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (ext);
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (name);
#line 1552 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 12704 "BatchImport.c"
	}
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = file_to_prepare_get_basename (raw);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = _tmp13_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	disassemble_filename (_tmp14_, &_tmp15_, &_tmp16_);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (name);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	name = _tmp15_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (ext);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	ext = _tmp16_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp14_);
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = name;
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = test_name;
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = g_strcmp0 (_tmp17_, _tmp18_) == 0;
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_ext);
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_name);
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (ext);
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (name);
#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 12738 "BatchImport.c"
}


static void
work_sniffer_sniff_job (WorkSniffer* self,
                        BatchImportJob* job,
                        GError** error)
{
	guint64 size = 0ULL;
	GFile* file_or_dir = NULL;
	gboolean determined_size = FALSE;
	guint64 _tmp0_ = 0ULL;
	GFile* _tmp1_ = NULL;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GError * _inner_error_ = NULL;
#line 1559 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_WORK_SNIFFER (self));
#line 1559 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = batch_import_job_determine_file_size (job, &_tmp0_, &_tmp1_);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	size = _tmp0_;
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (file_or_dir);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_or_dir = _tmp1_;
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
	determined_size = _tmp2_;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = determined_size;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_) {
#line 12773 "BatchImport.c"
		guint64 _tmp4_;
		guint64 _tmp5_;
#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->total_bytes;
#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = size;
#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->total_bytes = _tmp4_ + _tmp5_;
#line 12782 "BatchImport.c"
	}
#line 1566 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (batch_import_job_is_directory (job)) {
#line 12786 "BatchImport.c"
		GFile* dir = NULL;
		gboolean copy_to_library = FALSE;
		gboolean _tmp6_ = FALSE;
		GFile* _tmp7_ = NULL;
		gboolean _tmp8_ = FALSE;
		gboolean _tmp9_;
		GFile* _tmp14_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = batch_import_job_prepare (job, &_tmp7_, &_tmp8_, &_inner_error_);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (dir);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dir = _tmp7_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		copy_to_library = _tmp8_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp9_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12814 "BatchImport.c"
		}
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp6_) {
#line 12818 "BatchImport.c"
			gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			gchar* _tmp13_;
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = batch_import_job_get_source_identifier (job);
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _tmp10_;
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = batch_import_job_get_dest_identifier (job);
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _tmp12_;
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), job, NULL, _tmp11_, _tmp13_, IMPORT_RESULT_FILE_ERROR);
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp13_);
#line 1572 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp11_);
#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12843 "BatchImport.c"
		}
#line 1577 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = dir;
#line 1577 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (query_is_directory (_tmp14_), "query_is_directory(dir)");
#line 12849 "BatchImport.c"
		{
			GFile* _tmp15_;
			gboolean _tmp16_;
#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = dir;
#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp16_ = copy_to_library;
#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala"
			work_sniffer_search_dir (self, job, _tmp15_, _tmp16_, batch_import_job_recurse (job), &_inner_error_);
#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 12861 "BatchImport.c"
				goto __catch427_g_error;
			}
		}
		goto __finally427;
		__catch427_g_error:
		{
			GError* err = NULL;
			GFile* _tmp17_;
			gchar* _tmp18_;
			gchar* _tmp19_;
			GFile* _tmp20_;
			gchar* _tmp21_;
			gchar* _tmp22_;
			GError* _tmp23_;
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = dir;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = batch_import_job_get_source_identifier (job);
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = _tmp18_;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = dir;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = g_file_get_path (_tmp20_);
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = _tmp21_;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = err;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), job, _tmp17_, _tmp19_, _tmp22_, _tmp23_, IMPORT_RESULT_FILE_ERROR);
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp22_);
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp19_);
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 12902 "BatchImport.c"
		}
		__finally427:
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12915 "BatchImport.c"
		}
#line 1566 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (dir);
#line 12919 "BatchImport.c"
	} else {
		gboolean _tmp24_;
		gboolean _tmp31_ = FALSE;
		gboolean _tmp32_ = FALSE;
		GFile* _tmp33_;
		GeeList* _tmp37_;
		FileToPrepare* _tmp38_;
		FileToPrepare* _tmp39_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = determined_size;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp24_) {
#line 12932 "BatchImport.c"
			guint64 _tmp25_ = 0ULL;
			GFile* _tmp26_;
			GCancellable* _tmp27_;
			GCancellable* _tmp28_;
			guint64 _tmp29_;
			guint64 _tmp30_;
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = file_or_dir;
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = _tmp27_;
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = query_total_file_size (_tmp26_, _tmp28_, &_inner_error_);
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp28_);
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = _tmp29_;
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_propagate_error (error, _inner_error_);
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (file_or_dir);
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 12959 "BatchImport.c"
			}
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = self->total_bytes;
#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->total_bytes = _tmp30_ + _tmp25_;
#line 12965 "BatchImport.c"
		}
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp33_ = file_or_dir;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp33_ != NULL) {
#line 12971 "BatchImport.c"
			GeeHashSet* _tmp34_;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = self->priv->skipset;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = _tmp34_ != NULL;
#line 12977 "BatchImport.c"
		} else {
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = FALSE;
#line 12981 "BatchImport.c"
		}
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp32_) {
#line 12985 "BatchImport.c"
			GeeHashSet* _tmp35_;
			GFile* _tmp36_;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = self->priv->skipset;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = file_or_dir;
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp36_);
#line 12994 "BatchImport.c"
		} else {
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = FALSE;
#line 12998 "BatchImport.c"
		}
#line 1591 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp31_) {
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 13006 "BatchImport.c"
		}
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp37_ = self->files_to_prepare;
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp38_ = file_to_prepare_new (job, NULL, TRUE);
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp39_ = _tmp38_;
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection), _tmp39_);
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_unref0 (_tmp39_);
#line 13018 "BatchImport.c"
	}
#line 1559 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (file_or_dir);
#line 13022 "BatchImport.c"
}


void
work_sniffer_search_dir (WorkSniffer* self,
                         BatchImportJob* job,
                         GFile* dir,
                         gboolean copy_to_library,
                         gboolean recurse,
                         GError** error)
{
	GFileEnumerator* enumerator = NULL;
	GFileEnumerator* _tmp0_;
	GFileInfo* info = NULL;
	GError * _inner_error_ = NULL;
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_WORK_SNIFFER (self));
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_IS_FILE (dir));
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = g_file_enumerate_children (dir, "standard::*", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_);
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
	enumerator = _tmp0_;
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_propagate_error (error, _inner_error_);
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 13054 "BatchImport.c"
	}
#line 1603 "/home/jens/Source/shotwell/src/BatchImport.vala"
	info = NULL;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 13060 "BatchImport.c"
		GFileInfo* _tmp1_ = NULL;
		GFileEnumerator* _tmp2_;
		GCancellable* _tmp3_;
		GCancellable* _tmp4_;
		GFileInfo* _tmp5_;
		GFileInfo* _tmp6_;
		GFileInfo* _tmp7_;
		GFileInfo* _tmp8_;
		GFile* child = NULL;
		GFileInfo* _tmp9_;
		const gchar* _tmp10_;
		GFile* _tmp11_;
		GFileType file_type = 0;
		GFileInfo* _tmp12_;
		GFileType _tmp13_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = enumerator;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp3_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = g_file_enumerator_next_file (_tmp2_, _tmp4_, &_inner_error_);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp4_);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _tmp6_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (info);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (enumerator);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 13100 "BatchImport.c"
		}
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp1_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = NULL;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (info);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		info = _tmp7_;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = info;
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!(_tmp8_ != NULL)) {
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp1_);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 13118 "BatchImport.c"
		}
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob))) {
#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp1_);
#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 13126 "BatchImport.c"
		}
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = info;
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = g_file_info_get_name (_tmp9_);
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = g_file_get_child (dir, _tmp10_);
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		child = _tmp11_;
#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = info;
#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_type = g_file_info_get_file_type (_tmp12_);
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = file_type;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp13_ == G_FILE_TYPE_DIRECTORY) {
#line 13144 "BatchImport.c"
			GFileInfo* _tmp14_;
			const gchar* _tmp15_;
#line 1613 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!recurse) {
#line 1614 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (child);
#line 1614 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp1_);
#line 1614 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 13155 "BatchImport.c"
			}
#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = info;
#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = g_file_info_get_name (_tmp14_);
#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (g_str_has_prefix (_tmp15_, ".")) {
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (child);
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp1_);
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 13169 "BatchImport.c"
			}
			{
				GFile* _tmp16_;
#line 1620 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = child;
#line 1620 "/home/jens/Source/shotwell/src/BatchImport.vala"
				work_sniffer_search_dir (self, job, _tmp16_, copy_to_library, recurse, &_inner_error_);
#line 1620 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 13179 "BatchImport.c"
					goto __catch428_g_error;
				}
			}
			goto __finally428;
			__catch428_g_error:
			{
				GError* err = NULL;
				GFile* _tmp17_;
				GFile* _tmp18_;
				gchar* _tmp19_;
				gchar* _tmp20_;
				GFile* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				GError* _tmp24_;
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = child;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = child;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = g_file_get_path (_tmp18_);
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _tmp19_;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = child;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = g_file_get_path (_tmp21_);
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = _tmp22_;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = err;
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), job, _tmp17_, _tmp20_, _tmp23_, _tmp24_, IMPORT_RESULT_FILE_ERROR);
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp23_);
#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp20_);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 13223 "BatchImport.c"
			}
			__finally428:
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_propagate_error (error, _inner_error_);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (child);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp1_);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (info);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (enumerator);
#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 13240 "BatchImport.c"
			}
		} else {
			GFileType _tmp25_;
#line 1625 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = file_type;
#line 1625 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp25_ == G_FILE_TYPE_REGULAR) {
#line 13248 "BatchImport.c"
				gboolean _tmp26_ = FALSE;
				GeeHashSet* _tmp27_;
				gboolean _tmp30_ = FALSE;
				gboolean _tmp31_ = FALSE;
				GFile* _tmp32_;
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp27_ = self->priv->skipset;
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp27_ != NULL) {
#line 13258 "BatchImport.c"
					GeeHashSet* _tmp28_;
					GFile* _tmp29_;
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp28_ = self->priv->skipset;
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp29_ = child;
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp26_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_);
#line 13267 "BatchImport.c"
				} else {
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp26_ = FALSE;
#line 13271 "BatchImport.c"
				}
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp26_) {
#line 1627 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (child);
#line 1627 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_tmp1_);
#line 1627 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 13281 "BatchImport.c"
				}
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = child;
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (photo_is_file_image (_tmp32_)) {
#line 13287 "BatchImport.c"
					GFile* _tmp33_;
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp33_ = child;
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp31_ = photo_file_format_is_file_supported (_tmp33_);
#line 13293 "BatchImport.c"
				} else {
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp31_ = FALSE;
#line 13297 "BatchImport.c"
				}
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp31_) {
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp30_ = TRUE;
#line 13303 "BatchImport.c"
				} else {
					GFile* _tmp34_;
#line 1630 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp34_ = child;
#line 1630 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp30_ = video_reader_is_supported_video_file (_tmp34_);
#line 13310 "BatchImport.c"
				}
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp30_) {
#line 13314 "BatchImport.c"
					guint64 _tmp35_;
					GFileInfo* _tmp36_;
					GeeList* _tmp37_;
					GFile* _tmp38_;
					FileToPrepare* _tmp39_;
					FileToPrepare* _tmp40_;
#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp35_ = self->total_bytes;
#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp36_ = info;
#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala"
					self->total_bytes = _tmp35_ + g_file_info_get_size (_tmp36_);
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp37_ = self->files_to_prepare;
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp38_ = child;
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp39_ = file_to_prepare_new (job, _tmp38_, copy_to_library);
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp40_ = _tmp39_;
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection), _tmp40_);
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (_tmp40_);
#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (child);
#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_tmp1_);
#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 13345 "BatchImport.c"
				}
			} else {
				GFile* _tmp41_;
				gchar* _tmp42_;
				gchar* _tmp43_;
				GFileType _tmp44_;
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = child;
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = g_file_get_path (_tmp41_);
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp43_ = _tmp42_;
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp44_ = file_type;
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:1637: Ignoring import of %s file type %d", _tmp43_, (gint) _tmp44_);
#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp43_);
#line 13364 "BatchImport.c"
			}
		}
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (child);
#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp1_);
#line 13371 "BatchImport.c"
	}
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (info);
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (enumerator);
#line 13377 "BatchImport.c"
}


static void
work_sniffer_class_init (WorkSnifferClass * klass)
{
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	work_sniffer_parent_class = g_type_class_peek_parent (klass);
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->finalize = work_sniffer_finalize;
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (WorkSnifferPrivate));
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->execute = (void (*) (BackgroundJob *)) work_sniffer_real_execute;
#line 13392 "BatchImport.c"
}


static void
work_sniffer_instance_init (WorkSniffer * self)
{
	GeeArrayList* _tmp0_;
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = WORK_SNIFFER_GET_PRIVATE (self);
#line 1461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = gee_array_list_new (TYPE_FILE_TO_PREPARE, (GBoxedCopyFunc) file_to_prepare_ref, (GDestroyNotify) file_to_prepare_unref, NULL, NULL, NULL);
#line 1461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->files_to_prepare = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->total_bytes = (guint64) 0;
#line 13408 "BatchImport.c"
}


static void
work_sniffer_finalize (BackgroundJob * obj)
{
	WorkSniffer * self;
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_WORK_SNIFFER, WorkSniffer);
#line 1461 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->files_to_prepare);
#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 1460 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (work_sniffer_parent_class)->finalize (obj);
#line 13426 "BatchImport.c"
}


GType
work_sniffer_get_type (void)
{
	static volatile gsize work_sniffer_type_id__volatile = 0;
	if (g_once_init_enter (&work_sniffer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (WorkSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) work_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WorkSniffer), 0, (GInstanceInitFunc) work_sniffer_instance_init, NULL };
		GType work_sniffer_type_id;
		work_sniffer_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "WorkSniffer", &g_define_type_info, 0);
		g_once_init_leave (&work_sniffer_type_id__volatile, work_sniffer_type_id);
	}
	return work_sniffer_type_id__volatile;
}


PreparedFile*
prepared_file_construct (GType object_type,
                         BatchImportJob* job,
                         GFile* file,
                         GFile* associated_file,
                         const gchar* source_id,
                         const gchar* dest_id,
                         gboolean copy_to_library,
                         const gchar* exif_md5,
                         const gchar* thumbnail_md5,
                         const gchar* full_md5,
                         PhotoFileFormat file_format,
                         guint64 filesize,
                         gboolean is_video)
{
	PreparedFile* self = NULL;
	BatchImportJob* _tmp0_;
	GFile* _tmp1_;
	GFile* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), NULL);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), NULL);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (source_id != NULL, NULL);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_id != NULL, NULL);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PreparedFile*) g_type_create_instance (object_type);
#line 1661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _batch_import_job_ref0 (job);
#line 1661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1661 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp0_;
#line 1662 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = IMPORT_RESULT_SUCCESS;
#line 1663 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (file);
#line 1663 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1663 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp1_;
#line 1664 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _g_object_ref0 (associated_file);
#line 1664 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->associated_file);
#line 1664 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->associated_file = _tmp2_;
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = g_strdup (source_id);
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->source_id);
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->source_id = _tmp3_;
#line 1666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = g_strdup (dest_id);
#line 1666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_id);
#line 1666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_id = _tmp4_;
#line 1667 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->copy_to_library = copy_to_library;
#line 1668 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_strdup (exif_md5);
#line 1668 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->exif_md5);
#line 1668 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->exif_md5 = _tmp5_;
#line 1669 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = g_strdup (thumbnail_md5);
#line 1669 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->thumbnail_md5);
#line 1669 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->thumbnail_md5 = _tmp6_;
#line 1670 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = g_strdup (full_md5);
#line 1670 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->full_md5);
#line 1670 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->full_md5 = _tmp7_;
#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file_format = file_format;
#line 1672 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->filesize = filesize;
#line 1673 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->is_video = is_video;
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 13540 "BatchImport.c"
}


PreparedFile*
prepared_file_new (BatchImportJob* job,
                   GFile* file,
                   GFile* associated_file,
                   const gchar* source_id,
                   const gchar* dest_id,
                   gboolean copy_to_library,
                   const gchar* exif_md5,
                   const gchar* thumbnail_md5,
                   const gchar* full_md5,
                   PhotoFileFormat file_format,
                   guint64 filesize,
                   gboolean is_video)
{
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return prepared_file_construct (TYPE_PREPARED_FILE, job, file, associated_file, source_id, dest_id, copy_to_library, exif_md5, thumbnail_md5, full_md5, file_format, filesize, is_video);
#line 13560 "BatchImport.c"
}


static void
value_prepared_file_init (GValue* value)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 13569 "BatchImport.c"
}


static void
value_prepared_file_free_value (GValue* value)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_unref (value->data[0].v_pointer);
#line 13580 "BatchImport.c"
	}
}


static void
value_prepared_file_copy_value (const GValue* src_value,
                                GValue* dest_value)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = prepared_file_ref (src_value->data[0].v_pointer);
#line 13593 "BatchImport.c"
	} else {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 13597 "BatchImport.c"
	}
}


static gpointer
value_prepared_file_peek_pointer (const GValue* value)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 13607 "BatchImport.c"
}


static gchar*
value_prepared_file_collect_value (GValue* value,
                                   guint n_collect_values,
                                   GTypeCValue* collect_values,
                                   guint collect_flags)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 13619 "BatchImport.c"
		PreparedFile * object;
		object = collect_values[0].v_pointer;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 13626 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.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 13630 "BatchImport.c"
		}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = prepared_file_ref (object);
#line 13634 "BatchImport.c"
	} else {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 13638 "BatchImport.c"
	}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 13642 "BatchImport.c"
}


static gchar*
value_prepared_file_lcopy_value (const GValue* value,
                                 guint n_collect_values,
                                 GTypeCValue* collect_values,
                                 guint collect_flags)
{
	PreparedFile ** object_p;
	object_p = collect_values[0].v_pointer;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 13658 "BatchImport.c"
	}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 13664 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 13668 "BatchImport.c"
	} else {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = prepared_file_ref (value->data[0].v_pointer);
#line 13672 "BatchImport.c"
	}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 13676 "BatchImport.c"
}


GParamSpec*
param_spec_prepared_file (const gchar* name,
                          const gchar* nick,
                          const gchar* blurb,
                          GType object_type,
                          GParamFlags flags)
{
	ParamSpecPreparedFile* spec;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_PREPARED_FILE), NULL);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 13696 "BatchImport.c"
}


gpointer
value_get_prepared_file (const GValue* value)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE), NULL);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 13707 "BatchImport.c"
}


void
value_set_prepared_file (GValue* value,
                         gpointer v_object)
{
	PreparedFile * old;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_ref (value->data[0].v_pointer);
#line 13730 "BatchImport.c"
	} else {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 13734 "BatchImport.c"
	}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_unref (old);
#line 13740 "BatchImport.c"
	}
}


void
value_take_prepared_file (GValue* value,
                          gpointer v_object)
{
	PreparedFile * old;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 13762 "BatchImport.c"
	} else {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 13766 "BatchImport.c"
	}
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_unref (old);
#line 13772 "BatchImport.c"
	}
}


static void
prepared_file_class_init (PreparedFileClass * klass)
{
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepared_file_parent_class = g_type_class_peek_parent (klass);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((PreparedFileClass *) klass)->finalize = prepared_file_finalize;
#line 13784 "BatchImport.c"
}


static void
prepared_file_instance_init (PreparedFile * self)
{
#line 1647 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->associated_file = NULL;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 13795 "BatchImport.c"
}


static void
prepared_file_finalize (PreparedFile * obj)
{
	PreparedFile * self;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE, PreparedFile);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1647 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->associated_file);
#line 1648 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->source_id);
#line 1649 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_id);
#line 1651 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->exif_md5);
#line 1652 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->thumbnail_md5);
#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->full_md5);
#line 13823 "BatchImport.c"
}


GType
prepared_file_get_type (void)
{
	static volatile gsize prepared_file_type_id__volatile = 0;
	if (g_once_init_enter (&prepared_file_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_prepared_file_init, value_prepared_file_free_value, value_prepared_file_copy_value, value_prepared_file_peek_pointer, "p", value_prepared_file_collect_value, "p", value_prepared_file_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PreparedFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFile), 0, (GInstanceInitFunc) prepared_file_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 prepared_file_type_id;
		prepared_file_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PreparedFile", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&prepared_file_type_id__volatile, prepared_file_type_id);
	}
	return prepared_file_type_id__volatile;
}


gpointer
prepared_file_ref (gpointer instance)
{
	PreparedFile * self;
	self = instance;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 13852 "BatchImport.c"
}


void
prepared_file_unref (gpointer instance)
{
	PreparedFile * self;
	self = instance;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		PREPARED_FILE_GET_CLASS (self)->finalize (self);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 13867 "BatchImport.c"
	}
}


PreparedFileCluster*
prepared_file_cluster_construct (GType object_type,
                                 GeeArrayList* list)
{
	PreparedFileCluster* self = NULL;
	GeeArrayList* _tmp0_;
#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_ARRAY_LIST (list), NULL);
#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PreparedFileCluster*) interlocked_notification_object_construct (object_type);
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (list);
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->list);
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->list = _tmp0_;
#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 13890 "BatchImport.c"
}


PreparedFileCluster*
prepared_file_cluster_new (GeeArrayList* list)
{
#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return prepared_file_cluster_construct (TYPE_PREPARED_FILE_CLUSTER, list);
#line 13899 "BatchImport.c"
}


static void
prepared_file_cluster_class_init (PreparedFileClusterClass * klass)
{
#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepared_file_cluster_parent_class = g_type_class_peek_parent (klass);
#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((NotificationObjectClass *) klass)->finalize = prepared_file_cluster_finalize;
#line 13910 "BatchImport.c"
}


static void
prepared_file_cluster_instance_init (PreparedFileCluster * self)
{
}


static void
prepared_file_cluster_finalize (NotificationObject * obj)
{
	PreparedFileCluster * self;
#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster);
#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->list);
#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala"
	NOTIFICATION_OBJECT_CLASS (prepared_file_cluster_parent_class)->finalize (obj);
#line 13930 "BatchImport.c"
}


GType
prepared_file_cluster_get_type (void)
{
	static volatile gsize prepared_file_cluster_type_id__volatile = 0;
	if (g_once_init_enter (&prepared_file_cluster_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PreparedFileClusterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_cluster_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFileCluster), 0, (GInstanceInitFunc) prepared_file_cluster_instance_init, NULL };
		GType prepared_file_cluster_type_id;
		prepared_file_cluster_type_id = g_type_register_static (TYPE_INTERLOCKED_NOTIFICATION_OBJECT, "PreparedFileCluster", &g_define_type_info, 0);
		g_once_init_leave (&prepared_file_cluster_type_id__volatile, prepared_file_cluster_type_id);
	}
	return prepared_file_cluster_type_id__volatile;
}


PrepareFilesJob*
prepare_files_job_construct (GType object_type,
                             BatchImport* owner,
                             GeeList* files_to_prepare,
                             NotificationCallback notification,
                             void* notification_target,
                             CompletionCallback callback,
                             void* callback_target,
                             GCancellable* cancellable,
                             CancellationCallback cancellation,
                             void* cancellation_target)
{
	PrepareFilesJob* self = NULL;
	GeeList* _tmp0_;
	GFile* _tmp1_;
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_LIST (files_to_prepare), NULL);
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1701 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PrepareFilesJob*) background_import_job_construct (object_type, owner, callback, callback_target, cancellable, cancellation, cancellation_target);
#line 1703 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (files_to_prepare);
#line 1703 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->files_to_prepare);
#line 1703 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->files_to_prepare = _tmp0_;
#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->notification = notification;
#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->notification_target = notification_target;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = app_dirs_get_import_dir ();
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->library_dir);
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->library_dir = _tmp1_;
#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->fail_every = prepare_files_job_get_test_variable ("SHOTWELL_FAIL_EVERY");
#line 1707 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skip_every = prepare_files_job_get_test_variable ("SHOTWELL_SKIP_EVERY");
#line 1709 "/home/jens/Source/shotwell/src/BatchImport.vala"
	background_job_set_notification_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW);
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 13995 "BatchImport.c"
}


PrepareFilesJob*
prepare_files_job_new (BatchImport* owner,
                       GeeList* files_to_prepare,
                       NotificationCallback notification,
                       void* notification_target,
                       CompletionCallback callback,
                       void* callback_target,
                       GCancellable* cancellable,
                       CancellationCallback cancellation,
                       void* cancellation_target)
{
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return prepare_files_job_construct (TYPE_PREPARE_FILES_JOB, owner, files_to_prepare, notification, notification_target, callback, callback_target, cancellable, cancellation, cancellation_target);
#line 14012 "BatchImport.c"
}


static gint
prepare_files_job_get_test_variable (const gchar* name)
{
	gint result = 0;
	gchar* value = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gint _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	const gchar* _tmp4_;
#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (name != NULL, 0);
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = g_getenv (name);
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value = _tmp1_;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = value;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_ == NULL) {
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = TRUE;
#line 14040 "BatchImport.c"
	} else {
		const gchar* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = value;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = strlen (_tmp5_);
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp7_ == 0;
#line 14053 "BatchImport.c"
	}
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_) {
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = 0;
#line 14059 "BatchImport.c"
	} else {
		const gchar* _tmp8_;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = value;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = atoi (_tmp8_);
#line 14066 "BatchImport.c"
	}
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp2_;
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (value);
#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 14074 "BatchImport.c"
}


static void
prepare_files_job_real_execute (BackgroundJob* base)
{
	PrepareFilesJob * self;
	GTimer* timer = NULL;
	GTimer* _tmp0_;
	GeeArrayList* list = NULL;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp89_;
	gint _tmp90_;
	gint _tmp91_;
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARE_FILES_JOB, PrepareFilesJob);
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = g_timer_new ();
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
	timer = _tmp0_;
#line 1721 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_array_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, (GDestroyNotify) prepared_file_unref, NULL, NULL, NULL);
#line 1721 "/home/jens/Source/shotwell/src/BatchImport.vala"
	list = _tmp1_;
#line 14099 "BatchImport.c"
	{
		GeeList* _file_to_prepare_list = NULL;
		GeeList* _tmp2_;
		GeeList* _tmp3_;
		gint _file_to_prepare_size = 0;
		GeeList* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		gint _file_to_prepare_index = 0;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->files_to_prepare;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_list = _tmp3_;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _file_to_prepare_list;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_size = _tmp6_;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_index = -1;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 14127 "BatchImport.c"
			gint _tmp7_;
			gint _tmp8_;
			gint _tmp9_;
			FileToPrepare* file_to_prepare = NULL;
			GeeList* _tmp10_;
			gint _tmp11_;
			gpointer _tmp12_;
			ImportResult _result_ = 0;
			ImportResult _tmp13_;
			BatchImportJob* job = NULL;
			FileToPrepare* _tmp25_;
			BatchImportJob* _tmp26_;
			BatchImportJob* _tmp27_;
			GFile* file = NULL;
			FileToPrepare* _tmp28_;
			GFile* _tmp29_;
			GFile* _tmp30_;
			GFile* _tmp31_ = NULL;
			FileToPrepare* _tmp32_;
			FileToPrepare* _tmp33_;
			GFile* associated = NULL;
			GFile* _tmp37_;
			gboolean copy_to_library = FALSE;
			FileToPrepare* _tmp38_;
			gboolean _tmp39_;
			GFile* _tmp40_;
			gboolean _tmp45_ = FALSE;
			GFile* _tmp46_;
			PreparedFile* prepared_file = NULL;
			BatchImportJob* _tmp54_;
			GFile* _tmp55_;
			GFile* _tmp56_;
			gboolean _tmp57_;
			PreparedFile* _tmp58_ = NULL;
			ImportResult _tmp59_;
			ImportResult _tmp60_;
			gboolean _tmp73_ = FALSE;
			GeeArrayList* _tmp74_;
			gint _tmp75_;
			gint _tmp76_;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _file_to_prepare_index;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_index = _tmp7_ + 1;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = _file_to_prepare_index;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = _file_to_prepare_size;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp8_ < _tmp9_)) {
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 14180 "BatchImport.c"
			}
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _file_to_prepare_list;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _file_to_prepare_index;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = gee_list_get (_tmp10_, _tmp11_);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			file_to_prepare = (FileToPrepare*) _tmp12_;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1724 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _result_;
#line 1724 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp13_ != IMPORT_RESULT_SUCCESS) {
#line 14196 "BatchImport.c"
				FileToPrepare* _tmp14_;
				BatchImportJob* _tmp15_;
				FileToPrepare* _tmp16_;
				BatchImportJob* _tmp17_;
				gchar* _tmp18_;
				gchar* _tmp19_;
				FileToPrepare* _tmp20_;
				BatchImportJob* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				ImportResult _tmp24_;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = file_to_prepare;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = _tmp14_->job;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = file_to_prepare;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = _tmp16_->job;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = batch_import_job_get_dest_identifier (_tmp17_);
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = _tmp18_;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = file_to_prepare;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = _tmp20_->job;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = batch_import_job_get_source_identifier (_tmp21_);
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = _tmp22_;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = _result_;
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp15_, NULL, _tmp19_, _tmp23_, _tmp24_);
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp23_);
#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp19_);
#line 1728 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_file_to_prepare_unref0 (file_to_prepare);
#line 1728 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 14240 "BatchImport.c"
			}
#line 1731 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = file_to_prepare;
#line 1731 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = _tmp25_->job;
#line 1731 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _batch_import_job_ref0 (_tmp26_);
#line 1731 "/home/jens/Source/shotwell/src/BatchImport.vala"
			job = _tmp27_;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = file_to_prepare;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = _tmp28_->file;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _g_object_ref0 (_tmp29_);
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
			file = _tmp30_;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = file_to_prepare;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _tmp32_->associated;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp33_ != NULL) {
#line 14264 "BatchImport.c"
				FileToPrepare* _tmp34_;
				FileToPrepare* _tmp35_;
				GFile* _tmp36_;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = file_to_prepare;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = _tmp34_->associated;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = _tmp35_->file;
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = _tmp36_;
#line 14276 "BatchImport.c"
			} else {
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = NULL;
#line 14280 "BatchImport.c"
			}
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = _g_object_ref0 (_tmp31_);
#line 1733 "/home/jens/Source/shotwell/src/BatchImport.vala"
			associated = _tmp37_;
#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = file_to_prepare;
#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = _tmp38_->copy_to_library;
#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala"
			copy_to_library = _tmp39_;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = file;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp40_ == NULL) {
#line 14296 "BatchImport.c"
				BatchImportJob* _tmp41_;
				GFile* _tmp42_ = NULL;
				gboolean _tmp43_ = FALSE;
				gboolean _tmp44_;
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = job;
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp44_ = prepare_files_job_create_file (self, _tmp41_, &_tmp42_, &_tmp43_);
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (file);
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				file = _tmp42_;
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				copy_to_library = _tmp43_;
#line 1738 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!_tmp44_) {
#line 1739 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (associated);
#line 1739 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (file);
#line 1739 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_job_unref0 (job);
#line 1739 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (file_to_prepare);
#line 1739 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 14323 "BatchImport.c"
				}
			}
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = associated;
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp46_ == NULL) {
#line 14330 "BatchImport.c"
				FileToPrepare* _tmp47_;
				FileToPrepare* _tmp48_;
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp47_ = file_to_prepare;
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = _tmp47_->associated;
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = _tmp48_ != NULL;
#line 14339 "BatchImport.c"
			} else {
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = FALSE;
#line 14343 "BatchImport.c"
			}
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp45_) {
#line 14347 "BatchImport.c"
				FileToPrepare* _tmp49_;
				FileToPrepare* _tmp50_;
				BatchImportJob* _tmp51_;
				GFile* _tmp52_ = NULL;
				gboolean _tmp53_ = FALSE;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp49_ = file_to_prepare;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = _tmp49_->associated;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = _tmp50_->job;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				prepare_files_job_create_file (self, _tmp51_, &_tmp52_, &_tmp53_);
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (associated);
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				associated = _tmp52_;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				copy_to_library = _tmp53_;
#line 14367 "BatchImport.c"
			}
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp54_ = job;
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55_ = file;
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp56_ = associated;
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp57_ = copy_to_library;
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp59_ = prepare_files_job_prepare_file (self, _tmp54_, _tmp55_, _tmp56_, _tmp57_, &_tmp58_);
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			prepared_file = _tmp58_;
#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = _tmp59_;
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp60_ = _result_;
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp60_ == IMPORT_RESULT_SUCCESS) {
#line 14389 "BatchImport.c"
				gint _tmp61_;
				GeeArrayList* _tmp62_;
				PreparedFile* _tmp63_;
#line 1749 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = self->prepared_files;
#line 1749 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->prepared_files = _tmp61_ + 1;
#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = list;
#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = prepared_file;
#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp63_);
#line 14403 "BatchImport.c"
			} else {
				BatchImportJob* _tmp64_;
				GFile* _tmp65_;
				BatchImportJob* _tmp66_;
				gchar* _tmp67_;
				gchar* _tmp68_;
				GFile* _tmp69_;
				gchar* _tmp70_;
				gchar* _tmp71_;
				ImportResult _tmp72_;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = job;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = file;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66_ = job;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67_ = batch_import_job_get_source_identifier (_tmp66_);
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp68_ = _tmp67_;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp69_ = file;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp70_ = g_file_get_path (_tmp69_);
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp71_ = _tmp70_;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp72_ = _result_;
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp64_, _tmp65_, _tmp68_, _tmp71_, _tmp72_);
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp71_);
#line 1752 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp68_);
#line 14438 "BatchImport.c"
			}
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp74_ = list;
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp75_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp76_ = _tmp75_;
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp76_ >= BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES) {
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp73_ = TRUE;
#line 14450 "BatchImport.c"
			} else {
				gboolean _tmp77_ = FALSE;
				GTimer* _tmp78_;
				gdouble _tmp79_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp78_ = timer;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp79_ = g_timer_elapsed (_tmp78_, NULL);
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if ((_tmp79_ * 1000.0) > ((gdouble) BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC)) {
#line 14461 "BatchImport.c"
					GeeArrayList* _tmp80_;
					gint _tmp81_;
					gint _tmp82_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp80_ = list;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp81_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp82_ = _tmp81_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp77_ = _tmp82_ > 0;
#line 14473 "BatchImport.c"
				} else {
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp77_ = FALSE;
#line 14477 "BatchImport.c"
				}
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp73_ = _tmp77_;
#line 14481 "BatchImport.c"
			}
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp73_) {
#line 14485 "BatchImport.c"
				PreparedFileCluster* cluster = NULL;
				GeeArrayList* _tmp83_;
				PreparedFileCluster* _tmp84_;
				GeeArrayList* _tmp85_;
				NotificationCallback _tmp86_;
				void* _tmp86__target;
				PreparedFileCluster* _tmp87_;
				GTimer* _tmp88_;
#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp83_ = list;
#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp84_ = prepared_file_cluster_new (_tmp83_);
#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala"
				cluster = _tmp84_;
#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp85_ = gee_array_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, (GDestroyNotify) prepared_file_unref, NULL, NULL, NULL);
#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (list);
#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala"
				list = _tmp85_;
#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp86_ = self->priv->notification;
#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp86__target = self->priv->notification_target;
#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp87_ = cluster;
#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp86_, _tmp86__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, TYPE_NOTIFICATION_OBJECT, NotificationObject));
#line 1764 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp88_ = timer;
#line 1764 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_timer_start (_tmp88_);
#line 1756 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_notification_object_unref0 (cluster);
#line 14520 "BatchImport.c"
			}
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (associated);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_job_unref0 (job);
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_unref0 (file_to_prepare);
#line 14532 "BatchImport.c"
		}
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_file_to_prepare_list);
#line 14536 "BatchImport.c"
	}
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp89_ = list;
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp90_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp89_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp91_ = _tmp90_;
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp91_ > 0) {
#line 14546 "BatchImport.c"
		ImportResult _result_ = 0;
		ImportResult _tmp92_;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp92_ = _result_;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp92_ == IMPORT_RESULT_SUCCESS) {
#line 14555 "BatchImport.c"
			NotificationCallback _tmp93_;
			void* _tmp93__target;
			GeeArrayList* _tmp94_;
			PreparedFileCluster* _tmp95_;
			PreparedFileCluster* _tmp96_;
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93_ = self->priv->notification;
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93__target = self->priv->notification_target;
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp94_ = list;
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = prepared_file_cluster_new (_tmp94_);
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp96_ = _tmp95_;
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp93_, _tmp93__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, TYPE_NOTIFICATION_OBJECT, NotificationObject));
#line 1771 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_notification_object_unref0 (_tmp96_);
#line 14575 "BatchImport.c"
		} else {
			gint _tmp97_;
			GeeArrayList* _tmp98_;
			gint _tmp99_;
			gint _tmp100_;
			gint _tmp101_;
			GeeArrayList* _tmp102_;
			gint _tmp103_;
			gint _tmp104_;
#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp97_ = self->prepared_files;
#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp98_ = list;
#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp99_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp98_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp100_ = _tmp99_;
#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_vala_assert (_tmp97_ >= _tmp100_, "prepared_files >= list.size");
#line 1775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp101_ = self->prepared_files;
#line 1775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp102_ = list;
#line 1775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp103_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp104_ = _tmp103_;
#line 1775 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->prepared_files = _tmp101_ - _tmp104_;
#line 14605 "BatchImport.c"
			{
				GeeArrayList* _prepared_file_list = NULL;
				GeeArrayList* _tmp105_;
				GeeArrayList* _tmp106_;
				gint _prepared_file_size = 0;
				GeeArrayList* _tmp107_;
				gint _tmp108_;
				gint _tmp109_;
				gint _prepared_file_index = 0;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp105_ = list;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp106_ = _g_object_ref0 (_tmp105_);
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_list = _tmp106_;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp107_ = _prepared_file_list;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp108_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp109_ = _tmp108_;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_size = _tmp109_;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_index = -1;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				while (TRUE) {
#line 14633 "BatchImport.c"
					gint _tmp110_;
					gint _tmp111_;
					gint _tmp112_;
					PreparedFile* prepared_file = NULL;
					GeeArrayList* _tmp113_;
					gint _tmp114_;
					gpointer _tmp115_;
					PreparedFile* _tmp116_;
					BatchImportJob* _tmp117_;
					PreparedFile* _tmp118_;
					GFile* _tmp119_;
					PreparedFile* _tmp120_;
					BatchImportJob* _tmp121_;
					gchar* _tmp122_;
					gchar* _tmp123_;
					PreparedFile* _tmp124_;
					GFile* _tmp125_;
					gchar* _tmp126_;
					gchar* _tmp127_;
					ImportResult _tmp128_;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp110_ = _prepared_file_index;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_index = _tmp110_ + 1;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp111_ = _prepared_file_index;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp112_ = _prepared_file_size;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (!(_tmp111_ < _tmp112_)) {
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 14666 "BatchImport.c"
					}
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp113_ = _prepared_file_list;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp114_ = _prepared_file_index;
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp115_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp113_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp114_);
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					prepared_file = (PreparedFile*) _tmp115_;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp116_ = prepared_file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp117_ = _tmp116_->job;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp118_ = prepared_file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp119_ = _tmp118_->file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp120_ = prepared_file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp121_ = _tmp120_->job;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp122_ = batch_import_job_get_source_identifier (_tmp121_);
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp123_ = _tmp122_;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp124_ = prepared_file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp125_ = _tmp124_->file;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp126_ = g_file_get_path (_tmp125_);
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp127_ = _tmp126_;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp128_ = _result_;
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp117_, _tmp119_, _tmp123_, _tmp127_, _tmp128_);
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_tmp127_);
#line 1778 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_tmp123_);
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_unref0 (prepared_file);
#line 14710 "BatchImport.c"
				}
#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_prepared_file_list);
#line 14714 "BatchImport.c"
			}
		}
	}
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (list);
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_timer_destroy0 (timer);
#line 14722 "BatchImport.c"
}


static gboolean
prepare_files_job_create_file (PrepareFilesJob* self,
                               BatchImportJob* job,
                               GFile* * file,
                               gboolean* copy_to_library)
{
	GFile* _vala_file = NULL;
	gboolean _vala_copy_to_library = FALSE;
	gboolean result = FALSE;
	GError * _inner_error_ = NULL;
#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), FALSE);
#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), FALSE);
#line 14740 "BatchImport.c"
	{
		gboolean _tmp0_ = FALSE;
		GFile* _tmp1_ = NULL;
		gboolean _tmp2_ = FALSE;
		gboolean _tmp3_;
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = batch_import_job_prepare (job, &_tmp1_, &_tmp2_, &_inner_error_);
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_file = _tmp1_;
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_copy_to_library = _tmp2_;
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14758 "BatchImport.c"
			goto __catch429_g_error;
		}
#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp0_) {
#line 14763 "BatchImport.c"
			gchar* _tmp4_;
			gchar* _tmp5_;
			gchar* _tmp6_;
			gchar* _tmp7_;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = batch_import_job_get_source_identifier (job);
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = _tmp4_;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = batch_import_job_get_dest_identifier (job);
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _tmp6_;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), job, NULL, _tmp5_, _tmp7_, IMPORT_RESULT_FILE_ERROR);
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp7_);
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp5_);
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = FALSE;
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (file) {
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*file = _vala_file;
#line 14788 "BatchImport.c"
			} else {
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_vala_file);
#line 14792 "BatchImport.c"
			}
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (copy_to_library) {
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*copy_to_library = _vala_copy_to_library;
#line 14798 "BatchImport.c"
			}
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 14802 "BatchImport.c"
		}
	}
	goto __finally429;
	__catch429_g_error:
	{
		GError* err = NULL;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		GError* _tmp12_;
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = batch_import_job_get_source_identifier (job);
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_;
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = batch_import_job_get_dest_identifier (job);
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_;
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = err;
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), job, NULL, _tmp9_, _tmp11_, _tmp12_, IMPORT_RESULT_FILE_ERROR);
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp11_);
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp9_);
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (file) {
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*file = _vala_file;
#line 14842 "BatchImport.c"
		} else {
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_vala_file);
#line 14846 "BatchImport.c"
		}
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (copy_to_library) {
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*copy_to_library = _vala_copy_to_library;
#line 14852 "BatchImport.c"
		}
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14856 "BatchImport.c"
	}
	__finally429:
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14861 "BatchImport.c"
		gboolean _tmp13_ = FALSE;
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.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 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return _tmp13_;
#line 14869 "BatchImport.c"
	}
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file) {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file = _vala_file;
#line 14877 "BatchImport.c"
	} else {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 14881 "BatchImport.c"
	}
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (copy_to_library) {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*copy_to_library = _vala_copy_to_library;
#line 14887 "BatchImport.c"
	}
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 14891 "BatchImport.c"
}


static ImportResult
prepare_files_job_prepare_file (PrepareFilesJob* self,
                                BatchImportJob* job,
                                GFile* file,
                                GFile* associated_file,
                                gboolean copy_to_library,
                                PreparedFile* * prepared_file)
{
	PreparedFile* _vala_prepared_file = NULL;
	ImportResult result = 0;
	gboolean is_video = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	gint _tmp8_;
	gchar* exif_only_md5 = NULL;
	gchar* thumbnail_md5 = NULL;
	gchar* full_md5 = NULL;
	PhotoFileFormat file_format = 0;
	gboolean _tmp19_;
	guint64 filesize = 0ULL;
	gboolean is_in_library_dir = FALSE;
	GFile* _tmp50_;
	gboolean _tmp51_ = FALSE;
	gchar* _tmp53_;
	gchar* _tmp54_;
	gchar* _tmp55_;
	gchar* _tmp56_;
	const gchar* _tmp57_;
	const gchar* _tmp58_;
	const gchar* _tmp59_;
	PhotoFileFormat _tmp60_;
	guint64 _tmp61_;
	gboolean _tmp62_;
	PreparedFile* _tmp63_;
	GError * _inner_error_ = NULL;
#line 1804 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), 0);
#line 1804 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), 0);
#line 1804 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), 0);
#line 1804 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), 0);
#line 1806 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (_vala_prepared_file);
#line 1806 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_prepared_file = NULL;
#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala"
	is_video = video_reader_is_supported_video_file (file);
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = is_video;
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp1_) {
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = !photo_is_file_image (file);
#line 14954 "BatchImport.c"
	} else {
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 14958 "BatchImport.c"
	}
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = IMPORT_RESULT_NOT_AN_IMAGE;
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14968 "BatchImport.c"
		} else {
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 14972 "BatchImport.c"
		}
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14976 "BatchImport.c"
	}
#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = is_video;
#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp3_) {
#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = !photo_file_format_is_file_supported (file);
#line 14984 "BatchImport.c"
	} else {
#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = FALSE;
#line 14988 "BatchImport.c"
	}
#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_) {
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = IMPORT_RESULT_UNSUPPORTED_FORMAT;
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14998 "BatchImport.c"
		} else {
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 15002 "BatchImport.c"
		}
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 15006 "BatchImport.c"
	}
#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->import_file_count;
#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_file_count = _tmp4_ + 1;
#line 1819 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = self->priv->fail_every;
#line 1819 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ > 0) {
#line 15016 "BatchImport.c"
		gint _tmp6_;
		gint _tmp7_;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->priv->import_file_count;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->fail_every;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp6_ % _tmp7_) == 0) {
#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_FILE_ERROR;
#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 15031 "BatchImport.c"
			} else {
#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 15035 "BatchImport.c"
			}
#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 15039 "BatchImport.c"
		}
	}
#line 1825 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = self->priv->skip_every;
#line 1825 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp8_ > 0) {
#line 15046 "BatchImport.c"
		gint _tmp9_;
		gint _tmp10_;
#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->priv->import_file_count;
#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = self->priv->skip_every;
#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp9_ % _tmp10_) == 0) {
#line 1827 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_NOT_A_FILE;
#line 1827 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1827 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 15061 "BatchImport.c"
			} else {
#line 1827 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 15065 "BatchImport.c"
			}
#line 1827 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 15069 "BatchImport.c"
		}
	}
#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala"
	exif_only_md5 = NULL;
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
	thumbnail_md5 = NULL;
#line 1832 "/home/jens/Source/shotwell/src/BatchImport.vala"
	full_md5 = NULL;
#line 15078 "BatchImport.c"
	{
		gchar* _tmp11_ = NULL;
		gchar* _tmp12_;
		gchar* _tmp13_;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = md5_file (file, &_inner_error_);
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp12_;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15089 "BatchImport.c"
			goto __catch430_g_error;
		}
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp11_;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = NULL;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		full_md5 = _tmp13_;
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp11_);
#line 15102 "BatchImport.c"
	}
	goto __finally430;
	__catch430_g_error:
	{
		GError* err = NULL;
		gchar* _tmp14_;
		gchar* _tmp15_;
		GError* _tmp16_;
		const gchar* _tmp17_;
		GError* _tmp18_;
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = g_file_get_path (file);
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = err;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_->message;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1840: Unable to perform MD5 checksum on file %s: %s", _tmp15_, _tmp17_);
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp15_);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = err;
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = import_result_convert_error (_tmp18_, IMPORT_RESULT_FILE_ERROR);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 15145 "BatchImport.c"
		} else {
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 15149 "BatchImport.c"
		}
#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 15153 "BatchImport.c"
	}
	__finally430:
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.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 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1834 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return 0;
#line 15170 "BatchImport.c"
	}
#line 1848 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_format = photo_file_format_get_by_file_extension (file);
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = is_video;
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp19_) {
#line 15178 "BatchImport.c"
		PhotoFileFormat _tmp20_;
		PhotoFileReader* reader = NULL;
		PhotoFileFormat _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
		PhotoFileReader* _tmp26_;
		PhotoFileReader* _tmp27_;
		PhotoMetadata* metadata = NULL;
		PhotoMetadata* _tmp36_;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = file_format;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp20_ == PHOTO_FILE_FORMAT_UNKNOWN) {
#line 15192 "BatchImport.c"
			gchar* _tmp21_;
			gchar* _tmp22_;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = g_file_get_path (file);
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = _tmp21_;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1851: Skipping %s: unrecognized file extension", _tmp22_);
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp22_);
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_UNSUPPORTED_FORMAT;
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (full_md5);
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (thumbnail_md5);
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (exif_only_md5);
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 15215 "BatchImport.c"
			} else {
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 15219 "BatchImport.c"
			}
#line 1853 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 15223 "BatchImport.c"
		}
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = file_format;
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = g_file_get_path (file);
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = _tmp24_;
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = photo_file_format_create_reader (_tmp23_, _tmp25_);
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_;
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp25_);
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
		reader = _tmp27_;
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		metadata = NULL;
#line 15241 "BatchImport.c"
		{
			PhotoMetadata* _tmp28_ = NULL;
			PhotoFileReader* _tmp29_;
			PhotoMetadata* _tmp30_;
			PhotoMetadata* _tmp31_;
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = reader;
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = photo_file_reader_read_metadata (_tmp29_, &_inner_error_);
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = _tmp30_;
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15255 "BatchImport.c"
				goto __catch431_g_error;
			}
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = _tmp28_;
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = NULL;
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (metadata);
#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala"
			metadata = _tmp31_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (_tmp28_);
#line 15268 "BatchImport.c"
		}
		goto __finally431;
		__catch431_g_error:
		{
			GError* err = NULL;
			gchar* _tmp32_;
			gchar* _tmp33_;
			GError* _tmp34_;
			const gchar* _tmp35_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = g_file_get_path (file);
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _tmp32_;
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = err;
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = _tmp34_->message;
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1860: Unable to read metadata for %s (%s): continuing" \
" to attempt import", _tmp33_, _tmp35_);
#line 1860 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp33_);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 15296 "BatchImport.c"
		}
		__finally431:
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (metadata);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_photo_file_adapter_unref0 (reader);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (full_md5);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (thumbnail_md5);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (exif_only_md5);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.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 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return 0;
#line 15317 "BatchImport.c"
		}
#line 1864 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp36_ = metadata;
#line 1864 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp36_ != NULL) {
#line 15323 "BatchImport.c"
			PhotoMetadata* _tmp37_;
			gchar* _tmp38_;
			PhotoMetadata* _tmp39_;
			gchar* _tmp40_;
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = metadata;
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = photo_metadata_exif_hash (_tmp37_);
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (exif_only_md5);
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
			exif_only_md5 = _tmp38_;
#line 1866 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = metadata;
#line 1866 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = photo_metadata_thumbnail_hash (_tmp39_);
#line 1866 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (thumbnail_md5);
#line 1866 "/home/jens/Source/shotwell/src/BatchImport.vala"
			thumbnail_md5 = _tmp40_;
#line 15344 "BatchImport.c"
		}
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_media_metadata_unref0 (metadata);
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_photo_file_adapter_unref0 (reader);
#line 15350 "BatchImport.c"
	}
#line 1870 "/home/jens/Source/shotwell/src/BatchImport.vala"
	filesize = (guint64) 0;
#line 15354 "BatchImport.c"
	{
		guint64 _tmp41_ = 0ULL;
		GCancellable* _tmp42_;
		GCancellable* _tmp43_;
		guint64 _tmp44_;
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp42_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp43_ = _tmp42_;
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp44_ = query_total_file_size (file, _tmp43_, &_inner_error_);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp43_);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp41_ = _tmp44_;
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15372 "BatchImport.c"
			goto __catch432_g_error;
		}
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		filesize = _tmp41_;
#line 15377 "BatchImport.c"
	}
	goto __finally432;
	__catch432_g_error:
	{
		GError* err = NULL;
		gchar* _tmp45_;
		gchar* _tmp46_;
		GError* _tmp47_;
		const gchar* _tmp48_;
		GError* _tmp49_;
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp45_ = g_file_get_path (file);
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp46_ = _tmp45_;
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp47_ = err;
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp48_ = _tmp47_->message;
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1874: Unable to query file size of %s: %s", _tmp46_, _tmp48_);
#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp46_);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp49_ = err;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = import_result_convert_error (_tmp49_, IMPORT_RESULT_FILE_ERROR);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 15420 "BatchImport.c"
		} else {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 15424 "BatchImport.c"
		}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 15428 "BatchImport.c"
	}
	__finally432:
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.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 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return 0;
#line 15445 "BatchImport.c"
	}
#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp50_ = self->priv->library_dir;
#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala"
	is_in_library_dir = g_file_has_prefix (file, _tmp50_);
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (copy_to_library) {
#line 15453 "BatchImport.c"
		gboolean _tmp52_;
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = is_in_library_dir;
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = !_tmp52_;
#line 15459 "BatchImport.c"
	} else {
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = FALSE;
#line 15463 "BatchImport.c"
	}
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp53_ = batch_import_job_get_source_identifier (job);
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp54_ = _tmp53_;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp55_ = batch_import_job_get_dest_identifier (job);
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp56_ = _tmp55_;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp57_ = exif_only_md5;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp58_ = thumbnail_md5;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp59_ = full_md5;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp60_ = file_format;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp61_ = filesize;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp62_ = is_video;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp63_ = prepared_file_new (job, file, associated_file, _tmp54_, _tmp56_, _tmp51_, _tmp57_, _tmp58_, _tmp59_, _tmp60_, _tmp61_, _tmp62_);
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (_vala_prepared_file);
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_prepared_file = _tmp63_;
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp56_);
#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp54_);
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = IMPORT_RESULT_SUCCESS;
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (full_md5);
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (thumbnail_md5);
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (exif_only_md5);
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (prepared_file) {
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*prepared_file = _vala_prepared_file;
#line 15507 "BatchImport.c"
	} else {
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_prepared_file_unref0 (_vala_prepared_file);
#line 15511 "BatchImport.c"
	}
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15515 "BatchImport.c"
}


static void
prepare_files_job_class_init (PrepareFilesJobClass * klass)
{
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepare_files_job_parent_class = g_type_class_peek_parent (klass);
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->finalize = prepare_files_job_finalize;
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (PrepareFilesJobPrivate));
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->execute = (void (*) (BackgroundJob *)) prepare_files_job_real_execute;
#line 15530 "BatchImport.c"
}


static void
prepare_files_job_instance_init (PrepareFilesJob * self)
{
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = PREPARE_FILES_JOB_GET_PRIVATE (self);
#line 1687 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->prepared_files = 0;
#line 1694 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_file_count = 0;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->fail_every = 0;
#line 1696 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skip_every = 0;
#line 15547 "BatchImport.c"
}


static void
prepare_files_job_finalize (BackgroundJob * obj)
{
	PrepareFilesJob * self;
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARE_FILES_JOB, PrepareFilesJob);
#line 1689 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->files_to_prepare);
#line 1691 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->library_dir);
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (prepare_files_job_parent_class)->finalize (obj);
#line 15563 "BatchImport.c"
}


GType
prepare_files_job_get_type (void)
{
	static volatile gsize prepare_files_job_type_id__volatile = 0;
	if (g_once_init_enter (&prepare_files_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PrepareFilesJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepare_files_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PrepareFilesJob), 0, (GInstanceInitFunc) prepare_files_job_instance_init, NULL };
		GType prepare_files_job_type_id;
		prepare_files_job_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "PrepareFilesJob", &g_define_type_info, 0);
		g_once_init_leave (&prepare_files_job_type_id__volatile, prepare_files_job_type_id);
	}
	return prepare_files_job_type_id__volatile;
}


static gpointer
_prepared_file_ref0 (gpointer self)
{
#line 1908 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? prepared_file_ref (self) : NULL;
#line 15586 "BatchImport.c"
}


static gpointer
_batch_import_result_ref0 (gpointer self)
{
#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? batch_import_result_ref (self) : NULL;
#line 15595 "BatchImport.c"
}


static gpointer
_video_import_params_ref0 (gpointer self)
{
#line 1910 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? video_import_params_ref (self) : NULL;
#line 15604 "BatchImport.c"
}


static gpointer
_photo_import_params_ref0 (gpointer self)
{
#line 1911 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? photo_import_params_ref (self) : NULL;
#line 15613 "BatchImport.c"
}


ReadyForImport*
ready_for_import_construct (GType object_type,
                            GFile* final_file,
                            PreparedFile* prepared_file,
                            PhotoImportParams* photo_import_params,
                            VideoImportParams* video_import_params,
                            BatchImportResult* batch_result)
{
	ReadyForImport* self = NULL;
	gboolean _tmp0_;
	GFile* _tmp3_;
	PreparedFile* _tmp4_;
	BatchImportResult* _tmp5_;
	VideoImportParams* _tmp6_;
	PhotoImportParams* _tmp7_;
	gboolean _tmp8_;
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (final_file), NULL);
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((photo_import_params == NULL) || IS_PHOTO_IMPORT_PARAMS (photo_import_params), NULL);
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((video_import_params == NULL) || IS_VIDEO_IMPORT_PARAMS (video_import_params), NULL);
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (batch_result), NULL);
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ReadyForImport*) g_type_create_instance (object_type);
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = prepared_file->is_video;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 15649 "BatchImport.c"
		gboolean _tmp1_ = FALSE;
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (video_import_params != NULL) {
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = photo_import_params == NULL;
#line 15655 "BatchImport.c"
		} else {
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = FALSE;
#line 15659 "BatchImport.c"
		}
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp1_, "(video_import_params != null) && (photo_import_params == null)");
#line 15663 "BatchImport.c"
	} else {
		gboolean _tmp2_ = FALSE;
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (video_import_params == NULL) {
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = photo_import_params != NULL;
#line 15670 "BatchImport.c"
		} else {
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = FALSE;
#line 15674 "BatchImport.c"
		}
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp2_, "(video_import_params == null) && (photo_import_params != null)");
#line 15678 "BatchImport.c"
	}
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _g_object_ref0 (final_file);
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->final_file);
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->final_file = _tmp3_;
#line 1908 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _prepared_file_ref0 (prepared_file);
#line 1908 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->prepared_file);
#line 1908 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->prepared_file = _tmp4_;
#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _batch_import_result_ref0 (batch_result);
#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp5_;
#line 1910 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _video_import_params_ref0 (video_import_params);
#line 1910 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (self->video_import_params);
#line 1910 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->video_import_params = _tmp6_;
#line 1911 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _photo_import_params_ref0 (photo_import_params);
#line 1911 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (self->photo_import_params);
#line 1911 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->photo_import_params = _tmp7_;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = prepared_file->is_video;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->is_video = _tmp8_;
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 15716 "BatchImport.c"
}


ReadyForImport*
ready_for_import_new (GFile* final_file,
                      PreparedFile* prepared_file,
                      PhotoImportParams* photo_import_params,
                      VideoImportParams* video_import_params,
                      BatchImportResult* batch_result)
{
#line 1899 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return ready_for_import_construct (TYPE_READY_FOR_IMPORT, final_file, prepared_file, photo_import_params, video_import_params, batch_result);
#line 15729 "BatchImport.c"
}


BatchImportResult*
ready_for_import_abort (ReadyForImport* self)
{
	BatchImportResult* result = NULL;
	gboolean _tmp0_ = FALSE;
	GFile* _tmp1_;
	PreparedFile* _tmp14_;
	BatchImportJob* _tmp15_;
	PreparedFile* _tmp16_;
	GFile* _tmp17_;
	PreparedFile* _tmp18_;
	BatchImportJob* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	PreparedFile* _tmp22_;
	BatchImportJob* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	BatchImportResult* _tmp26_;
	BatchImportResult* _tmp27_;
	BatchImportResult* _tmp28_;
	GError * _inner_error_ = NULL;
#line 1915 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL);
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->final_file;
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 15761 "BatchImport.c"
		GFile* _tmp2_;
		PreparedFile* _tmp3_;
		GFile* _tmp4_;
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->final_file;
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->prepared_file;
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp3_->file;
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp2_ != _tmp4_;
#line 15773 "BatchImport.c"
	} else {
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 15777 "BatchImport.c"
	}
#line 1917 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 15781 "BatchImport.c"
		GFile* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->final_file;
#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = g_file_get_path (_tmp5_);
#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:1918: Deleting aborted import copy %s", _tmp7_);
#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp7_);
#line 15795 "BatchImport.c"
		{
			GFile* _tmp8_;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = self->final_file;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_file_delete (_tmp8_, NULL, &_inner_error_);
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15804 "BatchImport.c"
				goto __catch433_g_error;
			}
		}
		goto __finally433;
		__catch433_g_error:
		{
			GError* err = NULL;
			GFile* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
			GError* _tmp12_;
			const gchar* _tmp13_;
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = self->final_file;
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = g_file_get_path (_tmp9_);
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _tmp10_;
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = err;
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _tmp12_->message;
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1922: Unable to delete copy of imported file (aborted" \
" import) %s: %s", _tmp11_, _tmp13_);
#line 1922 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp11_);
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 15837 "BatchImport.c"
		}
		__finally433:
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.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 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return NULL;
#line 15848 "BatchImport.c"
		}
	}
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = self->prepared_file;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = _tmp14_->job;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = self->prepared_file;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = _tmp16_->file;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = self->prepared_file;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = _tmp18_->job;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp20_ = batch_import_job_get_source_identifier (_tmp19_);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp21_ = _tmp20_;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = self->prepared_file;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = _tmp22_->job;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp24_ = batch_import_job_get_dest_identifier (_tmp23_);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp25_ = _tmp24_;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = batch_import_result_new (_tmp15_, _tmp17_, _tmp21_, _tmp25_, NULL, IMPORT_RESULT_USER_ABORT);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp26_;
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp25_);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp21_);
#line 1931 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp27_ = self->batch_result;
#line 1931 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp28_ = _batch_import_result_ref0 (_tmp27_);
#line 1931 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp28_;
#line 1931 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15893 "BatchImport.c"
}


static gpointer
_thumbnails_ref0 (gpointer self)
{
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? thumbnails_ref (self) : NULL;
#line 15902 "BatchImport.c"
}


Thumbnails*
ready_for_import_get_thumbnails (ReadyForImport* self)
{
	Thumbnails* result = NULL;
	Thumbnails* _tmp0_ = NULL;
	PhotoImportParams* _tmp1_;
	Thumbnails* _tmp6_;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL);
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->photo_import_params;
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 15919 "BatchImport.c"
		PhotoImportParams* _tmp2_;
		Thumbnails* _tmp3_;
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->photo_import_params;
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_->thumbnails;
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 15928 "BatchImport.c"
	} else {
		VideoImportParams* _tmp4_;
		Thumbnails* _tmp5_;
#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->video_import_params;
#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->thumbnails;
#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp5_;
#line 15938 "BatchImport.c"
	}
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _thumbnails_ref0 (_tmp0_);
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp6_;
#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15946 "BatchImport.c"
}


static void
value_ready_for_import_init (GValue* value)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 15955 "BatchImport.c"
}


static void
value_ready_for_import_free_value (GValue* value)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_unref (value->data[0].v_pointer);
#line 15966 "BatchImport.c"
	}
}


static void
value_ready_for_import_copy_value (const GValue* src_value,
                                   GValue* dest_value)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = ready_for_import_ref (src_value->data[0].v_pointer);
#line 15979 "BatchImport.c"
	} else {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 15983 "BatchImport.c"
	}
}


static gpointer
value_ready_for_import_peek_pointer (const GValue* value)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 15993 "BatchImport.c"
}


static gchar*
value_ready_for_import_collect_value (GValue* value,
                                      guint n_collect_values,
                                      GTypeCValue* collect_values,
                                      guint collect_flags)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 16005 "BatchImport.c"
		ReadyForImport * object;
		object = collect_values[0].v_pointer;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 16012 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.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 16016 "BatchImport.c"
		}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = ready_for_import_ref (object);
#line 16020 "BatchImport.c"
	} else {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16024 "BatchImport.c"
	}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 16028 "BatchImport.c"
}


static gchar*
value_ready_for_import_lcopy_value (const GValue* value,
                                    guint n_collect_values,
                                    GTypeCValue* collect_values,
                                    guint collect_flags)
{
	ReadyForImport ** object_p;
	object_p = collect_values[0].v_pointer;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 16044 "BatchImport.c"
	}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 16050 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 16054 "BatchImport.c"
	} else {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = ready_for_import_ref (value->data[0].v_pointer);
#line 16058 "BatchImport.c"
	}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 16062 "BatchImport.c"
}


GParamSpec*
param_spec_ready_for_import (const gchar* name,
                             const gchar* nick,
                             const gchar* blurb,
                             GType object_type,
                             GParamFlags flags)
{
	ParamSpecReadyForImport* spec;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_READY_FOR_IMPORT), NULL);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 16082 "BatchImport.c"
}


gpointer
value_get_ready_for_import (const GValue* value)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT), NULL);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 16093 "BatchImport.c"
}


void
value_set_ready_for_import (GValue* value,
                            gpointer v_object)
{
	ReadyForImport * old;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_ref (value->data[0].v_pointer);
#line 16116 "BatchImport.c"
	} else {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16120 "BatchImport.c"
	}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_unref (old);
#line 16126 "BatchImport.c"
	}
}


void
value_take_ready_for_import (GValue* value,
                             gpointer v_object)
{
	ReadyForImport * old;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 16148 "BatchImport.c"
	} else {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16152 "BatchImport.c"
	}
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_unref (old);
#line 16158 "BatchImport.c"
	}
}


static void
ready_for_import_class_init (ReadyForImportClass * klass)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	ready_for_import_parent_class = g_type_class_peek_parent (klass);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((ReadyForImportClass *) klass)->finalize = ready_for_import_finalize;
#line 16170 "BatchImport.c"
}


static void
ready_for_import_instance_init (ReadyForImport * self)
{
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 16179 "BatchImport.c"
}


static void
ready_for_import_finalize (ReadyForImport * obj)
{
	ReadyForImport * self;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_READY_FOR_IMPORT, ReadyForImport);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1892 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->final_file);
#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->prepared_file);
#line 1894 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (self->photo_import_params);
#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (self->video_import_params);
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 16201 "BatchImport.c"
}


GType
ready_for_import_get_type (void)
{
	static volatile gsize ready_for_import_type_id__volatile = 0;
	if (g_once_init_enter (&ready_for_import_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_ready_for_import_init, value_ready_for_import_free_value, value_ready_for_import_copy_value, value_ready_for_import_peek_pointer, "p", value_ready_for_import_collect_value, "p", value_ready_for_import_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (ReadyForImportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ready_for_import_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ReadyForImport), 0, (GInstanceInitFunc) ready_for_import_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 ready_for_import_type_id;
		ready_for_import_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ReadyForImport", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&ready_for_import_type_id__volatile, ready_for_import_type_id);
	}
	return ready_for_import_type_id__volatile;
}


gpointer
ready_for_import_ref (gpointer instance)
{
	ReadyForImport * self;
	self = instance;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 16230 "BatchImport.c"
}


void
ready_for_import_unref (gpointer instance)
{
	ReadyForImport * self;
	self = instance;
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		READY_FOR_IMPORT_GET_CLASS (self)->finalize (self);
#line 1891 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 16245 "BatchImport.c"
	}
}


PreparedFileImportJob*
prepared_file_import_job_construct (GType object_type,
                                    BatchImport* owner,
                                    PreparedFile* prepared_file,
                                    ImportID* import_id,
                                    CompletionCallback callback,
                                    void* callback_target,
                                    GCancellable* cancellable,
                                    CancellationCallback cancellation,
                                    void* cancellation_target)
{
	PreparedFileImportJob* self = NULL;
	ImportID _tmp0_;
	PreparedFile* _tmp1_;
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (import_id != NULL, NULL);
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1949 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PreparedFileImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (owner, G_TYPE_OBJECT, GObject), callback, callback_target, cancellable, cancellation, cancellation_target, NULL);
#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = *import_id;
#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_id = _tmp0_;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _prepared_file_ref0 (prepared_file);
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->not_ready = _tmp1_;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
	background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW);
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 16288 "BatchImport.c"
}


PreparedFileImportJob*
prepared_file_import_job_new (BatchImport* owner,
                              PreparedFile* prepared_file,
                              ImportID* import_id,
                              CompletionCallback callback,
                              void* callback_target,
                              GCancellable* cancellable,
                              CancellationCallback cancellation,
                              void* cancellation_target)
{
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return prepared_file_import_job_construct (TYPE_PREPARED_FILE_IMPORT_JOB, owner, prepared_file, import_id, callback, callback_target, cancellable, cancellation, cancellation_target);
#line 16304 "BatchImport.c"
}


static void
prepared_file_import_job_real_execute (BackgroundJob* base)
{
	PreparedFileImportJob * self;
	PreparedFile* prepared_file = NULL;
	PreparedFile* _tmp0_;
	PreparedFile* _tmp1_;
	GFile* final_file = NULL;
	PreparedFile* _tmp2_;
	GFile* _tmp3_;
	GFile* _tmp4_;
	GFile* final_associated_file = NULL;
	PreparedFile* _tmp5_;
	GFile* _tmp6_;
	GFile* _tmp7_;
	PreparedFile* _tmp8_;
	gboolean _tmp9_;
	GFile* _tmp51_;
	GFile* _tmp55_;
	gchar* _tmp56_;
	gchar* _tmp57_;
	ImportResult _result_ = 0;
	VideoImportParams* video_import_params = NULL;
	PhotoImportParams* photo_import_params = NULL;
	PreparedFile* _tmp58_;
	gboolean _tmp59_;
	gboolean _tmp83_ = FALSE;
	ImportResult _tmp84_;
	BatchImportResult* batch_result = NULL;
	PreparedFile* _tmp97_;
	BatchImportJob* _tmp98_;
	GFile* _tmp99_;
	GFile* _tmp100_;
	gchar* _tmp101_;
	gchar* _tmp102_;
	GFile* _tmp103_;
	gchar* _tmp104_;
	gchar* _tmp105_;
	ImportResult _tmp106_;
	BatchImportResult* _tmp107_;
	BatchImportResult* _tmp108_;
	BatchImportResult* _tmp109_;
	ImportResult _tmp110_;
	GError * _inner_error_ = NULL;
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->not_ready;
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _prepared_file_ref0 (_tmp0_);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepared_file = _tmp1_;
#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->not_ready = NULL;
#line 1961 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = prepared_file;
#line 1961 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->file;
#line 1961 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 1961 "/home/jens/Source/shotwell/src/BatchImport.vala"
	final_file = _tmp4_;
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = prepared_file;
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_->associated_file;
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _g_object_ref0 (_tmp6_);
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	final_associated_file = _tmp7_;
#line 1964 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = prepared_file;
#line 1964 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _tmp8_->copy_to_library;
#line 1964 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp9_) {
#line 16386 "BatchImport.c"
		{
			GFile* _tmp10_ = NULL;
			PreparedFile* _tmp11_;
			GFile* _tmp12_;
			GFile* _tmp13_;
			GFile* _tmp14_;
			GFile* _tmp15_;
			GFile* _tmp29_;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = prepared_file;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = _tmp11_->file;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = library_files_duplicate (_tmp12_, NULL, NULL, TRUE, &_inner_error_);
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _tmp13_;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 16405 "BatchImport.c"
				goto __catch434_g_error;
			}
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = _tmp10_;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = NULL;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			final_file = _tmp14_;
#line 1968 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = final_file;
#line 1968 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp15_ == NULL) {
#line 16420 "BatchImport.c"
				PreparedFile* _tmp16_;
				BatchImportJob* _tmp17_;
				PreparedFile* _tmp18_;
				GFile* _tmp19_;
				PreparedFile* _tmp20_;
				GFile* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				PreparedFile* _tmp24_;
				GFile* _tmp25_;
				gchar* _tmp26_;
				gchar* _tmp27_;
				BatchImportResult* _tmp28_;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = prepared_file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = _tmp16_->job;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = prepared_file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = _tmp18_->file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = prepared_file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = _tmp20_->file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = g_file_get_path (_tmp21_);
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = _tmp22_;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = prepared_file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = _tmp24_->file;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp26_ = g_file_get_path (_tmp25_);
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp27_ = _tmp26_;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = batch_import_result_new (_tmp17_, _tmp19_, _tmp23_, _tmp27_, NULL, IMPORT_RESULT_FILE_ERROR);
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (self->failed);
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->failed = _tmp28_;
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp27_);
#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp23_);
#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp10_);
#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_associated_file);
#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_file);
#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (prepared_file);
#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 16478 "BatchImport.c"
			}
#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = final_associated_file;
#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp29_ != NULL) {
#line 16484 "BatchImport.c"
				GFile* _tmp30_ = NULL;
				PreparedFile* _tmp31_;
				GFile* _tmp32_;
				GFile* _tmp33_;
				GFile* _tmp34_;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = prepared_file;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _tmp31_->associated_file;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp33_ = library_files_duplicate (_tmp32_, NULL, NULL, TRUE, &_inner_error_);
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _tmp33_;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_tmp10_);
#line 16502 "BatchImport.c"
					goto __catch434_g_error;
				}
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = _tmp30_;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = NULL;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_associated_file);
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
				final_associated_file = _tmp34_;
#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp30_);
#line 16515 "BatchImport.c"
			}
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp10_);
#line 16519 "BatchImport.c"
		}
		goto __finally434;
		__catch434_g_error:
		{
			GError* err = NULL;
			gchar* _tmp35_ = NULL;
			GFile* _tmp36_;
			gchar* filename = NULL;
			gchar* _tmp42_;
			PreparedFile* _tmp43_;
			BatchImportJob* _tmp44_;
			PreparedFile* _tmp45_;
			GFile* _tmp46_;
			const gchar* _tmp47_;
			const gchar* _tmp48_;
			GError* _tmp49_;
			BatchImportResult* _tmp50_;
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = final_file;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp36_ != NULL) {
#line 16545 "BatchImport.c"
				GFile* _tmp37_;
				gchar* _tmp38_;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = final_file;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp38_ = g_file_get_path (_tmp37_);
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp35_);
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = _tmp38_;
#line 16556 "BatchImport.c"
			} else {
				PreparedFile* _tmp39_;
				const gchar* _tmp40_;
				gchar* _tmp41_;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp39_ = prepared_file;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp40_ = _tmp39_->source_id;
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = g_strdup (_tmp40_);
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp35_);
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = _tmp41_;
#line 16571 "BatchImport.c"
			}
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = g_strdup (_tmp35_);
#line 1981 "/home/jens/Source/shotwell/src/BatchImport.vala"
			filename = _tmp42_;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = prepared_file;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = _tmp43_->job;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = prepared_file;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = _tmp45_->file;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = filename;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = filename;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = err;
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp50_ = batch_import_result_new_from_error (_tmp44_, _tmp46_, _tmp47_, _tmp48_, _tmp49_, IMPORT_RESULT_FILE_ERROR);
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (self->failed);
#line 1982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->failed = _tmp50_;
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (filename);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp35_);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1985 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16611 "BatchImport.c"
		}
		__finally434:
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.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 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1965 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16628 "BatchImport.c"
		}
	}
#line 1991 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp51_ = final_associated_file;
#line 1991 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp51_ == NULL) {
#line 16635 "BatchImport.c"
		PreparedFile* _tmp52_;
		BatchImportJob* _tmp53_;
		GFile* _tmp54_;
#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = prepared_file;
#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp53_ = _tmp52_->job;
#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp54_ = batch_import_job_get_associated_file (_tmp53_);
#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (final_associated_file);
#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala"
		final_associated_file = _tmp54_;
#line 16649 "BatchImport.c"
	}
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp55_ = final_file;
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp56_ = g_file_get_path (_tmp55_);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp57_ = _tmp56_;
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_debug ("BatchImport.vala:1995: Importing %s", _tmp57_);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp57_);
#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = IMPORT_RESULT_SUCCESS;
#line 1998 "/home/jens/Source/shotwell/src/BatchImport.vala"
	video_import_params = NULL;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
	photo_import_params = NULL;
#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp58_ = prepared_file;
#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp59_ = _tmp58_->is_video;
#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp59_) {
#line 16673 "BatchImport.c"
		GFile* _tmp60_;
		ImportID _tmp61_;
		PreparedFile* _tmp62_;
		const gchar* _tmp63_;
		Thumbnails* _tmp64_;
		Thumbnails* _tmp65_;
		PreparedFile* _tmp66_;
		BatchImportJob* _tmp67_;
		VideoImportParams* _tmp68_;
		VideoImportParams* _tmp69_;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp60_ = final_file;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp61_ = self->priv->import_id;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp62_ = prepared_file;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp63_ = _tmp62_->full_md5;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp64_ = thumbnails_new ();
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp65_ = _tmp64_;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp66_ = prepared_file;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp67_ = _tmp66_->job;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp68_ = video_import_params_new (_tmp60_, &_tmp61_, _tmp63_, _tmp65_, batch_import_job_get_exposure_time_override (_tmp67_));
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_video_import_params_unref0 (video_import_params);
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		video_import_params = _tmp68_;
#line 2001 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp65_);
#line 2005 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp69_ = video_import_params;
#line 2005 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = video_reader_prepare_for_import (_tmp69_);
#line 16712 "BatchImport.c"
	} else {
		GFile* _tmp70_;
		GFile* _tmp71_;
		ImportID _tmp72_;
		PreparedFile* _tmp73_;
		const gchar* _tmp74_;
		PreparedFile* _tmp75_;
		const gchar* _tmp76_;
		PreparedFile* _tmp77_;
		const gchar* _tmp78_;
		Thumbnails* _tmp79_;
		Thumbnails* _tmp80_;
		PhotoImportParams* _tmp81_;
		PhotoImportParams* _tmp82_;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp70_ = final_file;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp71_ = final_associated_file;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp72_ = self->priv->import_id;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp73_ = prepared_file;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp74_ = _tmp73_->exif_md5;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp75_ = prepared_file;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp76_ = _tmp75_->thumbnail_md5;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp77_ = prepared_file;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp78_ = _tmp77_->full_md5;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp79_ = thumbnails_new ();
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp80_ = _tmp79_;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp81_ = photo_import_params_new (_tmp70_, _tmp71_, &_tmp72_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, _tmp74_, _tmp76_, _tmp78_, _tmp80_);
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_photo_import_params_unref0 (photo_import_params);
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		photo_import_params = _tmp81_;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp80_);
#line 2011 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp82_ = photo_import_params;
#line 2011 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = photo_prepare_for_import (_tmp82_);
#line 16761 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp84_ = _result_;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp84_ != IMPORT_RESULT_SUCCESS) {
#line 16767 "BatchImport.c"
		GFile* _tmp85_;
		PreparedFile* _tmp86_;
		GFile* _tmp87_;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp85_ = final_file;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp86_ = prepared_file;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp87_ = _tmp86_->file;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp83_ = _tmp85_ != _tmp87_;
#line 16779 "BatchImport.c"
	} else {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp83_ = FALSE;
#line 16783 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp83_) {
#line 16787 "BatchImport.c"
		GFile* _tmp88_;
		gchar* _tmp89_;
		gchar* _tmp90_;
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp88_ = final_file;
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp89_ = g_file_get_path (_tmp88_);
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp90_ = _tmp89_;
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:2015: Deleting failed imported copy %s", _tmp90_);
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp90_);
#line 16801 "BatchImport.c"
		{
			GFile* _tmp91_;
#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp91_ = final_file;
#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_file_delete (_tmp91_, NULL, &_inner_error_);
#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 16810 "BatchImport.c"
				goto __catch435_g_error;
			}
		}
		goto __finally435;
		__catch435_g_error:
		{
			GError* err = NULL;
			GFile* _tmp92_;
			gchar* _tmp93_;
			gchar* _tmp94_;
			GError* _tmp95_;
			const gchar* _tmp96_;
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp92_ = final_file;
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93_ = g_file_get_path (_tmp92_);
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp94_ = _tmp93_;
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = err;
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp96_ = _tmp95_->message;
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:2020: Unable to delete copy of imported file %s: %s", _tmp94_, _tmp96_);
#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp94_);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 16843 "BatchImport.c"
		}
		__finally435:
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_photo_import_params_unref0 (photo_import_params);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_video_import_params_unref0 (video_import_params);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.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 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16864 "BatchImport.c"
		}
	}
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp97_ = prepared_file;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp98_ = _tmp97_->job;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp99_ = final_file;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp100_ = final_file;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp101_ = g_file_get_path (_tmp100_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp102_ = _tmp101_;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp103_ = final_file;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp104_ = g_file_get_path (_tmp103_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp105_ = _tmp104_;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp106_ = _result_;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp107_ = batch_import_result_new (_tmp98_, _tmp99_, _tmp102_, _tmp105_, NULL, _tmp106_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp108_ = _tmp107_;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp105_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp102_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_result = _tmp108_;
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp109_ = batch_result;
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp110_ = _tmp109_->result;
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp110_ != IMPORT_RESULT_SUCCESS) {
#line 16903 "BatchImport.c"
		BatchImportResult* _tmp111_;
		BatchImportResult* _tmp112_;
#line 2028 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp111_ = batch_result;
#line 2028 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp112_ = _batch_import_result_ref0 (_tmp111_);
#line 2028 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (self->failed);
#line 2028 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->failed = _tmp112_;
#line 16914 "BatchImport.c"
	} else {
		GFile* _tmp113_;
		PreparedFile* _tmp114_;
		PhotoImportParams* _tmp115_;
		VideoImportParams* _tmp116_;
		BatchImportResult* _tmp117_;
		ReadyForImport* _tmp118_;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp113_ = final_file;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp114_ = prepared_file;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp115_ = photo_import_params;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp116_ = video_import_params;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp117_ = batch_result;
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp118_ = ready_for_import_new (_tmp113_, _tmp114_, _tmp115_, _tmp116_, _tmp117_);
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ready_for_import_unref0 (self->ready);
#line 2030 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->ready = _tmp118_;
#line 16938 "BatchImport.c"
	}
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (batch_result);
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (photo_import_params);
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (video_import_params);
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (final_associated_file);
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (final_file);
#line 1957 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (prepared_file);
#line 16952 "BatchImport.c"
}


static void
prepared_file_import_job_class_init (PreparedFileImportJobClass * klass)
{
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepared_file_import_job_parent_class = g_type_class_peek_parent (klass);
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->finalize = prepared_file_import_job_finalize;
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (PreparedFileImportJobPrivate));
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->execute = (void (*) (BackgroundJob *)) prepared_file_import_job_real_execute;
#line 16967 "BatchImport.c"
}


static void
prepared_file_import_job_instance_init (PreparedFileImportJob * self)
{
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = PREPARED_FILE_IMPORT_JOB_GET_PRIVATE (self);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ready = NULL;
#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->failed = NULL;
#line 16980 "BatchImport.c"
}


static void
prepared_file_import_job_finalize (BackgroundJob * obj)
{
	PreparedFileImportJob * self;
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob);
#line 1941 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_ready_for_import_unref0 (self->ready);
#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->failed);
#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (prepared_file_import_job_parent_class)->finalize (obj);
#line 16998 "BatchImport.c"
}


GType
prepared_file_import_job_get_type (void)
{
	static volatile gsize prepared_file_import_job_type_id__volatile = 0;
	if (g_once_init_enter (&prepared_file_import_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PreparedFileImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFileImportJob), 0, (GInstanceInitFunc) prepared_file_import_job_instance_init, NULL };
		GType prepared_file_import_job_type_id;
		prepared_file_import_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PreparedFileImportJob", &g_define_type_info, 0);
		g_once_init_leave (&prepared_file_import_job_type_id__volatile, prepared_file_import_job_type_id);
	}
	return prepared_file_import_job_type_id__volatile;
}


CompletedImportObject*
completed_import_object_construct (GType object_type,
                                   MediaSource* source,
                                   Thumbnails* thumbnails,
                                   BatchImportJob* original_job,
                                   BatchImportResult* import_result)
{
	CompletedImportObject* self = NULL;
	Thumbnails* _tmp0_;
	BatchImportResult* _tmp1_;
	MediaSource* _tmp2_;
	BatchImportJob* _tmp3_;
	GdkPixbuf* _tmp4_;
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL);
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_THUMBNAILS (thumbnails), NULL);
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (original_job), NULL);
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), NULL);
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (CompletedImportObject*) g_type_create_instance (object_type);
#line 2044 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _thumbnails_ref0 (thumbnails);
#line 2044 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (self->thumbnails);
#line 2044 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->thumbnails = _tmp0_;
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_result_ref0 (import_result);
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp1_;
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _g_object_ref0 (source);
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->source);
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->source = _tmp2_;
#line 2047 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _batch_import_job_ref0 (original_job);
#line 2047 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->original_job);
#line 2047 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->original_job = _tmp3_;
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = thumbnails_get (thumbnails, THUMBNAIL_CACHE_SIZE_LARGEST);
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->user_preview);
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->user_preview = _tmp4_;
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 17071 "BatchImport.c"
}


CompletedImportObject*
completed_import_object_new (MediaSource* source,
                             Thumbnails* thumbnails,
                             BatchImportJob* original_job,
                             BatchImportResult* import_result)
{
#line 2042 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return completed_import_object_construct (TYPE_COMPLETED_IMPORT_OBJECT, source, thumbnails, original_job, import_result);
#line 17083 "BatchImport.c"
}


static void
value_completed_import_object_init (GValue* value)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value->data[0].v_pointer = NULL;
#line 17092 "BatchImport.c"
}


static void
value_completed_import_object_free_value (GValue* value)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (value->data[0].v_pointer) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_unref (value->data[0].v_pointer);
#line 17103 "BatchImport.c"
	}
}


static void
value_completed_import_object_copy_value (const GValue* src_value,
                                          GValue* dest_value)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (src_value->data[0].v_pointer) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = completed_import_object_ref (src_value->data[0].v_pointer);
#line 17116 "BatchImport.c"
	} else {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 17120 "BatchImport.c"
	}
}


static gpointer
value_completed_import_object_peek_pointer (const GValue* value)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 17130 "BatchImport.c"
}


static gchar*
value_completed_import_object_collect_value (GValue* value,
                                             guint n_collect_values,
                                             GTypeCValue* collect_values,
                                             guint collect_flags)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 17142 "BatchImport.c"
		CompletedImportObject * object;
		object = collect_values[0].v_pointer;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 17149 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.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 17153 "BatchImport.c"
		}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = completed_import_object_ref (object);
#line 17157 "BatchImport.c"
	} else {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 17161 "BatchImport.c"
	}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 17165 "BatchImport.c"
}


static gchar*
value_completed_import_object_lcopy_value (const GValue* value,
                                           guint n_collect_values,
                                           GTypeCValue* collect_values,
                                           guint collect_flags)
{
	CompletedImportObject ** object_p;
	object_p = collect_values[0].v_pointer;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 17181 "BatchImport.c"
	}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 17187 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 17191 "BatchImport.c"
	} else {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = completed_import_object_ref (value->data[0].v_pointer);
#line 17195 "BatchImport.c"
	}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 17199 "BatchImport.c"
}


GParamSpec*
param_spec_completed_import_object (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags)
{
	ParamSpecCompletedImportObject* spec;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_COMPLETED_IMPORT_OBJECT), NULL);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 17219 "BatchImport.c"
}


gpointer
value_get_completed_import_object (const GValue* value)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT), NULL);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return value->data[0].v_pointer;
#line 17230 "BatchImport.c"
}


void
value_set_completed_import_object (GValue* value,
                                   gpointer v_object)
{
	CompletedImportObject * old;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_ref (value->data[0].v_pointer);
#line 17253 "BatchImport.c"
	} else {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 17257 "BatchImport.c"
	}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_unref (old);
#line 17263 "BatchImport.c"
	}
}


void
value_take_completed_import_object (GValue* value,
                                    gpointer v_object)
{
	CompletedImportObject * old;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 17285 "BatchImport.c"
	} else {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 17289 "BatchImport.c"
	}
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_unref (old);
#line 17295 "BatchImport.c"
	}
}


static void
completed_import_object_class_init (CompletedImportObjectClass * klass)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completed_import_object_parent_class = g_type_class_peek_parent (klass);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((CompletedImportObjectClass *) klass)->finalize = completed_import_object_finalize;
#line 17307 "BatchImport.c"
}


static void
completed_import_object_instance_init (CompletedImportObject * self)
{
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 17316 "BatchImport.c"
}


static void
completed_import_object_finalize (CompletedImportObject * obj)
{
	CompletedImportObject * self;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObject);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (self->thumbnails);
#line 2037 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->source);
#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->original_job);
#line 2040 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->user_preview);
#line 17338 "BatchImport.c"
}


GType
completed_import_object_get_type (void)
{
	static volatile gsize completed_import_object_type_id__volatile = 0;
	if (g_once_init_enter (&completed_import_object_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_completed_import_object_init, value_completed_import_object_free_value, value_completed_import_object_copy_value, value_completed_import_object_peek_pointer, "p", value_completed_import_object_collect_value, "p", value_completed_import_object_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (CompletedImportObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) completed_import_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CompletedImportObject), 0, (GInstanceInitFunc) completed_import_object_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 completed_import_object_type_id;
		completed_import_object_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CompletedImportObject", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&completed_import_object_type_id__volatile, completed_import_object_type_id);
	}
	return completed_import_object_type_id__volatile;
}


gpointer
completed_import_object_ref (gpointer instance)
{
	CompletedImportObject * self;
	self = instance;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 17367 "BatchImport.c"
}


void
completed_import_object_unref (gpointer instance)
{
	CompletedImportObject * self;
	self = instance;
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		COMPLETED_IMPORT_OBJECT_GET_CLASS (self)->finalize (self);
#line 2035 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 17382 "BatchImport.c"
	}
}


ThumbnailWriterJob*
thumbnail_writer_job_construct (GType object_type,
                                BatchImport* owner,
                                CompletedImportObject* completed_import_source,
                                CompletionCallback callback,
                                void* callback_target,
                                GCancellable* cancellable,
                                CancellationCallback cancel_callback,
                                void* cancel_callback_target)
{
	ThumbnailWriterJob* self = NULL;
	Thumbnails* _tmp0_;
	CompletedImportObject* _tmp1_;
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_COMPLETED_IMPORT_OBJECT (completed_import_source), NULL);
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 2057 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ThumbnailWriterJob*) background_import_job_construct (object_type, owner, callback, callback_target, cancellable, cancel_callback, cancel_callback_target);
#line 2059 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = completed_import_source->thumbnails;
#line 2059 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_ != NULL, "completed_import_source.thumbnails != null");
#line 2060 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _completed_import_object_ref0 (completed_import_source);
#line 2060 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (self->completed_import_source);
#line 2060 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->completed_import_source = _tmp1_;
#line 2062 "/home/jens/Source/shotwell/src/BatchImport.vala"
	background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW);
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 17422 "BatchImport.c"
}


ThumbnailWriterJob*
thumbnail_writer_job_new (BatchImport* owner,
                          CompletedImportObject* completed_import_source,
                          CompletionCallback callback,
                          void* callback_target,
                          GCancellable* cancellable,
                          CancellationCallback cancel_callback,
                          void* cancel_callback_target)
{
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return thumbnail_writer_job_construct (TYPE_THUMBNAIL_WRITER_JOB, owner, completed_import_source, callback, callback_target, cancellable, cancel_callback, cancel_callback_target);
#line 17437 "BatchImport.c"
}


static void
thumbnail_writer_job_real_execute (BackgroundJob* base)
{
	ThumbnailWriterJob * self;
	CompletedImportObject* _tmp9_;
	GError * _inner_error_ = NULL;
#line 2065 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob);
#line 17449 "BatchImport.c"
	{
		CompletedImportObject* _tmp0_;
		MediaSource* _tmp1_;
		CompletedImportObject* _tmp2_;
		Thumbnails* _tmp3_;
		CompletedImportObject* _tmp4_;
		BatchImportResult* _tmp5_;
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = self->completed_import_source;
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _tmp0_->source;
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->completed_import_source;
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_->thumbnails;
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		thumbnail_cache_import_thumbnails (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp3_, TRUE, &_inner_error_);
#line 2067 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 17469 "BatchImport.c"
			goto __catch436_g_error;
		}
#line 2069 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->completed_import_source;
#line 2069 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->batch_result;
#line 2069 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_->result = IMPORT_RESULT_SUCCESS;
#line 17478 "BatchImport.c"
	}
	goto __finally436;
	__catch436_g_error:
	{
		GError* err = NULL;
		CompletedImportObject* _tmp6_;
		BatchImportResult* _tmp7_;
		GError* _tmp8_;
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 2071 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->completed_import_source;
#line 2071 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->batch_result;
#line 2071 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = err;
#line 2071 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_->result = import_result_convert_error (_tmp8_, IMPORT_RESULT_FILE_ERROR);
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 17501 "BatchImport.c"
	}
	__finally436:
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.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 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 2066 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 17512 "BatchImport.c"
	}
#line 2076 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = self->completed_import_source;
#line 2076 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (_tmp9_->thumbnails);
#line 2076 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_->thumbnails = NULL;
#line 17520 "BatchImport.c"
}


static void
thumbnail_writer_job_class_init (ThumbnailWriterJobClass * klass)
{
#line 2052 "/home/jens/Source/shotwell/src/BatchImport.vala"
	thumbnail_writer_job_parent_class = g_type_class_peek_parent (klass);
#line 2052 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->finalize = thumbnail_writer_job_finalize;
#line 2052 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((BackgroundJobClass *) klass)->execute = (void (*) (BackgroundJob *)) thumbnail_writer_job_real_execute;
#line 17533 "BatchImport.c"
}


static void
thumbnail_writer_job_instance_init (ThumbnailWriterJob * self)
{
}


static void
thumbnail_writer_job_finalize (BackgroundJob * obj)
{
	ThumbnailWriterJob * self;
#line 2052 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob);
#line 2053 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (self->completed_import_source);
#line 2052 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (thumbnail_writer_job_parent_class)->finalize (obj);
#line 17553 "BatchImport.c"
}


GType
thumbnail_writer_job_get_type (void)
{
	static volatile gsize thumbnail_writer_job_type_id__volatile = 0;
	if (g_once_init_enter (&thumbnail_writer_job_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ThumbnailWriterJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_writer_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailWriterJob), 0, (GInstanceInitFunc) thumbnail_writer_job_instance_init, NULL };
		GType thumbnail_writer_job_type_id;
		thumbnail_writer_job_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "ThumbnailWriterJob", &g_define_type_info, 0);
		g_once_init_leave (&thumbnail_writer_job_type_id__volatile, thumbnail_writer_job_type_id);
	}
	return thumbnail_writer_job_type_id__volatile;
}