/* BatchImport.c generated by valac 0.36.6, 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 _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;

#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_LAST_SIGNAL
};
static guint batch_import_signals[BATCH_IMPORT_LAST_SIGNAL] = {0};
typedef struct _DuplicatedFilePrivate DuplicatedFilePrivate;
#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 _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL)))

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

typedef struct _PhotoFileAdapter PhotoFileAdapter;
typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass;

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

typedef struct _PhotoFileReader PhotoFileReader;
typedef struct _PhotoFileReaderClass PhotoFileReaderClass;

#define TYPE_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);
	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);
};

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;
};

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;
};

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

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;
enum  {
	BATCH_IMPORT_JOB_DUMMY_PROPERTY
};
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);
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);
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))
enum  {
	FILE_IMPORT_JOB_DUMMY_PROPERTY
};
FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library);
FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library);
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 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;
enum  {
	BATCH_IMPORT_ROLL_DUMMY_PROPERTY
};
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;
enum  {
	BATCH_IMPORT_RESULT_DUMMY_PROPERTY
};
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;
enum  {
	IMPORT_MANIFEST_DUMMY_PROPERTY
};
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))
enum  {
	BATCH_IMPORT_DUMMY_PROPERTY
};
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, 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);
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))
enum  {
	DUPLICATED_FILE_DUMMY_PROPERTY
};
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);
enum  {
	BACKGROUND_IMPORT_JOB_DUMMY_PROPERTY
};
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);
enum  {
	FILE_TO_PREPARE_DUMMY_PROPERTY
};
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))
enum  {
	WORK_SNIFFER_DUMMY_PROPERTY
};
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, 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);
enum  {
	PREPARED_FILE_DUMMY_PROPERTY
};
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);
enum  {
	PREPARED_FILE_CLUSTER_DUMMY_PROPERTY
};
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))
enum  {
	PREPARE_FILES_JOB_DUMMY_PROPERTY
};
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);
guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1);
gchar* md5_binary (guint8* buffer, gsize length);
guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1);
static void prepare_files_job_finalize (BackgroundJob * obj);
enum  {
	READY_FOR_IMPORT_DUMMY_PROPERTY
};
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))
enum  {
	PREPARED_FILE_IMPORT_JOB_DUMMY_PROPERTY
};
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);
enum  {
	COMPLETED_IMPORT_OBJECT_DUMMY_PROPERTY
};
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);
enum  {
	THUMBNAIL_WRITER_JOB_DUMMY_PROPERTY
};
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 2264 "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 2273 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_ERROR:
#line 2277 "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 2286 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DECODE_ERROR:
#line 2290 "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 2299 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DATABASE_ERROR:
#line 2303 "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 2312 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_USER_ABORT:
#line 2316 "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 2325 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_A_FILE:
#line 2329 "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 2338 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PHOTO_EXISTS:
#line 2342 "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 2351 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_UNSUPPORTED_FORMAT:
#line 2355 "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 2364 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_AN_IMAGE:
#line 2368 "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 2377 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FAILURE:
#line 2381 "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 2390 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_DISK_FULL:
#line 2394 "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 2403 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_CAMERA_ERROR:
#line 2407 "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 2416 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_WRITE_ERROR:
#line 2420 "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 2429 "BatchImport.c"
		}
#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE:
#line 2433 "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 2442 "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 2453 "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 2469 "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 2475 "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 2483 "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 2497 "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 2503 "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 2511 "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 2520 "BatchImport.c"
}


ImportResult import_result_convert_error (GError* err, ImportResult default_result) {
	ImportResult result = 0;
	GError* _tmp0_;
	ImportResult _tmp32_;
#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = err;
#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_->domain == G_FILE_ERROR) {
#line 2532 "BatchImport.c"
		GError* ferr = NULL;
		GError* _tmp1_;
		GError* _tmp2_;
		GError* _tmp3_;
#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = err;
#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _g_error_copy0 ((GError*) _tmp1_);
#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ferr = _tmp2_;
#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = ferr;
#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (g_error_matches (_tmp3_, 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 2553 "BatchImport.c"
		} else {
			GError* _tmp4_;
#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = ferr;
#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (g_error_matches (_tmp4_, 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 2566 "BatchImport.c"
			} else {
				GError* _tmp5_;
#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp5_ = ferr;
#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (g_error_matches (_tmp5_, 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 2579 "BatchImport.c"
				} else {
					GError* _tmp6_;
#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp6_ = ferr;
#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp6_, 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 2592 "BatchImport.c"
					} else {
						GError* _tmp7_;
#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp7_ = ferr;
#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp7_, 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 2605 "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 2613 "BatchImport.c"
						}
					}
				}
			}
		}
#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (ferr);
#line 2621 "BatchImport.c"
	} else {
		GError* _tmp8_;
#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = err;
#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp8_->domain == G_IO_ERROR) {
#line 2628 "BatchImport.c"
			GError* ioerr = NULL;
			GError* _tmp9_;
			GError* _tmp10_;
			GError* _tmp11_;
#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = err;
#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _g_error_copy0 ((GError*) _tmp9_);
#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala"
			ioerr = _tmp10_;
#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = ioerr;
#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (g_error_matches (_tmp11_, 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 2649 "BatchImport.c"
			} else {
				GError* _tmp12_;
#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = ioerr;
#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (g_error_matches (_tmp12_, 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 2662 "BatchImport.c"
				} else {
					GError* _tmp13_;
#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp13_ = ioerr;
#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp13_, 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 2675 "BatchImport.c"
					} else {
						GError* _tmp14_;
#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp14_ = ioerr;
#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp14_, 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 2688 "BatchImport.c"
						} else {
							GError* _tmp15_;
#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp15_ = ioerr;
#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala"
							if (g_error_matches (_tmp15_, 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 2701 "BatchImport.c"
							} else {
								GError* _tmp16_;
#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_tmp16_ = ioerr;
#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala"
								if (g_error_matches (_tmp16_, 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 2714 "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 2722 "BatchImport.c"
								}
							}
						}
					}
				}
			}
#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (ioerr);
#line 2731 "BatchImport.c"
		} else {
			GError* _tmp17_;
#line 128 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = err;
#line 128 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp17_->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 2742 "BatchImport.c"
			} else {
				GError* _tmp18_;
#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = err;
#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp18_->domain == GDK_PIXBUF_ERROR) {
#line 2749 "BatchImport.c"
					GError* pixbuferr = NULL;
					GError* _tmp19_;
					GError* _tmp20_;
					GError* _tmp21_;
#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp19_ = err;
#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp20_ = _g_error_copy0 ((GError*) _tmp19_);
#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala"
					pixbuferr = _tmp20_;
#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp21_ = pixbuferr;
#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (g_error_matches (_tmp21_, 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 2770 "BatchImport.c"
					} else {
						GError* _tmp22_;
#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp22_ = pixbuferr;
#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (g_error_matches (_tmp22_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY)) {
#line 2777 "BatchImport.c"
							ImportResult _tmp23_;
#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp23_ = default_result;
#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala"
							result = _tmp23_;
#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 2787 "BatchImport.c"
						} else {
							GError* _tmp24_;
#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp24_ = pixbuferr;
#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala"
							if (g_error_matches (_tmp24_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_BAD_OPTION)) {
#line 2794 "BatchImport.c"
								ImportResult _tmp25_;
#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_tmp25_ = default_result;
#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala"
								result = _tmp25_;
#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 2804 "BatchImport.c"
							} else {
								GError* _tmp26_;
#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala"
								_tmp26_ = pixbuferr;
#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala"
								if (g_error_matches (_tmp26_, 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 2817 "BatchImport.c"
								} else {
									GError* _tmp27_;
#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala"
									_tmp27_ = pixbuferr;
#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala"
									if (g_error_matches (_tmp27_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION)) {
#line 2824 "BatchImport.c"
										ImportResult _tmp28_;
#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala"
										_tmp28_ = default_result;
#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala"
										result = _tmp28_;
#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 2834 "BatchImport.c"
									} else {
										GError* _tmp29_;
#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala"
										_tmp29_ = pixbuferr;
#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala"
										if (g_error_matches (_tmp29_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED)) {
#line 2841 "BatchImport.c"
											ImportResult _tmp30_;
#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala"
											_tmp30_ = default_result;
#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala"
											result = _tmp30_;
#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 2851 "BatchImport.c"
										} else {
											ImportResult _tmp31_;
#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala"
											_tmp31_ = default_result;
#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala"
											result = _tmp31_;
#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 2862 "BatchImport.c"
										}
									}
								}
							}
						}
					}
#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (pixbuferr);
#line 2871 "BatchImport.c"
				}
			}
		}
	}
#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp32_ = default_result;
#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp32_;
#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 2882 "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 2903 "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 2912 "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 2921 "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 2930 "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 2940 "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 2949 "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 2958 "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 2967 "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 2976 "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 2985 "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 2995 "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 3004 "BatchImport.c"
}


static void batch_import_job_real_set_associated (BatchImportJob* self, BatchImportJob* associated) {
#line 176 "/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 176 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return;
#line 3013 "BatchImport.c"
}


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


static gboolean batch_import_job_real_determine_file_size (BatchImportJob* self, guint64* filesize, GFile* * file_or_dir) {
	gboolean _tmp0_ = FALSE;
#line 183 "/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 183 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return _tmp0_;
#line 3032 "BatchImport.c"
}


gboolean batch_import_job_determine_file_size (BatchImportJob* self, guint64* filesize, GFile* * file_or_dir) {
#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE);
#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->determine_file_size (self, filesize, file_or_dir);
#line 3041 "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 186 "/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 186 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return _tmp0_;
#line 3051 "BatchImport.c"
}


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


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


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


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


time_t batch_import_job_get_exposure_time_override (BatchImportJob* self) {
#line 202 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), 0);
#line 202 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return BATCH_IMPORT_JOB_GET_CLASS (self)->get_exposure_time_override (self);
#line 3102 "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 3112 "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 3119 "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 3128 "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 3138 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3142 "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 3150 "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 3157 "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 3164 "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 3168 "BatchImport.c"
		}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_job_ref (object);
#line 3172 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3176 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3180 "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 3191 "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 3197 "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 3201 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_job_ref (value->data[0].v_pointer);
#line 3205 "BatchImport.c"
	}
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3209 "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 3223 "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 3232 "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 3252 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3256 "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 3262 "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 3281 "BatchImport.c"
	} else {
#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3285 "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 3291 "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)->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 3323 "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 3330 "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 3340 "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 3365 "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 3378 "BatchImport.c"
	}
}


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


FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library) {
	FileImportJob* self = NULL;
	GFile* _tmp0_;
	GFile* _tmp1_;
	gboolean _tmp2_;
#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file_or_dir), NULL);
#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (FileImportJob*) batch_import_job_construct (object_type);
#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = file_or_dir;
#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file_or_dir);
#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_or_dir = _tmp1_;
#line 214 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = copy_to_library;
#line 214 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->copy_to_library = _tmp2_;
#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 3413 "BatchImport.c"
}


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


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


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


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


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


static gchar* file_import_job_real_get_path (BatchImportJob* base) {
	FileImportJob * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gboolean _tmp1_;
#line 233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = batch_import_job_is_directory (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BATCH_IMPORT_JOB, BatchImportJob));
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_) {
#line 3511 "BatchImport.c"
		GFile* _tmp2_;
		gchar* _tmp3_;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->file_or_dir;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_get_path (_tmp2_);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 3522 "BatchImport.c"
	} else {
		GFile* _tmp4_;
		GFile* _tmp5_;
		GFile* _tmp6_;
		gchar* _tmp7_;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->priv->file_or_dir;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = g_file_get_parent (_tmp4_);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = g_file_get_path (_tmp6_);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp7_;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp6_);
#line 3542 "BatchImport.c"
	}
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3548 "BatchImport.c"
}


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


static void file_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated) {
	FileImportJob * self;
	BatchImportJob* _tmp0_;
	FileImportJob* _tmp1_;
#line 237 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 237 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (associated));
#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = associated;
#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FILE_IMPORT_JOB) ? ((FileImportJob*) _tmp0_) : NULL);
#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->priv->associated);
#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->associated = _tmp1_;
#line 3575 "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 241 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_filesize = (guint64) 0;
#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_vala_file);
#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_file = _tmp1_;
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = FALSE;
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (filesize) {
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*filesize = _vala_filesize;
#line 3604 "BatchImport.c"
	}
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file) {
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file = _vala_file;
#line 3610 "BatchImport.c"
	} else {
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 3614 "BatchImport.c"
	}
#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3618 "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 248 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_or_dir;
#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_vala_file_to_import);
#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_file_to_import = _tmp1_;
#line 250 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->priv->copy_to_library;
#line 250 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_copy = _tmp2_;
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file_to_import) {
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file_to_import = _vala_file_to_import;
#line 3650 "BatchImport.c"
	} else {
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file_to_import);
#line 3654 "BatchImport.c"
	}
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (copy) {
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*copy = _vala_copy;
#line 3660 "BatchImport.c"
	}
#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 3664 "BatchImport.c"
}


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


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


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


static void file_import_job_finalize (BatchImportJob * obj) {
	FileImportJob * self;
#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_IMPORT_JOB, FileImportJob);
#line 208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file_or_dir);
#line 210 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->priv->associated);
#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BATCH_IMPORT_JOB_CLASS (file_import_job_parent_class)->finalize (obj);
#line 3732 "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 267 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportRoll*) g_type_create_instance (object_type);
#line 268 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_id_generate (&_tmp0_);
#line 268 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->import_id = _tmp0_;
#line 267 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 3759 "BatchImport.c"
}


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


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


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


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


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


static gchar* value_batch_import_roll_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 3811 "BatchImport.c"
		BatchImportRoll * object;
		object = collect_values[0].v_pointer;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3818 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 263 "/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 3822 "BatchImport.c"
		}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_roll_ref (object);
#line 3826 "BatchImport.c"
	} else {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3830 "BatchImport.c"
	}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3834 "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 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 3845 "BatchImport.c"
	}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 3851 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 3855 "BatchImport.c"
	} else {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_roll_ref (value->data[0].v_pointer);
#line 3859 "BatchImport.c"
	}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 3863 "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 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_ROLL), NULL);
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 3877 "BatchImport.c"
}


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


void value_set_batch_import_roll (GValue* value, gpointer v_object) {
	BatchImportRoll * old;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL));
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL));
#line 263 "/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 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_ref (value->data[0].v_pointer);
#line 3906 "BatchImport.c"
	} else {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3910 "BatchImport.c"
	}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_unref (old);
#line 3916 "BatchImport.c"
	}
}


void value_take_batch_import_roll (GValue* value, gpointer v_object) {
	BatchImportRoll * old;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL));
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL));
#line 263 "/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 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 3935 "BatchImport.c"
	} else {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 3939 "BatchImport.c"
	}
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_roll_unref (old);
#line 3945 "BatchImport.c"
	}
}


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


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


static void batch_import_roll_finalize (BatchImportRoll * obj) {
	BatchImportRoll * self;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_ROLL, BatchImportRoll);
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 265 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_collection_unref0 (self->generated_events);
#line 3979 "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 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 4004 "BatchImport.c"
}


void batch_import_roll_unref (gpointer instance) {
	BatchImportRoll * self;
	self = instance;
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		BATCH_IMPORT_ROLL_GET_CLASS (self)->finalize (self);
#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 4017 "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_;
	BatchImportJob* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	DuplicatedFile* _tmp8_;
	DuplicatedFile* _tmp9_;
	ImportResult _tmp10_;
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (src_identifier != NULL, NULL);
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_identifier != NULL, NULL);
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((duplicate_of == NULL) || IS_DUPLICATED_FILE (duplicate_of), NULL);
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportResult*) g_type_create_instance (object_type);
#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = job;
#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_job_ref0 (_tmp0_);
#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp1_;
#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file;
#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp3_;
#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = src_identifier;
#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->src_identifier = _tmp5_;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = dest_identifier;
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_identifier = _tmp7_;
#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = duplicate_of;
#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->duplicate_of);
#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->duplicate_of = _tmp9_;
#line 294 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = _result_;
#line 294 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = _tmp10_;
#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4093 "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 287 "/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 4100 "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_;
	BatchImportJob* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	GError* _tmp8_;
	ImportResult _tmp9_;
	ImportResult _tmp10_;
	GError* _tmp11_;
	const gchar* _tmp12_;
	gchar* _tmp13_;
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (src_identifier != NULL, NULL);
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_identifier != NULL, NULL);
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImportResult*) g_type_create_instance (object_type);
#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = job;
#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_job_ref0 (_tmp0_);
#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp1_;
#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file;
#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp3_;
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = src_identifier;
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_strdup (_tmp4_);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->src_identifier = _tmp5_;
#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = dest_identifier;
#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_identifier = _tmp7_;
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = err;
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = default_result;
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = import_result_convert_error (_tmp8_, _tmp9_);
#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = _tmp10_;
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = err;
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = _tmp11_->message;
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = g_strdup (_tmp12_);
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->errmsg);
#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->errmsg = _tmp13_;
#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4182 "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 297 "/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 4189 "BatchImport.c"
}


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


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


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


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


static gchar* value_batch_import_result_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 4234 "BatchImport.c"
		BatchImportResult * object;
		object = collect_values[0].v_pointer;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 4241 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 278 "/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 4245 "BatchImport.c"
		}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = batch_import_result_ref (object);
#line 4249 "BatchImport.c"
	} else {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4253 "BatchImport.c"
	}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 4257 "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 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 4268 "BatchImport.c"
	}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 4274 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 4278 "BatchImport.c"
	} else {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = batch_import_result_ref (value->data[0].v_pointer);
#line 4282 "BatchImport.c"
	}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 4286 "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 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_RESULT), NULL);
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 4300 "BatchImport.c"
}


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


void value_set_batch_import_result (GValue* value, gpointer v_object) {
	BatchImportResult * old;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT));
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT));
#line 278 "/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 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_ref (value->data[0].v_pointer);
#line 4329 "BatchImport.c"
	} else {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4333 "BatchImport.c"
	}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_unref (old);
#line 4339 "BatchImport.c"
	}
}


void value_take_batch_import_result (GValue* value, gpointer v_object) {
	BatchImportResult * old;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT));
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT));
#line 278 "/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 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 4358 "BatchImport.c"
	} else {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 4362 "BatchImport.c"
	}
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_result_unref (old);
#line 4368 "BatchImport.c"
	}
}


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


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


static void batch_import_result_finalize (BatchImportResult * obj) {
	BatchImportResult * self;
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_RESULT, BatchImportResult);
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 280 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 281 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->src_identifier);
#line 282 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_identifier);
#line 284 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->errmsg);
#line 285 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->duplicate_of);
#line 4409 "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 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 4434 "BatchImport.c"
}


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


ImportManifest* import_manifest_construct (GType object_type, GeeList* prefailed, GeeList* pre_already_imported) {
	ImportManifest* self = NULL;
	GeeList* _tmp0_;
	GeeList* _tmp22_;
#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((prefailed == NULL) || GEE_IS_LIST (prefailed), NULL);
#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((pre_already_imported == NULL) || GEE_IS_LIST (pre_already_imported), NULL);
#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ImportManifest*) g_type_create_instance (object_type);
#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = prefailed;
#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_ != NULL) {
#line 4466 "BatchImport.c"
		{
			GeeList* _job_list = NULL;
			GeeList* _tmp1_;
			GeeList* _tmp2_;
			gint _job_size = 0;
			GeeList* _tmp3_;
			gint _tmp4_;
			gint _tmp5_;
			gint _job_index = 0;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp1_ = prefailed;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = _g_object_ref0 (_tmp1_);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_list = _tmp2_;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = _job_list;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = _tmp4_;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_size = _tmp5_;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_index = -1;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 4494 "BatchImport.c"
				gint _tmp6_;
				gint _tmp7_;
				gint _tmp8_;
				BatchImportJob* job = NULL;
				GeeList* _tmp9_;
				gint _tmp10_;
				gpointer _tmp11_;
				BatchImportResult* batch_result = NULL;
				BatchImportJob* _tmp12_;
				BatchImportJob* _tmp13_;
				gchar* _tmp14_;
				gchar* _tmp15_;
				BatchImportJob* _tmp16_;
				gchar* _tmp17_;
				gchar* _tmp18_;
				BatchImportResult* _tmp19_;
				BatchImportResult* _tmp20_;
				BatchImportResult* _tmp21_;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp6_ = _job_index;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_job_index = _tmp6_ + 1;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = _job_index;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = _job_size;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp7_ < _tmp8_)) {
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 4525 "BatchImport.c"
				}
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = _job_list;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = _job_index;
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = gee_list_get (_tmp9_, _tmp10_);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				job = (BatchImportJob*) _tmp11_;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = job;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = job;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = batch_import_job_get_source_identifier (_tmp13_);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = _tmp14_;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = job;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = batch_import_job_get_dest_identifier (_tmp16_);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = _tmp17_;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = batch_import_result_new (_tmp12_, NULL, _tmp15_, _tmp18_, NULL, IMPORT_RESULT_FILE_ERROR);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _tmp19_;
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp18_);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp15_);
#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_result = _tmp20_;
#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = batch_result;
#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				import_manifest_add_result (self, _tmp21_);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (batch_result);
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 4567 "BatchImport.c"
			}
#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_job_list);
#line 4571 "BatchImport.c"
		}
	}
#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = pre_already_imported;
#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp22_ != NULL) {
#line 4578 "BatchImport.c"
		{
			GeeList* _job_list = NULL;
			GeeList* _tmp23_;
			GeeList* _tmp24_;
			gint _job_size = 0;
			GeeList* _tmp25_;
			gint _tmp26_;
			gint _tmp27_;
			gint _job_index = 0;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = pre_already_imported;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = _g_object_ref0 (_tmp23_);
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_list = _tmp24_;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = _job_list;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection));
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _tmp26_;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_size = _tmp27_;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_job_index = -1;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 4606 "BatchImport.c"
				gint _tmp28_;
				gint _tmp29_;
				gint _tmp30_;
				BatchImportJob* job = NULL;
				GeeList* _tmp31_;
				gint _tmp32_;
				gpointer _tmp33_;
				BatchImportResult* batch_result = NULL;
				BatchImportJob* _tmp34_;
				BatchImportJob* _tmp35_;
				gchar* _tmp36_;
				gchar* _tmp37_;
				GFile* _tmp38_;
				GFile* _tmp39_;
				BatchImportJob* _tmp40_;
				gchar* _tmp41_;
				gchar* _tmp42_;
				BatchImportJob* _tmp43_;
				gchar* _tmp44_;
				gchar* _tmp45_;
				BatchImportJob* _tmp46_;
				DuplicatedFile* _tmp47_;
				DuplicatedFile* _tmp48_;
				BatchImportResult* _tmp49_;
				BatchImportResult* _tmp50_;
				BatchImportResult* _tmp51_;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = _job_index;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_job_index = _tmp28_ + 1;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = _job_index;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _job_size;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp29_ < _tmp30_)) {
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 4645 "BatchImport.c"
				}
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = _job_list;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _job_index;
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp33_ = gee_list_get (_tmp31_, _tmp32_);
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				job = (BatchImportJob*) _tmp33_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = job;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = job;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = batch_import_job_get_basename (_tmp35_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = _tmp36_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp38_ = g_file_new_for_path (_tmp37_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp39_ = _tmp38_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp40_ = job;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = batch_import_job_get_source_identifier (_tmp40_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = _tmp41_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp43_ = job;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp44_ = batch_import_job_get_dest_identifier (_tmp43_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = _tmp44_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = job;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp47_ = batch_import_job_get_duplicated_file (_tmp46_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = _tmp47_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp49_ = batch_import_result_new (_tmp34_, _tmp39_, _tmp42_, _tmp45_, _tmp48_, IMPORT_RESULT_PHOTO_EXISTS);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = _tmp49_;
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp48_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp45_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp42_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp39_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp37_);
#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_result = _tmp50_;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = batch_result;
#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala"
				import_manifest_add_result (self, _tmp51_);
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (batch_result);
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 4709 "BatchImport.c"
			}
#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_job_list);
#line 4713 "BatchImport.c"
		}
	}
#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 4718 "BatchImport.c"
}


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


void import_manifest_add_result (ImportManifest* self, BatchImportResult* batch_result) {
	gboolean reported = FALSE;
	BatchImportResult* _tmp0_;
	ImportResult _tmp1_;
	gboolean _tmp26_;
#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_IMPORT_MANIFEST (self));
#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_RESULT (batch_result));
#line 346 "/home/jens/Source/shotwell/src/BatchImport.vala"
	reported = TRUE;
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = batch_result;
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _tmp0_->result;
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (_tmp1_) {
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_SUCCESS:
#line 4748 "BatchImport.c"
		{
			GeeList* _tmp2_;
			BatchImportResult* _tmp3_;
#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = self->success;
#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = batch_result;
#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp3_);
#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4760 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_USER_ABORT:
#line 4764 "BatchImport.c"
		{
			gboolean _tmp4_ = FALSE;
			BatchImportResult* _tmp5_;
			GFile* _tmp6_;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = batch_result;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = _tmp5_->file;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp6_ != NULL) {
#line 4775 "BatchImport.c"
				BatchImportResult* _tmp7_;
				GFile* _tmp8_;
				gboolean _tmp9_;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp7_ = batch_result;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = _tmp7_->file;
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = query_is_directory (_tmp8_);
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp4_ = !_tmp9_;
#line 4787 "BatchImport.c"
			} else {
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp4_ = FALSE;
#line 4791 "BatchImport.c"
			}
#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp4_) {
#line 4795 "BatchImport.c"
				GeeList* _tmp10_;
				BatchImportResult* _tmp11_;
#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = self->aborted;
#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = batch_result;
#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_);
#line 4804 "BatchImport.c"
			} else {
#line 356 "/home/jens/Source/shotwell/src/BatchImport.vala"
				reported = FALSE;
#line 4808 "BatchImport.c"
			}
#line 357 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4812 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_UNSUPPORTED_FORMAT:
#line 4816 "BatchImport.c"
		{
			GeeList* _tmp12_;
			BatchImportResult* _tmp13_;
#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = self->skipped_photos;
#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = batch_result;
#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp13_);
#line 361 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4828 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_A_FILE:
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_NOT_AN_IMAGE:
#line 4834 "BatchImport.c"
		{
			GeeList* _tmp14_;
			BatchImportResult* _tmp15_;
#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = self->skipped_files;
#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = batch_result;
#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_);
#line 366 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4846 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PHOTO_EXISTS:
#line 4850 "BatchImport.c"
		{
			GeeList* _tmp16_;
			BatchImportResult* _tmp17_;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp16_ = self->already_imported;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = batch_result;
#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_);
#line 370 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4862 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_CAMERA_ERROR:
#line 4866 "BatchImport.c"
		{
			GeeList* _tmp18_;
			BatchImportResult* _tmp19_;
#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = self->camera_failed;
#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = batch_result;
#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_);
#line 374 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4878 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_FILE_WRITE_ERROR:
#line 4882 "BatchImport.c"
		{
			GeeList* _tmp20_;
			BatchImportResult* _tmp21_;
#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = self->write_failed;
#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = batch_result;
#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_);
#line 378 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4894 "BatchImport.c"
		}
#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE:
#line 4898 "BatchImport.c"
		{
			GeeList* _tmp22_;
			BatchImportResult* _tmp23_;
#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = self->corrupt_files;
#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = batch_result;
#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_);
#line 382 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4910 "BatchImport.c"
		}
		default:
		{
			GeeList* _tmp24_;
			BatchImportResult* _tmp25_;
#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = self->failed;
#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = batch_result;
#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_);
#line 386 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 4924 "BatchImport.c"
		}
	}
#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = reported;
#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp26_) {
#line 4931 "BatchImport.c"
		GeeList* _tmp27_;
		BatchImportResult* _tmp28_;
#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = self->all;
#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = batch_result;
#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_);
#line 4940 "BatchImport.c"
	}
}


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


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


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


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


static gchar* value_import_manifest_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 4986 "BatchImport.c"
		ImportManifest * object;
		object = collect_values[0].v_pointer;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 4993 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 308 "/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 4997 "BatchImport.c"
		}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = import_manifest_ref (object);
#line 5001 "BatchImport.c"
	} else {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5005 "BatchImport.c"
	}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 5009 "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 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 5020 "BatchImport.c"
	}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 5026 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 5030 "BatchImport.c"
	} else {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = import_manifest_ref (value->data[0].v_pointer);
#line 5034 "BatchImport.c"
	}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 5038 "BatchImport.c"
}


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


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


void value_set_import_manifest (GValue* value, gpointer v_object) {
	ImportManifest * old;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST));
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST));
#line 308 "/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 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_ref (value->data[0].v_pointer);
#line 5081 "BatchImport.c"
	} else {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5085 "BatchImport.c"
	}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_unref (old);
#line 5091 "BatchImport.c"
	}
}


void value_take_import_manifest (GValue* value, gpointer v_object) {
	ImportManifest * old;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST));
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST));
#line 308 "/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 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 5110 "BatchImport.c"
	} else {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 5114 "BatchImport.c"
	}
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_unref (old);
#line 5120 "BatchImport.c"
	}
}


static void import_manifest_class_init (ImportManifestClass * klass) {
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_manifest_parent_class = g_type_class_peek_parent (klass);
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	((ImportManifestClass *) klass)->finalize = import_manifest_finalize;
#line 5130 "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 309 "/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 309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 310 "/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 310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->success = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList);
#line 311 "/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 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->camera_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList);
#line 312 "/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 312 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
#line 313 "/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 313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->write_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList);
#line 314 "/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 314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->skipped_photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList);
#line 315 "/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 315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->skipped_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList);
#line 316 "/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 316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->aborted = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList);
#line 317 "/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 317 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->already_imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_LIST, GeeList);
#line 318 "/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 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->corrupt_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_LIST, GeeList);
#line 319 "/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 319 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->all = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_LIST, GeeList);
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->ref_count = 1;
#line 5192 "BatchImport.c"
}


static void import_manifest_finalize (ImportManifest * obj) {
	ImportManifest * self;
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_MANIFEST, ImportManifest);
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->imported);
#line 310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->success);
#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->camera_failed);
#line 312 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->failed);
#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->write_failed);
#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->skipped_photos);
#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->skipped_files);
#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->aborted);
#line 317 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->already_imported);
#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->corrupt_files);
#line 319 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->all);
#line 5224 "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 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 5249 "BatchImport.c"
}


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


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


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


static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) {
	guint result;
	result = file_hash ((GFile*) v);
#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 5286 "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 491 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 5295 "BatchImport.c"
}


static gboolean _batch_import_display_imported_timer_gsource_func (gpointer self) {
	gboolean result;
	result = batch_import_display_imported_timer ((BatchImport*) self);
#line 501 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 5304 "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_;
	GeeIterable* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	BatchImportImportReporter _tmp4_;
	void* _tmp4__target;
	GeeArrayList* _tmp5_;
	GeeArrayList* _tmp6_;
	ImportManifest* _tmp7_;
	GCancellable* _tmp8_ = NULL;
	GCancellable* _tmp9_;
	GCancellable* _tmp13_;
	BatchImportRoll* _tmp14_ = NULL;
	BatchImportRoll* _tmp15_;
	BatchImportRoll* _tmp19_;
	ImportManifest* _tmp20_;
	Application* _tmp38_;
	Application* _tmp39_;
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((prefailed == NULL) || GEE_IS_ARRAY_LIST (prefailed), NULL);
#line 478 "/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 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((import_roll == NULL) || IS_BATCH_IMPORT_ROLL (import_roll), NULL);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((skip_manifest == NULL) || IS_IMPORT_MANIFEST (skip_manifest), NULL);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BatchImport*) g_object_new (object_type, NULL);
#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = jobs;
#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->jobs = _tmp1_;
#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = name;
#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->priv->name);
#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->name = _tmp3_;
#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = reporter;
#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4__target = reporter_target;
#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->reporter = _tmp4_;
#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->reporter_target = _tmp4__target;
#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = prefailed;
#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = pre_already_imported;
#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = import_manifest_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList));
#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_import_manifest_unref0 (self->priv->manifest);
#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->manifest = _tmp7_;
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = cancellable;
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp9_ != NULL) {
#line 5382 "BatchImport.c"
		GCancellable* _tmp10_;
		GCancellable* _tmp11_;
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = cancellable;
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _g_object_ref0 (_tmp10_);
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp8_);
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp11_;
#line 5393 "BatchImport.c"
	} else {
		GCancellable* _tmp12_;
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = g_cancellable_new ();
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp8_);
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp12_;
#line 5402 "BatchImport.c"
	}
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _g_object_ref0 (_tmp8_);
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->cancellable = _tmp13_;
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = import_roll;
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp15_ != NULL) {
#line 5414 "BatchImport.c"
		BatchImportRoll* _tmp16_;
		BatchImportRoll* _tmp17_;
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = import_roll;
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _batch_import_roll_ref0 (_tmp16_);
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_roll_unref0 (_tmp14_);
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp17_;
#line 5425 "BatchImport.c"
	} else {
		BatchImportRoll* _tmp18_;
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = batch_import_roll_new ();
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_roll_unref0 (_tmp14_);
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp18_;
#line 5434 "BatchImport.c"
	}
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = _batch_import_roll_ref0 (_tmp14_);
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (self->priv->import_roll);
#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_roll = _tmp19_;
#line 490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp20_ = skip_manifest;
#line 490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp20_ != NULL) {
#line 5446 "BatchImport.c"
		GeeHashSet* _tmp21_;
#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = 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 491 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (self->priv->skipset);
#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->skipset = _tmp21_;
#line 5454 "BatchImport.c"
		{
			GeeList* _source_list = NULL;
			ImportManifest* _tmp22_;
			GeeList* _tmp23_;
			GeeList* _tmp24_;
			gint _source_size = 0;
			GeeList* _tmp25_;
			gint _tmp26_;
			gint _tmp27_;
			gint _source_index = 0;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = skip_manifest;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = _tmp22_->imported;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = _g_object_ref0 (_tmp23_);
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_list = _tmp24_;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = _source_list;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection));
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _tmp26_;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_size = _tmp27_;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_source_index = -1;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 5485 "BatchImport.c"
				gint _tmp28_;
				gint _tmp29_;
				gint _tmp30_;
				MediaSource* source = NULL;
				GeeList* _tmp31_;
				gint _tmp32_;
				gpointer _tmp33_;
				GeeHashSet* _tmp34_;
				MediaSource* _tmp35_;
				GFile* _tmp36_;
				GFile* _tmp37_;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = _source_index;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_source_index = _tmp28_ + 1;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = _source_index;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _source_size;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp29_ < _tmp30_)) {
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 5509 "BatchImport.c"
				}
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = _source_list;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _source_index;
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp33_ = gee_list_get (_tmp31_, _tmp32_);
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				source = (MediaSource*) _tmp33_;
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = self->priv->skipset;
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = source;
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = media_source_get_file (_tmp35_);
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = _tmp36_;
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_);
#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp37_);
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (source);
#line 5533 "BatchImport.c"
			}
#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_source_list);
#line 5537 "BatchImport.c"
		}
	}
#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp38_ = application_get_instance ();
#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp39_ = _tmp38_;
#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_connect_object (_tmp39_, "exiting", (GCallback) _batch_import_user_halt_application_exiting, self, 0);
#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_application_unref0 (_tmp39_);
#line 501 "/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 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (_tmp14_);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_tmp8_);
#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 5556 "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 478 "/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 5563 "BatchImport.c"
}


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


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


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


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


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


void batch_import_set_mark_duplicates_online (BatchImport* self, gboolean mark_duplicates_online) {
	gboolean _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_ = mark_duplicates_online;
#line 532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->mark_duplicates_online = _tmp0_;
#line 5647 "BatchImport.c"
}


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


static gboolean batch_import_report_failure (BatchImport* self, BatchImportResult* import_result) {
	gboolean result = FALSE;
	gboolean proceed = FALSE;
	ImportManifest* _tmp0_;
	BatchImportResult* _tmp1_;
	BatchImportResult* _tmp2_;
	ImportResult _tmp3_;
	gboolean _tmp23_ = FALSE;
	BatchImportResult* _tmp24_;
	ImportResult _tmp25_;
	gboolean _tmp26_;
	GError * _inner_error_ = NULL;
#line 545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), FALSE);
#line 546 "/home/jens/Source/shotwell/src/BatchImport.vala"
	proceed = TRUE;
#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->manifest;
#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = import_result;
#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala"
	import_manifest_add_result (_tmp0_, _tmp1_);
#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_result;
#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->result;
#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_ != IMPORT_RESULT_SUCCESS) {
#line 5690 "BatchImport.c"
		BatchImportResult* _tmp4_;
		gboolean _tmp5_ = FALSE;
		BatchImportResult* _tmp6_;
		GFile* _tmp7_;
#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = import_result;
#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORT_JOB_FAILED_SIGNAL], 0, _tmp4_);
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = import_result;
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->file;
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp7_ != NULL) {
#line 5705 "BatchImport.c"
			BatchImportResult* _tmp8_;
			ImportResult _tmp9_;
			gboolean _tmp10_;
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = import_result;
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = _tmp8_->result;
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = import_result_is_abort (_tmp9_);
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = !_tmp10_;
#line 5717 "BatchImport.c"
		} else {
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = FALSE;
#line 5721 "BatchImport.c"
		}
#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp5_) {
#line 5725 "BatchImport.c"
			guint64 filesize = 0ULL;
			guint64 _tmp22_;
#line 554 "/home/jens/Source/shotwell/src/BatchImport.vala"
			filesize = (guint64) 0;
#line 5730 "BatchImport.c"
			{
				guint64 _tmp11_ = 0ULL;
				BatchImportResult* _tmp12_;
				GFile* _tmp13_;
				guint64 _tmp14_;
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = import_result;
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = _tmp12_->file;
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = query_total_file_size (_tmp13_, NULL, &_inner_error_);
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = _tmp14_;
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 5746 "BatchImport.c"
					goto __catch411_g_error;
				}
#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala"
				filesize = _tmp11_;
#line 5751 "BatchImport.c"
			}
			goto __finally411;
			__catch411_g_error:
			{
				GError* err = NULL;
				BatchImportResult* _tmp15_;
				GFile* _tmp16_;
				gchar* _tmp17_;
				gchar* _tmp18_;
				GError* _tmp19_;
				const gchar* _tmp20_;
#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = import_result;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = _tmp15_->file;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = g_file_get_path (_tmp16_);
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = _tmp17_;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = err;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _tmp19_->message;
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:559: Unable to query file size of %s: %s", _tmp18_, _tmp20_);
#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp18_);
#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 5785 "BatchImport.c"
			}
			__finally411:
#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 5790 "BatchImport.c"
				gboolean _tmp21_ = FALSE;
#line 555 "/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 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return _tmp21_;
#line 5798 "BatchImport.c"
			}
#line 563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = filesize;
#line 563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, _tmp22_);
#line 5804 "BatchImport.c"
		}
	}
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp24_ = import_result;
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp25_ = _tmp24_->result;
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = import_result_is_nonuser_abort (_tmp25_);
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp26_) {
#line 5815 "BatchImport.c"
		gboolean _tmp27_;
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = proceed;
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = _tmp27_;
#line 5821 "BatchImport.c"
	} else {
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = FALSE;
#line 5825 "BatchImport.c"
	}
#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp23_) {
#line 5829 "BatchImport.c"
		BatchImportResult* _tmp28_;
		ImportResult _tmp29_;
		BatchImportResult* _tmp30_;
		const gchar* _tmp31_;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = import_result;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = _tmp28_->result;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = import_result;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = _tmp30_->errmsg;
#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_FATAL_ERROR_SIGNAL], 0, _tmp29_, _tmp31_);
#line 570 "/home/jens/Source/shotwell/src/BatchImport.vala"
		proceed = FALSE;
#line 5846 "BatchImport.c"
	}
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = proceed;
#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 5852 "BatchImport.c"
}


static void batch_import_report_progress (BatchImport* self, guint64 increment_of_progress) {
	guint64 _tmp0_;
	guint64 _tmp1_;
	guint64 _tmp2_;
#line 576 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed_bytes;
#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = increment_of_progress;
#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed_bytes = _tmp0_ + _tmp1_;
#line 581 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->priv->completed_bytes;
#line 581 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ == ((guint64) 0)) {
#line 5872 "BatchImport.c"
		gulong now = 0UL;
		gulong _tmp3_;
		gulong _tmp4_;
		gulong _tmp5_;
#line 582 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = now_ms ();
#line 582 "/home/jens/Source/shotwell/src/BatchImport.vala"
		now = _tmp3_;
#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = now;
#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->priv->last_preparing_ms;
#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp4_ - _tmp5_) > ((gulong) 250)) {
#line 5887 "BatchImport.c"
			gulong _tmp6_;
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = now;
#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->priv->last_preparing_ms = _tmp6_;
#line 585 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_signal_emit (self, batch_import_signals[BATCH_IMPORT_PREPARING_SIGNAL], 0);
#line 5895 "BatchImport.c"
		}
	} else {
		guint64 _tmp7_;
#line 587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = increment_of_progress;
#line 587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp7_ > ((guint64) 0)) {
#line 5903 "BatchImport.c"
			gulong now = 0UL;
			gulong _tmp8_;
			gulong _tmp9_;
			gulong _tmp10_;
#line 588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = now_ms ();
#line 588 "/home/jens/Source/shotwell/src/BatchImport.vala"
			now = _tmp8_;
#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = now;
#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = self->priv->last_preparing_ms;
#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if ((_tmp9_ - _tmp10_) > ((gulong) 250)) {
#line 5918 "BatchImport.c"
				gulong _tmp11_;
				guint64 _tmp12_;
				guint64 _tmp13_;
#line 590 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = now;
#line 590 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->priv->last_preparing_ms = _tmp11_;
#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = self->priv->completed_bytes;
#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = self->priv->total_bytes;
#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_signal_emit (self, batch_import_signals[BATCH_IMPORT_PROGRESS_SIGNAL], 0, _tmp12_, _tmp13_);
#line 5932 "BatchImport.c"
			}
		}
	}
}


static gboolean batch_import_report_failures (BatchImport* self, BackgroundImportJob* background_job) {
	gboolean result = FALSE;
	gboolean proceed = FALSE;
#line 596 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 596 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (background_job), FALSE);
#line 597 "/home/jens/Source/shotwell/src/BatchImport.vala"
	proceed = TRUE;
#line 5948 "BatchImport.c"
	{
		GeeList* _import_result_list = NULL;
		BackgroundImportJob* _tmp0_;
		GeeList* _tmp1_;
		GeeList* _tmp2_;
		gint _import_result_size = 0;
		GeeList* _tmp3_;
		gint _tmp4_;
		gint _tmp5_;
		gint _import_result_index = 0;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = background_job;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _tmp0_->failed;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_list = _tmp2_;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _import_result_list;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_size = _tmp5_;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_import_result_index = -1;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 5979 "BatchImport.c"
			gint _tmp6_;
			gint _tmp7_;
			gint _tmp8_;
			BatchImportResult* import_result = NULL;
			GeeList* _tmp9_;
			gint _tmp10_;
			gpointer _tmp11_;
			BatchImportResult* _tmp12_;
			gboolean _tmp13_;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = _import_result_index;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_import_result_index = _tmp6_ + 1;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _import_result_index;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = _import_result_size;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp7_ < _tmp8_)) {
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 6001 "BatchImport.c"
			}
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = _import_result_list;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _import_result_index;
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = gee_list_get (_tmp9_, _tmp10_);
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			import_result = (BatchImportResult*) _tmp11_;
#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = import_result;
#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = batch_import_report_failure (self, _tmp12_);
#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!_tmp13_) {
#line 601 "/home/jens/Source/shotwell/src/BatchImport.vala"
				proceed = FALSE;
#line 6019 "BatchImport.c"
			}
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (import_result);
#line 6023 "BatchImport.c"
		}
#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_import_result_list);
#line 6027 "BatchImport.c"
	}
#line 604 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = proceed;
#line 604 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6033 "BatchImport.c"
}


static void batch_import_report_completed (BatchImport* self, const gchar* where) {
	gboolean _tmp0_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	BatchImportImportReporter _tmp5_;
	void* _tmp5__target;
	ImportManifest* _tmp9_;
	BatchImportRoll* _tmp10_;
#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (where != NULL);
#line 608 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 608 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 6054 "BatchImport.c"
		const gchar* _tmp1_;
#line 609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = where;
#line 609 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_error ("BatchImport.vala:609: Attempted to complete already-completed import: " \
"%s", _tmp1_);
#line 6060 "BatchImport.c"
	}
#line 611 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed = TRUE;
#line 613 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_ready_sources (self);
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = where;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = g_strdup_printf ("Import completed: %s", _tmp2_);
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_;
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp4_);
#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp4_);
#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = self->priv->reporter;
#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5__target = self->priv->reporter_target;
#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ != NULL) {
#line 6082 "BatchImport.c"
		BatchImportImportReporter _tmp6_;
		void* _tmp6__target;
		ImportManifest* _tmp7_;
		BatchImportRoll* _tmp8_;
#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->priv->reporter;
#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6__target = self->priv->reporter_target;
#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->manifest;
#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = self->priv->import_roll;
#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ (_tmp7_, _tmp8_, _tmp6__target);
#line 6097 "BatchImport.c"
	}
#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = self->priv->manifest;
#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = self->priv->import_roll;
#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORT_COMPLETE_SIGNAL], 0, _tmp9_, _tmp10_);
#line 6105 "BatchImport.c"
}


static void batch_import_file_import_complete (BatchImport* self) {
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp4_ = FALSE;
	gint _tmp5_;
#line 625 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 627 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file_imports_completed;
#line 627 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_completed = _tmp0_ + 1;
#line 628 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->priv->file_imports_to_perform;
#line 628 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != -1) {
#line 6124 "BatchImport.c"
		gint _tmp2_;
		gint _tmp3_;
#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->file_imports_completed;
#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->file_imports_to_perform;
#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp2_ <= _tmp3_, "file_imports_completed <= file_imports_to_perform");
#line 6133 "BatchImport.c"
	}
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = self->priv->file_imports_to_perform;
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ != -1) {
#line 6139 "BatchImport.c"
		gint _tmp6_;
		gint _tmp7_;
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->priv->file_imports_completed;
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->file_imports_to_perform;
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp6_ == _tmp7_;
#line 6148 "BatchImport.c"
	} else {
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = FALSE;
#line 6152 "BatchImport.c"
	}
#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_) {
#line 634 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "completed preparing files, all outstanding imports completed");
#line 6158 "BatchImport.c"
	}
}


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


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


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


void batch_import_schedule (BatchImport* self) {
	gboolean _tmp0_;
	Workers* _tmp1_;
	GeeIterable* _tmp2_;
	GCancellable* _tmp3_;
	GeeHashSet* _tmp4_;
	WorkSniffer* _tmp5_;
	WorkSniffer* _tmp6_;
	guint _tmp7_;
#line 637 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->scheduled;
#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_ == FALSE, "scheduled == false");
#line 639 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->scheduled = TRUE;
#line 641 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_emit (self, batch_import_signals[BATCH_IMPORT_STARTING_SIGNAL], 0);
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = batch_import_feeder_workers;
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = self->priv->jobs;
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->cancellable;
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->skipset;
#line 644 "/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 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_;
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	workers_enqueue (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (_tmp6_);
#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = 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 646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->throbber_id = _tmp7_;
#line 6225 "BatchImport.c"
}


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


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


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


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


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


static void batch_import_on_work_sniffed_out (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	WorkSniffer* sniffer = NULL;
	BackgroundJob* _tmp1_;
	WorkSniffer* _tmp2_;
	gboolean _tmp3_ = FALSE;
	WorkSniffer* _tmp4_;
	gboolean _tmp5_;
	WorkSniffer* _tmp10_;
	guint64 _tmp11_;
	PrepareFilesJob* prepare_files_job = NULL;
	WorkSniffer* _tmp12_;
	GeeList* _tmp13_;
	GCancellable* _tmp14_;
	PrepareFilesJob* _tmp15_;
	Workers* _tmp16_;
	PrepareFilesJob* _tmp17_;
	guint _tmp18_;
#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 660 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 660 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_WORK_SNIFFER, WorkSniffer));
#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sniffer = _tmp2_;
#line 664 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_work_sniffed_out");
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = sniffer;
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp5_) {
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = TRUE;
#line 6313 "BatchImport.c"
	} else {
		WorkSniffer* _tmp6_;
		GeeList* _tmp7_;
		gint _tmp8_;
		gint _tmp9_;
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = sniffer;
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->files_to_prepare;
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection));
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_;
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp9_ == 0;
#line 6329 "BatchImport.c"
	}
#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp3_) {
#line 667 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "work sniffed out: nothing to do");
#line 669 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (sniffer);
#line 669 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 6339 "BatchImport.c"
	}
#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = sniffer;
#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = _tmp10_->total_bytes;
#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->total_bytes = _tmp11_;
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = sniffer;
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _tmp12_->files_to_prepare;
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = self->priv->cancellable;
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = prepare_files_job_new (self, _tmp13_, _batch_import_on_file_prepared_notification_callback, self, _batch_import_on_files_prepared_completion_callback, self, _tmp14_, _batch_import_on_file_prepare_cancelled_cancellation_callback, self);
#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepare_files_job = _tmp15_;
#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = batch_import_feeder_workers;
#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = prepare_files_job;
#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala"
	workers_enqueue (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = self->priv->throbber_id;
#line 684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp18_ > ((guint) 0)) {
#line 6367 "BatchImport.c"
		guint _tmp19_;
#line 685 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = self->priv->throbber_id;
#line 685 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_source_remove (_tmp19_);
#line 686 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->throbber_id = (guint) 0;
#line 6375 "BatchImport.c"
	}
#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (prepare_files_job);
#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (sniffer);
#line 6381 "BatchImport.c"
}


static void batch_import_on_sniffer_cancelled (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	WorkSniffer* sniffer = NULL;
	BackgroundJob* _tmp1_;
	WorkSniffer* _tmp2_;
	WorkSniffer* _tmp3_;
	guint _tmp4_;
#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 691 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 691 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_WORK_SNIFFER, WorkSniffer));
#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sniffer = _tmp2_;
#line 695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_sniffer_cancelled");
#line 697 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = sniffer;
#line 697 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_completed (self, "work sniffer cancelled");
#line 700 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->throbber_id;
#line 700 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_ > ((guint) 0)) {
#line 6418 "BatchImport.c"
		guint _tmp5_;
#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->priv->throbber_id;
#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_source_remove (_tmp5_);
#line 702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->priv->throbber_id = (guint) 0;
#line 6426 "BatchImport.c"
	}
#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (sniffer);
#line 6430 "BatchImport.c"
}


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


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


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


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


static void batch_import_flush_import_jobs (BatchImport* self) {
#line 710 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 6467 "BatchImport.c"
		gboolean _tmp0_ = FALSE;
		GeeList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		Workers* _tmp7_;
		GeeList* _tmp8_;
		gpointer _tmp9_;
		CompletedImportObject* _tmp10_;
		GCancellable* _tmp11_;
		ThumbnailWriterJob* _tmp12_;
		ThumbnailWriterJob* _tmp13_;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = self->priv->ready_thumbnails;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ > 0) {
#line 6487 "BatchImport.c"
			Workers* _tmp4_;
			gint _tmp5_;
			guint _tmp6_;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = batch_import_import_workers;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = workers_get_pending_job_count (_tmp4_);
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = self->priv->max_outstanding_import_jobs;
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp0_ = ((guint) _tmp5_) < _tmp6_;
#line 6499 "BatchImport.c"
		} else {
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp0_ = FALSE;
#line 6503 "BatchImport.c"
		}
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp0_) {
#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 6509 "BatchImport.c"
		}
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = batch_import_import_workers;
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = self->priv->ready_thumbnails;
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = gee_list_remove_at (_tmp8_, 0);
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = (CompletedImportObject*) _tmp9_;
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = self->priv->cancellable;
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = thumbnail_writer_job_new (self, _tmp10_, _batch_import_on_thumbnail_writer_completed_completion_callback, self, _tmp11_, _batch_import_on_thumbnail_writer_cancelled_cancellation_callback, self);
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_;
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		workers_enqueue (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (_tmp13_);
#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_import_object_unref0 (_tmp10_);
#line 6531 "BatchImport.c"
	}
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 6535 "BatchImport.c"
		gboolean _tmp14_ = FALSE;
		GeeList* _tmp15_;
		gint _tmp16_;
		gint _tmp17_;
		Workers* _tmp21_;
		GeeList* _tmp22_;
		gpointer _tmp23_;
		PreparedFile* _tmp24_;
		BatchImportRoll* _tmp25_;
		ImportID _tmp26_;
		GCancellable* _tmp27_;
		PreparedFileImportJob* _tmp28_;
		PreparedFileImportJob* _tmp29_;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = self->priv->ready_files;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection));
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp17_ > 0) {
#line 6557 "BatchImport.c"
			Workers* _tmp18_;
			gint _tmp19_;
			guint _tmp20_;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = batch_import_import_workers;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = workers_get_pending_job_count (_tmp18_);
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = self->priv->max_outstanding_import_jobs;
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = ((guint) _tmp19_) < _tmp20_;
#line 6569 "BatchImport.c"
		} else {
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = FALSE;
#line 6573 "BatchImport.c"
		}
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp14_) {
#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 6579 "BatchImport.c"
		}
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = batch_import_import_workers;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = self->priv->ready_files;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = gee_list_remove_at (_tmp22_, 0);
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = (PreparedFile*) _tmp23_;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = self->priv->import_roll;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = _tmp25_->import_id;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = self->priv->cancellable;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = prepared_file_import_job_new (self, _tmp24_, &_tmp26_, _batch_import_on_import_files_completed_completion_callback, self, _tmp27_, _batch_import_on_import_files_cancelled_cancellation_callback, self);
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = _tmp28_;
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		workers_enqueue (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_background_job_unref0 (_tmp29_);
#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_prepared_file_unref0 (_tmp24_);
#line 6605 "BatchImport.c"
	}
}


static GFile* batch_import_get_in_current_import (BatchImport* self, PreparedFile* prepared_file) {
	GFile* result = NULL;
	gboolean _tmp0_ = FALSE;
	PreparedFile* _tmp1_;
	const gchar* _tmp2_;
	PreparedFile* _tmp11_;
	const gchar* _tmp12_;
#line 729 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), NULL);
#line 729 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = prepared_file;
#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_->full_md5;
#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ != NULL) {
#line 6627 "BatchImport.c"
		GeeHashMap* _tmp3_;
		PreparedFile* _tmp4_;
		const gchar* _tmp5_;
		gboolean _tmp6_;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->imported_full_md5_table;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = prepared_file;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->full_md5;
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_);
#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp6_;
#line 6642 "BatchImport.c"
	} else {
#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 6646 "BatchImport.c"
	}
#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 6650 "BatchImport.c"
		GeeHashMap* _tmp7_;
		PreparedFile* _tmp8_;
		const gchar* _tmp9_;
		gpointer _tmp10_;
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = self->priv->imported_full_md5_table;
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = prepared_file;
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->full_md5;
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_);
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = (GFile*) _tmp10_;
#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 6667 "BatchImport.c"
	}
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = prepared_file;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = _tmp11_->full_md5;
#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp12_ != NULL) {
#line 6675 "BatchImport.c"
		GeeHashMap* _tmp13_;
		PreparedFile* _tmp14_;
		const gchar* _tmp15_;
		PreparedFile* _tmp16_;
		GFile* _tmp17_;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = self->priv->imported_full_md5_table;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = prepared_file;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_->full_md5;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = prepared_file;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_->file;
#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_, _tmp17_);
#line 6693 "BatchImport.c"
	}
#line 741 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = NULL;
#line 741 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6699 "BatchImport.c"
}


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


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


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


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


static void batch_import_process_prepared_files (BatchImport* self, GeeList* list, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BatchImportProcessPreparedFilesData* _data_;
	BatchImport* _tmp0_;
	GeeList* _tmp1_;
	GeeList* _tmp2_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_ = g_slice_new0 (BatchImportProcessPreparedFilesData);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->_callback_ = _callback_;
#line 402 "/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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_callback_ == NULL) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_task_complete_ = TRUE;
#line 6805 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_task_set_task_data (_data_->_async_result, _data_, batch_import_process_prepared_files_data_free);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->self = _tmp0_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = list;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_data_->list);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_->list = _tmp2_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_process_prepared_files_co (_data_);
#line 6823 "BatchImport.c"
}


static void batch_import_process_prepared_files_finish (BatchImport* self, GAsyncResult* _res_) {
	BatchImportProcessPreparedFilesData* _data_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 6831 "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 759 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 6840 "BatchImport.c"
}


static gboolean batch_import_process_prepared_files_co (BatchImportProcessPreparedFilesData* _data_) {
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
	switch (_data_->_state_) {
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case 0:
#line 6849 "BatchImport.c"
		goto _state_0;
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
		case 1:
#line 6853 "BatchImport.c"
		goto _state_1;
		default:
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_assert_not_reached ();
#line 6858 "BatchImport.c"
	}
	_state_0:
	{
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp0_ = _data_->list;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp1_ = _g_object_ref0 (_data_->_tmp0_);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_list = _data_->_tmp1_;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp2_ = _data_->_prepared_file_list;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_tmp4_ = _data_->_tmp3_;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_size = _data_->_tmp4_;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_data_->_prepared_file_index = -1;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp5_ = _data_->_prepared_file_index;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_prepared_file_index = _data_->_tmp5_ + 1;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp6_ = _data_->_prepared_file_index;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp7_ = _data_->_prepared_file_size;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_data_->_tmp6_ < _data_->_tmp7_)) {
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 6892 "BatchImport.c"
			}
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp8_ = _data_->_prepared_file_list;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp9_ = _data_->_prepared_file_index;
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp10_ = gee_list_get (_data_->_tmp8_, _data_->_tmp9_);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->prepared_file = (PreparedFile*) _data_->_tmp10_;
#line 759 "/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 760 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_state_ = 1;
#line 760 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return FALSE;
#line 6908 "BatchImport.c"
			_state_1:
			;
#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->import_result = NULL;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp11_ = library_photo_global;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp12_ = _data_->prepared_file;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp13_ = _data_->_tmp12_->file;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp14_ = 0;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp15_ = library_photo_source_collection_get_state_by_file (_data_->_tmp11_, _data_->_tmp13_, &_data_->_tmp14_);
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->photo_state = _data_->_tmp14_;
#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->photo = _data_->_tmp15_;
#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp16_ = _data_->photo;
#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp16_ != NULL) {
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp17_ = _data_->photo_state;
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
				switch (_data_->_tmp17_) {
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE:
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE:
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE:
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER:
#line 6943 "BatchImport.c"
					{
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp18_ = _data_->prepared_file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp19_ = _data_->_tmp18_->job;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp20_ = _data_->prepared_file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp21_ = _data_->_tmp20_->file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp22_ = _data_->prepared_file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp23_ = _data_->_tmp22_->file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp24_ = g_file_get_path (_data_->_tmp23_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp25_ = _data_->_tmp24_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp26_ = _data_->prepared_file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp27_ = _data_->_tmp26_->file;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp28_ = g_file_get_path (_data_->_tmp27_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp29_ = _data_->_tmp28_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp30_ = _data_->photo;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp31_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp30_, TYPE_MEDIA_SOURCE, MediaSource));
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp32_ = _data_->_tmp31_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp33_ = duplicated_file_create_from_file (_data_->_tmp32_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp34_ = _data_->_tmp33_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp35_ = batch_import_result_new (_data_->_tmp19_, _data_->_tmp21_, _data_->_tmp25_, _data_->_tmp29_, _data_->_tmp34_, IMPORT_RESULT_PHOTO_EXISTS);
#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"
						_data_->import_result = _data_->_tmp35_;
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp34_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp32_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp29_);
#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp25_);
#line 780 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp36_ = _data_->photo_state;
#line 780 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp36_ == LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE) {
#line 781 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp37_ = _data_->photo;
#line 781 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp37_, TYPE_MEDIA_SOURCE, MediaSource));
#line 7001 "BatchImport.c"
						}
#line 782 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7005 "BatchImport.c"
					}
#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH:
#line 7009 "BatchImport.c"
					{
#line 786 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7013 "BatchImport.c"
					}
					default:
					{
#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp38_ = _data_->photo_state;
#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp39_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp38_);
#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_error ("BatchImport.vala:789: Unknown LibraryPhotoSourceCollection state: %s", (_data_->_tmp39_ != NULL) ? _data_->_tmp39_->value_name : NULL);
#line 7023 "BatchImport.c"
					}
				}
			}
#line 793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp40_ = _data_->import_result;
#line 793 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp40_ != NULL) {
#line 794 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp41_ = _data_->import_result;
#line 794 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp41_);
#line 795 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 7045 "BatchImport.c"
			}
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp42_ = video_global;
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp43_ = _data_->prepared_file;
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp44_ = _data_->_tmp43_->file;
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp45_ = 0;
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp46_ = video_source_collection_get_state_by_file (_data_->_tmp42_, _data_->_tmp44_, &_data_->_tmp45_);
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->video_state = _data_->_tmp45_;
#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->video = _data_->_tmp46_;
#line 802 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp47_ = _data_->video;
#line 802 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp47_ != NULL) {
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp48_ = _data_->video_state;
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
				switch (_data_->_tmp48_) {
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_ONLINE:
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_OFFLINE:
#line 7073 "BatchImport.c"
					{
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp49_ = _data_->prepared_file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp50_ = _data_->_tmp49_->job;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp51_ = _data_->prepared_file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp52_ = _data_->_tmp51_->file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp53_ = _data_->prepared_file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp54_ = _data_->_tmp53_->file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp55_ = g_file_get_path (_data_->_tmp54_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp56_ = _data_->_tmp55_;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp57_ = _data_->prepared_file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp58_ = _data_->_tmp57_->file;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp59_ = g_file_get_path (_data_->_tmp58_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp60_ = _data_->_tmp59_;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp61_ = _data_->video;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp62_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp61_, TYPE_MEDIA_SOURCE, MediaSource));
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp63_ = _data_->_tmp62_;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp64_ = duplicated_file_create_from_file (_data_->_tmp63_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp65_ = _data_->_tmp64_;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp66_ = batch_import_result_new (_data_->_tmp50_, _data_->_tmp52_, _data_->_tmp56_, _data_->_tmp60_, _data_->_tmp65_, IMPORT_RESULT_PHOTO_EXISTS);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->import_result = _data_->_tmp66_;
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp65_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->_tmp63_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp60_);
#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp56_);
#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp67_ = _data_->video_state;
#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp67_ == VIDEO_SOURCE_COLLECTION_STATE_OFFLINE) {
#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp68_ = _data_->video;
#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp68_, TYPE_MEDIA_SOURCE, MediaSource));
#line 7131 "BatchImport.c"
						}
#line 813 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7135 "BatchImport.c"
					}
#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala"
					case VIDEO_SOURCE_COLLECTION_STATE_TRASH:
#line 7139 "BatchImport.c"
					{
#line 817 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 7143 "BatchImport.c"
					}
					default:
					{
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp69_ = _data_->video_state;
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp70_ = g_enum_get_value (g_type_class_ref (VIDEO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp69_);
#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_error ("BatchImport.vala:820: Unknown VideoSourceCollection state: %s", (_data_->_tmp70_ != NULL) ? _data_->_tmp70_->value_name : NULL);
#line 7153 "BatchImport.c"
					}
				}
			}
#line 824 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp71_ = _data_->import_result;
#line 824 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp71_ != NULL) {
#line 825 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp72_ = _data_->import_result;
#line 825 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp72_);
#line 826 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->video);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 7177 "BatchImport.c"
			}
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp74_ = _data_->prepared_file;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp75_ = _data_->_tmp74_->is_video;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp75_) {
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp76_ = _data_->prepared_file;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp77_ = _data_->_tmp76_->file;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp78_ = _data_->prepared_file;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp79_ = _data_->_tmp78_->full_md5;
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp80_ = video_is_duplicate (_data_->_tmp77_, _data_->_tmp79_);
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp73_ = _data_->_tmp80_;
#line 7197 "BatchImport.c"
			} else {
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp73_ = FALSE;
#line 7201 "BatchImport.c"
			}
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp73_) {
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp81_ = video_table_get_instance ();
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp82_ = _data_->_tmp81_;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp83_ = _data_->prepared_file;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp84_ = _data_->_tmp83_->file;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp85_ = _data_->prepared_file;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp86_ = _data_->_tmp85_->full_md5;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp88_ = video_table_get_duplicate_ids (_data_->_tmp82_, _data_->_tmp84_, _data_->_tmp86_, &_data_->_tmp87_);
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp89_ = _data_->_tmp88_;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp89__length1 = _data_->_tmp87_;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_database_table_unref0 (_data_->_tmp82_);
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids = _data_->_tmp89_;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids_length1 = _data_->_tmp89__length1;
#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_duplicate_ids_size_ = _data_->duplicate_ids_length1;
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp90_ = _data_->duplicate_ids;
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp90__length1 = _data_->duplicate_ids_length1;
#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_vala_assert (_data_->_tmp90__length1 > 0, "duplicate_ids.length > 0");
#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp91_ = _data_->duplicate_ids;
#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp91__length1 = _data_->duplicate_ids_length1;
#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp92_ = _data_->_tmp91_[0];
#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp93_ = duplicated_file_create_from_video_id (&_data_->_tmp92_);
#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicated_file = _data_->_tmp93_;
#line 842 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->result_code = IMPORT_RESULT_PHOTO_EXISTS;
#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp94_ = _data_->self->priv->mark_duplicates_online;
#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_data_->_tmp94_) {
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp95_ = video_global;
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp96_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp95_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp97_ = _data_->_tmp96_;
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp98_ = _data_->prepared_file;
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp99_ = _data_->_tmp98_->file;
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp100_ = media_source_holding_tank_fetch_by_master_file (_data_->_tmp97_, _data_->_tmp99_);
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp101_ = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp100_, TYPE_VIDEO, Video);
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_source_holding_tank_unref0 (_data_->_tmp97_);
#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->dupe_video = _data_->_tmp101_;
#line 846 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp102_ = _data_->dupe_video;
#line 846 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp102_ == NULL) {
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp103_ = video_global;
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp104_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp103_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp105_ = _data_->_tmp104_;
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp106_ = _data_->prepared_file;
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp107_ = _data_->_tmp106_->full_md5;
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp108_ = media_source_holding_tank_fetch_by_md5 (_data_->_tmp105_, _data_->_tmp107_);
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->dupe_video);
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->dupe_video = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp108_, TYPE_VIDEO, Video);
#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_source_holding_tank_unref0 (_data_->_tmp105_);
#line 7293 "BatchImport.c"
					}
#line 849 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp109_ = _data_->dupe_video;
#line 849 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp109_ != NULL) {
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp110_ = _data_->prepared_file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp111_ = _data_->_tmp110_->file;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp112_ = g_file_get_path (_data_->_tmp111_);
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp113_ = _data_->_tmp112_;
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						g_debug ("BatchImport.vala:850: duplicate video found offline, marking as online" \
": %s", _data_->_tmp113_);
#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp113_);
#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp114_ = _data_->dupe_video;
#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp115_ = _data_->prepared_file;
#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp116_ = _data_->_tmp115_->file;
#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala"
						monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp114_, TYPE_MONITORABLE, Monitorable), _data_->_tmp116_);
#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp117_ = _data_->dupe_video;
#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala"
						media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp117_, TYPE_MEDIA_SOURCE, MediaSource));
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->duplicated_file);
#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->duplicated_file = NULL;
#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp118_ = _data_->self->priv->manifest;
#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp119_ = _data_->_tmp118_->imported;
#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp120_ = _data_->dupe_video;
#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp119_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp120_, TYPE_MEDIA_SOURCE, MediaSource));
#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp121_ = _data_->dupe_video;
#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp122_ = media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp121_, TYPE_MEDIA_SOURCE, MediaSource));
#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_report_progress (_data_->self, _data_->_tmp122_);
#line 860 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_file_import_complete (_data_->self);
#line 862 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->result_code = IMPORT_RESULT_SUCCESS;
#line 7345 "BatchImport.c"
					}
#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->dupe_video);
#line 7349 "BatchImport.c"
				}
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp123_ = _data_->prepared_file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp124_ = _data_->_tmp123_->job;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp125_ = _data_->prepared_file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp126_ = _data_->_tmp125_->file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp127_ = _data_->prepared_file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp128_ = _data_->_tmp127_->file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp129_ = g_file_get_path (_data_->_tmp128_);
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp130_ = _data_->_tmp129_;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp131_ = _data_->prepared_file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp132_ = _data_->_tmp131_->file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp133_ = g_file_get_path (_data_->_tmp132_);
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp134_ = _data_->_tmp133_;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp135_ = _data_->duplicated_file;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp136_ = _data_->result_code;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp137_ = batch_import_result_new (_data_->_tmp124_, _data_->_tmp126_, _data_->_tmp130_, _data_->_tmp134_, _data_->_tmp135_, _data_->_tmp136_);
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->import_result = _data_->_tmp137_;
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp134_);
#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp130_);
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp138_ = _data_->result_code;
#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_data_->_tmp138_ == IMPORT_RESULT_SUCCESS) {
#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp139_ = _data_->self->priv->manifest;
#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp140_ = _data_->import_result;
#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala"
					import_manifest_add_result (_data_->_tmp139_, _data_->_tmp140_);
#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_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->video);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->photo);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_result_unref0 (_data_->import_result);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_unref0 (_data_->prepared_file);
#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 7413 "BatchImport.c"
				}
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->duplicated_file);
#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL);
#line 7419 "BatchImport.c"
			}
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp141_ = _data_->prepared_file;
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp142_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp141_);
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp143_ = _data_->_tmp142_;
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp144_ = _data_->_tmp143_ != NULL;
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->_tmp143_);
#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp144_) {
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp145_ = _data_->prepared_file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp146_ = _data_->_tmp145_->job;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp147_ = _data_->prepared_file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp148_ = _data_->_tmp147_->file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp149_ = _data_->prepared_file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp150_ = _data_->_tmp149_->file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp151_ = g_file_get_path (_data_->_tmp150_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp152_ = _data_->_tmp151_;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp153_ = _data_->prepared_file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp154_ = _data_->_tmp153_->file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp155_ = g_file_get_path (_data_->_tmp154_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp156_ = _data_->_tmp155_;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp157_ = _data_->prepared_file;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp158_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp157_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp159_ = _data_->_tmp158_;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp160_ = duplicated_file_create_from_file (_data_->_tmp159_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp161_ = _data_->_tmp160_;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp162_ = batch_import_result_new (_data_->_tmp146_, _data_->_tmp148_, _data_->_tmp152_, _data_->_tmp156_, _data_->_tmp161_, IMPORT_RESULT_PHOTO_EXISTS);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->import_result = _data_->_tmp162_;
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->_tmp161_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->_tmp159_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp156_);
#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_data_->_tmp152_);
#line 7481 "BatchImport.c"
			} else {
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp163_ = _data_->prepared_file;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp164_ = _data_->_tmp163_->file;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp165_ = _data_->prepared_file;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp166_ = _data_->_tmp165_->full_md5;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp167_ = _data_->prepared_file;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp168_ = _data_->_tmp167_->file_format;
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp169_ = photo_is_duplicate (_data_->_tmp164_, NULL, _data_->_tmp166_, _data_->_tmp168_);
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_data_->_tmp169_) {
#line 886 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp170_ = _data_->self->priv->untrash_duplicates;
#line 886 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp170_) {
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp171_ = library_photo_global;
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp172_ = _data_->prepared_file;
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp173_ = _data_->_tmp172_->file;
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp174_ = library_photo_source_collection_get_trashed_by_file (_data_->_tmp171_, _data_->_tmp173_);
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->photo);
#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->photo = _data_->_tmp174_;
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp176_ = _data_->photo;
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp176_ == NULL) {
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp177_ = _data_->prepared_file;
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp178_ = _data_->_tmp177_->full_md5;
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp175_ = _data_->_tmp178_ != NULL;
#line 7525 "BatchImport.c"
						} else {
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp175_ = FALSE;
#line 7529 "BatchImport.c"
						}
#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp175_) {
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp179_ = library_photo_global;
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp180_ = _data_->prepared_file;
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp181_ = _data_->_tmp180_->full_md5;
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp182_ = library_photo_source_collection_get_trashed_by_md5 (_data_->_tmp179_, _data_->_tmp181_);
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_object_unref0 (_data_->photo);
#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->photo = _data_->_tmp182_;
#line 7545 "BatchImport.c"
						}
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp183_ = _data_->photo;
#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp183_ != NULL) {
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp184_ = _data_->prepared_file;
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp185_ = _data_->_tmp184_->file;
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp186_ = g_file_get_path (_data_->_tmp185_);
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp187_ = _data_->_tmp186_;
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							g_debug ("BatchImport.vala:895: duplicate linked photo found in trash, untrashin" \
"g and removing transforms for %s", _data_->_tmp187_);
#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_free0 (_data_->_tmp187_);
#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp188_ = _data_->photo;
#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp189_ = _data_->prepared_file;
#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp190_ = _data_->_tmp189_->file;
#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala"
							monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp188_, TYPE_MONITORABLE, Monitorable), _data_->_tmp190_);
#line 899 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp191_ = _data_->photo;
#line 899 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_untrash (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp191_, TYPE_MEDIA_SOURCE, MediaSource));
#line 900 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp192_ = _data_->photo;
#line 900 "/home/jens/Source/shotwell/src/BatchImport.vala"
							photo_remove_all_transformations (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp192_, TYPE_PHOTO, Photo));
#line 7579 "BatchImport.c"
						}
					}
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp194_ = _data_->photo;
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp194_ == NULL) {
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp195_ = _data_->self->priv->mark_duplicates_online;
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp193_ = _data_->_tmp195_;
#line 7590 "BatchImport.c"
					} else {
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp193_ = FALSE;
#line 7594 "BatchImport.c"
					}
#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp193_) {
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp196_ = library_photo_global;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp197_ = _data_->prepared_file;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp198_ = _data_->_tmp197_->file;
#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp199_ = library_photo_source_collection_get_offline_by_file (_data_->_tmp196_, _data_->_tmp198_);
#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_->_tmp199_;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp201_ = _data_->photo;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp201_ == NULL) {
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp202_ = _data_->prepared_file;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp203_ = _data_->_tmp202_->full_md5;
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp200_ = _data_->_tmp203_ != NULL;
#line 7620 "BatchImport.c"
						} else {
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp200_ = FALSE;
#line 7624 "BatchImport.c"
						}
#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp200_) {
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp204_ = library_photo_global;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp205_ = _data_->prepared_file;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp206_ = _data_->_tmp205_->full_md5;
#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp207_ = library_photo_source_collection_get_offline_by_md5 (_data_->_tmp204_, _data_->_tmp206_);
#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_->_tmp207_;
#line 7640 "BatchImport.c"
						}
#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp208_ = _data_->photo;
#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_data_->_tmp208_ != NULL) {
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp209_ = _data_->prepared_file;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp210_ = _data_->_tmp209_->file;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp211_ = g_file_get_path (_data_->_tmp210_);
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp212_ = _data_->_tmp211_;
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							g_debug ("BatchImport.vala:912: duplicate photo found marked offline, marking on" \
"line: %s", _data_->_tmp212_);
#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_g_free0 (_data_->_tmp212_);
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp213_ = _data_->photo;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp214_ = _data_->prepared_file;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp215_ = _data_->_tmp214_->file;
#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala"
							monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp213_, TYPE_MONITORABLE, Monitorable), _data_->_tmp215_);
#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_data_->_tmp216_ = _data_->photo;
#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala"
							media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp216_, TYPE_MEDIA_SOURCE, MediaSource));
#line 7670 "BatchImport.c"
						}
					}
#line 920 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp217_ = _data_->photo;
#line 920 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_data_->_tmp217_ != NULL) {
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp218_ = _data_->prepared_file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp219_ = _data_->_tmp218_->job;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp220_ = _data_->prepared_file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp221_ = _data_->_tmp220_->file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp222_ = _data_->prepared_file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp223_ = _data_->_tmp222_->file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp224_ = g_file_get_path (_data_->_tmp223_);
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp225_ = _data_->_tmp224_;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp226_ = _data_->prepared_file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp227_ = _data_->_tmp226_->file;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp228_ = g_file_get_path (_data_->_tmp227_);
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp229_ = _data_->_tmp228_;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp230_ = batch_import_result_new (_data_->_tmp219_, _data_->_tmp221_, _data_->_tmp225_, _data_->_tmp229_, NULL, IMPORT_RESULT_SUCCESS);
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->import_result = _data_->_tmp230_;
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp229_);
#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_free0 (_data_->_tmp225_);
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp231_ = _data_->self->priv->manifest;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp232_ = _data_->_tmp231_->imported;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp233_ = _data_->photo;
#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp232_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp233_, TYPE_MEDIA_SOURCE, MediaSource));
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp234_ = _data_->self->priv->manifest;
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp235_ = _data_->import_result;
#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala"
						import_manifest_add_result (_data_->_tmp234_, _data_->_tmp235_);
#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp236_ = _data_->photo;
#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_data_->_tmp237_ = media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp236_, TYPE_MEDIA_SOURCE, MediaSource));
#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_report_progress (_data_->self, _data_->_tmp237_);
#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala"
						batch_import_file_import_complete (_data_->self);
#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->video);
#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_g_object_unref0 (_data_->photo);
#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_batch_import_result_unref0 (_data_->import_result);
#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_prepared_file_unref0 (_data_->prepared_file);
#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala"
						continue;
#line 7743 "BatchImport.c"
					}
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp238_ = _data_->prepared_file;
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp239_ = _data_->_tmp238_->file;
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp240_ = g_file_get_path (_data_->_tmp239_);
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp241_ = _data_->_tmp240_;
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_debug ("BatchImport.vala:934: duplicate photo detected, not importing %s", _data_->_tmp241_);
#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp241_);
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp242_ = photo_table_get_instance ();
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp243_ = _data_->_tmp242_;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp244_ = _data_->prepared_file;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp245_ = _data_->_tmp244_->file;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp246_ = _data_->prepared_file;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp247_ = _data_->_tmp246_->full_md5;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp248_ = _data_->prepared_file;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp249_ = _data_->_tmp248_->file_format;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp251_ = photo_table_get_duplicate_ids (_data_->_tmp243_, _data_->_tmp245_, NULL, _data_->_tmp247_, _data_->_tmp249_, &_data_->_tmp250_);
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp252_ = _data_->_tmp251_;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp252__length1 = _data_->_tmp250_;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_database_table_unref0 (_data_->_tmp243_);
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids = _data_->_tmp252_;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids_length1 = _data_->_tmp252__length1;
#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_photo_ids_size_ = _data_->photo_ids_length1;
#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp253_ = _data_->photo_ids;
#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp253__length1 = _data_->photo_ids_length1;
#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_vala_assert (_data_->_tmp253__length1 > 0, "photo_ids.length > 0");
#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp254_ = _data_->photo_ids;
#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp254__length1 = _data_->photo_ids_length1;
#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp255_ = _data_->_tmp254_[0];
#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp256_ = duplicated_file_create_from_photo_id (&_data_->_tmp255_);
#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_vala1_duplicated_file = _data_->_tmp256_;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp257_ = _data_->prepared_file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp258_ = _data_->_tmp257_->job;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp259_ = _data_->prepared_file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp260_ = _data_->_tmp259_->file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp261_ = _data_->prepared_file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp262_ = _data_->_tmp261_->file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp263_ = g_file_get_path (_data_->_tmp262_);
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp264_ = _data_->_tmp263_;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp265_ = _data_->prepared_file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp266_ = _data_->_tmp265_->file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp267_ = g_file_get_path (_data_->_tmp266_);
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp268_ = _data_->_tmp267_;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp269_ = _data_->_vala1_duplicated_file;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->_tmp270_ = batch_import_result_new (_data_->_tmp258_, _data_->_tmp260_, _data_->_tmp264_, _data_->_tmp268_, _data_->_tmp269_, IMPORT_RESULT_PHOTO_EXISTS);
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_result_unref0 (_data_->import_result);
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->import_result = _data_->_tmp270_;
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp268_);
#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_data_->_tmp264_);
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_data_->_vala1_duplicated_file);
#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_data_->photo_ids = (g_free (_data_->photo_ids), NULL);
#line 7843 "BatchImport.c"
				}
			}
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp271_ = _data_->import_result;
#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_data_->_tmp271_ != NULL) {
#line 949 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_data_->_tmp272_ = _data_->import_result;
#line 949 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_report_failure (_data_->self, _data_->_tmp272_);
#line 950 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_file_import_complete (_data_->self);
#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->video);
#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_data_->photo);
#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (_data_->import_result);
#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_data_->prepared_file);
#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 7866 "BatchImport.c"
			}
#line 955 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (_data_->self, (guint64) 0);
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp273_ = _data_->self->priv->ready_files;
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_data_->_tmp274_ = _data_->prepared_file;
#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp273_, GEE_TYPE_COLLECTION, GeeCollection), _data_->_tmp274_);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->video);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_data_->photo);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (_data_->import_result);
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_data_->prepared_file);
#line 7884 "BatchImport.c"
		}
#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_data_->_prepared_file_list);
#line 7888 "BatchImport.c"
	}
#line 959 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (_data_->self);
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_data_->_state_ != 0) {
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 7900 "BatchImport.c"
		}
	}
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_object_unref (_data_->_async_result);
#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return FALSE;
#line 7907 "BatchImport.c"
}


static void batch_import_done_preparing_files (BatchImport* self, BackgroundJob* j, const gchar* caller) {
	gboolean _tmp0_;
	PrepareFilesJob* prepare_files_job = NULL;
	BackgroundJob* _tmp1_;
	PrepareFilesJob* _tmp2_;
	PrepareFilesJob* _tmp3_;
	PrepareFilesJob* _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
	const gchar* _tmp8_;
	gboolean _tmp9_ = FALSE;
	gint _tmp10_;
#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (caller != NULL);
#line 963 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 963 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARE_FILES_JOB, PrepareFilesJob));
#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepare_files_job = _tmp2_;
#line 967 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = prepare_files_job;
#line 967 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = prepare_files_job;
#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_->prepared_files;
#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_to_perform = _tmp5_;
#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = self->priv->file_imports_to_perform;
#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = self->priv->file_imports_completed;
#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp6_ >= _tmp7_, "file_imports_to_perform >= file_imports_completed");
#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = caller;
#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp8_);
#line 976 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = self->priv->file_imports_to_perform;
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp10_ == 0) {
#line 7966 "BatchImport.c"
		gboolean _tmp11_;
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = self->priv->completed;
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = !_tmp11_;
#line 7972 "BatchImport.c"
	} else {
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = FALSE;
#line 7976 "BatchImport.c"
	}
#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp9_) {
#line 981 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_completed (self, "no files prepared for import");
#line 7982 "BatchImport.c"
	} else {
		gboolean _tmp12_ = FALSE;
		gint _tmp13_;
		gint _tmp14_;
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = self->priv->file_imports_completed;
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = self->priv->file_imports_to_perform;
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp13_ == _tmp14_) {
#line 7993 "BatchImport.c"
			gboolean _tmp15_;
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = self->priv->completed;
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = !_tmp15_;
#line 7999 "BatchImport.c"
		} else {
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = FALSE;
#line 8003 "BatchImport.c"
		}
#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp12_) {
#line 983 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_completed (self, "completed preparing files, all outstanding imports completed");
#line 8009 "BatchImport.c"
		}
	}
#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (prepare_files_job);
#line 8014 "BatchImport.c"
}


static void batch_import_on_files_prepared (BatchImport* self, BackgroundJob* j) {
	BackgroundJob* _tmp0_;
#line 986 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 986 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = j;
#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_done_preparing_files (self, _tmp0_, "on_files_prepared");
#line 8028 "BatchImport.c"
}


static void batch_import_on_file_prepare_cancelled (BatchImport* self, BackgroundJob* j) {
	BackgroundJob* _tmp0_;
#line 990 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 990 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 991 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = j;
#line 991 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_done_preparing_files (self, _tmp0_, "on_file_prepare_cancelled");
#line 8042 "BatchImport.c"
}


static void batch_import_on_import_files_completed (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	PreparedFileImportJob* job = NULL;
	BackgroundJob* _tmp1_;
	PreparedFileImportJob* _tmp2_;
	PreparedFileImportJob* _tmp3_;
	PreparedFile* _tmp4_;
	PreparedFileImportJob* _tmp5_;
	BatchImportResult* _tmp6_;
	PreparedFileImportJob* _tmp12_;
	ReadyForImport* _tmp13_;
	GError * _inner_error_ = NULL;
#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob));
#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp2_;
#line 1003 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_import_files_completed");
#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = job;
#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->not_ready;
#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp4_ == NULL, "job.not_ready == null");
#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = job;
#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_->failed;
#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp6_ != NULL) {
#line 8086 "BatchImport.c"
		PreparedFileImportJob* _tmp7_;
		BatchImportResult* _tmp8_;
		ImportResult _tmp9_;
		PreparedFileImportJob* _tmp10_;
		BatchImportResult* _tmp11_;
#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = job;
#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_->failed;
#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->result;
#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp9_ != IMPORT_RESULT_SUCCESS, "job.failed.result != ImportResult.SUCCESS");
#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = job;
#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_->failed;
#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp11_);
#line 1013 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8108 "BatchImport.c"
	}
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = job;
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _tmp12_->ready;
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp13_ != NULL) {
#line 8116 "BatchImport.c"
		PreparedFileImportJob* _tmp14_;
		ReadyForImport* _tmp15_;
		BatchImportResult* _tmp16_;
		ImportResult _tmp17_;
		Tombstone* tombstone = NULL;
		TombstoneSourceCollection* _tmp18_;
		PreparedFileImportJob* _tmp19_;
		ReadyForImport* _tmp20_;
		GFile* _tmp21_;
		Tombstone* _tmp22_;
		Tombstone* _tmp23_;
		MediaSource* source = NULL;
		PreparedFileImportJob* _tmp26_;
		ReadyForImport* _tmp27_;
		gboolean _tmp28_;
		PreparedFileImportJob* _tmp87_;
		ReadyForImport* _tmp88_;
		BatchImportResult* _tmp89_;
		ImportResult _tmp90_;
#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = job;
#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_->ready;
#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_->batch_result;
#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_->result;
#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp17_ == IMPORT_RESULT_SUCCESS, "job.ready.batch_result.result == ImportResult.SUCCESS");
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = tombstone_global;
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = job;
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = _tmp19_->ready;
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = _tmp20_->final_file;
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = tombstone_source_collection_locate (_tmp18_, _tmp21_);
#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala"
		tombstone = _tmp22_;
#line 1022 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = tombstone;
#line 1022 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp23_ != NULL) {
#line 8162 "BatchImport.c"
			TombstoneSourceCollection* _tmp24_;
			Tombstone* _tmp25_;
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = tombstone_global;
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = tombstone;
#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala"
			tombstone_source_collection_resurrect (_tmp24_, _tmp25_);
#line 8171 "BatchImport.c"
		}
#line 1026 "/home/jens/Source/shotwell/src/BatchImport.vala"
		source = NULL;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = job;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_->ready;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = _tmp27_->is_video;
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp28_) {
#line 8183 "BatchImport.c"
			PreparedFileImportJob* _tmp29_;
			ReadyForImport* _tmp30_;
			BatchImportResult* _tmp31_;
			PreparedFileImportJob* _tmp32_;
			ReadyForImport* _tmp33_;
			VideoImportParams* _tmp34_;
			Video* _tmp35_ = NULL;
			ImportResult _tmp36_;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = job;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _tmp29_->ready;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = _tmp30_->batch_result;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = job;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _tmp32_->ready;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = _tmp33_->video_import_params;
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = video_import_create (_tmp34_, &_tmp35_);
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (source);
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			source = G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE, MediaSource);
#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_->result = _tmp36_;
#line 8212 "BatchImport.c"
		} else {
			PreparedFileImportJob* _tmp37_;
			ReadyForImport* _tmp38_;
			BatchImportResult* _tmp39_;
			PreparedFileImportJob* _tmp40_;
			ReadyForImport* _tmp41_;
			PhotoImportParams* _tmp42_;
			LibraryPhoto* _tmp43_ = NULL;
			ImportResult _tmp44_;
			Photo* photo = NULL;
			MediaSource* _tmp45_;
			Photo* _tmp46_;
			PreparedFileImportJob* _tmp47_;
			ReadyForImport* _tmp48_;
			PhotoImportParams* _tmp49_;
			GFile* _tmp50_;
			Photo* _tmp72_;
			PhotoFileFormat _tmp73_;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = job;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = _tmp37_->ready;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = _tmp38_->batch_result;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = job;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = _tmp40_->ready;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = _tmp41_->photo_import_params;
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = library_photo_import_create (_tmp42_, &_tmp43_);
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (source);
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			source = G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_MEDIA_SOURCE, MediaSource);
#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_->result = _tmp44_;
#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = source;
#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp45_, TYPE_PHOTO) ? ((Photo*) _tmp45_) : NULL);
#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo = _tmp46_;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = job;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = _tmp47_->ready;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = _tmp48_->photo_import_params;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp50_ = _tmp49_->final_associated_file;
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp50_ != NULL) {
#line 8267 "BatchImport.c"
				BackingPhotoRow* bpr = NULL;
				BackingPhotoRow* _tmp51_;
				BackingPhotoRow* _tmp52_;
				BackingPhotoRow* _tmp53_;
				PreparedFileImportJob* _tmp54_;
				ReadyForImport* _tmp55_;
				PhotoImportParams* _tmp56_;
				GFile* _tmp57_;
				gchar* _tmp58_;
				MediaSource* _tmp59_;
				GFile* _tmp60_;
				GFile* _tmp61_;
				gchar* _tmp62_;
				gchar* _tmp63_;
				BackingPhotoRow* _tmp64_;
				const gchar* _tmp65_;
#line 1037 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = backing_photo_row_new ();
#line 1037 "/home/jens/Source/shotwell/src/BatchImport.vala"
				bpr = _tmp51_;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_ = bpr;
#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_->file_format = PHOTO_FILE_FORMAT_JFIF;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp53_ = bpr;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = job;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp55_ = _tmp54_->ready;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56_ = _tmp55_->photo_import_params;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = _tmp56_->final_associated_file;
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = g_file_get_path (_tmp57_);
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp53_->filepath);
#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp53_->filepath = _tmp58_;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = source;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp60_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, TYPE_PHOTO, Photo), TYPE_MEDIA_SOURCE, MediaSource));
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = _tmp60_;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = g_file_get_path (_tmp61_);
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = _tmp62_;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = bpr;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = _tmp64_->filepath;
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_debug ("BatchImport.vala:1040: Associating %s with sibling %s", _tmp63_, _tmp65_);
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp63_);
#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp61_);
#line 8328 "BatchImport.c"
				{
					MediaSource* _tmp66_;
					BackingPhotoRow* _tmp67_;
#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp66_ = source;
#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp67_ = bpr;
#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala"
					photo_add_backing_photo_for_development (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, TYPE_PHOTO, Photo), RAW_DEVELOPER_CAMERA, _tmp67_, &_inner_error_);
#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 8340 "BatchImport.c"
						goto __catch412_g_error;
					}
				}
				goto __finally412;
				__catch412_g_error:
				{
					GError* e = NULL;
					BackingPhotoRow* _tmp68_;
					const gchar* _tmp69_;
					GError* _tmp70_;
					const gchar* _tmp71_;
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					e = _inner_error_;
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_inner_error_ = NULL;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp68_ = bpr;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp69_ = _tmp68_->filepath;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp70_ = e;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp71_ = _tmp70_->message;
#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_warning ("BatchImport.vala:1045: Unable to associate JPEG with RAW. File: %s Err" \
"or: %s", _tmp69_, _tmp71_);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_error_free0 (e);
#line 8368 "BatchImport.c"
				}
				__finally412:
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_backing_photo_row_unref0 (bpr);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (photo);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (source);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (tombstone);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_background_job_unref0 (job);
#line 1042 "/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 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					g_clear_error (&_inner_error_);
#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala"
					return;
#line 8389 "BatchImport.c"
				}
#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_backing_photo_row_unref0 (bpr);
#line 8393 "BatchImport.c"
			}
#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp72_ = photo;
#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp73_ = photo_get_master_file_format (_tmp72_);
#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp73_ == PHOTO_FILE_FORMAT_RAW) {
#line 8401 "BatchImport.c"
				RawDeveloper d = 0;
				ConfigFacade* _tmp74_;
				ConfigFacade* _tmp75_;
				RawDeveloper _tmp76_;
				RawDeveloper _tmp77_;
				gboolean _tmp78_ = FALSE;
				RawDeveloper _tmp79_;
				Photo* _tmp83_;
				RawDeveloper _tmp84_;
				Photo* _tmp85_;
				RawDeveloper _tmp86_;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp74_ = config_facade_get_instance ();
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp75_ = _tmp74_;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp76_ = configuration_facade_get_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp77_ = _tmp76_;
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp75_);
#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala"
				d = _tmp77_;
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp79_ = d;
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp79_ == RAW_DEVELOPER_CAMERA) {
#line 8429 "BatchImport.c"
					Photo* _tmp80_;
					RawDeveloper _tmp81_;
					gboolean _tmp82_;
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp80_ = photo;
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp81_ = d;
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp82_ = photo_is_raw_developer_available (_tmp80_, _tmp81_);
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp78_ = !_tmp82_;
#line 8441 "BatchImport.c"
				} else {
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp78_ = FALSE;
#line 8445 "BatchImport.c"
				}
#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp78_) {
#line 1054 "/home/jens/Source/shotwell/src/BatchImport.vala"
					d = RAW_DEVELOPER_EMBEDDED;
#line 8451 "BatchImport.c"
				}
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp83_ = photo;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp84_ = d;
#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala"
				photo_set_default_raw_developer (_tmp83_, _tmp84_);
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp85_ = photo;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp86_ = d;
#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala"
				photo_set_raw_developer (_tmp85_, _tmp86_);
#line 8465 "BatchImport.c"
			}
#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo);
#line 8469 "BatchImport.c"
		}
#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp87_ = job;
#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp88_ = _tmp87_->ready;
#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp89_ = _tmp88_->batch_result;
#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp90_ = _tmp89_->result;
#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp90_ != IMPORT_RESULT_SUCCESS) {
#line 8481 "BatchImport.c"
			PreparedFileImportJob* _tmp91_;
			ReadyForImport* _tmp92_;
			BatchImportResult* _tmp93_;
			ImportResult _tmp94_;
			gchar* _tmp95_;
			gchar* _tmp96_;
			PreparedFileImportJob* _tmp97_;
			ReadyForImport* _tmp98_;
			BatchImportResult* _tmp99_;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp91_ = job;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp92_ = _tmp91_->ready;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93_ = _tmp92_->batch_result;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp94_ = _tmp93_->result;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = import_result_to_string (_tmp94_);
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp96_ = _tmp95_;
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_debug ("BatchImport.vala:1062: on_import_file_completed: %s", _tmp96_);
#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp96_);
#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp97_ = job;
#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp98_ = _tmp97_->ready;
#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp99_ = _tmp98_->batch_result;
#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_failure (self, _tmp99_);
#line 1065 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_file_import_complete (self);
#line 8517 "BatchImport.c"
		} else {
			GeeList* _tmp100_;
			MediaSource* _tmp101_;
			PreparedFileImportJob* _tmp102_;
			ReadyForImport* _tmp103_;
			Thumbnails* _tmp104_;
			Thumbnails* _tmp105_;
			PreparedFileImportJob* _tmp106_;
			ReadyForImport* _tmp107_;
			PreparedFile* _tmp108_;
			BatchImportJob* _tmp109_;
			PreparedFileImportJob* _tmp110_;
			ReadyForImport* _tmp111_;
			BatchImportResult* _tmp112_;
			CompletedImportObject* _tmp113_;
			CompletedImportObject* _tmp114_;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp100_ = self->priv->ready_thumbnails;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp101_ = source;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp102_ = job;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp103_ = _tmp102_->ready;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp104_ = ready_for_import_get_thumbnails (_tmp103_);
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp105_ = _tmp104_;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp106_ = job;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp107_ = _tmp106_->ready;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp108_ = _tmp107_->prepared_file;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp109_ = _tmp108_->job;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp110_ = job;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp111_ = _tmp110_->ready;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp112_ = _tmp111_->batch_result;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp113_ = completed_import_object_new (_tmp101_, _tmp105_, _tmp109_, _tmp112_);
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp114_ = _tmp113_;
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_COLLECTION, GeeCollection), _tmp114_);
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_import_object_unref0 (_tmp114_);
#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_thumbnails_unref0 (_tmp105_);
#line 8570 "BatchImport.c"
		}
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (source);
#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (tombstone);
#line 8576 "BatchImport.c"
	}
#line 1072 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 8582 "BatchImport.c"
}


static void batch_import_on_import_files_cancelled (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	PreparedFileImportJob* job = NULL;
	BackgroundJob* _tmp1_;
	PreparedFileImportJob* _tmp2_;
	PreparedFileImportJob* _tmp3_;
	PreparedFile* _tmp4_;
	PreparedFileImportJob* _tmp23_;
	BatchImportResult* _tmp24_;
	PreparedFileImportJob* _tmp27_;
	ReadyForImport* _tmp28_;
#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1076 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1076 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob));
#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp2_;
#line 1080 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_import_files_cancelled");
#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = job;
#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->not_ready;
#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_ != NULL) {
#line 8619 "BatchImport.c"
		PreparedFileImportJob* _tmp5_;
		PreparedFile* _tmp6_;
		BatchImportJob* _tmp7_;
		PreparedFileImportJob* _tmp8_;
		PreparedFile* _tmp9_;
		GFile* _tmp10_;
		PreparedFileImportJob* _tmp11_;
		PreparedFile* _tmp12_;
		GFile* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
		PreparedFileImportJob* _tmp16_;
		PreparedFile* _tmp17_;
		GFile* _tmp18_;
		gchar* _tmp19_;
		gchar* _tmp20_;
		BatchImportResult* _tmp21_;
		BatchImportResult* _tmp22_;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = job;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_->not_ready;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->job;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = job;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->not_ready;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = _tmp9_->file;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = job;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = _tmp11_->not_ready;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_->file;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = g_file_get_path (_tmp13_);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = job;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_->not_ready;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = _tmp17_->file;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = g_file_get_path (_tmp18_);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = _tmp19_;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = batch_import_result_new (_tmp7_, _tmp10_, _tmp15_, _tmp20_, NULL, IMPORT_RESULT_USER_ABORT);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = _tmp21_;
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp22_);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (_tmp22_);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp20_);
#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp15_);
#line 1086 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8684 "BatchImport.c"
	}
#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = job;
#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp24_ = _tmp23_->failed;
#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp24_ != NULL) {
#line 8692 "BatchImport.c"
		PreparedFileImportJob* _tmp25_;
		BatchImportResult* _tmp26_;
#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = job;
#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = _tmp25_->failed;
#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp26_);
#line 1091 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8703 "BatchImport.c"
	}
#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp27_ = job;
#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp28_ = _tmp27_->ready;
#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp28_ != NULL) {
#line 8711 "BatchImport.c"
		PreparedFileImportJob* _tmp29_;
		ReadyForImport* _tmp30_;
		BatchImportResult* _tmp31_;
		BatchImportResult* _tmp32_;
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = job;
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = _tmp29_->ready;
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = ready_for_import_abort (_tmp30_);
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp32_ = _tmp31_;
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp32_);
#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (_tmp32_);
#line 1096 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8730 "BatchImport.c"
	}
#line 1099 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 8736 "BatchImport.c"
}


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


static void batch_import_on_thumbnail_writer_completed (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	ThumbnailWriterJob* job = NULL;
	BackgroundJob* _tmp1_;
	ThumbnailWriterJob* _tmp2_;
	CompletedImportObject* completed = NULL;
	ThumbnailWriterJob* _tmp3_;
	CompletedImportObject* _tmp4_;
	CompletedImportObject* _tmp5_;
	CompletedImportObject* _tmp6_;
	BatchImportResult* _tmp7_;
	ImportResult _tmp8_;
#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1110 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1110 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob));
#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp2_;
#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = job;
#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->completed_import_source;
#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _completed_import_object_ref0 (_tmp4_);
#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completed = _tmp5_;
#line 1115 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_thumbnail_writer_completed");
#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = completed;
#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _tmp6_->batch_result;
#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = _tmp7_->result;
#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp8_ != IMPORT_RESULT_SUCCESS) {
#line 8791 "BatchImport.c"
		CompletedImportObject* _tmp9_;
		MediaSource* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		CompletedImportObject* _tmp13_;
		BatchImportResult* _tmp14_;
		ImportResult _tmp15_;
		gchar* _tmp16_;
		gchar* _tmp17_;
		CompletedImportObject* _tmp18_;
		MediaSource* _tmp19_;
		CompletedImportObject* _tmp26_;
		BatchImportResult* _tmp27_;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = completed;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = _tmp9_->source;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject));
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = _tmp11_;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = completed;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _tmp13_->batch_result;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_->result;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = import_result_to_string (_tmp15_);
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp16_;
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1118: Failed to import %s: unable to write thumbnails" \
" (%s)", _tmp12_, _tmp17_);
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp17_);
#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp12_);
#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = completed;
#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = _tmp18_->source;
#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_LIBRARY_PHOTO)) {
#line 8835 "BatchImport.c"
			CompletedImportObject* _tmp20_;
			MediaSource* _tmp21_;
#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = completed;
#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = _tmp20_->source;
#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala"
			library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp21_) : NULL);
#line 8844 "BatchImport.c"
		} else {
			CompletedImportObject* _tmp22_;
			MediaSource* _tmp23_;
#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = completed;
#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = _tmp22_->source;
#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, TYPE_VIDEO)) {
#line 8854 "BatchImport.c"
				CompletedImportObject* _tmp24_;
				MediaSource* _tmp25_;
#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = completed;
#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = _tmp24_->source;
#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala"
				video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, TYPE_VIDEO) ? ((Video*) _tmp25_) : NULL);
#line 8863 "BatchImport.c"
			}
		}
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = completed;
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_->batch_result;
#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_report_failure (self, _tmp27_);
#line 1127 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 8874 "BatchImport.c"
	} else {
		ImportManifest* _tmp28_;
		GeeList* _tmp29_;
		CompletedImportObject* _tmp30_;
		MediaSource* _tmp31_;
		ImportManifest* _tmp32_;
		CompletedImportObject* _tmp33_;
		BatchImportResult* _tmp34_;
		GeeList* _tmp35_;
		CompletedImportObject* _tmp36_;
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = self->priv->manifest;
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = _tmp28_->imported;
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = completed;
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = _tmp30_->source;
#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), _tmp31_);
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp32_ = self->priv->manifest;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp33_ = completed;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp34_ = _tmp33_->batch_result;
#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala"
		import_manifest_add_result (_tmp32_, _tmp34_);
#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp35_ = self->priv->display_imported_queue;
#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp36_ = completed;
#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), _tmp36_);
#line 8909 "BatchImport.c"
	}
#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (completed);
#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 8917 "BatchImport.c"
}


static void batch_import_on_thumbnail_writer_cancelled (BatchImport* self, BackgroundJob* j) {
	gboolean _tmp0_;
	ThumbnailWriterJob* job = NULL;
	BackgroundJob* _tmp1_;
	ThumbnailWriterJob* _tmp2_;
	CompletedImportObject* completed = NULL;
	ThumbnailWriterJob* _tmp3_;
	CompletedImportObject* _tmp4_;
	CompletedImportObject* _tmp5_;
	CompletedImportObject* _tmp6_;
	MediaSource* _tmp7_;
	CompletedImportObject* _tmp14_;
	BatchImportResult* _tmp15_;
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_JOB (j));
#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->completed;
#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (!_tmp0_, "!completed");
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = j;
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob));
#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala"
	job = _tmp2_;
#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = job;
#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _tmp3_->completed_import_source;
#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _completed_import_object_ref0 (_tmp4_);
#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completed = _tmp5_;
#line 1144 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "on_thumbnail_writer_cancelled");
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = completed;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _tmp6_->source;
#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO)) {
#line 8964 "BatchImport.c"
		CompletedImportObject* _tmp8_;
		MediaSource* _tmp9_;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = completed;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp8_->source;
#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala"
		library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp9_) : NULL);
#line 8973 "BatchImport.c"
	} else {
		CompletedImportObject* _tmp10_;
		MediaSource* _tmp11_;
#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = completed;
#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_->source;
#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_VIDEO)) {
#line 8983 "BatchImport.c"
			CompletedImportObject* _tmp12_;
			MediaSource* _tmp13_;
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = completed;
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _tmp12_->source;
#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala"
			video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_VIDEO) ? ((Video*) _tmp13_) : NULL);
#line 8992 "BatchImport.c"
		}
	}
#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = completed;
#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = _tmp14_->batch_result;
#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_report_failure (self, _tmp15_);
#line 1152 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_file_import_complete (self);
#line 1154 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_flush_import_jobs (self);
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (completed);
#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_background_job_unref0 (job);
#line 9009 "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* _tmp70_;
	BatchImportRoll* _tmp71_;
	ViewCollection* _tmp72_;
	TagSourceCollection* _tmp73_;
	EventSourceCollection* _tmp74_;
	MediaCollectionRegistry* _tmp75_;
	MediaCollectionRegistry* _tmp76_;
	GeeList* _tmp77_;
	GError * _inner_error_ = NULL;
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT (self));
#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->ready_sources;
#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ == 0) {
#line 1163 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 9059 "BatchImport.c"
	}
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->priv->ready_sources;
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_;
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = g_strdup_printf ("flush_ready_sources (%d)", _tmp5_);
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _tmp6_;
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, _tmp7_);
#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp7_);
#line 1170 "/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 1170 "/home/jens/Source/shotwell/src/BatchImport.vala"
	all = _tmp8_;
#line 1171 "/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 1171 "/home/jens/Source/shotwell/src/BatchImport.vala"
	photos = _tmp9_;
#line 1172 "/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 1172 "/home/jens/Source/shotwell/src/BatchImport.vala"
	videos = _tmp10_;
#line 1173 "/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 1173 "/home/jens/Source/shotwell/src/BatchImport.vala"
	completion_list = _tmp11_;
#line 9091 "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 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = self->priv->ready_sources;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _g_object_ref0 (_tmp12_);
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_list = _tmp13_;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = _completed_list;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = _tmp15_;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_size = _tmp16_;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_index = -1;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 9119 "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 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = _completed_index;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_index = _tmp17_ + 1;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = _completed_index;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = _completed_size;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp18_ < _tmp19_)) {
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 9149 "BatchImport.c"
			}
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = _completed_list;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp21_ = _completed_index;
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp22_ = gee_list_get (_tmp20_, _tmp21_);
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			completed = (CompletedImportObject*) _tmp22_;
#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = all;
#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = completed;
#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = _tmp24_->source;
#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala"
			gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp25_);
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = completed;
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _tmp26_->source;
#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_LIBRARY_PHOTO)) {
#line 9173 "BatchImport.c"
				GeeArrayList* _tmp28_;
				CompletedImportObject* _tmp29_;
				MediaSource* _tmp30_;
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = photos;
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = completed;
#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _tmp29_->source;
#line 1179 "/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 9185 "BatchImport.c"
			} else {
				CompletedImportObject* _tmp31_;
				MediaSource* _tmp32_;
#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = completed;
#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _tmp31_->source;
#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, TYPE_VIDEO)) {
#line 9195 "BatchImport.c"
					GeeArrayList* _tmp33_;
					CompletedImportObject* _tmp34_;
					MediaSource* _tmp35_;
#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp33_ = videos;
#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp34_ = completed;
#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp35_ = _tmp34_->source;
#line 1181 "/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 9207 "BatchImport.c"
				}
			}
#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = completion_list;
#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = completed;
#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = _tmp37_->source;
#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = completed;
#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->original_job;
#line 1183 "/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 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_completed_import_object_unref0 (completed);
#line 9224 "BatchImport.c"
		}
#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_completed_list);
#line 9228 "BatchImport.c"
	}
#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp41_ = media_collection_registry_get_instance ();
#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp42_ = _tmp41_;
#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_collection_registry_begin_transaction_on_all (_tmp42_);
#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_media_collection_registry_unref0 (_tmp42_);
#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp43_ = event_global;
#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_COLLECTION, DataCollection));
#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp44_ = tag_global;
#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATA_COLLECTION, DataCollection));
#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp45_ = library_photo_global;
#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp46_ = photos;
#line 1190 "/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 1191 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp47_ = video_global;
#line 1191 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp48_ = videos;
#line 1191 "/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 9258 "BatchImport.c"
	{
		GeeIterator* _media_it = NULL;
		GeeHashMap* _tmp49_;
		GeeSet* _tmp50_;
		GeeSet* _tmp51_;
		GeeSet* _tmp52_;
		GeeIterator* _tmp53_;
		GeeIterator* _tmp54_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp49_ = completion_list;
#line 1194 "/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 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = _tmp50_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = _tmp51_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable));
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp54_ = _tmp53_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp52_);
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_media_it = _tmp54_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 9285 "BatchImport.c"
			GeeIterator* _tmp55_;
			gboolean _tmp56_;
			MediaSource* media = NULL;
			GeeIterator* _tmp57_;
			gpointer _tmp58_;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55_ = _media_it;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp56_ = gee_iterator_next (_tmp55_);
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!_tmp56_) {
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 9299 "BatchImport.c"
			}
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp57_ = _media_it;
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp58_ = gee_iterator_get (_tmp57_);
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			media = (MediaSource*) _tmp58_;
#line 9307 "BatchImport.c"
			{
				GeeHashMap* _tmp59_;
				MediaSource* _tmp60_;
				gpointer _tmp61_;
				BatchImportJob* _tmp62_;
				MediaSource* _tmp63_;
				BatchImportRoll* _tmp64_;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = completion_list;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp60_ = media;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_);
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = (BatchImportJob*) _tmp61_;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = media;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = self->priv->import_roll;
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				batch_import_job_complete (_tmp62_, _tmp63_, _tmp64_, &_inner_error_);
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (_tmp62_);
#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 9333 "BatchImport.c"
					goto __catch413_g_error;
				}
			}
			goto __finally413;
			__catch413_g_error:
			{
				GError* err = NULL;
				MediaSource* _tmp65_;
				gchar* _tmp66_;
				gchar* _tmp67_;
				GError* _tmp68_;
				const gchar* _tmp69_;
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = media;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_DATA_OBJECT, DataObject));
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67_ = _tmp66_;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp68_ = err;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp69_ = _tmp68_->message;
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:1198: Completion error when finalizing import of %s: " \
"%s", _tmp67_, _tmp69_);
#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp67_);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 9366 "BatchImport.c"
			}
			__finally413:
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (media);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_media_it);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (completion_list);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (videos);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (photos);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (all);
#line 1195 "/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 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 9389 "BatchImport.c"
			}
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (media);
#line 9393 "BatchImport.c"
		}
#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_media_it);
#line 9397 "BatchImport.c"
	}
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp70_ = all;
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp71_ = self->priv->import_roll;
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp72_ = _tmp71_->generated_events;
#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala"
	event_generate_many_events (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GEE_TYPE_COLLECTION, GeeCollection), _tmp72_);
#line 1206 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp73_ = tag_global;
#line 1206 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_DATA_COLLECTION, DataCollection));
#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp74_ = event_global;
#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala"
	data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, TYPE_DATA_COLLECTION, DataCollection));
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp75_ = media_collection_registry_get_instance ();
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp76_ = _tmp75_;
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	media_collection_registry_commit_transaction_on_all (_tmp76_);
#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_media_collection_registry_unref0 (_tmp76_);
#line 1210 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp77_ = self->priv->ready_sources;
#line 1210 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (completion_list);
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (videos);
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (photos);
#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (all);
#line 9435 "BatchImport.c"
}


static gboolean batch_import_display_imported_timer (BatchImport* self) {
	gboolean result = FALSE;
	GeeList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GCancellable* _tmp4_;
	gboolean _tmp5_;
	gint total = 0;
	GCancellable* _tmp9_;
	gboolean _tmp10_;
	gint _tmp18_;
	GeeList* _tmp19_;
	gint _tmp20_;
	gint _tmp21_;
	gint _tmp22_;
	gboolean _tmp47_ = FALSE;
	GeeList* _tmp48_;
	gint _tmp49_;
	gint _tmp50_;
#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE);
#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->display_imported_queue;
#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_ == 0) {
#line 9468 "BatchImport.c"
		gboolean _tmp3_;
#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->completed;
#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = !_tmp3_;
#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 9476 "BatchImport.c"
	}
#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = self->priv->cancellable;
#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = g_cancellable_is_cancelled (_tmp4_);
#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_) {
#line 9484 "BatchImport.c"
		GeeList* _tmp6_;
		gint _tmp7_;
		gint _tmp8_;
#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->priv->display_imported_queue;
#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_;
#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:1220: Importing %d photos at once", _tmp8_);
#line 9496 "BatchImport.c"
	}
#line 1222 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_log_status (self, "display_imported_timer");
#line 1232 "/home/jens/Source/shotwell/src/BatchImport.vala"
	total = 1;
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = self->priv->cancellable;
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = g_cancellable_is_cancelled (_tmp9_);
#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp10_) {
#line 9508 "BatchImport.c"
		GeeList* _tmp11_;
		gint _tmp12_;
		gint _tmp13_;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = self->priv->display_imported_queue;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_;
#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp13_ > BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) {
#line 9520 "BatchImport.c"
			GeeList* _tmp14_;
			gint _tmp15_;
			gint _tmp16_;
			gint _tmp17_;
#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = self->priv->display_imported_queue;
#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp16_ = _tmp15_;
#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = CLAMP ((_tmp16_ / BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) + 2, 0, 16);
#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala"
			total = 1 << _tmp17_;
#line 9535 "BatchImport.c"
		}
	} else {
#line 1239 "/home/jens/Source/shotwell/src/BatchImport.vala"
		total = BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW;
#line 9540 "BatchImport.c"
	}
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = total;
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = self->priv->display_imported_queue;
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp20_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp21_ = _tmp20_;
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = MIN (_tmp18_, _tmp21_);
#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala"
	total = _tmp22_;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 9556 "BatchImport.c"
		gint _tmp23_;
		CompletedImportObject* completed_object = NULL;
		GeeList* _tmp24_;
		gpointer _tmp25_;
		GdkPixbuf* user_preview = NULL;
		CompletedImportObject* _tmp26_;
		GdkPixbuf* _tmp27_;
		GdkPixbuf* _tmp28_;
		CompletedImportObject* _tmp29_;
		CompletedImportObject* _tmp30_;
		GeeList* _tmp31_;
		CompletedImportObject* _tmp32_;
		CompletedImportObject* _tmp33_;
		MediaSource* _tmp34_;
		GdkPixbuf* _tmp35_;
		gint _tmp36_;
		CompletedImportObject* _tmp37_;
		MediaSource* _tmp38_;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = total;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		total = _tmp23_ - 1;
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!(_tmp23_ > 0)) {
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 9583 "BatchImport.c"
		}
#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = self->priv->display_imported_queue;
#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = gee_list_remove_at (_tmp24_, 0);
#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_object = (CompletedImportObject*) _tmp25_;
#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = completed_object;
#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = _tmp26_->user_preview;
#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = _g_object_ref0 (_tmp27_);
#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala"
		user_preview = _tmp28_;
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = completed_object;
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp29_->user_preview);
#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_->user_preview = NULL;
#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = completed_object;
#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp30_->thumbnails);
#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_->thumbnails = NULL;
#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = self->priv->ready_sources;
#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp32_ = completed_object;
#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection), _tmp32_);
#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp33_ = completed_object;
#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp34_ = _tmp33_->source;
#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp35_ = user_preview;
#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp36_ = total;
#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_signal_emit (self, batch_import_signals[BATCH_IMPORT_IMPORTED_SIGNAL], 0, _tmp34_, _tmp35_, _tmp36_);
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp37_ = completed_object;
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp38_ = _tmp37_->source;
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp38_, TYPE_PHOTO_SOURCE)) {
#line 9633 "BatchImport.c"
			PhotoSource* photo_source = NULL;
			CompletedImportObject* _tmp39_;
			MediaSource* _tmp40_;
			PhotoSource* _tmp41_;
			PhotoSource* _tmp42_;
			guint64 _tmp43_;
#line 1271 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = completed_object;
#line 1271 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->source;
#line 1271 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, TYPE_PHOTO_SOURCE) ? ((PhotoSource*) _tmp40_) : NULL);
#line 1271 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo_source = _tmp41_;
#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = photo_source;
#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = media_source_get_master_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, _tmp43_);
#line 1270 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo_source);
#line 9656 "BatchImport.c"
		} else {
			CompletedImportObject* _tmp44_;
			MediaSource* _tmp45_;
			guint64 _tmp46_;
#line 1274 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = completed_object;
#line 1274 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = _tmp44_->source;
#line 1274 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = media_source_get_filesize (_tmp45_);
#line 1274 "/home/jens/Source/shotwell/src/BatchImport.vala"
			batch_import_report_progress (self, _tmp46_);
#line 9669 "BatchImport.c"
		}
#line 1276 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_file_import_complete (self);
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (user_preview);
#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_completed_import_object_unref0 (completed_object);
#line 9677 "BatchImport.c"
	}
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp48_ = self->priv->ready_sources;
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp49_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp50_ = _tmp49_;
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp50_ >= BATCH_IMPORT_READY_SOURCES_COUNT_OVERFLOW) {
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp47_ = TRUE;
#line 9689 "BatchImport.c"
	} else {
		GCancellable* _tmp51_;
		gboolean _tmp52_;
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = self->priv->cancellable;
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = g_cancellable_is_cancelled (_tmp51_);
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp47_ = _tmp52_;
#line 9699 "BatchImport.c"
	}
#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp47_) {
#line 1280 "/home/jens/Source/shotwell/src/BatchImport.vala"
		batch_import_flush_ready_sources (self);
#line 9705 "BatchImport.c"
	}
#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 9711 "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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 9730 "BatchImport.c"
	} else {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 9736 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__UINT64_UINT64) (marshal_data ? marshal_data : cc->callback);
#line 402 "/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 9742 "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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 4);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 9761 "BatchImport.c"
	} else {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 9767 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__OBJECT_OBJECT_INT) (marshal_data ? marshal_data : cc->callback);
#line 402 "/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 9773 "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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 9792 "BatchImport.c"
	} else {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 9798 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__ENUM_STRING) (marshal_data ? marshal_data : cc->callback);
#line 402 "/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 9804 "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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 2);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 9823 "BatchImport.c"
	} else {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 9829 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__BATCH_IMPORT_RESULT) (marshal_data ? marshal_data : cc->callback);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback (data1, value_get_batch_import_result (param_values + 1), data2);
#line 9835 "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 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (n_param_values == 3);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = closure->data;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = param_values->data[0].v_pointer;
#line 9854 "BatchImport.c"
	} else {
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data1 = param_values->data[0].v_pointer;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
		data2 = closure->data;
#line 9860 "BatchImport.c"
	}
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	callback = (GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL) (marshal_data ? marshal_data : cc->callback);
#line 402 "/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 9866 "BatchImport.c"
}


static void batch_import_class_init (BatchImportClass * klass) {
	Workers* _tmp0_;
	guint _tmp1_;
	Workers* _tmp2_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_parent_class = g_type_class_peek_parent (klass);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_type_class_add_private (klass, sizeof (BatchImportPrivate));
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (klass)->finalize = batch_import_finalize;
#line 402 "/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 402 "/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 402 "/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 402 "/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 402 "/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 402 "/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 402 "/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 413 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = workers_new ((guint) 1, FALSE);
#line 413 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_feeder_workers = _tmp0_;
#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = workers_thread_per_cpu_minus_one ();
#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = workers_new (_tmp1_, FALSE);
#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_import_import_workers = _tmp2_;
#line 9904 "BatchImport.c"
}


static void batch_import_instance_init (BatchImport * self) {
	GeeHashMap* _tmp0_;
	guint _tmp1_;
	GeeLinkedList* _tmp2_;
	GeeLinkedList* _tmp3_;
	GeeLinkedList* _tmp4_;
	GeeLinkedList* _tmp5_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = BATCH_IMPORT_GET_PRIVATE (self);
#line 419 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed_bytes = (guint64) 0;
#line 420 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->total_bytes = (guint64) 0;
#line 423 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->scheduled = FALSE;
#line 424 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->completed = FALSE;
#line 425 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_to_perform = -1;
#line 426 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file_imports_completed = 0;
#line 427 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->cancellable = NULL;
#line 428 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->last_preparing_ms = (gulong) 0;
#line 431 "/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 431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->imported_full_md5_table = _tmp0_;
#line 433 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->throbber_id = (guint) 0;
#line 434 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = workers_thread_per_cpu_minus_one ();
#line 434 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->max_outstanding_import_jobs = _tmp1_;
#line 435 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->untrash_duplicates = TRUE;
#line 436 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->mark_duplicates_online = TRUE;
#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = gee_linked_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, (GDestroyNotify) prepared_file_unref, NULL, NULL, NULL);
#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList);
#line 441 "/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 441 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_thumbnails = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
#line 443 "/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 443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->display_imported_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList);
#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, (GDestroyNotify) completed_import_object_unref, NULL, NULL, NULL);
#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->ready_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList);
#line 9963 "BatchImport.c"
}


static void batch_import_finalize (GObject * obj) {
	BatchImport * self;
	Application* _tmp0_;
	Application* _tmp1_;
	guint _tmp2_;
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT, BatchImport);
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = application_get_instance ();
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _tmp0_;
#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_parse_name ("exiting", TYPE_APPLICATION, &_tmp2_, NULL, FALSE);
#line 508 "/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 508 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_application_unref0 (_tmp1_);
#line 416 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 417 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_roll_unref0 (self->priv->import_roll);
#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->priv->name);
#line 422 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_import_manifest_unref0 (self->priv->manifest);
#line 427 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 431 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->imported_full_md5_table);
#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_files);
#line 441 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_thumbnails);
#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->display_imported_queue);
#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->ready_sources);
#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (batch_import_parent_class)->finalize (obj);
#line 10008 "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 1291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (DuplicatedFile*) g_object_new (object_type, NULL);
#line 1292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (self->priv->video_id);
#line 1292 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->video_id = NULL;
#line 1293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (self->priv->photo_id);
#line 1293 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->photo_id = NULL;
#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file);
#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->file = NULL;
#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 10042 "BatchImport.c"
}


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


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


DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id) {
	DuplicatedFile* result = NULL;
	gboolean _tmp0_;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp1_;
	PhotoID _tmp2_;
	PhotoID* _tmp3_;
#line 1297 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (photo_id != NULL, NULL);
#line 1298 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = photo_id_is_valid (photo_id);
#line 1298 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_, "photo_id.is_valid()");
#line 1300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = duplicated_file_new ();
#line 1300 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp1_;
#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = *photo_id;
#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _photo_id_dup0 (&_tmp2_);
#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (_result_->priv->photo_id);
#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->photo_id = _tmp3_;
#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10089 "BatchImport.c"
}


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


DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id) {
	DuplicatedFile* result = NULL;
	gboolean _tmp0_;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp1_;
	VideoID _tmp2_;
	VideoID* _tmp3_;
#line 1305 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (video_id != NULL, NULL);
#line 1306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = video_id_is_valid (video_id);
#line 1306 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_, "video_id.is_valid()");
#line 1308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = duplicated_file_new ();
#line 1308 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp1_;
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = *video_id;
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _video_id_dup0 (&_tmp2_);
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (_result_->priv->video_id);
#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->video_id = _tmp3_;
#line 1310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1310 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10129 "BatchImport.c"
}


DuplicatedFile* duplicated_file_create_from_file (GFile* file) {
	DuplicatedFile* result = NULL;
	DuplicatedFile* _result_ = NULL;
	DuplicatedFile* _tmp0_;
	GFile* _tmp1_;
	GFile* _tmp2_;
#line 1313 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), NULL);
#line 1314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = duplicated_file_new ();
#line 1314 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp0_;
#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = file;
#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (_result_->priv->file);
#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_->priv->file = _tmp2_;
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _result_;
#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10157 "BatchImport.c"
}


GFile* duplicated_file_get_file (DuplicatedFile* self) {
	GFile* result = NULL;
	GFile* _tmp0_;
#line 1321 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_DUPLICATED_FILE (self), NULL);
#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->priv->file;
#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_ != NULL) {
#line 10170 "BatchImport.c"
		GFile* _tmp1_;
		GFile* _tmp2_;
#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = self->priv->file;
#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _g_object_ref0 (_tmp1_);
#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = _tmp2_;
#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 10181 "BatchImport.c"
	} else {
		PhotoID* _tmp3_;
#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->priv->photo_id;
#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ != NULL) {
#line 10188 "BatchImport.c"
			Photo* photo_object = NULL;
			LibraryPhotoSourceCollection* _tmp4_;
			PhotoID* _tmp5_;
			PhotoID _tmp6_;
			LibraryPhoto* _tmp7_;
			Photo* _tmp8_;
			GFile* _tmp9_;
			GFile* _tmp10_;
			GFile* _tmp11_;
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = library_photo_global;
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = self->priv->photo_id;
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = *_tmp5_;
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = library_photo_source_collection_fetch (_tmp4_, &_tmp6_);
#line 1325 "/home/jens/Source/shotwell/src/BatchImport.vala"
			photo_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo);
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = photo_object;
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (self->priv->file);
#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->priv->file = _tmp9_;
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = self->priv->file;
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _g_object_ref0 (_tmp10_);
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = _tmp11_;
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (photo_object);
#line 1327 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 10226 "BatchImport.c"
		} else {
			VideoID* _tmp12_;
#line 1328 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = self->priv->video_id;
#line 1328 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp12_ != NULL) {
#line 10233 "BatchImport.c"
				Video* video_object = NULL;
				VideoSourceCollection* _tmp13_;
				VideoID* _tmp14_;
				VideoID _tmp15_;
				Video* _tmp16_;
				Video* _tmp17_;
				GFile* _tmp18_;
				GFile* _tmp19_;
				GFile* _tmp20_;
#line 1329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = video_global;
#line 1329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = self->priv->video_id;
#line 1329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = *_tmp14_;
#line 1329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = video_source_collection_fetch (_tmp13_, &_tmp15_);
#line 1329 "/home/jens/Source/shotwell/src/BatchImport.vala"
				video_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_VIDEO, Video);
#line 1330 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = video_object;
#line 1330 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MEDIA_SOURCE, MediaSource));
#line 1330 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (self->priv->file);
#line 1330 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->priv->file = _tmp18_;
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = self->priv->file;
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _g_object_ref0 (_tmp19_);
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
				result = _tmp20_;
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (video_object);
#line 1331 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return result;
#line 10271 "BatchImport.c"
			} else {
#line 1333 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_assert_not_reached ();
#line 10275 "BatchImport.c"
			}
		}
	}
}


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


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


static void duplicated_file_finalize (GObject * obj) {
	DuplicatedFile * self;
#line 1286 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DUPLICATED_FILE, DuplicatedFile);
#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_id_free0 (self->priv->video_id);
#line 1288 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_id_free0 (self->priv->photo_id);
#line 1289 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->file);
#line 1286 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_OBJECT_CLASS (duplicated_file_parent_class)->finalize (obj);
#line 10312 "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;
	BatchImport* _tmp0_;
	CompletionCallback _tmp1_;
	void* _tmp1__target;
	GCancellable* _tmp2_;
	CancellationCallback _tmp3_;
	void* _tmp3__target;
#line 1360 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1360 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = owner;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = callback;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1__target = callback_target;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cancellable;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = cancellation;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3__target = cancellation_target;
#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (BackgroundImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target, NULL);
#line 1360 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 10356 "BatchImport.c"
}


ImportResult background_import_job_abort_check (BackgroundImportJob* self) {
	ImportResult result = 0;
	gboolean _tmp0_ = FALSE;
	ImportResult _tmp1_;
	ImportResult _tmp3_;
#line 1367 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (self), 0);
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->abort_flag;
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ == IMPORT_RESULT_SUCCESS) {
#line 10371 "BatchImport.c"
		gboolean _tmp2_;
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp2_;
#line 10377 "BatchImport.c"
	} else {
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 10381 "BatchImport.c"
	}
#line 1368 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 1369 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->abort_flag = IMPORT_RESULT_USER_ABORT;
#line 10387 "BatchImport.c"
	}
#line 1371 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = self->abort_flag;
#line 1371 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp3_;
#line 1371 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10395 "BatchImport.c"
}


void background_import_job_abort (BackgroundImportJob* self, ImportResult _result_) {
	ImportResult _tmp0_;
#line 1374 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1376 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->abort_flag;
#line 1376 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_ == IMPORT_RESULT_SUCCESS) {
#line 10407 "BatchImport.c"
		ImportResult _tmp1_;
#line 1377 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _result_;
#line 1377 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->abort_flag = _tmp1_;
#line 10413 "BatchImport.c"
	}
}


void background_import_job_report_failure (BackgroundImportJob* self, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, ImportResult _result_) {
	ImportResult _tmp0_;
	ImportResult _tmp1_;
	gboolean _tmp2_;
	GeeList* _tmp8_;
	BatchImportJob* _tmp9_;
	GFile* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	ImportResult _tmp13_;
	BatchImportResult* _tmp14_;
	BatchImportResult* _tmp15_;
#line 1380 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1380 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1380 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((file == NULL) || G_IS_FILE (file));
#line 1380 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (src_identifier != NULL);
#line 1380 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (dest_identifier != NULL);
#line 1382 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = _result_;
#line 1382 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp0_ != IMPORT_RESULT_SUCCESS, "result != ImportResult.SUCCESS");
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _result_;
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_result_is_abort (_tmp1_);
#line 1385 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_) {
#line 10450 "BatchImport.c"
		ImportResult _tmp3_;
#line 1386 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _result_;
#line 1386 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_abort (self, _tmp3_);
#line 10456 "BatchImport.c"
	} else {
		const gchar* _tmp4_;
		ImportResult _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = src_identifier;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _result_;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = import_result_to_string (_tmp5_);
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1388: Import failure %s: %s", _tmp4_, _tmp7_);
#line 1388 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp7_);
#line 10474 "BatchImport.c"
	}
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = self->failed;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = job;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = file;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = src_identifier;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = dest_identifier;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _result_;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = batch_import_result_new (_tmp9_, _tmp10_, _tmp11_, _tmp12_, NULL, _tmp13_);
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = _tmp14_;
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_);
#line 1390 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (_tmp15_);
#line 10496 "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;
	GError* _tmp0_;
	ImportResult _tmp1_;
	ImportResult _tmp2_;
	const gchar* _tmp3_;
	GError* _tmp4_;
	const gchar* _tmp5_;
	ImportResult _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	ImportResult _tmp9_;
	gboolean _tmp10_;
	GeeList* _tmp12_;
	BatchImportJob* _tmp13_;
	GFile* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	GError* _tmp17_;
	ImportResult _tmp18_;
	BatchImportResult* _tmp19_;
	BatchImportResult* _tmp20_;
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self));
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail ((file == NULL) || G_IS_FILE (file));
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (src_identifier != NULL);
#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (dest_identifier != NULL);
#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = err;
#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = default_result;
#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_result_convert_error (_tmp0_, _tmp1_);
#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = _tmp2_;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = src_identifier;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = err;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_->message;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _result_;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = import_result_to_string (_tmp6_);
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = _tmp7_;
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_warning ("BatchImport.vala:1398: Import error %s: %s (%s)", _tmp3_, _tmp5_, _tmp8_);
#line 1398 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp8_);
#line 1400 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _result_;
#line 1400 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = import_result_is_abort (_tmp9_);
#line 1400 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp10_) {
#line 10562 "BatchImport.c"
		ImportResult _tmp11_;
#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _result_;
#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_abort (self, _tmp11_);
#line 10568 "BatchImport.c"
	}
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = self->failed;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = job;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = file;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = src_identifier;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = dest_identifier;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = err;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = default_result;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = batch_import_result_new_from_error (_tmp13_, _tmp14_, _tmp15_, _tmp16_, _tmp17_, _tmp18_);
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp20_ = _tmp19_;
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp20_);
#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (_tmp20_);
#line 10592 "BatchImport.c"
}


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


static void background_import_job_instance_init (BackgroundImportJob * self) {
	GeeArrayList* _tmp0_;
#line 1357 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->abort_flag = IMPORT_RESULT_SUCCESS;
#line 1358 "/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 1358 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 10613 "BatchImport.c"
}


static void background_import_job_finalize (BackgroundJob * obj) {
	BackgroundImportJob * self;
#line 1356 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob);
#line 1358 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->failed);
#line 1356 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (background_import_job_parent_class)->finalize (obj);
#line 10625 "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_;
	BatchImportJob* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	gboolean _tmp4_;
#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL);
#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (FileToPrepare*) g_type_create_instance (object_type);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = job;
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_job_ref0 (_tmp0_);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1415 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp1_;
#line 1416 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file;
#line 1416 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1416 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1416 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp3_;
#line 1417 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = copy_to_library;
#line 1417 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->copy_to_library = _tmp4_;
#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 10676 "BatchImport.c"
}


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


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


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


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


gchar* file_to_prepare_get_path (FileToPrepare* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	GFile* _tmp1_;
#line 1428 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 10774 "BatchImport.c"
		GFile* _tmp2_;
		gchar* _tmp3_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_get_path (_tmp2_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 10785 "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 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->job;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = batch_import_job_get_path (_tmp4_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = g_file_new_for_path (_tmp6_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = self->job;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = batch_import_job_get_basename (_tmp9_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = _tmp10_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = g_file_get_child (_tmp8_, _tmp11_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = _tmp12_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = g_file_get_path (_tmp13_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp0_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp14_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp13_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp11_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp8_);
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp6_);
#line 10832 "BatchImport.c"
	}
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1429 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10838 "BatchImport.c"
}


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


gboolean file_to_prepare_is_directory (FileToPrepare* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	GFile* _tmp1_;
#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (self), FALSE);
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->file;
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 10895 "BatchImport.c"
		GFile* _tmp2_;
		GFileType _tmp3_;
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->file;
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = g_file_query_file_type (_tmp2_, G_FILE_QUERY_INFO_NONE, NULL);
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_ == G_FILE_TYPE_DIRECTORY;
#line 10904 "BatchImport.c"
	} else {
		BatchImportJob* _tmp4_;
		gboolean _tmp5_;
#line 1439 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->job;
#line 1439 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = batch_import_job_is_directory (_tmp4_);
#line 1439 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp5_;
#line 10914 "BatchImport.c"
	}
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp0_;
#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 10920 "BatchImport.c"
}


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


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


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


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


static gchar* value_file_to_prepare_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 10965 "BatchImport.c"
		FileToPrepare * object;
		object = collect_values[0].v_pointer;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 10972 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1408 "/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 10976 "BatchImport.c"
		}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = file_to_prepare_ref (object);
#line 10980 "BatchImport.c"
	} else {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 10984 "BatchImport.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 10988 "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 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 10999 "BatchImport.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 11005 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 11009 "BatchImport.c"
	} else {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = file_to_prepare_ref (value->data[0].v_pointer);
#line 11013 "BatchImport.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 11017 "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 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_FILE_TO_PREPARE), NULL);
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 11031 "BatchImport.c"
}


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


void value_set_file_to_prepare (GValue* value, gpointer v_object) {
	FileToPrepare * old;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE));
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE));
#line 1408 "/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 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_ref (value->data[0].v_pointer);
#line 11060 "BatchImport.c"
	} else {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 11064 "BatchImport.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_unref (old);
#line 11070 "BatchImport.c"
	}
}


void value_take_file_to_prepare (GValue* value, gpointer v_object) {
	FileToPrepare * old;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE));
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE));
#line 1408 "/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 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 11089 "BatchImport.c"
	} else {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 11093 "BatchImport.c"
	}
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_to_prepare_unref (old);
#line 11099 "BatchImport.c"
	}
}


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


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


static void file_to_prepare_finalize (FileToPrepare * obj) {
	FileToPrepare * self;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_TO_PREPARE, FileToPrepare);
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1409 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1410 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1412 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (self->associated);
#line 11134 "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 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 11159 "BatchImport.c"
}


void file_to_prepare_unref (gpointer instance) {
	FileToPrepare * self;
	self = instance;
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		FILE_TO_PREPARE_GET_CLASS (self)->finalize (self);
#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 11172 "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;
	BatchImport* _tmp0_;
	CompletionCallback _tmp1_;
	void* _tmp1__target;
	GCancellable* _tmp2_;
	CancellationCallback _tmp3_;
	void* _tmp3__target;
	GeeIterable* _tmp4_;
	GeeIterable* _tmp5_;
	GeeHashSet* _tmp6_;
	GeeHashSet* _tmp7_;
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL);
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((skipset == NULL) || GEE_IS_HASH_SET (skipset), NULL);
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = owner;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = callback;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1__target = callback_target;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cancellable;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = cancellation;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3__target = cancellation_target;
#line 1452 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (WorkSniffer*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target);
#line 1454 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = jobs;
#line 1454 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 1454 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 1454 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->jobs = _tmp5_;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = skipset;
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _g_object_ref0 (_tmp6_);
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skipset = _tmp7_;
#line 1450 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 11229 "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 1450 "/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 11236 "BatchImport.c"
}


static gint __lambda11_ (WorkSniffer* self, FileToPrepare* a, FileToPrepare* b) {
	gint result = 0;
	FileToPrepare* file_a = NULL;
	FileToPrepare* _tmp0_;
	FileToPrepare* _tmp1_;
	FileToPrepare* file_b = NULL;
	FileToPrepare* _tmp2_;
	FileToPrepare* _tmp3_;
	gchar* sa = NULL;
	gchar* _tmp4_;
	gchar* sb = NULL;
	gchar* _tmp5_;
	gint _tmp6_;
#line 1490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (a), 0);
#line 1490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (b), 0);
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = a;
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_FILE_TO_PREPARE, FileToPrepare));
#line 1491 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_a = _tmp1_;
#line 1492 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = b;
#line 1492 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_FILE_TO_PREPARE, FileToPrepare));
#line 1492 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_b = _tmp3_;
#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = file_to_prepare_get_path (file_a);
#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sa = _tmp4_;
#line 1494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = file_to_prepare_get_path (file_b);
#line 1494 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sb = _tmp5_;
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = utf8_cs_compare (sa, sb);
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp6_;
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (sb);
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (sa);
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (file_b);
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_file_to_prepare_unref0 (file_a);
#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11291 "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 1490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 11300 "BatchImport.c"
}


static void work_sniffer_real_execute (BackgroundJob* base) {
	WorkSniffer * self;
	GeeList* sorted = NULL;
	GeeArrayList* _tmp26_;
	GeeList* _tmp42_;
	GError * _inner_error_ = NULL;
#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_WORK_SNIFFER, WorkSniffer);
#line 11312 "BatchImport.c"
	{
		GeeIterator* _job_it = NULL;
		GeeIterable* _tmp0_;
		GeeIterator* _tmp1_;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = self->priv->jobs;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = gee_iterable_iterator (_tmp0_);
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_job_it = _tmp1_;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 11325 "BatchImport.c"
			GeeIterator* _tmp2_;
			gboolean _tmp3_;
			BatchImportJob* job = NULL;
			GeeIterator* _tmp4_;
			gpointer _tmp5_;
			ImportResult _result_ = 0;
			ImportResult _tmp6_;
			ImportResult _tmp7_;
			gboolean _tmp25_;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = _job_it;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp3_ = gee_iterator_next (_tmp2_);
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!_tmp3_) {
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 11343 "BatchImport.c"
			}
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = _job_it;
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = gee_iterator_get (_tmp4_);
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			job = (BatchImportJob*) _tmp5_;
#line 1463 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1463 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = _tmp6_;
#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _result_;
#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp7_ != IMPORT_RESULT_SUCCESS) {
#line 11359 "BatchImport.c"
				BatchImportJob* _tmp8_;
				BatchImportJob* _tmp9_;
				gchar* _tmp10_;
				gchar* _tmp11_;
				BatchImportJob* _tmp12_;
				gchar* _tmp13_;
				gchar* _tmp14_;
				ImportResult _tmp15_;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp8_ = job;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp9_ = job;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp10_ = batch_import_job_get_source_identifier (_tmp9_);
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp11_ = _tmp10_;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp12_ = job;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp13_ = batch_import_job_get_dest_identifier (_tmp12_);
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp14_ = _tmp13_;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = _result_;
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp8_, NULL, _tmp11_, _tmp14_, _tmp15_);
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp14_);
#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp11_);
#line 1468 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1468 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 11394 "BatchImport.c"
			}
			{
				BatchImportJob* _tmp16_;
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = job;
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
				work_sniffer_sniff_job (self, _tmp16_, &_inner_error_);
#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 11404 "BatchImport.c"
					goto __catch414_g_error;
				}
			}
			goto __finally414;
			__catch414_g_error:
			{
				GError* err = NULL;
				BatchImportJob* _tmp17_;
				BatchImportJob* _tmp18_;
				gchar* _tmp19_;
				gchar* _tmp20_;
				BatchImportJob* _tmp21_;
				gchar* _tmp22_;
				gchar* _tmp23_;
				GError* _tmp24_;
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = job;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = job;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = batch_import_job_get_source_identifier (_tmp18_);
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _tmp19_;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = job;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = batch_import_job_get_dest_identifier (_tmp21_);
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = _tmp22_;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = err;
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp17_, NULL, _tmp20_, _tmp23_, _tmp24_, IMPORT_RESULT_FILE_ERROR);
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp23_);
#line 1474 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp20_);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 11448 "BatchImport.c"
			}
			__finally414:
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_job_it);
#line 1471 "/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 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_clear_error (&_inner_error_);
#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 11463 "BatchImport.c"
			}
#line 1478 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1478 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp25_) {
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_job_unref0 (job);
#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 11473 "BatchImport.c"
			}
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_job_unref0 (job);
#line 11477 "BatchImport.c"
		}
#line 1462 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_job_it);
#line 11481 "BatchImport.c"
	}
#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = gee_array_list_new (TYPE_FILE_TO_PREPARE, (GBoxedCopyFunc) file_to_prepare_ref, (GDestroyNotify) file_to_prepare_unref, NULL, NULL, NULL);
#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala"
	sorted = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_LIST, GeeList);
#line 11487 "BatchImport.c"
	{
		GeeList* _ftp_list = NULL;
		GeeList* _tmp27_;
		GeeList* _tmp28_;
		gint _ftp_size = 0;
		GeeList* _tmp29_;
		gint _tmp30_;
		gint _tmp31_;
		gint _ftp_index = 0;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = self->files_to_prepare;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp28_ = _g_object_ref0 (_tmp27_);
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_list = _tmp28_;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp29_ = _ftp_list;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp30_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = _tmp30_;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_size = _tmp31_;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ftp_index = -1;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 11515 "BatchImport.c"
			gint _tmp32_;
			gint _tmp33_;
			gint _tmp34_;
			FileToPrepare* ftp = NULL;
			GeeList* _tmp35_;
			gint _tmp36_;
			gpointer _tmp37_;
			FileToPrepare* _tmp38_;
			gboolean _tmp39_;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = _ftp_index;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_ftp_index = _tmp32_ + 1;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _ftp_index;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = _ftp_size;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp33_ < _tmp34_)) {
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 11537 "BatchImport.c"
			}
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp35_ = _ftp_list;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = _ftp_index;
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = gee_list_get (_tmp35_, _tmp36_);
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			ftp = (FileToPrepare*) _tmp37_;
#line 1487 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = ftp;
#line 1487 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = file_to_prepare_is_directory (_tmp38_);
#line 1487 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!_tmp39_) {
#line 11553 "BatchImport.c"
				GeeList* _tmp40_;
				FileToPrepare* _tmp41_;
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp40_ = sorted;
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = ftp;
#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection), _tmp41_);
#line 11562 "BatchImport.c"
			}
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_unref0 (ftp);
#line 11566 "BatchImport.c"
		}
#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_ftp_list);
#line 11570 "BatchImport.c"
	}
#line 1490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp42_ = sorted;
#line 1490 "/home/jens/Source/shotwell/src/BatchImport.vala"
	gee_list_sort (_tmp42_, ___lambda11__gcompare_data_func, background_job_ref (self), background_job_unref);
#line 11576 "BatchImport.c"
	{
		gint i = 0;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
		i = 0;
#line 11581 "BatchImport.c"
		{
			gboolean _tmp43_ = FALSE;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = TRUE;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
			while (TRUE) {
#line 11588 "BatchImport.c"
				gint _tmp45_;
				GeeList* _tmp46_;
				gint _tmp47_;
				gint _tmp48_;
				gchar* name = NULL;
				gchar* ext = NULL;
				FileToPrepare* ftp = NULL;
				GeeList* _tmp49_;
				gint _tmp50_;
				gpointer _tmp51_;
				FileToPrepare* _tmp52_;
				gchar* _tmp53_;
				gchar* _tmp54_;
				gchar* _tmp55_ = NULL;
				gchar* _tmp56_ = NULL;
				const gchar* _tmp57_;
				gboolean _tmp58_;
				RawFileFormatProperties* _tmp59_;
				RawFileFormatProperties* _tmp60_;
				const gchar* _tmp61_;
				gboolean _tmp62_;
				gboolean _tmp63_;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!_tmp43_) {
#line 11613 "BatchImport.c"
					gint _tmp44_;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp44_ = i;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
					i = _tmp44_ + 1;
#line 11619 "BatchImport.c"
				}
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp43_ = FALSE;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = i;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = sorted;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp47_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = _tmp47_;
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!(_tmp45_ < _tmp48_)) {
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
					break;
#line 11635 "BatchImport.c"
				}
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp49_ = sorted;
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = i;
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = gee_list_get (_tmp49_, _tmp50_);
#line 1502 "/home/jens/Source/shotwell/src/BatchImport.vala"
				ftp = (FileToPrepare*) _tmp51_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_ = ftp;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp53_ = file_to_prepare_get_basename (_tmp52_);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = _tmp53_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				disassemble_filename (_tmp54_, &_tmp55_, &_tmp56_);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (name);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				name = _tmp55_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (ext);
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				ext = _tmp56_;
#line 1503 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp54_);
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = ext;
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = is_string_empty (_tmp57_);
#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp58_) {
#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (ftp);
#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (ext);
#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (name);
#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 11677 "BatchImport.c"
				}
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = raw_file_format_properties_get_instance ();
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp60_ = _tmp59_;
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp61_ = ext;
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp61_);
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = _tmp62_;
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_photo_file_format_properties_unref0 (_tmp60_);
#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp63_) {
#line 11693 "BatchImport.c"
					gboolean _tmp64_ = FALSE;
					gint _tmp65_;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp65_ = i;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_tmp65_ > 0) {
#line 11700 "BatchImport.c"
						FileToPrepare* _tmp66_;
						GeeList* _tmp67_;
						gint _tmp68_;
						gpointer _tmp69_;
						FileToPrepare* _tmp70_;
						gboolean _tmp71_;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp66_ = ftp;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp67_ = sorted;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp68_ = i;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp69_ = gee_list_get (_tmp67_, _tmp68_ - 1);
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp70_ = (FileToPrepare*) _tmp69_;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp71_ = work_sniffer_is_paired (self, _tmp66_, _tmp70_);
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp64_ = _tmp71_;
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_file_to_prepare_unref0 (_tmp70_);
#line 11723 "BatchImport.c"
					} else {
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp64_ = FALSE;
#line 11727 "BatchImport.c"
					}
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (_tmp64_) {
#line 11731 "BatchImport.c"
						FileToPrepare* associated_file = NULL;
						GeeList* _tmp72_;
						gint _tmp73_;
						gpointer _tmp74_;
						GeeList* _tmp75_;
						FileToPrepare* _tmp76_;
						FileToPrepare* _tmp77_;
						FileToPrepare* _tmp78_;
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp72_ = sorted;
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp73_ = i;
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp74_ = gee_list_get (_tmp72_, _tmp73_ - 1);
#line 1512 "/home/jens/Source/shotwell/src/BatchImport.vala"
						associated_file = (FileToPrepare*) _tmp74_;
#line 1513 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp75_ = self->files_to_prepare;
#line 1513 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp76_ = associated_file;
#line 1513 "/home/jens/Source/shotwell/src/BatchImport.vala"
						gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_COLLECTION, GeeCollection), _tmp76_);
#line 1514 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp77_ = ftp;
#line 1514 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp78_ = associated_file;
#line 1514 "/home/jens/Source/shotwell/src/BatchImport.vala"
						file_to_prepare_set_associated (_tmp77_, _tmp78_);
#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_file_to_prepare_unref0 (associated_file);
#line 11762 "BatchImport.c"
					} else {
						gboolean _tmp79_ = FALSE;
						gint _tmp80_;
						GeeList* _tmp81_;
						gint _tmp82_;
						gint _tmp83_;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp80_ = i;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp81_ = sorted;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp82_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						_tmp83_ = _tmp82_;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_tmp80_ < (_tmp83_ - 1)) {
#line 11779 "BatchImport.c"
							FileToPrepare* _tmp84_;
							GeeList* _tmp85_;
							gint _tmp86_;
							gpointer _tmp87_;
							FileToPrepare* _tmp88_;
							gboolean _tmp89_;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp84_ = ftp;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp85_ = sorted;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp86_ = i;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp87_ = gee_list_get (_tmp85_, _tmp86_ + 1);
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp88_ = (FileToPrepare*) _tmp87_;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp89_ = work_sniffer_is_paired (self, _tmp84_, _tmp88_);
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp79_ = _tmp89_;
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_file_to_prepare_unref0 (_tmp88_);
#line 11802 "BatchImport.c"
						} else {
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp79_ = FALSE;
#line 11806 "BatchImport.c"
						}
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
						if (_tmp79_) {
#line 11810 "BatchImport.c"
							FileToPrepare* associated_file = NULL;
							GeeList* _tmp90_;
							gint _tmp91_;
							gpointer _tmp92_;
							GeeList* _tmp93_;
							FileToPrepare* _tmp94_;
							FileToPrepare* _tmp95_;
							FileToPrepare* _tmp96_;
#line 1516 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp90_ = sorted;
#line 1516 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp91_ = i;
#line 1516 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp92_ = gee_list_get (_tmp90_, _tmp91_ + 1);
#line 1516 "/home/jens/Source/shotwell/src/BatchImport.vala"
							associated_file = (FileToPrepare*) _tmp92_;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp93_ = self->files_to_prepare;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp94_ = associated_file;
#line 1517 "/home/jens/Source/shotwell/src/BatchImport.vala"
							gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, GEE_TYPE_COLLECTION, GeeCollection), _tmp94_);
#line 1518 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp95_ = ftp;
#line 1518 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_tmp96_ = associated_file;
#line 1518 "/home/jens/Source/shotwell/src/BatchImport.vala"
							file_to_prepare_set_associated (_tmp95_, _tmp96_);
#line 1515 "/home/jens/Source/shotwell/src/BatchImport.vala"
							_file_to_prepare_unref0 (associated_file);
#line 11841 "BatchImport.c"
						}
					}
				}
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_file_to_prepare_unref0 (ftp);
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (ext);
#line 1500 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (name);
#line 11851 "BatchImport.c"
			}
		}
	}
#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (sorted);
#line 11857 "BatchImport.c"
}


static gboolean work_sniffer_is_paired (WorkSniffer* self, FileToPrepare* raw, FileToPrepare* maybe_paired) {
	gboolean result = FALSE;
	FileToPrepare* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	FileToPrepare* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gboolean _tmp6_;
	gchar* name = NULL;
	gchar* ext = NULL;
	gchar* test_name = NULL;
	gchar* test_ext = NULL;
	FileToPrepare* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	JfifFileFormatProperties* _tmp12_;
	JfifFileFormatProperties* _tmp13_;
	const gchar* _tmp14_;
	gboolean _tmp15_;
	gboolean _tmp16_;
	FileToPrepare* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_WORK_SNIFFER (self), FALSE);
#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (raw), FALSE);
#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_FILE_TO_PREPARE (maybe_paired), FALSE);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = raw;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = file_to_prepare_get_parent_path (_tmp0_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = _tmp1_;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = maybe_paired;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = file_to_prepare_get_parent_path (_tmp3_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = g_strcmp0 (_tmp2_, _tmp5_) != 0;
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp5_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp2_);
#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp6_) {
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1529 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 11921 "BatchImport.c"
	}
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = maybe_paired;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = file_to_prepare_get_basename (_tmp7_);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _tmp8_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	disassemble_filename (_tmp9_, &_tmp10_, &_tmp11_);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_name);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	test_name = _tmp10_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_ext);
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	test_ext = _tmp11_;
#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp9_);
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = jfif_file_format_properties_get_instance ();
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _tmp12_;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = test_ext;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp14_);
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = !_tmp15_;
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_file_format_properties_unref0 (_tmp13_);
#line 1534 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp16_) {
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (test_ext);
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (test_name);
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (ext);
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (name);
#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 11967 "BatchImport.c"
	}
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = raw;
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = file_to_prepare_get_basename (_tmp17_);
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = _tmp18_;
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	disassemble_filename (_tmp19_, &_tmp20_, &_tmp21_);
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (name);
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	name = _tmp20_;
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (ext);
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	ext = _tmp21_;
#line 1537 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp19_);
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = name;
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = test_name;
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = g_strcmp0 (_tmp22_, _tmp23_) == 0;
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_ext);
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (test_name);
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (ext);
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (name);
#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 12003 "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;
	BatchImportJob* _tmp0_;
	guint64 _tmp1_ = 0ULL;
	GFile* _tmp2_ = NULL;
	gboolean _tmp3_;
	gboolean _tmp4_;
	BatchImportJob* _tmp7_;
	gboolean _tmp8_;
	GError * _inner_error_ = NULL;
#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_WORK_SNIFFER (self));
#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = job;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = batch_import_job_determine_file_size (_tmp0_, &_tmp1_, &_tmp2_);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	size = _tmp1_;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (file_or_dir);
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_or_dir = _tmp2_;
#line 1545 "/home/jens/Source/shotwell/src/BatchImport.vala"
	determined_size = _tmp3_;
#line 1546 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = determined_size;
#line 1546 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_) {
#line 12039 "BatchImport.c"
		guint64 _tmp5_;
		guint64 _tmp6_;
#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->total_bytes;
#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = size;
#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->total_bytes = _tmp5_ + _tmp6_;
#line 12048 "BatchImport.c"
	}
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = job;
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = batch_import_job_is_directory (_tmp7_);
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp8_) {
#line 12056 "BatchImport.c"
		GFile* dir = NULL;
		gboolean copy_to_library = FALSE;
		gboolean _tmp9_ = FALSE;
		BatchImportJob* _tmp10_;
		GFile* _tmp11_ = NULL;
		gboolean _tmp12_ = FALSE;
		gboolean _tmp13_;
		GFile* _tmp21_;
		gboolean _tmp22_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = job;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = batch_import_job_prepare (_tmp10_, &_tmp11_, &_tmp12_, &_inner_error_);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (dir);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		dir = _tmp11_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		copy_to_library = _tmp12_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = _tmp13_;
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12088 "BatchImport.c"
		}
#line 1554 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp9_) {
#line 12092 "BatchImport.c"
			BatchImportJob* _tmp14_;
			BatchImportJob* _tmp15_;
			gchar* _tmp16_;
			gchar* _tmp17_;
			BatchImportJob* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = job;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = job;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp16_ = batch_import_job_get_source_identifier (_tmp15_);
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp17_ = _tmp16_;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = job;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = batch_import_job_get_dest_identifier (_tmp18_);
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = _tmp19_;
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp14_, NULL, _tmp17_, _tmp20_, IMPORT_RESULT_FILE_ERROR);
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp20_);
#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp17_);
#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12126 "BatchImport.c"
		}
#line 1560 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = dir;
#line 1560 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = query_is_directory (_tmp21_);
#line 1560 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp22_, "query_is_directory(dir)");
#line 12134 "BatchImport.c"
		{
			BatchImportJob* _tmp23_;
			GFile* _tmp24_;
			gboolean _tmp25_;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp23_ = job;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp24_ = dir;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp25_ = copy_to_library;
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			work_sniffer_search_dir (self, _tmp23_, _tmp24_, _tmp25_, &_inner_error_);
#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 12149 "BatchImport.c"
				goto __catch415_g_error;
			}
		}
		goto __finally415;
		__catch415_g_error:
		{
			GError* err = NULL;
			BatchImportJob* _tmp26_;
			GFile* _tmp27_;
			BatchImportJob* _tmp28_;
			gchar* _tmp29_;
			gchar* _tmp30_;
			GFile* _tmp31_;
			gchar* _tmp32_;
			gchar* _tmp33_;
			GError* _tmp34_;
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = job;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = dir;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = job;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = batch_import_job_get_source_identifier (_tmp28_);
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _tmp29_;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = dir;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = g_file_get_path (_tmp31_);
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = _tmp32_;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = err;
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp26_, _tmp27_, _tmp30_, _tmp33_, _tmp34_, IMPORT_RESULT_FILE_ERROR);
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp33_);
#line 1565 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp30_);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 12196 "BatchImport.c"
		}
		__finally415:
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (dir);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file_or_dir);
#line 1562 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12209 "BatchImport.c"
		}
#line 1549 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (dir);
#line 12213 "BatchImport.c"
	} else {
		gboolean _tmp35_;
		gboolean _tmp43_ = FALSE;
		gboolean _tmp44_ = FALSE;
		GFile* _tmp45_;
		GeeList* _tmp50_;
		BatchImportJob* _tmp51_;
		FileToPrepare* _tmp52_;
		FileToPrepare* _tmp53_;
#line 1570 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp35_ = determined_size;
#line 1570 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp35_) {
#line 12227 "BatchImport.c"
			guint64 _tmp36_ = 0ULL;
			GFile* _tmp37_;
			GCancellable* _tmp38_;
			GCancellable* _tmp39_;
			guint64 _tmp40_;
			guint64 _tmp41_;
			guint64 _tmp42_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp37_ = file_or_dir;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = _tmp38_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = query_total_file_size (_tmp37_, _tmp39_, &_inner_error_);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = _tmp40_;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp39_);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = _tmp41_;
#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 (file_or_dir);
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 12257 "BatchImport.c"
			}
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = self->total_bytes;
#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->total_bytes = _tmp42_ + _tmp36_;
#line 12263 "BatchImport.c"
		}
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp45_ = file_or_dir;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp45_ != NULL) {
#line 12269 "BatchImport.c"
			GeeHashSet* _tmp46_;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = self->priv->skipset;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = _tmp46_ != NULL;
#line 12275 "BatchImport.c"
		} else {
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = FALSE;
#line 12279 "BatchImport.c"
		}
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp44_) {
#line 12283 "BatchImport.c"
			GeeHashSet* _tmp47_;
			GFile* _tmp48_;
			gboolean _tmp49_;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = self->priv->skipset;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = file_or_dir;
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp48_);
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = _tmp49_;
#line 12295 "BatchImport.c"
		} else {
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = FALSE;
#line 12299 "BatchImport.c"
		}
#line 1574 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp43_) {
#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 12307 "BatchImport.c"
		}
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp50_ = self->files_to_prepare;
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp51_ = job;
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp52_ = file_to_prepare_new (_tmp51_, NULL, TRUE);
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp53_ = _tmp52_;
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), _tmp53_);
#line 1578 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_unref0 (_tmp53_);
#line 12321 "BatchImport.c"
	}
#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (file_or_dir);
#line 12325 "BatchImport.c"
}


void work_sniffer_search_dir (WorkSniffer* self, BatchImportJob* job, GFile* dir, gboolean copy_to_library, GError** error) {
	GFileEnumerator* enumerator = NULL;
	GFile* _tmp0_;
	GFileEnumerator* _tmp1_;
	GFileInfo* info = NULL;
	GError * _inner_error_ = NULL;
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_WORK_SNIFFER (self));
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (IS_BATCH_IMPORT_JOB (job));
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_IS_FILE (dir));
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = dir;
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_file_enumerate_children (_tmp0_, "standard::*", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_);
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
	enumerator = _tmp1_;
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_propagate_error (error, _inner_error_);
#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 12353 "BatchImport.c"
	}
#line 1586 "/home/jens/Source/shotwell/src/BatchImport.vala"
	info = NULL;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
	while (TRUE) {
#line 12359 "BatchImport.c"
		GFileInfo* _tmp2_ = NULL;
		GFileEnumerator* _tmp3_;
		GCancellable* _tmp4_;
		GCancellable* _tmp5_;
		GFileInfo* _tmp6_;
		GFileInfo* _tmp7_;
		GFileInfo* _tmp8_;
		GFileInfo* _tmp9_;
		gboolean _tmp10_;
		GFile* child = NULL;
		GFile* _tmp11_;
		GFileInfo* _tmp12_;
		const gchar* _tmp13_;
		GFile* _tmp14_;
		GFileType file_type = 0;
		GFileInfo* _tmp15_;
		GFileType _tmp16_;
		GFileType _tmp17_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = enumerator;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = g_file_enumerator_next_file (_tmp3_, _tmp5_, &_inner_error_);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp5_);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = _tmp7_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_propagate_error (error, _inner_error_);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (info);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (enumerator);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 12402 "BatchImport.c"
		}
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp2_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = NULL;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (info);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		info = _tmp8_;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = info;
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!(_tmp9_ != NULL)) {
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp2_);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 12420 "BatchImport.c"
		}
#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp10_) {
#line 1590 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp2_);
#line 1590 "/home/jens/Source/shotwell/src/BatchImport.vala"
			break;
#line 12430 "BatchImport.c"
		}
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp11_ = dir;
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = info;
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = g_file_info_get_name (_tmp12_);
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = g_file_get_child (_tmp11_, _tmp13_);
#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala"
		child = _tmp14_;
#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = info;
#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = g_file_info_get_file_type (_tmp15_);
#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala"
		file_type = _tmp16_;
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = file_type;
#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp17_ == G_FILE_TYPE_DIRECTORY) {
#line 12452 "BatchImport.c"
			GFileInfo* _tmp18_;
			const gchar* _tmp19_;
			gboolean _tmp20_;
#line 1596 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp18_ = info;
#line 1596 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp19_ = g_file_info_get_name (_tmp18_);
#line 1596 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp20_ = g_str_has_prefix (_tmp19_, ".");
#line 1596 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp20_) {
#line 1597 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (child);
#line 1597 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp2_);
#line 1597 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 12470 "BatchImport.c"
			}
			{
				BatchImportJob* _tmp21_;
				GFile* _tmp22_;
				gboolean _tmp23_;
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = job;
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = child;
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = copy_to_library;
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
				work_sniffer_search_dir (self, _tmp21_, _tmp22_, _tmp23_, &_inner_error_);
#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 12486 "BatchImport.c"
					goto __catch416_g_error;
				}
			}
			goto __finally416;
			__catch416_g_error:
			{
				GError* err = NULL;
				BatchImportJob* _tmp24_;
				GFile* _tmp25_;
				GFile* _tmp26_;
				gchar* _tmp27_;
				gchar* _tmp28_;
				GFile* _tmp29_;
				gchar* _tmp30_;
				gchar* _tmp31_;
				GError* _tmp32_;
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				err = _inner_error_;
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_inner_error_ = NULL;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = job;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = child;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp26_ = child;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp27_ = g_file_get_path (_tmp26_);
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = _tmp27_;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp29_ = child;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = g_file_get_path (_tmp29_);
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = _tmp30_;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = err;
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp24_, _tmp25_, _tmp28_, _tmp31_, _tmp32_, IMPORT_RESULT_FILE_ERROR);
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp31_);
#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp28_);
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_error_free0 (err);
#line 12533 "BatchImport.c"
			}
			__finally416:
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_propagate_error (error, _inner_error_);
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (child);
#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp2_);
#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 1599 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 12550 "BatchImport.c"
			}
		} else {
			GFileType _tmp33_;
#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = file_type;
#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp33_ == G_FILE_TYPE_REGULAR) {
#line 12558 "BatchImport.c"
				gboolean _tmp34_ = FALSE;
				GeeHashSet* _tmp35_;
				gboolean _tmp39_ = FALSE;
				gboolean _tmp40_ = FALSE;
				GFile* _tmp41_;
				gboolean _tmp42_;
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = self->priv->skipset;
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp35_ != NULL) {
#line 12569 "BatchImport.c"
					GeeHashSet* _tmp36_;
					GFile* _tmp37_;
					gboolean _tmp38_;
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp36_ = self->priv->skipset;
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp37_ = child;
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp38_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_);
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp34_ = _tmp38_;
#line 12581 "BatchImport.c"
				} else {
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp34_ = FALSE;
#line 12585 "BatchImport.c"
				}
#line 1606 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp34_) {
#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (child);
#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_tmp2_);
#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 12595 "BatchImport.c"
				}
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = child;
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = photo_is_file_image (_tmp41_);
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp42_) {
#line 12603 "BatchImport.c"
					GFile* _tmp43_;
					gboolean _tmp44_;
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp43_ = child;
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp44_ = photo_file_format_is_file_supported (_tmp43_);
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp40_ = _tmp44_;
#line 12612 "BatchImport.c"
				} else {
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp40_ = FALSE;
#line 12616 "BatchImport.c"
				}
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp40_) {
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp39_ = TRUE;
#line 12622 "BatchImport.c"
				} else {
					GFile* _tmp45_;
					gboolean _tmp46_;
#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp45_ = child;
#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp46_ = video_reader_is_supported_video_file (_tmp45_);
#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp39_ = _tmp46_;
#line 12632 "BatchImport.c"
				}
#line 1609 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (_tmp39_) {
#line 12636 "BatchImport.c"
					guint64 _tmp47_;
					GFileInfo* _tmp48_;
					gint64 _tmp49_;
					GeeList* _tmp50_;
					BatchImportJob* _tmp51_;
					GFile* _tmp52_;
					gboolean _tmp53_;
					FileToPrepare* _tmp54_;
					FileToPrepare* _tmp55_;
#line 1611 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp47_ = self->total_bytes;
#line 1611 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp48_ = info;
#line 1611 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp49_ = g_file_info_get_size (_tmp48_);
#line 1611 "/home/jens/Source/shotwell/src/BatchImport.vala"
					self->total_bytes = _tmp47_ + _tmp49_;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp50_ = self->files_to_prepare;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp51_ = job;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp52_ = child;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp53_ = copy_to_library;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp54_ = file_to_prepare_new (_tmp51_, _tmp52_, _tmp53_);
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp55_ = _tmp54_;
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), _tmp55_);
#line 1612 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (_tmp55_);
#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 (_tmp2_);
#line 1614 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 12676 "BatchImport.c"
				}
			} else {
				GFile* _tmp56_;
				gchar* _tmp57_;
				gchar* _tmp58_;
				GFileType _tmp59_;
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56_ = child;
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = g_file_get_path (_tmp56_);
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = _tmp57_;
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = file_type;
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_warning ("BatchImport.vala:1617: Ignoring import of %s file type %d", _tmp58_, (gint) _tmp59_);
#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp58_);
#line 12695 "BatchImport.c"
			}
		}
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (child);
#line 1587 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp2_);
#line 12702 "BatchImport.c"
	}
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (info);
#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (enumerator);
#line 12708 "BatchImport.c"
}


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


static void work_sniffer_instance_init (WorkSniffer * self) {
	GeeArrayList* _tmp0_;
#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = WORK_SNIFFER_GET_PRIVATE (self);
#line 1444 "/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 1444 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->files_to_prepare = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList);
#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->total_bytes = (guint64) 0;
#line 12735 "BatchImport.c"
}


static void work_sniffer_finalize (BackgroundJob * obj) {
	WorkSniffer * self;
#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_WORK_SNIFFER, WorkSniffer);
#line 1444 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->files_to_prepare);
#line 1447 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->jobs);
#line 1448 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->skipset);
#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (work_sniffer_parent_class)->finalize (obj);
#line 12751 "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_;
	BatchImportJob* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	GFile* _tmp4_;
	GFile* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	gboolean _tmp10_;
	const gchar* _tmp11_;
	gchar* _tmp12_;
	const gchar* _tmp13_;
	gchar* _tmp14_;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	PhotoFileFormat _tmp17_;
	guint64 _tmp18_;
	gboolean _tmp19_;
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL);
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), NULL);
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), NULL);
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (source_id != NULL, NULL);
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (dest_id != NULL, NULL);
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PreparedFile*) g_type_create_instance (object_type);
#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = job;
#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _batch_import_job_ref0 (_tmp0_);
#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->job = _tmp1_;
#line 1642 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->result = IMPORT_RESULT_SUCCESS;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = file;
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file = _tmp3_;
#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = associated_file;
#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->associated_file);
#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->associated_file = _tmp5_;
#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = source_id;
#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->source_id);
#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->source_id = _tmp7_;
#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = dest_id;
#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = g_strdup (_tmp8_);
#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_id);
#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->dest_id = _tmp9_;
#line 1647 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = copy_to_library;
#line 1647 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->copy_to_library = _tmp10_;
#line 1648 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = exif_md5;
#line 1648 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = g_strdup (_tmp11_);
#line 1648 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->exif_md5);
#line 1648 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->exif_md5 = _tmp12_;
#line 1649 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = thumbnail_md5;
#line 1649 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = g_strdup (_tmp13_);
#line 1649 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->thumbnail_md5);
#line 1649 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->thumbnail_md5 = _tmp14_;
#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = full_md5;
#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = g_strdup (_tmp15_);
#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->full_md5);
#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->full_md5 = _tmp16_;
#line 1651 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = file_format;
#line 1651 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->file_format = _tmp17_;
#line 1652 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = filesize;
#line 1652 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->filesize = _tmp18_;
#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = is_video;
#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->is_video = _tmp19_;
#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 12885 "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 1638 "/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 12892 "BatchImport.c"
}


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


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


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


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


static gchar* value_prepared_file_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 12937 "BatchImport.c"
		PreparedFile * object;
		object = collect_values[0].v_pointer;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 12944 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1623 "/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 12948 "BatchImport.c"
		}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = prepared_file_ref (object);
#line 12952 "BatchImport.c"
	} else {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 12956 "BatchImport.c"
	}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 12960 "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 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 12971 "BatchImport.c"
	}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 12977 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 12981 "BatchImport.c"
	} else {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = prepared_file_ref (value->data[0].v_pointer);
#line 12985 "BatchImport.c"
	}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 12989 "BatchImport.c"
}


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


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


void value_set_prepared_file (GValue* value, gpointer v_object) {
	PreparedFile * old;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE));
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE));
#line 1623 "/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 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_ref (value->data[0].v_pointer);
#line 13032 "BatchImport.c"
	} else {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 13036 "BatchImport.c"
	}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_unref (old);
#line 13042 "BatchImport.c"
	}
}


void value_take_prepared_file (GValue* value, gpointer v_object) {
	PreparedFile * old;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE));
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE));
#line 1623 "/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 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 13061 "BatchImport.c"
	} else {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 13065 "BatchImport.c"
	}
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
		prepared_file_unref (old);
#line 13071 "BatchImport.c"
	}
}


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


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


static void prepared_file_finalize (PreparedFile * obj) {
	PreparedFile * self;
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE, PreparedFile);
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1624 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->job);
#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->file);
#line 1627 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->associated_file);
#line 1628 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->source_id);
#line 1629 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->dest_id);
#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->exif_md5);
#line 1632 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->thumbnail_md5);
#line 1633 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (self->full_md5);
#line 13116 "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 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1623 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 13141 "BatchImport.c"
}


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


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


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


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


static void prepared_file_cluster_instance_init (PreparedFileCluster * self) {
}


static void prepared_file_cluster_finalize (NotificationObject * obj) {
	PreparedFileCluster * self;
#line 1657 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster);
#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->list);
#line 1657 "/home/jens/Source/shotwell/src/BatchImport.vala"
	NOTIFICATION_OBJECT_CLASS (prepared_file_cluster_parent_class)->finalize (obj);
#line 13209 "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;
	BatchImport* _tmp0_;
	CompletionCallback _tmp1_;
	void* _tmp1__target;
	GCancellable* _tmp2_;
	CancellationCallback _tmp3_;
	void* _tmp3__target;
	GeeList* _tmp4_;
	GeeList* _tmp5_;
	NotificationCallback _tmp6_;
	void* _tmp6__target;
	GFile* _tmp7_;
	gint _tmp8_;
	gint _tmp9_;
#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (GEE_IS_LIST (files_to_prepare), NULL);
#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = owner;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = callback;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1__target = callback_target;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cancellable;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = cancellation;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3__target = cancellation_target;
#line 1681 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PrepareFilesJob*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target);
#line 1683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = files_to_prepare;
#line 1683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 1683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->files_to_prepare);
#line 1683 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->files_to_prepare = _tmp5_;
#line 1684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = notification;
#line 1684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6__target = notification_target;
#line 1684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->notification = _tmp6_;
#line 1684 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->notification_target = _tmp6__target;
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = app_dirs_get_import_dir ();
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->library_dir);
#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->library_dir = _tmp7_;
#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = prepare_files_job_get_test_variable ("SHOTWELL_FAIL_EVERY");
#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->fail_every = _tmp8_;
#line 1687 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = prepare_files_job_get_test_variable ("SHOTWELL_SKIP_EVERY");
#line 1687 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skip_every = _tmp9_;
#line 1689 "/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 1678 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 13294 "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 1678 "/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 13301 "BatchImport.c"
}


static gint prepare_files_job_get_test_variable (const gchar* name) {
	gint result = 0;
	gchar* value = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gint _tmp3_ = 0;
	gboolean _tmp4_ = FALSE;
	const gchar* _tmp5_;
#line 1692 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (name != NULL, 0);
#line 1693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = name;
#line 1693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = g_getenv (_tmp0_);
#line 1693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 1693 "/home/jens/Source/shotwell/src/BatchImport.vala"
	value = _tmp2_;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = value;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp5_ == NULL) {
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = TRUE;
#line 13330 "BatchImport.c"
	} else {
		const gchar* _tmp6_;
		gint _tmp7_;
		gint _tmp8_;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = value;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = strlen (_tmp6_);
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = _tmp7_;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp8_ == 0;
#line 13343 "BatchImport.c"
	}
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp4_) {
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = 0;
#line 13349 "BatchImport.c"
	} else {
		const gchar* _tmp9_;
		gint _tmp10_;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = value;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp10_ = atoi (_tmp9_);
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp10_;
#line 13359 "BatchImport.c"
	}
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp3_;
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (value);
#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 13367 "BatchImport.c"
}


static void prepare_files_job_real_execute (BackgroundJob* base) {
	PrepareFilesJob * self;
	GTimer* timer = NULL;
	GTimer* _tmp0_;
	GeeArrayList* list = NULL;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp90_;
	gint _tmp91_;
	gint _tmp92_;
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARE_FILES_JOB, PrepareFilesJob);
#line 1699 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = g_timer_new ();
#line 1699 "/home/jens/Source/shotwell/src/BatchImport.vala"
	timer = _tmp0_;
#line 1701 "/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 1701 "/home/jens/Source/shotwell/src/BatchImport.vala"
	list = _tmp1_;
#line 13390 "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 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->priv->files_to_prepare;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _g_object_ref0 (_tmp2_);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_list = _tmp3_;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _file_to_prepare_list;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection));
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = _tmp5_;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_size = _tmp6_;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_file_to_prepare_index = -1;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		while (TRUE) {
#line 13418 "BatchImport.c"
			gint _tmp7_;
			gint _tmp8_;
			gint _tmp9_;
			FileToPrepare* file_to_prepare = NULL;
			GeeList* _tmp10_;
			gint _tmp11_;
			gpointer _tmp12_;
			ImportResult _result_ = 0;
			ImportResult _tmp13_;
			ImportResult _tmp14_;
			BatchImportJob* job = NULL;
			FileToPrepare* _tmp26_;
			BatchImportJob* _tmp27_;
			BatchImportJob* _tmp28_;
			GFile* file = NULL;
			FileToPrepare* _tmp29_;
			GFile* _tmp30_;
			GFile* _tmp31_;
			GFile* _tmp32_ = NULL;
			FileToPrepare* _tmp33_;
			FileToPrepare* _tmp34_;
			GFile* associated = NULL;
			GFile* _tmp38_;
			gboolean copy_to_library = FALSE;
			FileToPrepare* _tmp39_;
			gboolean _tmp40_;
			GFile* _tmp41_;
			gboolean _tmp46_ = FALSE;
			GFile* _tmp47_;
			PreparedFile* prepared_file = NULL;
			BatchImportJob* _tmp55_;
			GFile* _tmp56_;
			GFile* _tmp57_;
			gboolean _tmp58_;
			PreparedFile* _tmp59_ = NULL;
			ImportResult _tmp60_;
			ImportResult _tmp61_;
			gboolean _tmp74_ = FALSE;
			GeeArrayList* _tmp75_;
			gint _tmp76_;
			gint _tmp77_;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = _file_to_prepare_index;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_index = _tmp7_ + 1;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = _file_to_prepare_index;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = _file_to_prepare_size;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (!(_tmp8_ < _tmp9_)) {
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
				break;
#line 13472 "BatchImport.c"
			}
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _file_to_prepare_list;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _file_to_prepare_index;
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = gee_list_get (_tmp10_, _tmp11_);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			file_to_prepare = (FileToPrepare*) _tmp12_;
#line 1703 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1703 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = _tmp13_;
#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = _result_;
#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp14_ != IMPORT_RESULT_SUCCESS) {
#line 13490 "BatchImport.c"
				FileToPrepare* _tmp15_;
				BatchImportJob* _tmp16_;
				FileToPrepare* _tmp17_;
				BatchImportJob* _tmp18_;
				gchar* _tmp19_;
				gchar* _tmp20_;
				FileToPrepare* _tmp21_;
				BatchImportJob* _tmp22_;
				gchar* _tmp23_;
				gchar* _tmp24_;
				ImportResult _tmp25_;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp15_ = file_to_prepare;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = _tmp15_->job;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = file_to_prepare;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = _tmp17_->job;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = batch_import_job_get_dest_identifier (_tmp18_);
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = _tmp19_;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = file_to_prepare;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = _tmp21_->job;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = batch_import_job_get_source_identifier (_tmp22_);
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = _tmp23_;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = _result_;
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp16_, NULL, _tmp20_, _tmp24_, _tmp25_);
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp24_);
#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp20_);
#line 1708 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_file_to_prepare_unref0 (file_to_prepare);
#line 1708 "/home/jens/Source/shotwell/src/BatchImport.vala"
				continue;
#line 13534 "BatchImport.c"
			}
#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp26_ = file_to_prepare;
#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp27_ = _tmp26_->job;
#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp28_ = _batch_import_job_ref0 (_tmp27_);
#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala"
			job = _tmp28_;
#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = file_to_prepare;
#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp30_ = _tmp29_->file;
#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp31_ = _g_object_ref0 (_tmp30_);
#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala"
			file = _tmp31_;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = file_to_prepare;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = _tmp33_->associated;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp34_ != NULL) {
#line 13558 "BatchImport.c"
				FileToPrepare* _tmp35_;
				FileToPrepare* _tmp36_;
				GFile* _tmp37_;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = file_to_prepare;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp36_ = _tmp35_->associated;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = _tmp36_->file;
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _tmp37_;
#line 13570 "BatchImport.c"
			} else {
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = NULL;
#line 13574 "BatchImport.c"
			}
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp38_ = _g_object_ref0 (_tmp32_);
#line 1713 "/home/jens/Source/shotwell/src/BatchImport.vala"
			associated = _tmp38_;
#line 1714 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp39_ = file_to_prepare;
#line 1714 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp40_ = _tmp39_->copy_to_library;
#line 1714 "/home/jens/Source/shotwell/src/BatchImport.vala"
			copy_to_library = _tmp40_;
#line 1717 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = file;
#line 1717 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp41_ == NULL) {
#line 13590 "BatchImport.c"
				BatchImportJob* _tmp42_;
				GFile* _tmp43_ = NULL;
				gboolean _tmp44_ = FALSE;
				gboolean _tmp45_;
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp42_ = job;
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp45_ = prepare_files_job_create_file (self, _tmp42_, &_tmp43_, &_tmp44_);
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (file);
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				file = _tmp43_;
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				copy_to_library = _tmp44_;
#line 1718 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (!_tmp45_) {
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (associated);
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (file);
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_batch_import_job_unref0 (job);
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_file_to_prepare_unref0 (file_to_prepare);
#line 1719 "/home/jens/Source/shotwell/src/BatchImport.vala"
					continue;
#line 13617 "BatchImport.c"
				}
			}
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = associated;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp47_ == NULL) {
#line 13624 "BatchImport.c"
				FileToPrepare* _tmp48_;
				FileToPrepare* _tmp49_;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp48_ = file_to_prepare;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp49_ = _tmp48_->associated;
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = _tmp49_ != NULL;
#line 13633 "BatchImport.c"
			} else {
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp46_ = FALSE;
#line 13637 "BatchImport.c"
			}
#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp46_) {
#line 13641 "BatchImport.c"
				FileToPrepare* _tmp50_;
				FileToPrepare* _tmp51_;
				BatchImportJob* _tmp52_;
				GFile* _tmp53_ = NULL;
				gboolean _tmp54_ = FALSE;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp50_ = file_to_prepare;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp51_ = _tmp50_->associated;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp52_ = _tmp51_->job;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				prepare_files_job_create_file (self, _tmp52_, &_tmp53_, &_tmp54_);
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (associated);
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				associated = _tmp53_;
#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala"
				copy_to_library = _tmp54_;
#line 13661 "BatchImport.c"
			}
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55_ = job;
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp56_ = file;
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp57_ = associated;
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp58_ = copy_to_library;
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp60_ = prepare_files_job_prepare_file (self, _tmp55_, _tmp56_, _tmp57_, _tmp58_, &_tmp59_);
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			prepared_file = _tmp59_;
#line 1727 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_result_ = _tmp60_;
#line 1728 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp61_ = _result_;
#line 1728 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp61_ == IMPORT_RESULT_SUCCESS) {
#line 13683 "BatchImport.c"
				gint _tmp62_;
				GeeArrayList* _tmp63_;
				PreparedFile* _tmp64_;
#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp62_ = self->prepared_files;
#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->prepared_files = _tmp62_ + 1;
#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = list;
#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp64_ = prepared_file;
#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp64_);
#line 13697 "BatchImport.c"
			} else {
				BatchImportJob* _tmp65_;
				GFile* _tmp66_;
				BatchImportJob* _tmp67_;
				gchar* _tmp68_;
				gchar* _tmp69_;
				GFile* _tmp70_;
				gchar* _tmp71_;
				gchar* _tmp72_;
				ImportResult _tmp73_;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = job;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66_ = file;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67_ = job;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp68_ = batch_import_job_get_source_identifier (_tmp67_);
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp69_ = _tmp68_;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp70_ = file;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp71_ = g_file_get_path (_tmp70_);
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp72_ = _tmp71_;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp73_ = _result_;
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp65_, _tmp66_, _tmp69_, _tmp72_, _tmp73_);
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp72_);
#line 1732 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp69_);
#line 13732 "BatchImport.c"
			}
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp75_ = list;
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp76_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp77_ = _tmp76_;
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp77_ >= BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES) {
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp74_ = TRUE;
#line 13744 "BatchImport.c"
			} else {
				gboolean _tmp78_ = FALSE;
				GTimer* _tmp79_;
				gdouble _tmp80_;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp79_ = timer;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp80_ = g_timer_elapsed (_tmp79_, NULL);
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if ((_tmp80_ * 1000.0) > ((gdouble) BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC)) {
#line 13755 "BatchImport.c"
					GeeArrayList* _tmp81_;
					gint _tmp82_;
					gint _tmp83_;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp81_ = list;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp82_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp83_ = _tmp82_;
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp78_ = _tmp83_ > 0;
#line 13767 "BatchImport.c"
				} else {
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp78_ = FALSE;
#line 13771 "BatchImport.c"
				}
#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp74_ = _tmp78_;
#line 13775 "BatchImport.c"
			}
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp74_) {
#line 13779 "BatchImport.c"
				PreparedFileCluster* cluster = NULL;
				GeeArrayList* _tmp84_;
				PreparedFileCluster* _tmp85_;
				GeeArrayList* _tmp86_;
				NotificationCallback _tmp87_;
				void* _tmp87__target;
				PreparedFileCluster* _tmp88_;
				GTimer* _tmp89_;
#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp84_ = list;
#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp85_ = prepared_file_cluster_new (_tmp84_);
#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala"
				cluster = _tmp85_;
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp86_ = gee_array_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, (GDestroyNotify) prepared_file_unref, NULL, NULL, NULL);
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (list);
#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala"
				list = _tmp86_;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp87_ = self->priv->notification;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp87__target = self->priv->notification_target;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp88_ = cluster;
#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala"
				background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp87_, _tmp87__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_NOTIFICATION_OBJECT, NotificationObject));
#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp89_ = timer;
#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala"
				g_timer_start (_tmp89_);
#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_notification_object_unref0 (cluster);
#line 13814 "BatchImport.c"
			}
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (associated);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (file);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_job_unref0 (job);
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_file_to_prepare_unref0 (file_to_prepare);
#line 13826 "BatchImport.c"
		}
#line 1702 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_file_to_prepare_list);
#line 13830 "BatchImport.c"
	}
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp90_ = list;
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp91_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp92_ = _tmp91_;
#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp92_ > 0) {
#line 13840 "BatchImport.c"
		ImportResult _result_ = 0;
		ImportResult _tmp93_;
		ImportResult _tmp94_;
#line 1749 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp93_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob));
#line 1749 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = _tmp93_;
#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp94_ = _result_;
#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp94_ == IMPORT_RESULT_SUCCESS) {
#line 13852 "BatchImport.c"
			NotificationCallback _tmp95_;
			void* _tmp95__target;
			GeeArrayList* _tmp96_;
			PreparedFileCluster* _tmp97_;
			PreparedFileCluster* _tmp98_;
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = self->priv->notification;
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95__target = self->priv->notification_target;
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp96_ = list;
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp97_ = prepared_file_cluster_new (_tmp96_);
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp98_ = _tmp97_;
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp95_, _tmp95__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp98_, TYPE_NOTIFICATION_OBJECT, NotificationObject));
#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_notification_object_unref0 (_tmp98_);
#line 13872 "BatchImport.c"
		} else {
			gint _tmp99_;
			GeeArrayList* _tmp100_;
			gint _tmp101_;
			gint _tmp102_;
			gint _tmp103_;
			GeeArrayList* _tmp104_;
			gint _tmp105_;
			gint _tmp106_;
#line 1754 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp99_ = self->prepared_files;
#line 1754 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp100_ = list;
#line 1754 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp101_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1754 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp102_ = _tmp101_;
#line 1754 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_vala_assert (_tmp99_ >= _tmp102_, "prepared_files >= list.size");
#line 1755 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp103_ = self->prepared_files;
#line 1755 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp104_ = list;
#line 1755 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp105_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1755 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp106_ = _tmp105_;
#line 1755 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->prepared_files = _tmp103_ - _tmp106_;
#line 13902 "BatchImport.c"
			{
				GeeArrayList* _prepared_file_list = NULL;
				GeeArrayList* _tmp107_;
				GeeArrayList* _tmp108_;
				gint _prepared_file_size = 0;
				GeeArrayList* _tmp109_;
				gint _tmp110_;
				gint _tmp111_;
				gint _prepared_file_index = 0;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp107_ = list;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp108_ = _g_object_ref0 (_tmp107_);
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_list = _tmp108_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp109_ = _prepared_file_list;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp110_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp111_ = _tmp110_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_size = _tmp111_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_index = -1;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				while (TRUE) {
#line 13930 "BatchImport.c"
					gint _tmp112_;
					gint _tmp113_;
					gint _tmp114_;
					PreparedFile* prepared_file = NULL;
					GeeArrayList* _tmp115_;
					gint _tmp116_;
					gpointer _tmp117_;
					PreparedFile* _tmp118_;
					BatchImportJob* _tmp119_;
					PreparedFile* _tmp120_;
					GFile* _tmp121_;
					PreparedFile* _tmp122_;
					BatchImportJob* _tmp123_;
					gchar* _tmp124_;
					gchar* _tmp125_;
					PreparedFile* _tmp126_;
					GFile* _tmp127_;
					gchar* _tmp128_;
					gchar* _tmp129_;
					ImportResult _tmp130_;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp112_ = _prepared_file_index;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_index = _tmp112_ + 1;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp113_ = _prepared_file_index;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp114_ = _prepared_file_size;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					if (!(_tmp113_ < _tmp114_)) {
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
						break;
#line 13963 "BatchImport.c"
					}
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp115_ = _prepared_file_list;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp116_ = _prepared_file_index;
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp117_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp116_);
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					prepared_file = (PreparedFile*) _tmp117_;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp118_ = prepared_file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp119_ = _tmp118_->job;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp120_ = prepared_file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp121_ = _tmp120_->file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp122_ = prepared_file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp123_ = _tmp122_->job;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp124_ = batch_import_job_get_source_identifier (_tmp123_);
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp125_ = _tmp124_;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp126_ = prepared_file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp127_ = _tmp126_->file;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp128_ = g_file_get_path (_tmp127_);
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp129_ = _tmp128_;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_tmp130_ = _result_;
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp119_, _tmp121_, _tmp125_, _tmp129_, _tmp130_);
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_tmp129_);
#line 1758 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_free0 (_tmp125_);
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_prepared_file_unref0 (prepared_file);
#line 14007 "BatchImport.c"
				}
#line 1757 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_prepared_file_list);
#line 14011 "BatchImport.c"
			}
		}
	}
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (list);
#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_timer_destroy0 (timer);
#line 14019 "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 1767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), FALSE);
#line 1767 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), FALSE);
#line 14032 "BatchImport.c"
	{
		gboolean _tmp0_ = FALSE;
		BatchImportJob* _tmp1_;
		GFile* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = job;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = batch_import_job_prepare (_tmp1_, &_tmp2_, &_tmp3_, &_inner_error_);
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_file = _tmp2_;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_copy_to_library = _tmp3_;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp4_;
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14053 "BatchImport.c"
			goto __catch417_g_error;
		}
#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (!_tmp0_) {
#line 14058 "BatchImport.c"
			BatchImportJob* _tmp5_;
			BatchImportJob* _tmp6_;
			gchar* _tmp7_;
			gchar* _tmp8_;
			BatchImportJob* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = job;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp6_ = job;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = batch_import_job_get_source_identifier (_tmp6_);
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = _tmp7_;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = job;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = batch_import_job_get_dest_identifier (_tmp9_);
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _tmp10_;
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp5_, NULL, _tmp8_, _tmp11_, IMPORT_RESULT_FILE_ERROR);
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp11_);
#line 1770 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp8_);
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = FALSE;
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (file) {
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*file = _vala_file;
#line 14092 "BatchImport.c"
			} else {
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_vala_file);
#line 14096 "BatchImport.c"
			}
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (copy_to_library) {
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*copy_to_library = _vala_copy_to_library;
#line 14102 "BatchImport.c"
			}
#line 1773 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 14106 "BatchImport.c"
		}
	}
	goto __finally417;
	__catch417_g_error:
	{
		GError* err = NULL;
		BatchImportJob* _tmp12_;
		BatchImportJob* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
		BatchImportJob* _tmp16_;
		gchar* _tmp17_;
		gchar* _tmp18_;
		GError* _tmp19_;
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = job;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = job;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp14_ = batch_import_job_get_source_identifier (_tmp13_);
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = _tmp14_;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = job;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = batch_import_job_get_dest_identifier (_tmp16_);
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = _tmp17_;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = err;
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp12_, NULL, _tmp15_, _tmp18_, _tmp19_, IMPORT_RESULT_FILE_ERROR);
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp18_);
#line 1776 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp15_);
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = FALSE;
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (file) {
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*file = _vala_file;
#line 14155 "BatchImport.c"
		} else {
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_vala_file);
#line 14159 "BatchImport.c"
		}
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (copy_to_library) {
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*copy_to_library = _vala_copy_to_library;
#line 14165 "BatchImport.c"
		}
#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14169 "BatchImport.c"
	}
	__finally417:
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14174 "BatchImport.c"
		gboolean _tmp20_ = FALSE;
#line 1768 "/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 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1768 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return _tmp20_;
#line 14182 "BatchImport.c"
	}
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = TRUE;
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (file) {
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*file = _vala_file;
#line 14190 "BatchImport.c"
	} else {
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_vala_file);
#line 14194 "BatchImport.c"
	}
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (copy_to_library) {
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*copy_to_library = _vala_copy_to_library;
#line 14200 "BatchImport.c"
	}
#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 14204 "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;
	GFile* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_;
	gboolean _tmp6_ = FALSE;
	gboolean _tmp7_;
	gint _tmp10_;
	gint _tmp11_;
	gint _tmp14_;
	gchar* exif_only_md5 = NULL;
	gchar* thumbnail_md5 = NULL;
	gchar* full_md5 = NULL;
	PhotoFileFormat file_format = 0;
	GFile* _tmp28_;
	PhotoFileFormat _tmp29_;
	gboolean _tmp30_;
	guint64 filesize = 0ULL;
	gboolean is_in_library_dir = FALSE;
	GFile* _tmp82_;
	GFile* _tmp83_;
	gboolean _tmp84_;
	gboolean _tmp85_ = FALSE;
	gboolean _tmp86_;
	BatchImportJob* _tmp88_;
	GFile* _tmp89_;
	GFile* _tmp90_;
	BatchImportJob* _tmp91_;
	gchar* _tmp92_;
	gchar* _tmp93_;
	BatchImportJob* _tmp94_;
	gchar* _tmp95_;
	gchar* _tmp96_;
	const gchar* _tmp97_;
	const gchar* _tmp98_;
	const gchar* _tmp99_;
	PhotoFileFormat _tmp100_;
	guint64 _tmp101_;
	gboolean _tmp102_;
	PreparedFile* _tmp103_;
	GError * _inner_error_ = NULL;
#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), 0);
#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), 0);
#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (file), 0);
#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), 0);
#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (_vala_prepared_file);
#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_prepared_file = NULL;
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = file;
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = video_reader_is_supported_video_file (_tmp0_);
#line 1788 "/home/jens/Source/shotwell/src/BatchImport.vala"
	is_video = _tmp1_;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = is_video;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp3_) {
#line 14274 "BatchImport.c"
		GFile* _tmp4_;
		gboolean _tmp5_;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = file;
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = photo_is_file_image (_tmp4_);
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = !_tmp5_;
#line 14283 "BatchImport.c"
	} else {
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = FALSE;
#line 14287 "BatchImport.c"
	}
#line 1790 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp2_) {
#line 1791 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = IMPORT_RESULT_NOT_AN_IMAGE;
#line 1791 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1791 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14297 "BatchImport.c"
		} else {
#line 1791 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 14301 "BatchImport.c"
		}
#line 1791 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14305 "BatchImport.c"
	}
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = is_video;
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp7_) {
#line 14311 "BatchImport.c"
		GFile* _tmp8_;
		gboolean _tmp9_;
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = file;
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = photo_file_format_is_file_supported (_tmp8_);
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = !_tmp9_;
#line 14320 "BatchImport.c"
	} else {
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = FALSE;
#line 14324 "BatchImport.c"
	}
#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp6_) {
#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = IMPORT_RESULT_UNSUPPORTED_FORMAT;
#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14334 "BatchImport.c"
		} else {
#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 14338 "BatchImport.c"
		}
#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14342 "BatchImport.c"
	}
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = self->priv->import_file_count;
#line 1796 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_file_count = _tmp10_ + 1;
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = self->priv->fail_every;
#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp11_ > 0) {
#line 14352 "BatchImport.c"
		gint _tmp12_;
		gint _tmp13_;
#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp12_ = self->priv->import_file_count;
#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp13_ = self->priv->fail_every;
#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp12_ % _tmp13_) == 0) {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_FILE_ERROR;
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 14367 "BatchImport.c"
			} else {
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 14371 "BatchImport.c"
			}
#line 1801 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 14375 "BatchImport.c"
		}
	}
#line 1805 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = self->priv->skip_every;
#line 1805 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp14_ > 0) {
#line 14382 "BatchImport.c"
		gint _tmp15_;
		gint _tmp16_;
#line 1806 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp15_ = self->priv->import_file_count;
#line 1806 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp16_ = self->priv->skip_every;
#line 1806 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if ((_tmp15_ % _tmp16_) == 0) {
#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_NOT_A_FILE;
#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 14397 "BatchImport.c"
			} else {
#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 14401 "BatchImport.c"
			}
#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 14405 "BatchImport.c"
		}
	}
#line 1810 "/home/jens/Source/shotwell/src/BatchImport.vala"
	exif_only_md5 = NULL;
#line 1811 "/home/jens/Source/shotwell/src/BatchImport.vala"
	thumbnail_md5 = NULL;
#line 1812 "/home/jens/Source/shotwell/src/BatchImport.vala"
	full_md5 = NULL;
#line 14414 "BatchImport.c"
	{
		gchar* _tmp17_ = NULL;
		GFile* _tmp18_;
		gchar* _tmp19_;
		gchar* _tmp20_;
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp18_ = file;
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp19_ = md5_file (_tmp18_, &_inner_error_);
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = _tmp19_;
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14428 "BatchImport.c"
			goto __catch418_g_error;
		}
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp20_ = _tmp17_;
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp17_ = NULL;
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1815 "/home/jens/Source/shotwell/src/BatchImport.vala"
		full_md5 = _tmp20_;
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp17_);
#line 14441 "BatchImport.c"
	}
	goto __finally418;
	__catch418_g_error:
	{
		GError* err = NULL;
		GFile* _tmp21_;
		gchar* _tmp22_;
		gchar* _tmp23_;
		GError* _tmp24_;
		const gchar* _tmp25_;
		GError* _tmp26_;
		ImportResult _tmp27_;
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp21_ = file;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp22_ = g_file_get_path (_tmp21_);
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp23_ = _tmp22_;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp24_ = err;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp25_ = _tmp24_->message;
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1820: Unable to perform MD5 checksum on file %s: %s", _tmp23_, _tmp25_);
#line 1820 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp23_);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp26_ = err;
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp27_ = import_result_convert_error (_tmp26_, IMPORT_RESULT_FILE_ERROR);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = _tmp27_;
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14490 "BatchImport.c"
		} else {
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 14494 "BatchImport.c"
		}
#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14498 "BatchImport.c"
	}
	__finally418:
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1814 "/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 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1814 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return 0;
#line 14515 "BatchImport.c"
	}
#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp28_ = file;
#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp29_ = photo_file_format_get_by_file_extension (_tmp28_);
#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala"
	file_format = _tmp29_;
#line 1829 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp30_ = is_video;
#line 1829 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!_tmp30_) {
#line 14527 "BatchImport.c"
		PhotoFileFormat _tmp31_;
		PhotoFileReader* reader = NULL;
		PhotoFileFormat _tmp35_;
		GFile* _tmp36_;
		gchar* _tmp37_;
		gchar* _tmp38_;
		PhotoFileReader* _tmp39_;
		PhotoFileReader* _tmp40_;
		PhotoMetadata* metadata = NULL;
		PhotoMetadata* _tmp50_;
#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp31_ = file_format;
#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp31_ == PHOTO_FILE_FORMAT_UNKNOWN) {
#line 14542 "BatchImport.c"
			GFile* _tmp32_;
			gchar* _tmp33_;
			gchar* _tmp34_;
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp32_ = file;
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp33_ = g_file_get_path (_tmp32_);
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp34_ = _tmp33_;
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1831: Skipping %s: unrecognized file extension", _tmp34_);
#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp34_);
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			result = IMPORT_RESULT_UNSUPPORTED_FORMAT;
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (full_md5);
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (thumbnail_md5);
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (exif_only_md5);
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (prepared_file) {
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				*prepared_file = _vala_prepared_file;
#line 14568 "BatchImport.c"
			} else {
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (_vala_prepared_file);
#line 14572 "BatchImport.c"
			}
#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return result;
#line 14576 "BatchImport.c"
		}
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp35_ = file_format;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp36_ = file;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp37_ = g_file_get_path (_tmp36_);
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp38_ = _tmp37_;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp39_ = photo_file_format_create_reader (_tmp35_, _tmp38_);
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp40_ = _tmp39_;
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp38_);
#line 1835 "/home/jens/Source/shotwell/src/BatchImport.vala"
		reader = _tmp40_;
#line 1836 "/home/jens/Source/shotwell/src/BatchImport.vala"
		metadata = NULL;
#line 14596 "BatchImport.c"
		{
			PhotoMetadata* _tmp41_ = NULL;
			PhotoFileReader* _tmp42_;
			PhotoMetadata* _tmp43_;
			PhotoMetadata* _tmp44_;
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = reader;
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = photo_file_reader_read_metadata (_tmp42_, &_inner_error_);
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = _tmp43_;
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14610 "BatchImport.c"
				goto __catch419_g_error;
			}
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = _tmp41_;
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp41_ = NULL;
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (metadata);
#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala"
			metadata = _tmp44_;
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (_tmp41_);
#line 14623 "BatchImport.c"
		}
		goto __finally419;
		__catch419_g_error:
		{
			GError* err = NULL;
			GFile* _tmp45_;
			gchar* _tmp46_;
			gchar* _tmp47_;
			GError* _tmp48_;
			const gchar* _tmp49_;
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = file;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = g_file_get_path (_tmp45_);
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = _tmp46_;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = err;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = _tmp48_->message;
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1840: Unable to read metadata for %s (%s): continuing" \
" to attempt import", _tmp47_, _tmp49_);
#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp47_);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 14654 "BatchImport.c"
		}
		__finally419:
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_media_metadata_unref0 (metadata);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_photo_file_adapter_unref0 (reader);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (full_md5);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (thumbnail_md5);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (exif_only_md5);
#line 1837 "/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 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return 0;
#line 14675 "BatchImport.c"
		}
#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp50_ = metadata;
#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp50_ != NULL) {
#line 14681 "BatchImport.c"
			guint8* flattened_sans_thumbnail = NULL;
			PhotoMetadata* _tmp51_;
			gint _tmp52_;
			guint8* _tmp53_;
			gint flattened_sans_thumbnail_length1;
			gint _flattened_sans_thumbnail_size_;
			gboolean _tmp54_ = FALSE;
			guint8* _tmp55_;
			gint _tmp55__length1;
			guint8* flattened_thumbnail = NULL;
			PhotoMetadata* _tmp60_;
			gint _tmp61_;
			guint8* _tmp62_;
			gint flattened_thumbnail_length1;
			gint _flattened_thumbnail_size_;
			gboolean _tmp63_ = FALSE;
			guint8* _tmp64_;
			gint _tmp64__length1;
#line 1845 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp51_ = metadata;
#line 1845 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp53_ = photo_metadata_flatten_exif (_tmp51_, FALSE, &_tmp52_);
#line 1845 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_sans_thumbnail = _tmp53_;
#line 1845 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_sans_thumbnail_length1 = _tmp52_;
#line 1845 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_flattened_sans_thumbnail_size_ = flattened_sans_thumbnail_length1;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55_ = flattened_sans_thumbnail;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp55__length1 = flattened_sans_thumbnail_length1;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp55_ != NULL) {
#line 14716 "BatchImport.c"
				guint8* _tmp56_;
				gint _tmp56__length1;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56_ = flattened_sans_thumbnail;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp56__length1 = flattened_sans_thumbnail_length1;
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = _tmp56__length1 > 0;
#line 14725 "BatchImport.c"
			} else {
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp54_ = FALSE;
#line 14729 "BatchImport.c"
			}
#line 1846 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp54_) {
#line 14733 "BatchImport.c"
				guint8* _tmp57_;
				gint _tmp57__length1;
				guint8* _tmp58_;
				gint _tmp58__length1;
				gchar* _tmp59_;
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57_ = flattened_sans_thumbnail;
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp57__length1 = flattened_sans_thumbnail_length1;
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58_ = flattened_sans_thumbnail;
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp58__length1 = flattened_sans_thumbnail_length1;
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp59_ = md5_binary (_tmp57_, (gsize) _tmp58__length1);
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (exif_only_md5);
#line 1847 "/home/jens/Source/shotwell/src/BatchImport.vala"
				exif_only_md5 = _tmp59_;
#line 14753 "BatchImport.c"
			}
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp60_ = metadata;
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp62_ = photo_metadata_flatten_exif_preview (_tmp60_, &_tmp61_);
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_thumbnail = _tmp62_;
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_thumbnail_length1 = _tmp61_;
#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_flattened_thumbnail_size_ = flattened_thumbnail_length1;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp64_ = flattened_thumbnail;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp64__length1 = flattened_thumbnail_length1;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp64_ != NULL) {
#line 14771 "BatchImport.c"
				guint8* _tmp65_;
				gint _tmp65__length1;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65_ = flattened_thumbnail;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp65__length1 = flattened_thumbnail_length1;
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = _tmp65__length1 > 0;
#line 14780 "BatchImport.c"
			} else {
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp63_ = FALSE;
#line 14784 "BatchImport.c"
			}
#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp63_) {
#line 14788 "BatchImport.c"
				guint8* _tmp66_;
				gint _tmp66__length1;
				guint8* _tmp67_;
				gint _tmp67__length1;
				gchar* _tmp68_;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66_ = flattened_thumbnail;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp66__length1 = flattened_thumbnail_length1;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67_ = flattened_thumbnail;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp67__length1 = flattened_thumbnail_length1;
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp68_ = md5_binary (_tmp66_, (gsize) _tmp67__length1);
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (thumbnail_md5);
#line 1851 "/home/jens/Source/shotwell/src/BatchImport.vala"
				thumbnail_md5 = _tmp68_;
#line 14808 "BatchImport.c"
			}
#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_thumbnail = (g_free (flattened_thumbnail), NULL);
#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala"
			flattened_sans_thumbnail = (g_free (flattened_sans_thumbnail), NULL);
#line 14814 "BatchImport.c"
		}
#line 1829 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_media_metadata_unref0 (metadata);
#line 1829 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_photo_file_adapter_unref0 (reader);
#line 14820 "BatchImport.c"
	}
#line 1855 "/home/jens/Source/shotwell/src/BatchImport.vala"
	filesize = (guint64) 0;
#line 14824 "BatchImport.c"
	{
		guint64 _tmp69_ = 0ULL;
		GFile* _tmp70_;
		GCancellable* _tmp71_;
		GCancellable* _tmp72_;
		guint64 _tmp73_;
		guint64 _tmp74_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp70_ = file;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp71_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob));
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp72_ = _tmp71_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp73_ = query_total_file_size (_tmp70_, _tmp72_, &_inner_error_);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp74_ = _tmp73_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_object_unref0 (_tmp72_);
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp69_ = _tmp74_;
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 14848 "BatchImport.c"
			goto __catch420_g_error;
		}
#line 1857 "/home/jens/Source/shotwell/src/BatchImport.vala"
		filesize = _tmp69_;
#line 14853 "BatchImport.c"
	}
	goto __finally420;
	__catch420_g_error:
	{
		GError* err = NULL;
		GFile* _tmp75_;
		gchar* _tmp76_;
		gchar* _tmp77_;
		GError* _tmp78_;
		const gchar* _tmp79_;
		GError* _tmp80_;
		ImportResult _tmp81_;
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp75_ = file;
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp76_ = g_file_get_path (_tmp75_);
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp77_ = _tmp76_;
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp78_ = err;
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp79_ = _tmp78_->message;
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_warning ("BatchImport.vala:1859: Unable to query file size of %s: %s", _tmp77_, _tmp79_);
#line 1859 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp77_);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp80_ = err;
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp81_ = import_result_convert_error (_tmp80_, IMPORT_RESULT_FILE_ERROR);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		result = _tmp81_;
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (prepared_file) {
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
			*prepared_file = _vala_prepared_file;
#line 14902 "BatchImport.c"
		} else {
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (_vala_prepared_file);
#line 14906 "BatchImport.c"
		}
#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return result;
#line 14910 "BatchImport.c"
	}
	__finally420:
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (full_md5);
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (thumbnail_md5);
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (exif_only_md5);
#line 1856 "/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 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 1856 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return 0;
#line 14927 "BatchImport.c"
	}
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp82_ = file;
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp83_ = self->priv->library_dir;
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp84_ = g_file_has_prefix (_tmp82_, _tmp83_);
#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala"
	is_in_library_dir = _tmp84_;
#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp86_ = copy_to_library;
#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp86_) {
#line 14941 "BatchImport.c"
		gboolean _tmp87_;
#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp87_ = is_in_library_dir;
#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp85_ = !_tmp87_;
#line 14947 "BatchImport.c"
	} else {
#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp85_ = FALSE;
#line 14951 "BatchImport.c"
	}
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp88_ = job;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp89_ = file;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp90_ = associated_file;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp91_ = job;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp92_ = batch_import_job_get_source_identifier (_tmp91_);
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp93_ = _tmp92_;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp94_ = job;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp95_ = batch_import_job_get_dest_identifier (_tmp94_);
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp96_ = _tmp95_;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp97_ = exif_only_md5;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp98_ = thumbnail_md5;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp99_ = full_md5;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp100_ = file_format;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp101_ = filesize;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp102_ = is_video;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp103_ = prepared_file_new (_tmp88_, _tmp89_, _tmp90_, _tmp93_, _tmp96_, _tmp85_, _tmp97_, _tmp98_, _tmp99_, _tmp100_, _tmp101_, _tmp102_);
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (_vala_prepared_file);
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_prepared_file = _tmp103_;
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp96_);
#line 1868 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp93_);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = IMPORT_RESULT_SUCCESS;
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (full_md5);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (thumbnail_md5);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (exif_only_md5);
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (prepared_file) {
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*prepared_file = _vala_prepared_file;
#line 15005 "BatchImport.c"
	} else {
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_prepared_file_unref0 (_vala_prepared_file);
#line 15009 "BatchImport.c"
	}
#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15013 "BatchImport.c"
}


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


static void prepare_files_job_instance_init (PrepareFilesJob * self) {
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv = PREPARE_FILES_JOB_GET_PRIVATE (self);
#line 1667 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->prepared_files = 0;
#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_file_count = 0;
#line 1675 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->fail_every = 0;
#line 1676 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->skip_every = 0;
#line 15041 "BatchImport.c"
}


static void prepare_files_job_finalize (BackgroundJob * obj) {
	PrepareFilesJob * self;
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARE_FILES_JOB, PrepareFilesJob);
#line 1669 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->files_to_prepare);
#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->priv->library_dir);
#line 1665 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (prepare_files_job_parent_class)->finalize (obj);
#line 15055 "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 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? prepared_file_ref (self) : NULL;
#line 15074 "BatchImport.c"
}


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


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


static gpointer _photo_import_params_ref0 (gpointer self) {
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self ? photo_import_params_ref (self) : NULL;
#line 15095 "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;
	PreparedFile* _tmp0_;
	gboolean _tmp1_;
	GFile* _tmp8_;
	GFile* _tmp9_;
	PreparedFile* _tmp10_;
	PreparedFile* _tmp11_;
	BatchImportResult* _tmp12_;
	BatchImportResult* _tmp13_;
	VideoImportParams* _tmp14_;
	VideoImportParams* _tmp15_;
	PhotoImportParams* _tmp16_;
	PhotoImportParams* _tmp17_;
	PreparedFile* _tmp18_;
	gboolean _tmp19_;
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_FILE (final_file), NULL);
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 1884 "/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 1884 "/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 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (batch_result), NULL);
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ReadyForImport*) g_type_create_instance (object_type);
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = prepared_file;
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _tmp0_->is_video;
#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_) {
#line 15133 "BatchImport.c"
		gboolean _tmp2_ = FALSE;
		VideoImportParams* _tmp3_;
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = video_import_params;
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp3_ != NULL) {
#line 15140 "BatchImport.c"
			PhotoImportParams* _tmp4_;
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp4_ = photo_import_params;
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = _tmp4_ == NULL;
#line 15146 "BatchImport.c"
		} else {
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp2_ = FALSE;
#line 15150 "BatchImport.c"
		}
#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp2_, "(video_import_params != null) && (photo_import_params == null)");
#line 15154 "BatchImport.c"
	} else {
		gboolean _tmp5_ = FALSE;
		VideoImportParams* _tmp6_;
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = video_import_params;
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (_tmp6_ == NULL) {
#line 15162 "BatchImport.c"
			PhotoImportParams* _tmp7_;
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp7_ = photo_import_params;
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = _tmp7_ != NULL;
#line 15168 "BatchImport.c"
		} else {
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp5_ = FALSE;
#line 15172 "BatchImport.c"
		}
#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_vala_assert (_tmp5_, "(video_import_params == null) && (photo_import_params != null)");
#line 15176 "BatchImport.c"
	}
#line 1892 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = final_file;
#line 1892 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 1892 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->final_file);
#line 1892 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->final_file = _tmp9_;
#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = prepared_file;
#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp11_ = _prepared_file_ref0 (_tmp10_);
#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->prepared_file);
#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->prepared_file = _tmp11_;
#line 1894 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp12_ = batch_result;
#line 1894 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp13_ = _batch_import_result_ref0 (_tmp12_);
#line 1894 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 1894 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp13_;
#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = video_import_params;
#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = _video_import_params_ref0 (_tmp14_);
#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (self->video_import_params);
#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->video_import_params = _tmp15_;
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = photo_import_params;
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = _photo_import_params_ref0 (_tmp16_);
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (self->photo_import_params);
#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->photo_import_params = _tmp17_;
#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = prepared_file;
#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = _tmp18_->is_video;
#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->is_video = _tmp19_;
#line 1884 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 15226 "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 1884 "/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 15233 "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 1900 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL);
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->final_file;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 15263 "BatchImport.c"
		GFile* _tmp2_;
		PreparedFile* _tmp3_;
		GFile* _tmp4_;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->final_file;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = self->prepared_file;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = _tmp3_->file;
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp2_ != _tmp4_;
#line 15275 "BatchImport.c"
	} else {
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = FALSE;
#line 15279 "BatchImport.c"
	}
#line 1902 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp0_) {
#line 15283 "BatchImport.c"
		GFile* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = self->final_file;
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = g_file_get_path (_tmp5_);
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_;
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:1903: Deleting aborted import copy %s", _tmp7_);
#line 1903 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp7_);
#line 15297 "BatchImport.c"
		{
			GFile* _tmp8_;
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp8_ = self->final_file;
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_file_delete (_tmp8_, NULL, &_inner_error_);
#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15306 "BatchImport.c"
				goto __catch421_g_error;
			}
		}
		goto __finally421;
		__catch421_g_error:
		{
			GError* err = NULL;
			GFile* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
			GError* _tmp12_;
			const gchar* _tmp13_;
#line 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp9_ = self->final_file;
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = g_file_get_path (_tmp9_);
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = _tmp10_;
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = err;
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = _tmp12_->message;
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1907: Unable to delete copy of imported file (aborted" \
" import) %s: %s", _tmp11_, _tmp13_);
#line 1907 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp11_);
#line 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 15339 "BatchImport.c"
		}
		__finally421:
#line 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1904 "/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 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1904 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return NULL;
#line 15350 "BatchImport.c"
		}
	}
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp14_ = self->prepared_file;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp15_ = _tmp14_->job;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp16_ = self->prepared_file;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp17_ = _tmp16_->file;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp18_ = self->prepared_file;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp19_ = _tmp18_->job;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp20_ = batch_import_job_get_source_identifier (_tmp19_);
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp21_ = _tmp20_;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp22_ = self->prepared_file;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp23_ = _tmp22_->job;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp24_ = batch_import_job_get_dest_identifier (_tmp23_);
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp25_ = _tmp24_;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp26_ = batch_import_result_new (_tmp15_, _tmp17_, _tmp21_, _tmp25_, NULL, IMPORT_RESULT_USER_ABORT);
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp26_;
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp25_);
#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp21_);
#line 1916 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp27_ = self->batch_result;
#line 1916 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp28_ = _batch_import_result_ref0 (_tmp27_);
#line 1916 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp28_;
#line 1916 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15395 "BatchImport.c"
}


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


Thumbnails* ready_for_import_get_thumbnails (ReadyForImport* self) {
	Thumbnails* result = NULL;
	Thumbnails* _tmp0_ = NULL;
	PhotoImportParams* _tmp1_;
	Thumbnails* _tmp6_;
#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL);
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = self->photo_import_params;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp1_ != NULL) {
#line 15417 "BatchImport.c"
		PhotoImportParams* _tmp2_;
		Thumbnails* _tmp3_;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->photo_import_params;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_->thumbnails;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp3_;
#line 15426 "BatchImport.c"
	} else {
		VideoImportParams* _tmp4_;
		Thumbnails* _tmp5_;
#line 1921 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->video_import_params;
#line 1921 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->thumbnails;
#line 1921 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = _tmp5_;
#line 15436 "BatchImport.c"
	}
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _thumbnails_ref0 (_tmp0_);
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
	result = _tmp6_;
#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return result;
#line 15444 "BatchImport.c"
}


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


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


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


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


static gchar* value_ready_for_import_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 15489 "BatchImport.c"
		ReadyForImport * object;
		object = collect_values[0].v_pointer;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 15496 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 1876 "/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 15500 "BatchImport.c"
		}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = ready_for_import_ref (object);
#line 15504 "BatchImport.c"
	} else {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 15508 "BatchImport.c"
	}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 15512 "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 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 15523 "BatchImport.c"
	}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 15529 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 15533 "BatchImport.c"
	} else {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = ready_for_import_ref (value->data[0].v_pointer);
#line 15537 "BatchImport.c"
	}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 15541 "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 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_READY_FOR_IMPORT), NULL);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 15555 "BatchImport.c"
}


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


void value_set_ready_for_import (GValue* value, gpointer v_object) {
	ReadyForImport * old;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT));
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT));
#line 1876 "/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 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_ref (value->data[0].v_pointer);
#line 15584 "BatchImport.c"
	} else {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 15588 "BatchImport.c"
	}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_unref (old);
#line 15594 "BatchImport.c"
	}
}


void value_take_ready_for_import (GValue* value, gpointer v_object) {
	ReadyForImport * old;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT));
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT));
#line 1876 "/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 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 15613 "BatchImport.c"
	} else {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 15617 "BatchImport.c"
	}
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		ready_for_import_unref (old);
#line 15623 "BatchImport.c"
	}
}


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


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


static void ready_for_import_finalize (ReadyForImport * obj) {
	ReadyForImport * self;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_READY_FOR_IMPORT, ReadyForImport);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->final_file);
#line 1878 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->prepared_file);
#line 1879 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (self->photo_import_params);
#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (self->video_import_params);
#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 15660 "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 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 15685 "BatchImport.c"
}


void ready_for_import_unref (gpointer instance) {
	ReadyForImport * self;
	self = instance;
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		READY_FOR_IMPORT_GET_CLASS (self)->finalize (self);
#line 1876 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 15698 "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;
	BatchImport* _tmp0_;
	CompletionCallback _tmp1_;
	void* _tmp1__target;
	GCancellable* _tmp2_;
	CancellationCallback _tmp3_;
	void* _tmp3__target;
	ImportID _tmp4_;
	PreparedFile* _tmp5_;
	PreparedFile* _tmp6_;
#line 1932 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 1932 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL);
#line 1932 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (import_id != NULL, NULL);
#line 1932 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = owner;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = callback;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1__target = callback_target;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cancellable;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = cancellation;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3__target = cancellation_target;
#line 1934 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (PreparedFileImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target, NULL);
#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = *import_id;
#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->priv->import_id = _tmp4_;
#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = prepared_file;
#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _prepared_file_ref0 (_tmp5_);
#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->not_ready = _tmp6_;
#line 1939 "/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 1932 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 15752 "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 1932 "/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 15759 "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_;
	gchar* _tmp52_;
	gchar* _tmp53_;
	ImportResult _result_ = 0;
	VideoImportParams* video_import_params = NULL;
	PhotoImportParams* photo_import_params = NULL;
	PreparedFile* _tmp54_;
	gboolean _tmp55_;
	gboolean _tmp82_ = FALSE;
	ImportResult _tmp83_;
	BatchImportResult* batch_result = NULL;
	PreparedFile* _tmp96_;
	BatchImportJob* _tmp97_;
	GFile* _tmp98_;
	GFile* _tmp99_;
	gchar* _tmp100_;
	gchar* _tmp101_;
	GFile* _tmp102_;
	gchar* _tmp103_;
	gchar* _tmp104_;
	ImportResult _tmp105_;
	BatchImportResult* _tmp106_;
	BatchImportResult* _tmp107_;
	BatchImportResult* _tmp108_;
	ImportResult _tmp109_;
	GError * _inner_error_ = NULL;
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob);
#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = self->not_ready;
#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _prepared_file_ref0 (_tmp0_);
#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala"
	prepared_file = _tmp1_;
#line 1944 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1944 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->not_ready = NULL;
#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = prepared_file;
#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _tmp2_->file;
#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala"
	final_file = _tmp4_;
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = prepared_file;
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = _tmp5_->associated_file;
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _g_object_ref0 (_tmp6_);
#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala"
	final_associated_file = _tmp7_;
#line 1949 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = prepared_file;
#line 1949 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = _tmp8_->copy_to_library;
#line 1949 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp9_) {
#line 15838 "BatchImport.c"
		{
			GFile* _tmp10_ = NULL;
			PreparedFile* _tmp11_;
			GFile* _tmp12_;
			GFile* _tmp13_;
			GFile* _tmp14_;
			GFile* _tmp15_;
			GFile* _tmp29_;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp11_ = prepared_file;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp12_ = _tmp11_->file;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp13_ = library_files_duplicate (_tmp12_, NULL, NULL, TRUE, &_inner_error_);
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = _tmp13_;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 15857 "BatchImport.c"
				goto __catch422_g_error;
			}
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp14_ = _tmp10_;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp10_ = NULL;
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1952 "/home/jens/Source/shotwell/src/BatchImport.vala"
			final_file = _tmp14_;
#line 1953 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp15_ = final_file;
#line 1953 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp15_ == NULL) {
#line 15872 "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 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp16_ = prepared_file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp17_ = _tmp16_->job;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp18_ = prepared_file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp19_ = _tmp18_->file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp20_ = prepared_file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp21_ = _tmp20_->file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp22_ = g_file_get_path (_tmp21_);
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp23_ = _tmp22_;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp24_ = prepared_file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp25_ = _tmp24_->file;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp26_ = g_file_get_path (_tmp25_);
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp27_ = _tmp26_;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp28_ = batch_import_result_new (_tmp17_, _tmp19_, _tmp23_, _tmp27_, NULL, IMPORT_RESULT_FILE_ERROR);
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_batch_import_result_unref0 (self->failed);
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				self->failed = _tmp28_;
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp27_);
#line 1954 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp23_);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp10_);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_associated_file);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_file);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_prepared_file_unref0 (prepared_file);
#line 1958 "/home/jens/Source/shotwell/src/BatchImport.vala"
				return;
#line 15930 "BatchImport.c"
			}
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp29_ = final_associated_file;
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp29_ != NULL) {
#line 15936 "BatchImport.c"
				GFile* _tmp30_ = NULL;
				PreparedFile* _tmp31_;
				GFile* _tmp32_;
				GFile* _tmp33_;
				GFile* _tmp34_;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp31_ = prepared_file;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp32_ = _tmp31_->associated_file;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp33_ = library_files_duplicate (_tmp32_, NULL, NULL, TRUE, &_inner_error_);
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = _tmp33_;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
					_g_object_unref0 (_tmp10_);
#line 15954 "BatchImport.c"
					goto __catch422_g_error;
				}
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp34_ = _tmp30_;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp30_ = NULL;
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (final_associated_file);
#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala"
				final_associated_file = _tmp34_;
#line 1962 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_object_unref0 (_tmp30_);
#line 15967 "BatchImport.c"
			}
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (_tmp10_);
#line 15971 "BatchImport.c"
		}
		goto __finally422;
		__catch422_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 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp36_ = final_file;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (_tmp36_ != NULL) {
#line 15997 "BatchImport.c"
				GFile* _tmp37_;
				gchar* _tmp38_;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp37_ = final_file;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp38_ = g_file_get_path (_tmp37_);
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp35_);
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = _tmp38_;
#line 16008 "BatchImport.c"
			} else {
				PreparedFile* _tmp39_;
				const gchar* _tmp40_;
				gchar* _tmp41_;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp39_ = prepared_file;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp40_ = _tmp39_->source_id;
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp41_ = g_strdup (_tmp40_);
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_g_free0 (_tmp35_);
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
				_tmp35_ = _tmp41_;
#line 16023 "BatchImport.c"
			}
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp42_ = g_strdup (_tmp35_);
#line 1966 "/home/jens/Source/shotwell/src/BatchImport.vala"
			filename = _tmp42_;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp43_ = prepared_file;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp44_ = _tmp43_->job;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp45_ = prepared_file;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp46_ = _tmp45_->file;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp47_ = filename;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp48_ = filename;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp49_ = err;
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp50_ = batch_import_result_new_from_error (_tmp44_, _tmp46_, _tmp47_, _tmp48_, _tmp49_, IMPORT_RESULT_FILE_ERROR);
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_batch_import_result_unref0 (self->failed);
#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala"
			self->failed = _tmp50_;
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (filename);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp35_);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16063 "BatchImport.c"
		}
		__finally422:
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1950 "/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 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1950 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16080 "BatchImport.c"
		}
	}
#line 1974 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp51_ = final_file;
#line 1974 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp52_ = g_file_get_path (_tmp51_);
#line 1974 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp53_ = _tmp52_;
#line 1974 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_debug ("BatchImport.vala:1974: Importing %s", _tmp53_);
#line 1974 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp53_);
#line 1976 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_result_ = IMPORT_RESULT_SUCCESS;
#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala"
	video_import_params = NULL;
#line 1978 "/home/jens/Source/shotwell/src/BatchImport.vala"
	photo_import_params = NULL;
#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp54_ = prepared_file;
#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp55_ = _tmp54_->is_video;
#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp55_) {
#line 16105 "BatchImport.c"
		GFile* _tmp56_;
		ImportID _tmp57_;
		PreparedFile* _tmp58_;
		const gchar* _tmp59_;
		Thumbnails* _tmp60_;
		Thumbnails* _tmp61_;
		PreparedFile* _tmp62_;
		BatchImportJob* _tmp63_;
		time_t _tmp64_;
		VideoImportParams* _tmp65_;
		VideoImportParams* _tmp66_;
		ImportResult _tmp67_;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp56_ = final_file;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp57_ = self->priv->import_id;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp58_ = prepared_file;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp59_ = _tmp58_->full_md5;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp60_ = thumbnails_new ();
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp61_ = _tmp60_;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp62_ = prepared_file;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp63_ = _tmp62_->job;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp64_ = batch_import_job_get_exposure_time_override (_tmp63_);
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp65_ = video_import_params_new (_tmp56_, &_tmp57_, _tmp59_, _tmp61_, _tmp64_);
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_video_import_params_unref0 (video_import_params);
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		video_import_params = _tmp65_;
#line 1980 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp61_);
#line 1984 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp66_ = video_import_params;
#line 1984 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp67_ = video_reader_prepare_for_import (_tmp66_);
#line 1984 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = _tmp67_;
#line 16150 "BatchImport.c"
	} else {
		GFile* _tmp68_;
		GFile* _tmp69_;
		ImportID _tmp70_;
		PreparedFile* _tmp71_;
		const gchar* _tmp72_;
		PreparedFile* _tmp73_;
		const gchar* _tmp74_;
		PreparedFile* _tmp75_;
		const gchar* _tmp76_;
		Thumbnails* _tmp77_;
		Thumbnails* _tmp78_;
		PhotoImportParams* _tmp79_;
		PhotoImportParams* _tmp80_;
		ImportResult _tmp81_;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp68_ = final_file;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp69_ = final_associated_file;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp70_ = self->priv->import_id;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp71_ = prepared_file;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp72_ = _tmp71_->exif_md5;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp73_ = prepared_file;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp74_ = _tmp73_->thumbnail_md5;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp75_ = prepared_file;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp76_ = _tmp75_->full_md5;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp77_ = thumbnails_new ();
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp78_ = _tmp77_;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp79_ = photo_import_params_new (_tmp68_, _tmp69_, &_tmp70_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, _tmp72_, _tmp74_, _tmp76_, _tmp78_);
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_photo_import_params_unref0 (photo_import_params);
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		photo_import_params = _tmp79_;
#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_thumbnails_unref0 (_tmp78_);
#line 1990 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp80_ = photo_import_params;
#line 1990 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp81_ = photo_prepare_for_import (_tmp80_);
#line 1990 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_result_ = _tmp81_;
#line 16202 "BatchImport.c"
	}
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp83_ = _result_;
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp83_ != IMPORT_RESULT_SUCCESS) {
#line 16208 "BatchImport.c"
		GFile* _tmp84_;
		PreparedFile* _tmp85_;
		GFile* _tmp86_;
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp84_ = final_file;
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp85_ = prepared_file;
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp86_ = _tmp85_->file;
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp82_ = _tmp84_ != _tmp86_;
#line 16220 "BatchImport.c"
	} else {
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp82_ = FALSE;
#line 16224 "BatchImport.c"
	}
#line 1993 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp82_) {
#line 16228 "BatchImport.c"
		GFile* _tmp87_;
		gchar* _tmp88_;
		gchar* _tmp89_;
#line 1994 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp87_ = final_file;
#line 1994 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp88_ = g_file_get_path (_tmp87_);
#line 1994 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp89_ = _tmp88_;
#line 1994 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_debug ("BatchImport.vala:1994: Deleting failed imported copy %s", _tmp89_);
#line 1994 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_free0 (_tmp89_);
#line 16242 "BatchImport.c"
		{
			GFile* _tmp90_;
#line 1996 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp90_ = final_file;
#line 1996 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_file_delete (_tmp90_, NULL, &_inner_error_);
#line 1996 "/home/jens/Source/shotwell/src/BatchImport.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 16251 "BatchImport.c"
				goto __catch423_g_error;
			}
		}
		goto __finally423;
		__catch423_g_error:
		{
			GError* err = NULL;
			GFile* _tmp91_;
			gchar* _tmp92_;
			gchar* _tmp93_;
			GError* _tmp94_;
			const gchar* _tmp95_;
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			err = _inner_error_;
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_inner_error_ = NULL;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp91_ = final_file;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp92_ = g_file_get_path (_tmp91_);
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp93_ = _tmp92_;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp94_ = err;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_tmp95_ = _tmp94_->message;
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_warning ("BatchImport.vala:1999: Unable to delete copy of imported file %s: %s", _tmp93_, _tmp95_);
#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_free0 (_tmp93_);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_error_free0 (err);
#line 16284 "BatchImport.c"
		}
		__finally423:
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_photo_import_params_unref0 (photo_import_params);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_video_import_params_unref0 (video_import_params);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_associated_file);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_g_object_unref0 (final_file);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			_prepared_file_unref0 (prepared_file);
#line 1995 "/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 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			g_clear_error (&_inner_error_);
#line 1995 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return;
#line 16305 "BatchImport.c"
		}
	}
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp96_ = prepared_file;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp97_ = _tmp96_->job;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp98_ = final_file;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp99_ = final_file;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp100_ = g_file_get_path (_tmp99_);
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp101_ = _tmp100_;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp102_ = final_file;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp103_ = g_file_get_path (_tmp102_);
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp104_ = _tmp103_;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp105_ = _result_;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp106_ = batch_import_result_new (_tmp97_, _tmp98_, _tmp101_, _tmp104_, NULL, _tmp105_);
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp107_ = _tmp106_;
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp104_);
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_free0 (_tmp101_);
#line 2004 "/home/jens/Source/shotwell/src/BatchImport.vala"
	batch_result = _tmp107_;
#line 2006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp108_ = batch_result;
#line 2006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp109_ = _tmp108_->result;
#line 2006 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (_tmp109_ != IMPORT_RESULT_SUCCESS) {
#line 16344 "BatchImport.c"
		BatchImportResult* _tmp110_;
		BatchImportResult* _tmp111_;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp110_ = batch_result;
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp111_ = _batch_import_result_ref0 (_tmp110_);
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_batch_import_result_unref0 (self->failed);
#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->failed = _tmp111_;
#line 16355 "BatchImport.c"
	} else {
		GFile* _tmp112_;
		PreparedFile* _tmp113_;
		PhotoImportParams* _tmp114_;
		VideoImportParams* _tmp115_;
		BatchImportResult* _tmp116_;
		ReadyForImport* _tmp117_;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp112_ = final_file;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp113_ = prepared_file;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp114_ = photo_import_params;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp115_ = video_import_params;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp116_ = batch_result;
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp117_ = ready_for_import_new (_tmp112_, _tmp113_, _tmp114_, _tmp115_, _tmp116_);
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_ready_for_import_unref0 (self->ready);
#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala"
		self->ready = _tmp117_;
#line 16379 "BatchImport.c"
	}
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (batch_result);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_photo_import_params_unref0 (photo_import_params);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_video_import_params_unref0 (video_import_params);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (final_associated_file);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (final_file);
#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (prepared_file);
#line 16393 "BatchImport.c"
}


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


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


static void prepared_file_import_job_finalize (BackgroundJob * obj) {
	PreparedFileImportJob * self;
#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob);
#line 1926 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_prepared_file_unref0 (self->not_ready);
#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_ready_for_import_unref0 (self->ready);
#line 1928 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->failed);
#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (prepared_file_import_job_parent_class)->finalize (obj);
#line 16433 "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_;
	Thumbnails* _tmp1_;
	BatchImportResult* _tmp2_;
	BatchImportResult* _tmp3_;
	MediaSource* _tmp4_;
	MediaSource* _tmp5_;
	BatchImportJob* _tmp6_;
	BatchImportJob* _tmp7_;
	Thumbnails* _tmp8_;
	GdkPixbuf* _tmp9_;
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL);
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_THUMBNAILS (thumbnails), NULL);
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_JOB (original_job), NULL);
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), NULL);
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (CompletedImportObject*) g_type_create_instance (object_type);
#line 2023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = thumbnails;
#line 2023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = _thumbnails_ref0 (_tmp0_);
#line 2023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (self->thumbnails);
#line 2023 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->thumbnails = _tmp1_;
#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = import_result;
#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = _batch_import_result_ref0 (_tmp2_);
#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->batch_result = _tmp3_;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = source;
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->source);
#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->source = _tmp5_;
#line 2026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = original_job;
#line 2026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _batch_import_job_ref0 (_tmp6_);
#line 2026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->original_job);
#line 2026 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->original_job = _tmp7_;
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp8_ = thumbnails;
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp9_ = thumbnails_get (_tmp8_, THUMBNAIL_CACHE_SIZE_LARGEST);
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->user_preview);
#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->user_preview = _tmp9_;
#line 2021 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 16513 "BatchImport.c"
}


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


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


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


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


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


static gchar* value_completed_import_object_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (collect_values[0].v_pointer) {
#line 16565 "BatchImport.c"
		CompletedImportObject * object;
		object = collect_values[0].v_pointer;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (object->parent_instance.g_class == NULL) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 16572 "BatchImport.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 2014 "/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 16576 "BatchImport.c"
		}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = completed_import_object_ref (object);
#line 16580 "BatchImport.c"
	} else {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16584 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 16588 "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 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!object_p) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 16599 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (!value->data[0].v_pointer) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = NULL;
#line 16605 "BatchImport.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = value->data[0].v_pointer;
#line 16609 "BatchImport.c"
	} else {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		*object_p = completed_import_object_ref (value->data[0].v_pointer);
#line 16613 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return NULL;
#line 16617 "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 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_COMPLETED_IMPORT_OBJECT), NULL);
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return G_PARAM_SPEC (spec);
#line 16631 "BatchImport.c"
}


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


void value_set_completed_import_object (GValue* value, gpointer v_object) {
	CompletedImportObject * old;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2014 "/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 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_ref (value->data[0].v_pointer);
#line 16660 "BatchImport.c"
	} else {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16664 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_unref (old);
#line 16670 "BatchImport.c"
	}
}


void value_take_completed_import_object (GValue* value, gpointer v_object) {
	CompletedImportObject * old;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	old = value->data[0].v_pointer;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (v_object) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT));
#line 2014 "/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 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = v_object;
#line 16689 "BatchImport.c"
	} else {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		value->data[0].v_pointer = NULL;
#line 16693 "BatchImport.c"
	}
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (old) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		completed_import_object_unref (old);
#line 16699 "BatchImport.c"
	}
}


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


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


static void completed_import_object_finalize (CompletedImportObject * obj) {
	CompletedImportObject * self;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObject);
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_signal_handlers_destroy (self);
#line 2015 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (self->thumbnails);
#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_result_unref0 (self->batch_result);
#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->source);
#line 2018 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_batch_import_job_unref0 (self->original_job);
#line 2019 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_g_object_unref0 (self->user_preview);
#line 16736 "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 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_atomic_int_inc (&self->ref_count);
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return instance;
#line 16761 "BatchImport.c"
}


void completed_import_object_unref (gpointer instance) {
	CompletedImportObject * self;
	self = instance;
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		COMPLETED_IMPORT_OBJECT_GET_CLASS (self)->finalize (self);
#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 16774 "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;
	BatchImport* _tmp0_;
	CompletionCallback _tmp1_;
	void* _tmp1__target;
	GCancellable* _tmp2_;
	CancellationCallback _tmp3_;
	void* _tmp3__target;
	CompletedImportObject* _tmp4_;
	Thumbnails* _tmp5_;
	CompletedImportObject* _tmp6_;
	CompletedImportObject* _tmp7_;
#line 2034 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL);
#line 2034 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (IS_COMPLETED_IMPORT_OBJECT (completed_import_source), NULL);
#line 2034 "/home/jens/Source/shotwell/src/BatchImport.vala"
	g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL);
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp0_ = owner;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1_ = callback;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp1__target = callback_target;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp2_ = cancellable;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3_ = cancel_callback;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp3__target = cancel_callback_target;
#line 2036 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = (ThumbnailWriterJob*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target);
#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp4_ = completed_import_source;
#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp5_ = _tmp4_->thumbnails;
#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_vala_assert (_tmp5_ != NULL, "completed_import_source.thumbnails != null");
#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp6_ = completed_import_source;
#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp7_ = _completed_import_object_ref0 (_tmp6_);
#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (self->completed_import_source);
#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self->completed_import_source = _tmp7_;
#line 2041 "/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 2034 "/home/jens/Source/shotwell/src/BatchImport.vala"
	return self;
#line 16829 "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 2034 "/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 16836 "BatchImport.c"
}


static void thumbnail_writer_job_real_execute (BackgroundJob* base) {
	ThumbnailWriterJob * self;
	CompletedImportObject* _tmp10_;
	GError * _inner_error_ = NULL;
#line 2044 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob);
#line 16846 "BatchImport.c"
	{
		CompletedImportObject* _tmp0_;
		MediaSource* _tmp1_;
		CompletedImportObject* _tmp2_;
		Thumbnails* _tmp3_;
		CompletedImportObject* _tmp4_;
		BatchImportResult* _tmp5_;
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp0_ = self->completed_import_source;
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp1_ = _tmp0_->source;
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp2_ = self->completed_import_source;
#line 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp3_ = _tmp2_->thumbnails;
#line 2046 "/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 2046 "/home/jens/Source/shotwell/src/BatchImport.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 16866 "BatchImport.c"
			goto __catch424_g_error;
		}
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp4_ = self->completed_import_source;
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_ = _tmp4_->batch_result;
#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp5_->result = IMPORT_RESULT_SUCCESS;
#line 16875 "BatchImport.c"
	}
	goto __finally424;
	__catch424_g_error:
	{
		GError* err = NULL;
		CompletedImportObject* _tmp6_;
		BatchImportResult* _tmp7_;
		GError* _tmp8_;
		ImportResult _tmp9_;
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
		err = _inner_error_;
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_inner_error_ = NULL;
#line 2050 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp6_ = self->completed_import_source;
#line 2050 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_ = _tmp6_->batch_result;
#line 2050 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp8_ = err;
#line 2050 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp9_ = import_result_convert_error (_tmp8_, IMPORT_RESULT_FILE_ERROR);
#line 2050 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_tmp7_->result = _tmp9_;
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
		_g_error_free0 (err);
#line 16901 "BatchImport.c"
	}
	__finally424:
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2045 "/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 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
		g_clear_error (&_inner_error_);
#line 2045 "/home/jens/Source/shotwell/src/BatchImport.vala"
		return;
#line 16912 "BatchImport.c"
	}
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_ = self->completed_import_source;
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_thumbnails_unref0 (_tmp10_->thumbnails);
#line 2055 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_tmp10_->thumbnails = NULL;
#line 16920 "BatchImport.c"
}


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


static void thumbnail_writer_job_instance_init (ThumbnailWriterJob * self) {
}


static void thumbnail_writer_job_finalize (BackgroundJob * obj) {
	ThumbnailWriterJob * self;
#line 2031 "/home/jens/Source/shotwell/src/BatchImport.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob);
#line 2032 "/home/jens/Source/shotwell/src/BatchImport.vala"
	_completed_import_object_unref0 (self->completed_import_source);
#line 2031 "/home/jens/Source/shotwell/src/BatchImport.vala"
	BACKGROUND_JOB_CLASS (thumbnail_writer_job_parent_class)->finalize (obj);
#line 16947 "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;
}



