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

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

#include <glib.h>
#include <glib-object.h>
#include <shotwell-plugin-dev-1.0.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include "shotwell-plugin-common.h"
#include <glib/gi18n-lib.h>
#include <time.h>
#include <gee.h>
#include <float.h>
#include <math.h>


#define TYPE_FSPOT_SERVICE (fspot_service_get_type ())
#define FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FSPOT_SERVICE, FSpotService))
#define FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FSPOT_SERVICE, FSpotServiceClass))
#define IS_FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FSPOT_SERVICE))
#define IS_FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FSPOT_SERVICE))
#define FSPOT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FSPOT_SERVICE, FSpotServiceClass))

typedef struct _FSpotService FSpotService;
typedef struct _FSpotServiceClass FSpotServiceClass;
typedef struct _FSpotServicePrivate FSpotServicePrivate;
#define _g_free0(var) (var = (g_free (var), NULL))

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER (data_imports_fspot_fspot_data_importer_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter))
#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER))
#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass))

typedef struct _DataImportsFSpotFSpotDataImporter DataImportsFSpotFSpotDataImporter;
typedef struct _DataImportsFSpotFSpotDataImporterClass DataImportsFSpotFSpotDataImporterClass;

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY (data_imports_fspot_fspot_importable_library_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass))

typedef struct _DataImportsFSpotFSpotImportableLibrary DataImportsFSpotFSpotImportableLibrary;
typedef struct _DataImportsFSpotFSpotImportableLibraryClass DataImportsFSpotFSpotImportableLibraryClass;
typedef struct _DataImportsFSpotFSpotImportableLibraryPrivate DataImportsFSpotFSpotImportableLibraryPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM (data_imports_fspot_fspot_importable_item_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass))

typedef struct _DataImportsFSpotFSpotImportableItem DataImportsFSpotFSpotImportableItem;
typedef struct _DataImportsFSpotFSpotImportableItemClass DataImportsFSpotFSpotImportableItemClass;
typedef struct _DataImportsFSpotFSpotImportableItemPrivate DataImportsFSpotFSpotImportableItemPrivate;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW (data_imports_fspot_db_fspot_photo_row_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass))

typedef struct _DataImportsFSpotDbFSpotPhotoRow DataImportsFSpotDbFSpotPhotoRow;
typedef struct _DataImportsFSpotDbFSpotPhotoRowClass DataImportsFSpotDbFSpotPhotoRowClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW (data_imports_fspot_db_fspot_photo_version_row_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass))

typedef struct _DataImportsFSpotDbFSpotPhotoVersionRow DataImportsFSpotDbFSpotPhotoVersionRow;
typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowClass DataImportsFSpotDbFSpotPhotoVersionRowClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW (data_imports_fspot_db_fspot_roll_row_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass))

typedef struct _DataImportsFSpotDbFSpotRollRow DataImportsFSpotDbFSpotRollRow;
typedef struct _DataImportsFSpotDbFSpotRollRowClass DataImportsFSpotDbFSpotRollRowClass;

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG (data_imports_fspot_fspot_importable_tag_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass))

typedef struct _DataImportsFSpotFSpotImportableTag DataImportsFSpotFSpotImportableTag;
typedef struct _DataImportsFSpotFSpotImportableTagClass DataImportsFSpotFSpotImportableTagClass;

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT (data_imports_fspot_fspot_importable_event_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass))

typedef struct _DataImportsFSpotFSpotImportableEvent DataImportsFSpotFSpotImportableEvent;
typedef struct _DataImportsFSpotFSpotImportableEventClass DataImportsFSpotFSpotImportableEventClass;

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING (data_imports_fspot_fspot_importable_rating_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING))
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass))

typedef struct _DataImportsFSpotFSpotImportableRating DataImportsFSpotFSpotImportableRating;
typedef struct _DataImportsFSpotFSpotImportableRatingClass DataImportsFSpotFSpotImportableRatingClass;
typedef struct _DataImportsFSpotDbFSpotPhotoRowPrivate DataImportsFSpotDbFSpotPhotoRowPrivate;
typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowPrivate DataImportsFSpotDbFSpotPhotoVersionRowPrivate;
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
typedef struct _DataImportsFSpotFSpotImportableTagPrivate DataImportsFSpotFSpotImportableTagPrivate;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW (data_imports_fspot_db_fspot_tag_row_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass))

typedef struct _DataImportsFSpotDbFSpotTagRow DataImportsFSpotDbFSpotTagRow;
typedef struct _DataImportsFSpotDbFSpotTagRowClass DataImportsFSpotDbFSpotTagRowClass;
typedef struct _DataImportsFSpotDbFSpotTagRowPrivate DataImportsFSpotDbFSpotTagRowPrivate;
typedef struct _DataImportsFSpotFSpotImportableEventPrivate DataImportsFSpotFSpotImportableEventPrivate;
typedef struct _DataImportsFSpotFSpotImportableRatingPrivate DataImportsFSpotFSpotImportableRatingPrivate;

#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE (data_imports_fspot_fspot_tags_cache_get_type ())
#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache))
#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE))
#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE))
#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass))

typedef struct _DataImportsFSpotFSpotTagsCache DataImportsFSpotFSpotTagsCache;
typedef struct _DataImportsFSpotFSpotTagsCacheClass DataImportsFSpotFSpotTagsCacheClass;
typedef struct _DataImportsFSpotFSpotTagsCachePrivate DataImportsFSpotFSpotTagsCachePrivate;

#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ())
#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable))
#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass))
#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE))
#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE))
#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass))

typedef struct _ImportableDatabaseTable ImportableDatabaseTable;
typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass))

typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable;
typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE (data_imports_fspot_db_fspot_tags_table_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass))

typedef struct _DataImportsFSpotDbFSpotTagsTable DataImportsFSpotDbFSpotTagsTable;
typedef struct _DataImportsFSpotDbFSpotTagsTableClass DataImportsFSpotDbFSpotTagsTableClass;
#define _importable_database_table_unref0(var) ((var == NULL) ? NULL : (var = (importable_database_table_unref (var), NULL)))
typedef struct _DataImportsFSpotFSpotDataImporterPrivate DataImportsFSpotFSpotDataImporterPrivate;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE (data_imports_fspot_db_fspot_database_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabase))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass))

typedef struct _DataImportsFSpotDbFSpotDatabase DataImportsFSpotDbFSpotDatabase;
typedef struct _DataImportsFSpotDbFSpotDatabaseClass DataImportsFSpotDbFSpotDatabaseClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _DataImportsFSpotDbFSpotDatabasePrivate DataImportsFSpotDbFSpotDatabasePrivate;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE (data_imports_fspot_db_fspot_photos_table_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTable))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass))

typedef struct _DataImportsFSpotDbFSpotPhotosTable DataImportsFSpotDbFSpotPhotosTable;
typedef struct _DataImportsFSpotDbFSpotPhotosTableClass DataImportsFSpotDbFSpotPhotosTableClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE (data_imports_fspot_db_fspot_photo_versions_table_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTable))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass))

typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTable DataImportsFSpotDbFSpotPhotoVersionsTable;
typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass DataImportsFSpotDbFSpotPhotoVersionsTableClass;

#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE (data_imports_fspot_db_fspot_rolls_table_get_type ())
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTable))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE))
#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass))

typedef struct _DataImportsFSpotDbFSpotRollsTable DataImportsFSpotDbFSpotRollsTable;
typedef struct _DataImportsFSpotDbFSpotRollsTableClass DataImportsFSpotDbFSpotRollsTableClass;

struct _FSpotService {
	GObject parent_instance;
	FSpotServicePrivate * priv;
};

struct _FSpotServiceClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableLibrary {
	GObject parent_instance;
	DataImportsFSpotFSpotImportableLibraryPrivate * priv;
};

struct _DataImportsFSpotFSpotImportableLibraryClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableLibraryPrivate {
	GFile* db_file;
};

struct _DataImportsFSpotFSpotImportableItem {
	GObject parent_instance;
	DataImportsFSpotFSpotImportableItemPrivate * priv;
};

struct _DataImportsFSpotFSpotImportableItemClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableItemPrivate {
	DataImportsFSpotDbFSpotPhotoRow* photo_row;
	DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row;
	DataImportsFSpotDbFSpotRollRow* roll_row;
	DataImportsFSpotFSpotImportableTag** tags;
	gint tags_length1;
	gint _tags_size_;
	DataImportsFSpotFSpotImportableEvent* event;
	DataImportsFSpotFSpotImportableRating* rating;
	gchar* folder_path;
	gchar* filename;
	time_t* date_time;
};

struct _DataImportsFSpotDbFSpotPhotoRow {
	GObject parent_instance;
	DataImportsFSpotDbFSpotPhotoRowPrivate * priv;
	gint64 photo_id;
	time_t time;
	GFile* base_path;
	gchar* filename;
	gchar* description;
	gint64 roll_id;
	gint64 default_version_id;
	gint rating;
	gchar* md5_sum;
};

struct _DataImportsFSpotDbFSpotPhotoRowClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotDbFSpotPhotoVersionRow {
	GObject parent_instance;
	DataImportsFSpotDbFSpotPhotoVersionRowPrivate * priv;
	gint64 photo_id;
	gint64 version_id;
	gchar* name;
	GFile* base_path;
	gchar* filename;
	gchar* md5_sum;
	gboolean is_protected;
};

struct _DataImportsFSpotDbFSpotPhotoVersionRowClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableTag {
	GObject parent_instance;
	DataImportsFSpotFSpotImportableTagPrivate * priv;
};

struct _DataImportsFSpotFSpotImportableTagClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableTagPrivate {
	DataImportsFSpotDbFSpotTagRow* row;
	DataImportsFSpotFSpotImportableTag* parent;
};

struct _DataImportsFSpotDbFSpotTagRow {
	GObject parent_instance;
	DataImportsFSpotDbFSpotTagRowPrivate * priv;
	gint64 tag_id;
	gchar* name;
	gint64 category_id;
	gboolean is_category;
	gint sort_priority;
	gchar* stock_icon;
};

struct _DataImportsFSpotDbFSpotTagRowClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableEvent {
	GObject parent_instance;
	DataImportsFSpotFSpotImportableEventPrivate * priv;
};

struct _DataImportsFSpotFSpotImportableEventClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableEventPrivate {
	DataImportsFSpotDbFSpotTagRow* row;
};

struct _DataImportsFSpotFSpotImportableRating {
	GObject parent_instance;
	DataImportsFSpotFSpotImportableRatingPrivate * priv;
};

struct _DataImportsFSpotFSpotImportableRatingClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotImportableRatingPrivate {
	gint rating_value;
};

struct _DataImportsFSpotFSpotTagsCache {
	GObject parent_instance;
	DataImportsFSpotFSpotTagsCachePrivate * priv;
};

struct _DataImportsFSpotFSpotTagsCacheClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotTagsCachePrivate {
	DataImportsFSpotDbFSpotTagsTable* tags_table;
	GeeHashMap* tags_map;
};

typedef enum  {
	DATABASE_ERROR_ERROR,
	DATABASE_ERROR_BACKING,
	DATABASE_ERROR_MEMORY,
	DATABASE_ERROR_ABORT,
	DATABASE_ERROR_LIMITS,
	DATABASE_ERROR_TYPESPEC
} DatabaseError;
#define DATABASE_ERROR database_error_quark ()
struct _DataImportsFSpotFSpotDataImporter {
	GObject parent_instance;
	DataImportsFSpotFSpotDataImporterPrivate * priv;
};

struct _DataImportsFSpotFSpotDataImporterClass {
	GObjectClass parent_class;
};

struct _DataImportsFSpotFSpotDataImporterPrivate {
	SpitDataImportsPluginHost* host;
	SpitDataImportsService* service;
	gboolean running;
};

struct _DataImportsFSpotDbFSpotDatabase {
	GObject parent_instance;
	DataImportsFSpotDbFSpotDatabasePrivate * priv;
	DataImportsFSpotDbFSpotPhotosTable* photos_table;
	DataImportsFSpotDbFSpotPhotoVersionsTable* photo_versions_table;
	DataImportsFSpotDbFSpotTagsTable* tags_table;
	DataImportsFSpotDbFSpotRollsTable* rolls_table;
	gint64 hidden_tag_id;
};

struct _DataImportsFSpotDbFSpotDatabaseClass {
	GObjectClass parent_class;
};


static gpointer fspot_service_parent_class = NULL;
static GdkPixbuf** fspot_service_icon_pixbuf_set;
static gint fspot_service_icon_pixbuf_set_length1;
static GdkPixbuf** fspot_service_icon_pixbuf_set = NULL;
static gint fspot_service_icon_pixbuf_set_length1 = 0;
static gint _fspot_service_icon_pixbuf_set_size_ = 0;
static SpitPluggableIface* fspot_service_spit_pluggable_parent_iface = NULL;
static SpitDataImportsServiceIface* fspot_service_spit_data_imports_service_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_importable_library_parent_class = NULL;
static SpitDataImportsImportableLibraryIface* data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_importable_item_parent_class = NULL;
static SpitDataImportsImportableMediaItemIface* data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_importable_tag_parent_class = NULL;
static SpitDataImportsImportableTagIface* data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_importable_event_parent_class = NULL;
static SpitDataImportsImportableEventIface* data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_importable_rating_parent_class = NULL;
static SpitDataImportsImportableRatingIface* data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = NULL;
static gpointer data_imports_fspot_fspot_tags_cache_parent_class = NULL;
static gpointer data_imports_fspot_fspot_data_importer_parent_class = NULL;
static SpitDataImportsDataImporterIface* data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = NULL;

GType fspot_service_get_type (void) G_GNUC_CONST;
enum  {
	FSPOT_SERVICE_DUMMY_PROPERTY
};
#define FSPOT_SERVICE_ICON_FILENAME "f-spot-24.png"
FSpotService* fspot_service_new (GFile* resource_directory);
FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory);
void data_imports_fspot_db_init (void);
static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface);
static const gchar* fspot_service_real_get_id (SpitPluggable* base);
static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base);
static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info);
static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length);
static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled);
static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host);
DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host);
DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host);
GType data_imports_fspot_fspot_data_importer_get_type (void) G_GNUC_CONST;
static void fspot_service_finalize (GObject* obj);
#define DATA_IMPORTS_FSPOT_SERVICE_NAME "F-Spot"
#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE _ ("Welcome to the F-Spot library import service.\n" \
"\n" \
"Please select a library to import, either by selecting one of the exis" \
"ting libraries found by Shotwell or by selecting an alternative F-Spot" \
" database file.")
#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY _ ("Welcome to the F-Spot library import service.\n" \
"\n" \
"Please select an F-Spot database file.")
#define DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL _ ("Manually select an F-Spot database file to import:")
#define DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE _ ("Cannot open the selected F-Spot database file: the file does not exist" \
" or is not an F-Spot database")
#define DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION _ ("Cannot open the selected F-Spot database file: this version of the F-S" \
"pot database is not supported by Shotwell")
#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading tag" \
"s table")
#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading pho" \
"tos table")
#define DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN _ ("Shotwell has found %d photos in the F-Spot library and is currently im" \
"porting them. Duplicates will be automatically detected and removed.\n" \
"\n" \
"You can close this dialog and start using Shotwell while the import is" \
" taking place in the background.")
GType data_imports_fspot_fspot_importable_library_get_type (void) G_GNUC_CONST;
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_DUMMY_PROPERTY
};
DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file);
DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file);
GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self);
static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base);
static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj);
GType data_imports_fspot_fspot_importable_item_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_photo_row_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_roll_row_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_fspot_importable_tag_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_fspot_importable_event_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_fspot_importable_rating_get_type (void) G_GNUC_CONST;
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_DUMMY_PROPERTY
};
DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite);
DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite);
static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length);
static time_t* _time_t_dup (time_t* self);
DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value);
DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value);
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED -1
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED 0
static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url);
static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1);
static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value);
static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base);
static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base);
static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base);
static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base);
static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base);
static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base);
static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj);
GType data_imports_fspot_db_fspot_tag_row_get_type (void) G_GNUC_CONST;
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_DUMMY_PROPERTY
};
DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent);
DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent);
gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self);
static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base);
static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base);
DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self);
gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self);
gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self);
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON "stock_icon:"
DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self);
DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row);
DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row);
static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj);
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_DUMMY_PROPERTY
};
static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base);
static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj);
#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_DUMMY_PROPERTY
};
static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base);
static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base);
static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base);
static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj);
GType data_imports_fspot_fspot_tags_cache_get_type (void) G_GNUC_CONST;
gpointer importable_database_table_ref (gpointer instance);
void importable_database_table_unref (gpointer instance);
GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_importable_database_table (GValue* value, gpointer v_object);
void value_take_importable_database_table (GValue* value, gpointer v_object);
gpointer value_get_importable_database_table (const GValue* value);
GType importable_database_table_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_tags_table_get_type (void) G_GNUC_CONST;
#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCachePrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_DUMMY_PROPERTY
};
GQuark database_error_quark (void);
DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error);
DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error);
static gint64* _int64_dup (gint64* self);
DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error);
static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error);
DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tags_table_get_by_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 tag_id, GError** error);
static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj);
#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterPrivate))
enum  {
	DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_DUMMY_PROPERTY
};
static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base);
static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base);
static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base);
static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self);
static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base);
static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value);
static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library);
static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file);
GType data_imports_fspot_db_fspot_database_get_type (void) G_GNUC_CONST;
DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_new (GFile* db_file, GError** error);
DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_construct (GType object_type, GFile* db_file, GError** error);
GType data_imports_fspot_db_fspot_photos_table_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) G_GNUC_CONST;
GType data_imports_fspot_db_fspot_rolls_table_get_type (void) G_GNUC_CONST;
GeeArrayList* data_imports_fspot_db_fspot_photos_table_get_all (DataImportsFSpotDbFSpotPhotosTable* self, GError** error);
GeeArrayList* data_imports_fspot_db_fspot_tags_table_get_by_photo_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 photo_id, GError** error);
static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id);
static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag);
static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value);
DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_rolls_table_get_by_id (DataImportsFSpotDbFSpotRollsTable* self, gint64 roll_id, GError** error);
GeeArrayList* data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (DataImportsFSpotDbFSpotPhotoVersionsTable* self, gint64 photo_id, GError** error);
static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value);
static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value);
static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value);
void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count);
static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self);
static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag);
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS "stock_icon:emblem-event"
#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV "stock_icon:emblem-favorite"
static void data_imports_fspot_fspot_data_importer_finalize (GObject* obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory) {
	FSpotService * self = NULL;
	GdkPixbuf** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (G_IS_FILE (resource_directory), NULL);
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (FSpotService*) g_object_new (object_type, NULL);
#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_db_init ();
#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = fspot_service_icon_pixbuf_set;
#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0__length1 = fspot_service_icon_pixbuf_set_length1;
#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp0_ == NULL) {
#line 617 "FSpotImporter.c"
		gint _tmp1_ = 0;
		GdkPixbuf** _tmp2_ = NULL;
#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp2_ = resources_load_from_resource ("/org/gnome/Shotwell/Imports/" FSPOT_SERVICE_ICON_FILENAME, &_tmp1_);
#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		fspot_service_icon_pixbuf_set = (_vala_array_free (fspot_service_icon_pixbuf_set, fspot_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL);
#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		fspot_service_icon_pixbuf_set = _tmp2_;
#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		fspot_service_icon_pixbuf_set_length1 = _tmp1_;
#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_fspot_service_icon_pixbuf_set_size_ = fspot_service_icon_pixbuf_set_length1;
#line 630 "FSpotImporter.c"
	}
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 634 "FSpotImporter.c"
}


FSpotService* fspot_service_new (GFile* resource_directory) {
#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return fspot_service_construct (TYPE_FSPOT_SERVICE, resource_directory);
#line 641 "FSpotImporter.c"
}


static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) {
	FSpotService * self;
	gint result = 0;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = min_host_interface;
#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = max_host_interface;
#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_DATA_IMPORTS_CURRENT_INTERFACE);
#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp2_;
#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 663 "FSpotImporter.c"
}


static const gchar* fspot_service_real_get_id (SpitPluggable* base) {
	FSpotService * self;
	const gchar* result = NULL;
#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = "org.yorba.shotwell.dataimports.fspot";
#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 676 "FSpotImporter.c"
}


static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base) {
	FSpotService * self;
	const gchar* result = NULL;
#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = "F-Spot";
#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 689 "FSpotImporter.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self ? g_object_ref (self) : NULL;
#line 696 "FSpotImporter.c"
}


static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) {
	GdkPixbuf** result;
	int i;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = g_new0 (GdkPixbuf*, length + 1);
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	for (i = 0; i < length; i++) {
#line 707 "FSpotImporter.c"
		GdkPixbuf* _tmp0_ = NULL;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = _g_object_ref0 (self[i]);
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result[i] = _tmp0_;
#line 713 "FSpotImporter.c"
	}
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 717 "FSpotImporter.c"
}


static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) {
	FSpotService * self;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	GdkPixbuf** _tmp8_ = NULL;
	gint _tmp8__length1 = 0;
	GdkPixbuf** _tmp9_ = NULL;
	gint _tmp9__length1 = 0;
#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_if_fail (info != NULL);
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = g_strdup ("Bruno Girin");
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).authors);
#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).authors = _tmp0_;
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc.");
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).copyright);
#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).copyright = _tmp2_;
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = g_strdup (RESOURCES_TRANSLATORS);
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).translators);
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).translators = _tmp3_;
#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = g_strdup (_VERSION);
#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).version);
#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).version = _tmp4_;
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME);
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).website_name);
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).website_name = _tmp5_;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6_ = g_strdup (RESOURCES_WEBSITE_URL);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).website_url);
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).website_url = _tmp6_;
#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).is_license_wordwrapped = FALSE;
#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7_ = g_strdup (RESOURCES_LICENSE);
#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 ((*info).license);
#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).license = _tmp7_;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = fspot_service_icon_pixbuf_set;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8__length1 = fspot_service_icon_pixbuf_set_length1;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_);
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp9__length1 = _tmp8__length1;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).icons = _tmp9_;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).icons_length1 = _tmp9__length1;
#line 799 "FSpotImporter.c"
}


static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled) {
	FSpotService * self;
#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 807 "FSpotImporter.c"
}


static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host) {
	FSpotService * self;
	SpitDataImportsDataImporter* result = NULL;
	SpitDataImportsPluginHost* _tmp0_ = NULL;
	DataImportsFSpotFSpotDataImporter* _tmp1_ = NULL;
#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService);
#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL);
#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = host;
#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = data_imports_fspot_fspot_data_importer_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService), _tmp0_);
#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter);
#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 828 "FSpotImporter.c"
}


static void fspot_service_class_init (FSpotServiceClass * klass) {
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	fspot_service_parent_class = g_type_class_peek_parent (klass);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = fspot_service_finalize;
#line 837 "FSpotImporter.c"
}


static void fspot_service_spit_pluggable_interface_init (SpitPluggableIface * iface) {
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	fspot_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) fspot_service_real_get_pluggable_interface;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_id = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_id;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_pluggable_name;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) fspot_service_real_get_info;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->activation = (void (*)(SpitPluggable*, gboolean)) fspot_service_real_activation;
#line 854 "FSpotImporter.c"
}


static void fspot_service_spit_data_imports_service_interface_init (SpitDataImportsServiceIface * iface) {
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	fspot_service_spit_data_imports_service_parent_iface = g_type_interface_peek_parent (iface);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->create_data_importer = (SpitDataImportsDataImporter* (*)(SpitDataImportsService*, SpitDataImportsPluginHost*)) fspot_service_real_create_data_importer;
#line 863 "FSpotImporter.c"
}


static void fspot_service_instance_init (FSpotService * self) {
}


static void fspot_service_finalize (GObject* obj) {
	FSpotService * self;
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FSPOT_SERVICE, FSpotService);
#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (fspot_service_parent_class)->finalize (obj);
#line 877 "FSpotImporter.c"
}


GType fspot_service_get_type (void) {
	static volatile gsize fspot_service_type_id__volatile = 0;
	if (g_once_init_enter (&fspot_service_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (FSpotServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fspot_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FSpotService), 0, (GInstanceInitFunc) fspot_service_instance_init, NULL };
		static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) fspot_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo spit_data_imports_service_info = { (GInterfaceInitFunc) fspot_service_spit_data_imports_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType fspot_service_type_id;
		fspot_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FSpotService", &g_define_type_info, 0);
		g_type_add_interface_static (fspot_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info);
		g_type_add_interface_static (fspot_service_type_id, SPIT_DATA_IMPORTS_TYPE_SERVICE, &spit_data_imports_service_info);
		g_once_init_leave (&fspot_service_type_id__volatile, fspot_service_type_id);
	}
	return fspot_service_type_id__volatile;
}


DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file) {
	DataImportsFSpotFSpotImportableLibrary * self = NULL;
	GFile* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (G_IS_FILE (db_file), NULL);
#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotImportableLibrary*) g_object_new (object_type, NULL);
#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = db_file;
#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->db_file);
#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->db_file = _tmp1_;
#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 915 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file) {
#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_importable_library_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, db_file);
#line 922 "FSpotImporter.c"
}


GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self) {
	GFile* result = NULL;
	GFile* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY (self), NULL);
#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->db_file;
#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 940 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base) {
	DataImportsFSpotFSpotImportableLibrary * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = _ ("F-Spot library: %s");
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = self->priv->db_file;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_file_get_path (_tmp1_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _tmp2_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = g_strdup_printf (_tmp0_, _tmp3_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = _tmp4_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp3_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp5_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 973 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_library_class_init (DataImportsFSpotFSpotImportableLibraryClass * klass) {
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_library_parent_class = g_type_class_peek_parent (klass);
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableLibraryPrivate));
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_library_finalize;
#line 984 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init (SpitDataImportsImportableLibraryIface * iface) {
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = g_type_interface_peek_parent (iface);
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_display_name = (gchar* (*)(SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_importable_library_real_get_display_name;
#line 993 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_library_instance_init (DataImportsFSpotFSpotImportableLibrary * self) {
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE (self);
#line 1000 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj) {
	DataImportsFSpotFSpotImportableLibrary * self;
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary);
#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->db_file);
#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_importable_library_parent_class)->finalize (obj);
#line 1012 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_importable_library_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_importable_library_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_importable_library_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableLibraryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_library_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableLibrary), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_library_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_importable_library_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_importable_library_type_id;
		data_imports_fspot_fspot_importable_library_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableLibrary", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_importable_library_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, &spit_data_imports_importable_library_info);
		g_once_init_leave (&data_imports_fspot_fspot_importable_library_type_id__volatile, data_imports_fspot_fspot_importable_library_type_id);
	}
	return data_imports_fspot_fspot_importable_library_type_id__volatile;
}


static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length) {
	DataImportsFSpotFSpotImportableTag** result;
	int i;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = g_new0 (DataImportsFSpotFSpotImportableTag*, length + 1);
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	for (i = 0; i < length; i++) {
#line 1037 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = _g_object_ref0 (self[i]);
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result[i] = _tmp0_;
#line 1043 "FSpotImporter.c"
	}
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1047 "FSpotImporter.c"
}


static time_t* _time_t_dup (time_t* self) {
	time_t* dup;
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	dup = g_new0 (time_t, 1);
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	memcpy (dup, self, sizeof (time_t));
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return dup;
#line 1059 "FSpotImporter.c"
}


static gpointer __time_t_dup0 (gpointer self) {
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self ? _time_t_dup (self) : NULL;
#line 1066 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) {
	DataImportsFSpotFSpotImportableItem * self = NULL;
	DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL;
	DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp2_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp3_ = NULL;
	DataImportsFSpotDbFSpotRollRow* _tmp4_ = NULL;
	DataImportsFSpotDbFSpotRollRow* _tmp5_ = NULL;
	DataImportsFSpotFSpotImportableTag** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	DataImportsFSpotFSpotImportableTag** _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	DataImportsFSpotFSpotImportableEvent* _tmp8_ = NULL;
	DataImportsFSpotFSpotImportableEvent* _tmp9_ = NULL;
	DataImportsFSpotDbFSpotPhotoRow* _tmp10_ = NULL;
	time_t _tmp11_ = 0;
	time_t* _tmp12_ = NULL;
	DataImportsFSpotDbFSpotPhotoRow* _tmp13_ = NULL;
	gint _tmp14_ = 0;
	gchar* _tmp23_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL;
	gchar* _tmp31_ = NULL;
	const gchar* _tmp32_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp33_ = NULL;
	gchar* _tmp38_ = NULL;
	gboolean _tmp39_ = FALSE;
	const gchar* _tmp40_ = NULL;
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW (photo_row), NULL);
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail ((photo_version_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW (photo_version_row), NULL);
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail ((roll_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW (roll_row), NULL);
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail ((event == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT (event), NULL);
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotImportableItem*) g_object_new (object_type, NULL);
#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = photo_row;
#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->photo_row);
#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->photo_row = _tmp1_;
#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = photo_version_row;
#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->photo_version_row);
#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->photo_version_row = _tmp3_;
#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = roll_row;
#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->roll_row);
#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->roll_row = _tmp5_;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6_ = tags;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6__length1 = tags_length1;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup2 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_);
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7__length1 = _tmp6__length1;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags = _tmp7_;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags_length1 = _tmp7__length1;
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->_tags_size_ = self->priv->tags_length1;
#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = event;
#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->event);
#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->event = _tmp9_;
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp10_ = photo_row;
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp11_ = _tmp10_->time;
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp12_ = __time_t_dup0 (&_tmp11_);
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->date_time);
#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->date_time = _tmp12_;
#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp13_ = photo_row;
#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp14_ = _tmp13_->rating;
#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp14_ > 0) {
#line 1171 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoRow* _tmp15_ = NULL;
		gint _tmp16_ = 0;
		DataImportsFSpotFSpotImportableRating* _tmp17_ = NULL;
#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp15_ = photo_row;
#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp16_ = _tmp15_->rating;
#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp17_ = data_imports_fspot_fspot_importable_rating_new (_tmp16_);
#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (self->priv->rating);
#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		self->priv->rating = _tmp17_;
#line 1185 "FSpotImporter.c"
	} else {
		gboolean _tmp18_ = FALSE;
#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp18_ = is_hidden;
#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_tmp18_) {
#line 1192 "FSpotImporter.c"
			DataImportsFSpotFSpotImportableRating* _tmp19_ = NULL;
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp19_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED);
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (self->priv->rating);
#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			self->priv->rating = _tmp19_;
#line 1200 "FSpotImporter.c"
		} else {
			gboolean _tmp20_ = FALSE;
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp20_ = is_favorite;
#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_tmp20_) {
#line 1207 "FSpotImporter.c"
				DataImportsFSpotFSpotImportableRating* _tmp21_ = NULL;
#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp21_ = data_imports_fspot_fspot_importable_rating_new (5);
#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (self->priv->rating);
#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				self->priv->rating = _tmp21_;
#line 1215 "FSpotImporter.c"
			} else {
				DataImportsFSpotFSpotImportableRating* _tmp22_ = NULL;
#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp22_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED);
#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (self->priv->rating);
#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				self->priv->rating = _tmp22_;
#line 1224 "FSpotImporter.c"
			}
		}
	}
#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp24_ = photo_version_row;
#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp24_ != NULL) {
#line 1232 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_ = NULL;
		GFile* _tmp26_ = NULL;
		gchar* _tmp27_ = NULL;
#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp25_ = photo_version_row;
#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp26_ = _tmp25_->base_path;
#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp27_ = g_file_get_path (_tmp26_);
#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp23_);
#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp23_ = _tmp27_;
#line 1246 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp28_ = NULL;
		GFile* _tmp29_ = NULL;
		gchar* _tmp30_ = NULL;
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp28_ = photo_row;
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp29_ = _tmp28_->base_path;
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp30_ = g_file_get_path (_tmp29_);
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp23_);
#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp23_ = _tmp30_;
#line 1261 "FSpotImporter.c"
	}
#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp31_ = g_strdup (_tmp23_);
#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->folder_path);
#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->folder_path = _tmp31_;
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp33_ = photo_version_row;
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp33_ != NULL) {
#line 1273 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoVersionRow* _tmp34_ = NULL;
		const gchar* _tmp35_ = NULL;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp34_ = photo_version_row;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp35_ = _tmp34_->filename;
#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp32_ = _tmp35_;
#line 1282 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp36_ = NULL;
		const gchar* _tmp37_ = NULL;
#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp36_ = photo_row;
#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp37_ = _tmp36_->filename;
#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp32_ = _tmp37_;
#line 1292 "FSpotImporter.c"
	}
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp38_ = g_strdup (_tmp32_);
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->filename);
#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->filename = _tmp38_;
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp40_ = self->priv->folder_path;
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp40_ != NULL) {
#line 1304 "FSpotImporter.c"
		const gchar* _tmp41_ = NULL;
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp41_ = self->priv->filename;
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp39_ = _tmp41_ != NULL;
#line 1310 "FSpotImporter.c"
	} else {
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp39_ = FALSE;
#line 1314 "FSpotImporter.c"
	}
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp39_) {
#line 1318 "FSpotImporter.c"
		GFile* photo = NULL;
		const gchar* _tmp42_ = NULL;
		GFile* _tmp43_ = NULL;
		GFile* _tmp44_ = NULL;
		const gchar* _tmp45_ = NULL;
		GFile* _tmp46_ = NULL;
		GFile* _tmp47_ = NULL;
		GFile* _tmp48_ = NULL;
		gboolean _tmp49_ = FALSE;
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp42_ = self->priv->folder_path;
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp43_ = g_file_new_for_path (_tmp42_);
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp44_ = _tmp43_;
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp45_ = self->priv->filename;
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp46_ = g_file_get_child (_tmp44_, _tmp45_);
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp47_ = _tmp46_;
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_tmp44_);
#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		photo = _tmp47_;
#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp48_ = photo;
#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp49_ = g_file_query_exists (_tmp48_, NULL);
#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (!_tmp49_) {
#line 1350 "FSpotImporter.c"
			const gchar* _tmp50_ = NULL;
			gchar* _tmp51_ = NULL;
			const gchar* _tmp52_ = NULL;
			gchar* _tmp53_ = NULL;
#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp50_ = self->priv->folder_path;
#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp51_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp50_);
#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_free0 (self->priv->folder_path);
#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			self->priv->folder_path = _tmp51_;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp52_ = self->priv->filename;
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp53_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp52_);
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_free0 (self->priv->filename);
#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			self->priv->filename = _tmp53_;
#line 1371 "FSpotImporter.c"
		}
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (photo);
#line 1375 "FSpotImporter.c"
	}
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp23_);
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 1381 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) {
#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_importable_item_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, photo_row, photo_version_row, roll_row, tags, tags_length1, event, is_hidden, is_favorite);
#line 1388 "FSpotImporter.c"
}


static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value) {
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (SpitDataImportsImportableTag*, *array, (*size) + 1);
#line 1399 "FSpotImporter.c"
	}
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 1405 "FSpotImporter.c"
}


static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1) {
	DataImportsFSpotFSpotImportableItem * self;
	SpitDataImportsImportableTag** result = NULL;
	SpitDataImportsImportableTag** importable_tags = NULL;
	SpitDataImportsImportableTag** _tmp0_ = NULL;
	gint importable_tags_length1 = 0;
	gint _importable_tags_size_ = 0;
	DataImportsFSpotFSpotImportableTag** _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	SpitDataImportsImportableTag** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
#line 147 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = g_new0 (SpitDataImportsImportableTag*, 0 + 1);
#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	importable_tags = _tmp0_;
#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	importable_tags_length1 = 0;
#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_importable_tags_size_ = importable_tags_length1;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = self->priv->tags;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1__length1 = self->priv->tags_length1;
#line 1434 "FSpotImporter.c"
	{
		DataImportsFSpotFSpotImportableTag** tag_collection = NULL;
		gint tag_collection_length1 = 0;
		gint _tag_collection_size_ = 0;
		gint tag_it = 0;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		tag_collection = _tmp1_;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		tag_collection_length1 = _tmp1__length1;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		for (tag_it = 0; tag_it < _tmp1__length1; tag_it = tag_it + 1) {
#line 1446 "FSpotImporter.c"
			DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL;
			DataImportsFSpotFSpotImportableTag* tag = NULL;
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp2_ = _g_object_ref0 (tag_collection[tag_it]);
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			tag = _tmp2_;
#line 1453 "FSpotImporter.c"
			{
				SpitDataImportsImportableTag** _tmp3_ = NULL;
				gint _tmp3__length1 = 0;
				DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL;
				SpitDataImportsImportableTag* _tmp5_ = NULL;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp3_ = importable_tags;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp3__length1 = importable_tags_length1;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp4_ = tag;
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag));
#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_vala_array_add1 (&importable_tags, &importable_tags_length1, &_importable_tags_size_, _tmp5_);
#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag);
#line 1471 "FSpotImporter.c"
			}
		}
	}
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6_ = importable_tags;
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6__length1 = importable_tags_length1;
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (result_length1) {
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*result_length1 = _tmp6__length1;
#line 1483 "FSpotImporter.c"
	}
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp6_;
#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1489 "FSpotImporter.c"
}


static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	SpitDataImportsImportableEvent* result = NULL;
	DataImportsFSpotFSpotImportableEvent* _tmp0_ = NULL;
	SpitDataImportsImportableEvent* _tmp1_ = NULL;
#line 154 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->event;
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEvent));
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1508 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 158 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->folder_path;
#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1527 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 162 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->filename;
#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1546 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	DataImportsFSpotDbFSpotPhotoRow* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp8_ = NULL;
#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = self->priv->photo_row;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _tmp2_->description;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp3_ == NULL) {
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp1_ = TRUE;
#line 1568 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp4_ = self->priv->photo_row;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = _tmp4_->description;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp1_ = g_strcmp0 (_tmp5_, "") == 0;
#line 1578 "FSpotImporter.c"
	}
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp1_) {
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = NULL;
#line 1584 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp6_ = NULL;
		const gchar* _tmp7_ = NULL;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = self->priv->photo_row;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp7_ = _tmp6_->description;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = _tmp7_;
#line 1594 "FSpotImporter.c"
	}
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = g_strdup (_tmp0_);
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp8_;
#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1602 "FSpotImporter.c"
}


static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	SpitDataImportsImportableRating* result = NULL;
	DataImportsFSpotFSpotImportableRating* _tmp0_ = NULL;
	SpitDataImportsImportableRating* _tmp1_ = NULL;
#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->rating;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRating));
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1621 "FSpotImporter.c"
}


static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	time_t* result = NULL;
	time_t* _tmp0_ = NULL;
	time_t* _tmp1_ = NULL;
#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->date_time;
#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = __time_t_dup0 (_tmp0_);
#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1640 "FSpotImporter.c"
}


static gint string_index_of_char (const gchar* self, gunichar c, gint start_index) {
	gint result = 0;
	gchar* _result_ = NULL;
	gint _tmp0_ = 0;
	gunichar _tmp1_ = 0U;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 1007 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0);
#line 1008 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = start_index;
#line 1008 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = c;
#line 1008 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp2_ = g_utf8_strchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_);
#line 1008 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_result_ = _tmp2_;
#line 1010 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp3_ = _result_;
#line 1010 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp3_ != NULL) {
#line 1665 "FSpotImporter.c"
		gchar* _tmp4_ = NULL;
#line 1011 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp4_ = _result_;
#line 1011 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		result = (gint) (_tmp4_ - ((gchar*) self));
#line 1011 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 1673 "FSpotImporter.c"
	} else {
#line 1013 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		result = -1;
#line 1013 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 1679 "FSpotImporter.c"
	}
}


static gchar* string_slice (const gchar* self, glong start, glong end) {
	gchar* result = NULL;
	glong string_length = 0L;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	glong _tmp2_ = 0L;
	glong _tmp5_ = 0L;
	gboolean _tmp8_ = FALSE;
	glong _tmp9_ = 0L;
	gboolean _tmp12_ = FALSE;
	glong _tmp13_ = 0L;
	glong _tmp16_ = 0L;
	glong _tmp17_ = 0L;
	glong _tmp18_ = 0L;
	glong _tmp19_ = 0L;
	glong _tmp20_ = 0L;
	gchar* _tmp21_ = NULL;
#line 1328 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1329 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1329 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1329 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	string_length = (glong) _tmp1_;
#line 1330 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp2_ = start;
#line 1330 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp2_ < ((glong) 0)) {
#line 1713 "FSpotImporter.c"
		glong _tmp3_ = 0L;
		glong _tmp4_ = 0L;
#line 1331 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1331 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp4_ = start;
#line 1331 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		start = _tmp3_ + _tmp4_;
#line 1722 "FSpotImporter.c"
	}
#line 1333 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp5_ = end;
#line 1333 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp5_ < ((glong) 0)) {
#line 1728 "FSpotImporter.c"
		glong _tmp6_ = 0L;
		glong _tmp7_ = 0L;
#line 1334 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp6_ = string_length;
#line 1334 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp7_ = end;
#line 1334 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		end = _tmp6_ + _tmp7_;
#line 1737 "FSpotImporter.c"
	}
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp9_ = start;
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp9_ >= ((glong) 0)) {
#line 1743 "FSpotImporter.c"
		glong _tmp10_ = 0L;
		glong _tmp11_ = 0L;
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp10_ = start;
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp11_ = string_length;
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp8_ = _tmp10_ <= _tmp11_;
#line 1752 "FSpotImporter.c"
	} else {
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp8_ = FALSE;
#line 1756 "FSpotImporter.c"
	}
#line 1336 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp8_, NULL);
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp13_ = end;
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp13_ >= ((glong) 0)) {
#line 1764 "FSpotImporter.c"
		glong _tmp14_ = 0L;
		glong _tmp15_ = 0L;
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp14_ = end;
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp12_ = _tmp14_ <= _tmp15_;
#line 1773 "FSpotImporter.c"
	} else {
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp12_ = FALSE;
#line 1777 "FSpotImporter.c"
	}
#line 1337 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp12_, NULL);
#line 1338 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp16_ = start;
#line 1338 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp17_ = end;
#line 1338 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL);
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp18_ = start;
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp19_ = end;
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp20_ = start;
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_));
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _tmp21_;
#line 1339 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 1799 "FSpotImporter.c"
}


static gchar string_get (const gchar* self, glong index) {
	gchar result = '\0';
	glong _tmp0_ = 0L;
	gchar _tmp1_ = '\0';
#line 1086 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, '\0');
#line 1087 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = index;
#line 1087 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = ((gchar*) self)[_tmp0_];
#line 1087 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _tmp1_;
#line 1087 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 1817 "FSpotImporter.c"
}


static glong string_strnlen (gchar* str, glong maxlen) {
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_ = NULL;
	glong _tmp1_ = 0L;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 1295 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = str;
#line 1295 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = maxlen;
#line 1295 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
#line 1295 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	end = _tmp2_;
#line 1296 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp3_ = end;
#line 1296 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp3_ == NULL) {
#line 1840 "FSpotImporter.c"
		glong _tmp4_ = 0L;
#line 1297 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp4_ = maxlen;
#line 1297 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		result = _tmp4_;
#line 1297 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 1848 "FSpotImporter.c"
	} else {
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
#line 1299 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp5_ = end;
#line 1299 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp6_ = str;
#line 1299 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		result = (glong) (_tmp5_ - _tmp6_);
#line 1299 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		return result;
#line 1860 "FSpotImporter.c"
	}
}


static gchar* string_substring (const gchar* self, glong offset, glong len) {
	gchar* result = NULL;
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	glong _tmp1_ = 0L;
	glong _tmp8_ = 0L;
	glong _tmp14_ = 0L;
	glong _tmp17_ = 0L;
	glong _tmp18_ = 0L;
	glong _tmp19_ = 0L;
	glong _tmp20_ = 0L;
	glong _tmp21_ = 0L;
	gchar* _tmp22_ = NULL;
#line 1306 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = offset;
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp1_ >= ((glong) 0)) {
#line 1884 "FSpotImporter.c"
		glong _tmp2_ = 0L;
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp2_ = len;
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp2_ >= ((glong) 0);
#line 1890 "FSpotImporter.c"
	} else {
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 1894 "FSpotImporter.c"
	}
#line 1308 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1898 "FSpotImporter.c"
		glong _tmp3_ = 0L;
		glong _tmp4_ = 0L;
		glong _tmp5_ = 0L;
#line 1310 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp3_ = offset;
#line 1310 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp4_ = len;
#line 1310 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
#line 1310 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		string_length = _tmp5_;
#line 1910 "FSpotImporter.c"
	} else {
		gint _tmp6_ = 0;
		gint _tmp7_ = 0;
#line 1312 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp6_ = strlen (self);
#line 1312 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp7_ = _tmp6_;
#line 1312 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		string_length = (glong) _tmp7_;
#line 1920 "FSpotImporter.c"
	}
#line 1315 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp8_ = offset;
#line 1315 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp8_ < ((glong) 0)) {
#line 1926 "FSpotImporter.c"
		glong _tmp9_ = 0L;
		glong _tmp10_ = 0L;
		glong _tmp11_ = 0L;
#line 1316 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp9_ = string_length;
#line 1316 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp10_ = offset;
#line 1316 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		offset = _tmp9_ + _tmp10_;
#line 1317 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp11_ = offset;
#line 1317 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
#line 1940 "FSpotImporter.c"
	} else {
		glong _tmp12_ = 0L;
		glong _tmp13_ = 0L;
#line 1319 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp12_ = offset;
#line 1319 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp13_ = string_length;
#line 1319 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
#line 1950 "FSpotImporter.c"
	}
#line 1321 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp14_ = len;
#line 1321 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	if (_tmp14_ < ((glong) 0)) {
#line 1956 "FSpotImporter.c"
		glong _tmp15_ = 0L;
		glong _tmp16_ = 0L;
#line 1322 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1322 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		_tmp16_ = offset;
#line 1322 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
		len = _tmp15_ - _tmp16_;
#line 1965 "FSpotImporter.c"
	}
#line 1324 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp17_ = offset;
#line 1324 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp18_ = len;
#line 1324 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp19_ = string_length;
#line 1324 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
#line 1325 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp20_ = offset;
#line 1325 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp21_ = len;
#line 1325 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
#line 1325 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _tmp22_;
#line 1325 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 1985 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url) {
	gchar* result = NULL;
	GString* builder = NULL;
	GString* _tmp0_ = NULL;
	GString* _tmp49_ = NULL;
	const gchar* _tmp50_ = NULL;
	gchar* _tmp51_ = NULL;
#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM (self), NULL);
#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (url != NULL, NULL);
#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = g_string_new ("");
#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	builder = _tmp0_;
#line 2004 "FSpotImporter.c"
	{
		gint idx = 0;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		idx = 0;
#line 2009 "FSpotImporter.c"
		{
			gboolean _tmp1_ = FALSE;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp1_ = TRUE;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			while (TRUE) {
#line 2016 "FSpotImporter.c"
				gint _tmp2_ = 0;
				const gchar* _tmp3_ = NULL;
				gint _tmp4_ = 0;
				gint _tmp5_ = 0;
				gint cidx = 0;
				const gchar* _tmp6_ = NULL;
				gint _tmp7_ = 0;
				gint _tmp8_ = 0;
				gint _tmp9_ = 0;
				gint _tmp10_ = 0;
				gint _tmp17_ = 0;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (!_tmp1_) {
#line 2030 "FSpotImporter.c"
				}
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp1_ = FALSE;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp2_ = idx;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp3_ = url;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp4_ = strlen (_tmp3_);
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp5_ = _tmp4_;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (!(_tmp2_ < _tmp5_)) {
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					break;
#line 2046 "FSpotImporter.c"
				}
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp6_ = url;
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp7_ = idx;
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp8_ = string_index_of_char (_tmp6_, (gunichar) '%', _tmp7_);
#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				cidx = _tmp8_;
#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp9_ = cidx;
#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp10_ = idx;
#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp9_ > _tmp10_) {
#line 2062 "FSpotImporter.c"
					GString* _tmp11_ = NULL;
					const gchar* _tmp12_ = NULL;
					gint _tmp13_ = 0;
					gint _tmp14_ = 0;
					gchar* _tmp15_ = NULL;
					gchar* _tmp16_ = NULL;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp11_ = builder;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp12_ = url;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp13_ = idx;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp14_ = cidx;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp15_ = string_slice (_tmp12_, (glong) _tmp13_, (glong) _tmp14_);
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp16_ = _tmp15_;
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_string_append (_tmp11_, _tmp16_);
#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_free0 (_tmp16_);
#line 2085 "FSpotImporter.c"
				}
#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp17_ = cidx;
#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp17_ >= 0) {
#line 2091 "FSpotImporter.c"
					gint _tmp18_ = 0;
					const gchar* _tmp19_ = NULL;
					gint _tmp20_ = 0;
					gint _tmp21_ = 0;
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp18_ = cidx;
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp19_ = url;
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp20_ = strlen (_tmp19_);
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp21_ = _tmp20_;
#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_tmp18_ < (_tmp21_ - 2)) {
#line 2106 "FSpotImporter.c"
						gchar c1 = '\0';
						const gchar* _tmp22_ = NULL;
						gint _tmp23_ = 0;
						gchar _tmp24_ = '\0';
						gchar c2 = '\0';
						const gchar* _tmp25_ = NULL;
						gint _tmp26_ = 0;
						gchar _tmp27_ = '\0';
						gboolean _tmp28_ = FALSE;
						gchar _tmp29_ = '\0';
						gboolean _tmp30_ = FALSE;
						gint _tmp39_ = 0;
#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp22_ = url;
#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp23_ = cidx;
#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp24_ = string_get (_tmp22_, (glong) (_tmp23_ + 1));
#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						c1 = _tmp24_;
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp25_ = url;
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp26_ = cidx;
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp27_ = string_get (_tmp25_, (glong) (_tmp26_ + 2));
#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						c2 = _tmp27_;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp29_ = c1;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp30_ = g_ascii_isxdigit (_tmp29_);
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp30_) {
#line 2141 "FSpotImporter.c"
							gchar _tmp31_ = '\0';
							gboolean _tmp32_ = FALSE;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp31_ = c1;
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp32_ = g_ascii_isxdigit (_tmp31_);
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp28_ = _tmp32_;
#line 2150 "FSpotImporter.c"
						} else {
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp28_ = FALSE;
#line 2154 "FSpotImporter.c"
						}
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp28_) {
#line 2158 "FSpotImporter.c"
							gint ccode = 0;
							gchar _tmp33_ = '\0';
							gint _tmp34_ = 0;
							gchar _tmp35_ = '\0';
							gint _tmp36_ = 0;
							GString* _tmp37_ = NULL;
							gint _tmp38_ = 0;
#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp33_ = c1;
#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp34_ = g_ascii_xdigit_value (_tmp33_);
#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp35_ = c2;
#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp36_ = g_ascii_xdigit_value (_tmp35_);
#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							ccode = (0x10 * _tmp34_) + _tmp36_;
#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp37_ = builder;
#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp38_ = ccode;
#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							g_string_append_c (_tmp37_, (gchar) _tmp38_);
#line 2182 "FSpotImporter.c"
						}
#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp39_ = cidx;
#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						idx = _tmp39_ + 3;
#line 2188 "FSpotImporter.c"
					} else {
						gint _tmp40_ = 0;
#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp40_ = cidx;
#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						idx = _tmp40_ + 1;
#line 2195 "FSpotImporter.c"
					}
				} else {
					GString* _tmp41_ = NULL;
					const gchar* _tmp42_ = NULL;
					gint _tmp43_ = 0;
					gchar* _tmp44_ = NULL;
					gchar* _tmp45_ = NULL;
					const gchar* _tmp46_ = NULL;
					gint _tmp47_ = 0;
					gint _tmp48_ = 0;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp41_ = builder;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp42_ = url;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp43_ = idx;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp44_ = string_substring (_tmp42_, (glong) _tmp43_, (glong) -1);
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp45_ = _tmp44_;
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_string_append (_tmp41_, _tmp45_);
#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_free0 (_tmp45_);
#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp46_ = url;
#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp47_ = strlen (_tmp46_);
#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp48_ = _tmp47_;
#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					idx = _tmp48_;
#line 2228 "FSpotImporter.c"
				}
			}
		}
	}
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp49_ = builder;
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp50_ = _tmp49_->str;
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp51_ = g_strdup (_tmp50_);
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp51_;
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_string_free0 (builder);
#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2245 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_item_class_init (DataImportsFSpotFSpotImportableItemClass * klass) {
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_item_parent_class = g_type_class_peek_parent (klass);
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableItemPrivate));
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_item_finalize;
#line 2256 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init (SpitDataImportsImportableMediaItemIface * iface) {
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = g_type_interface_peek_parent (iface);
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_tags = (SpitDataImportsImportableTag** (*)(SpitDataImportsImportableMediaItem*, int*)) data_imports_fspot_fspot_importable_item_real_get_tags;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_event = (SpitDataImportsImportableEvent* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_event;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_folder_path = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_folder_path;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_filename = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_filename;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_title = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_title;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_rating = (SpitDataImportsImportableRating* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_rating;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_exposure_time = (time_t* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_exposure_time;
#line 2277 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_item_instance_init (DataImportsFSpotFSpotImportableItem * self) {
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE (self);
#line 2284 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj) {
	DataImportsFSpotFSpotImportableItem * self;
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem);
#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->photo_row);
#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->photo_version_row);
#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->roll_row);
#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->event);
#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->rating);
#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->folder_path);
#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->filename);
#line 99 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (self->priv->date_time);
#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_importable_item_parent_class)->finalize (obj);
#line 2312 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_importable_item_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_importable_item_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_importable_item_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableItem), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_item_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_importable_media_item_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_importable_item_type_id;
		data_imports_fspot_fspot_importable_item_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableItem", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_importable_item_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, &spit_data_imports_importable_media_item_info);
		g_once_init_leave (&data_imports_fspot_fspot_importable_item_type_id__volatile, data_imports_fspot_fspot_importable_item_type_id);
	}
	return data_imports_fspot_fspot_importable_item_type_id__volatile;
}


DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) {
	DataImportsFSpotFSpotImportableTag * self = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp3_ = NULL;
#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL);
#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail ((parent == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (parent), NULL);
#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotImportableTag*) g_object_new (object_type, NULL);
#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = row;
#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->row);
#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->row = _tmp1_;
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = parent;
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->parent);
#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->parent = _tmp3_;
#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 2360 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) {
#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_importable_tag_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, row, parent);
#line 2367 "FSpotImporter.c"
}


gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self) {
	gint64 result = 0LL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	gint64 _tmp1_ = 0LL;
#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), 0LL);
#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _tmp0_->tag_id;
#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2385 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base) {
	DataImportsFSpotFSpotImportableTag * self;
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag);
#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _tmp0_->name;
#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp2_;
#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2407 "FSpotImporter.c"
}


static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base) {
	DataImportsFSpotFSpotImportableTag * self;
	SpitDataImportsImportableTag* result = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL;
	SpitDataImportsImportableTag* _tmp1_ = NULL;
#line 223 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag);
#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->parent;
#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag));
#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2426 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self) {
	DataImportsFSpotFSpotImportableTag* result = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL;
#line 227 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL);
#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->parent;
#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2444 "FSpotImporter.c"
}


gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self) {
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL);
#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _tmp0_->stock_icon;
#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp2_;
#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2465 "FSpotImporter.c"
}


gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self) {
	gboolean result = FALSE;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
#line 235 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), FALSE);
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _tmp0_->stock_icon;
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_str_has_prefix (_tmp1_, DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON);
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp2_;
#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2486 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self) {
	DataImportsFSpotFSpotImportableEvent* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	DataImportsFSpotFSpotImportableEvent* _tmp1_ = NULL;
#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL);
#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = data_imports_fspot_fspot_importable_event_new (_tmp0_);
#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2504 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_tag_class_init (DataImportsFSpotFSpotImportableTagClass * klass) {
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_tag_parent_class = g_type_class_peek_parent (klass);
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableTagPrivate));
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_tag_finalize;
#line 2515 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init (SpitDataImportsImportableTagIface * iface) {
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = g_type_interface_peek_parent (iface);
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_name = (gchar* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_name;
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_parent = (SpitDataImportsImportableTag* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_parent;
#line 2526 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_tag_instance_init (DataImportsFSpotFSpotImportableTag * self) {
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE (self);
#line 2533 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj) {
	DataImportsFSpotFSpotImportableTag * self;
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag);
#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->row);
#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->parent);
#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_importable_tag_parent_class)->finalize (obj);
#line 2547 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_importable_tag_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_importable_tag_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_importable_tag_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableTagClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_tag_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableTag), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_tag_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_importable_tag_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_importable_tag_type_id;
		data_imports_fspot_fspot_importable_tag_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableTag", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_importable_tag_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, &spit_data_imports_importable_tag_info);
		g_once_init_leave (&data_imports_fspot_fspot_importable_tag_type_id__volatile, data_imports_fspot_fspot_importable_tag_type_id);
	}
	return data_imports_fspot_fspot_importable_tag_type_id__volatile;
}


DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row) {
	DataImportsFSpotFSpotImportableEvent * self = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL;
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL);
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotImportableEvent*) g_object_new (object_type, NULL);
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = row;
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->row);
#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->row = _tmp1_;
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 2583 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row) {
#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_importable_event_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, row);
#line 2590 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base) {
	DataImportsFSpotFSpotImportableEvent * self;
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent);
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->row;
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _tmp0_->name;
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp2_;
#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2612 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_event_class_init (DataImportsFSpotFSpotImportableEventClass * klass) {
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_event_parent_class = g_type_class_peek_parent (klass);
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableEventPrivate));
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_event_finalize;
#line 2623 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init (SpitDataImportsImportableEventIface * iface) {
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = g_type_interface_peek_parent (iface);
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_name = (gchar* (*)(SpitDataImportsImportableEvent*)) data_imports_fspot_fspot_importable_event_real_get_name;
#line 2632 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_event_instance_init (DataImportsFSpotFSpotImportableEvent * self) {
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE (self);
#line 2639 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj) {
	DataImportsFSpotFSpotImportableEvent * self;
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent);
#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->row);
#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_importable_event_parent_class)->finalize (obj);
#line 2651 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_importable_event_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_importable_event_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_importable_event_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableEventClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_event_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableEvent), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_event_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_importable_event_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_importable_event_type_id;
		data_imports_fspot_fspot_importable_event_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableEvent", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_importable_event_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, &spit_data_imports_importable_event_info);
		g_once_init_leave (&data_imports_fspot_fspot_importable_event_type_id__volatile, data_imports_fspot_fspot_importable_event_type_id);
	}
	return data_imports_fspot_fspot_importable_event_type_id__volatile;
}


DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value) {
	DataImportsFSpotFSpotImportableRating * self = NULL;
	gint _tmp0_ = 0;
	gint _tmp2_ = 0;
#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotImportableRating*) g_object_new (object_type, NULL);
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = rating_value;
#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp0_ < -1) {
#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		rating_value = -1;
#line 2681 "FSpotImporter.c"
	} else {
		gint _tmp1_ = 0;
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp1_ = rating_value;
#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_tmp1_ > 5) {
#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			rating_value = 5;
#line 2690 "FSpotImporter.c"
		}
	}
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = rating_value;
#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->rating_value = _tmp2_;
#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 2699 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value) {
#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_importable_rating_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, rating_value);
#line 2706 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gboolean result = FALSE;
	gint _tmp0_ = 0;
#line 270 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating);
#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->rating_value;
#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED;
#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2722 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gboolean result = FALSE;
	gint _tmp0_ = 0;
#line 274 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating);
#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->rating_value;
#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED;
#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2738 "FSpotImporter.c"
}


static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gint result = 0;
	gint _tmp0_ = 0;
#line 278 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating);
#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->rating_value;
#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp0_;
#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 2754 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_rating_class_init (DataImportsFSpotFSpotImportableRatingClass * klass) {
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_rating_parent_class = g_type_class_peek_parent (klass);
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableRatingPrivate));
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_rating_finalize;
#line 2765 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init (SpitDataImportsImportableRatingIface * iface) {
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = g_type_interface_peek_parent (iface);
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->is_rejected = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_rejected;
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->is_unrated = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_unrated;
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_value = (gint (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_get_value;
#line 2778 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_rating_instance_init (DataImportsFSpotFSpotImportableRating * self) {
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE (self);
#line 2785 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj) {
	DataImportsFSpotFSpotImportableRating * self;
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating);
#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_importable_rating_parent_class)->finalize (obj);
#line 2795 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_importable_rating_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_importable_rating_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_importable_rating_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableRating), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_rating_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_importable_rating_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_importable_rating_type_id;
		data_imports_fspot_fspot_importable_rating_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableRating", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_importable_rating_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, &spit_data_imports_importable_rating_info);
		g_once_init_leave (&data_imports_fspot_fspot_importable_rating_type_id__volatile, data_imports_fspot_fspot_importable_rating_type_id);
	}
	return data_imports_fspot_fspot_importable_rating_type_id__volatile;
}


static gpointer _importable_database_table_ref0 (gpointer self) {
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self ? importable_database_table_ref (self) : NULL;
#line 2816 "FSpotImporter.c"
}


static gint64* _int64_dup (gint64* self) {
	gint64* dup;
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	dup = g_new0 (gint64, 1);
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	memcpy (dup, self, sizeof (gint64));
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return dup;
#line 2828 "FSpotImporter.c"
}


DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) {
	DataImportsFSpotFSpotTagsCache * self = NULL;
	DataImportsFSpotDbFSpotTagsTable* _tmp0_ = NULL;
	DataImportsFSpotDbFSpotTagsTable* _tmp1_ = NULL;
	GeeHashMap* _tmp2_ = NULL;
#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE (tags_table), NULL);
#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotTagsCache*) g_object_new (object_type, NULL);
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = tags_table;
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _importable_database_table_ref0 (_tmp0_);
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_importable_database_table_unref0 (self->priv->tags_table);
#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags_table = _tmp1_;
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = gee_hash_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->tags_map);
#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->tags_map = _tmp2_;
#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 2857 "FSpotImporter.c"
}


DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) {
#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_tags_cache_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, tags_table, error);
#line 2864 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error) {
	DataImportsFSpotFSpotImportableTag* result = NULL;
	DataImportsFSpotFSpotImportableTag* tag = NULL;
	GeeHashMap* _tmp0_ = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL;
	gint64 _tmp2_ = 0LL;
	gpointer _tmp3_ = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL;
	GError * _inner_error_ = NULL;
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL);
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (tag_row), NULL);
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->tags_map;
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = tag_row;
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = _tmp1_->tag_id;
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_);
#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_;
#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = tag;
#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp4_ != NULL) {
#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result = tag;
#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return result;
#line 2899 "FSpotImporter.c"
	} else {
		DataImportsFSpotFSpotImportableTag* parent_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp5_ = NULL;
		gint64 _tmp6_ = 0LL;
		DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL;
		DataImportsFSpotFSpotImportableTag* new_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp9_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp10_ = NULL;
		GeeHashMap* _tmp11_ = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL;
		gint64 _tmp13_ = 0LL;
		DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL;
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = tag_row;
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = _tmp5_->category_id;
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp7_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp6_, &_inner_error_);
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		parent_tag = _tmp7_;
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == DATABASE_ERROR) {
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_propagate_error (error, _inner_error_);
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag);
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return NULL;
#line 2931 "FSpotImporter.c"
			} else {
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag);
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_clear_error (&_inner_error_);
#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return NULL;
#line 2941 "FSpotImporter.c"
			}
		}
#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp8_ = tag_row;
#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp9_ = parent_tag;
#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp10_ = data_imports_fspot_fspot_importable_tag_new (_tmp8_, _tmp9_);
#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		new_tag = _tmp10_;
#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp11_ = self->priv->tags_map;
#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp12_ = tag_row;
#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp13_ = _tmp12_->tag_id;
#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp14_ = new_tag;
#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp13_, _tmp14_);
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result = new_tag;
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent_tag);
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tag);
#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return result;
#line 2970 "FSpotImporter.c"
	}
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (tag);
#line 2974 "FSpotImporter.c"
}


static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error) {
	DataImportsFSpotFSpotImportableTag* result = NULL;
	gint64 _tmp0_ = 0LL;
	DataImportsFSpotFSpotImportableTag* tag = NULL;
	GeeHashMap* _tmp1_ = NULL;
	gint64 _tmp2_ = 0LL;
	gpointer _tmp3_ = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL;
	DataImportsFSpotDbFSpotTagRow* tag_row = NULL;
	DataImportsFSpotDbFSpotTagsTable* _tmp5_ = NULL;
	gint64 _tmp6_ = 0LL;
	DataImportsFSpotDbFSpotTagRow* _tmp7_ = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL;
	GError * _inner_error_ = NULL;
#line 304 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL);
#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = tag_id;
#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp0_ < ((gint64) 1)) {
#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result = NULL;
#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return result;
#line 3002 "FSpotImporter.c"
	}
#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = self->priv->tags_map;
#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = tag_id;
#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_);
#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_;
#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = tag;
#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp4_ != NULL) {
#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result = tag;
#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return result;
#line 3020 "FSpotImporter.c"
	}
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = self->priv->tags_table;
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6_ = tag_id;
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7_ = data_imports_fspot_db_fspot_tags_table_get_by_id (_tmp5_, _tmp6_, &_inner_error_);
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	tag_row = _tmp7_;
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_inner_error_->domain == DATABASE_ERROR) {
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_propagate_error (error, _inner_error_);
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (tag);
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			return NULL;
#line 3040 "FSpotImporter.c"
		} else {
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (tag);
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_clear_error (&_inner_error_);
#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			return NULL;
#line 3050 "FSpotImporter.c"
		}
	}
#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = tag_row;
#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp8_ != NULL) {
#line 3057 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp9_ = NULL;
		gint64 _tmp10_ = 0LL;
		DataImportsFSpotFSpotImportableTag* _tmp11_ = NULL;
		DataImportsFSpotFSpotImportableTag* new_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp13_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL;
		GeeHashMap* _tmp15_ = NULL;
		gint64 _tmp16_ = 0LL;
		DataImportsFSpotFSpotImportableTag* _tmp17_ = NULL;
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp9_ = tag_row;
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp10_ = _tmp9_->category_id;
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp11_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp10_, &_inner_error_);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		parent_tag = _tmp11_;
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == DATABASE_ERROR) {
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_propagate_error (error, _inner_error_);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag_row);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return NULL;
#line 3089 "FSpotImporter.c"
			} else {
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag_row);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tag);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_clear_error (&_inner_error_);
#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return NULL;
#line 3101 "FSpotImporter.c"
			}
		}
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp12_ = tag_row;
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp13_ = parent_tag;
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp14_ = data_imports_fspot_fspot_importable_tag_new (_tmp12_, _tmp13_);
#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		new_tag = _tmp14_;
#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp15_ = self->priv->tags_map;
#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp16_ = tag_id;
#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp17_ = new_tag;
#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp16_, _tmp17_);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		result = new_tag;
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent_tag);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tag_row);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tag);
#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return result;
#line 3130 "FSpotImporter.c"
	}
#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = NULL;
#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (tag_row);
#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (tag);
#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 3140 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_tags_cache_class_init (DataImportsFSpotFSpotTagsCacheClass * klass) {
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_tags_cache_parent_class = g_type_class_peek_parent (klass);
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotTagsCachePrivate));
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_tags_cache_finalize;
#line 3151 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_tags_cache_instance_init (DataImportsFSpotFSpotTagsCache * self) {
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE (self);
#line 3158 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj) {
	DataImportsFSpotFSpotTagsCache * self;
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache);
#line 284 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_importable_database_table_unref0 (self->priv->tags_table);
#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (self->priv->tags_map);
#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_tags_cache_parent_class)->finalize (obj);
#line 3172 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_tags_cache_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_tags_cache_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_tags_cache_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotTagsCacheClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_tags_cache_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotTagsCache), 0, (GInstanceInitFunc) data_imports_fspot_fspot_tags_cache_instance_init, NULL };
		GType data_imports_fspot_fspot_tags_cache_type_id;
		data_imports_fspot_fspot_tags_cache_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotTagsCache", &g_define_type_info, 0);
		g_once_init_leave (&data_imports_fspot_fspot_tags_cache_type_id__volatile, data_imports_fspot_fspot_tags_cache_type_id);
	}
	return data_imports_fspot_fspot_tags_cache_type_id__volatile;
}


DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host) {
	DataImportsFSpotFSpotDataImporter * self = NULL;
	SpitDataImportsService* _tmp0_ = NULL;
	SpitDataImportsPluginHost* _tmp1_ = NULL;
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (service), NULL);
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL);
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = (DataImportsFSpotFSpotDataImporter*) g_object_new (object_type, NULL);
#line 330 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_debug ("FSpotImporter.vala:330: FSpotDataImporter instantiated.");
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = service;
#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->service = _tmp0_;
#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = host;
#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->host = _tmp1_;
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return self;
#line 3210 "FSpotImporter.c"
}


DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host) {
#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return data_imports_fspot_fspot_data_importer_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, service, host);
#line 3217 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->running;
#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp0_;
#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 3233 "FSpotImporter.c"
}


static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	SpitDataImportsService* result = NULL;
	SpitDataImportsService* _tmp0_ = NULL;
	SpitDataImportsService* _tmp1_ = NULL;
#line 339 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->service;
#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp1_;
#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 3252 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	gboolean _tmp0_ = FALSE;
#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = spit_data_imports_data_importer_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter));
#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp0_) {
#line 345 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3267 "FSpotImporter.c"
	}
#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_debug ("FSpotImporter.vala:347: FSpotDataImporter: starting interaction.");
#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->running = TRUE;
#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (self);
#line 3275 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
#line 354 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 355 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_debug ("FSpotImporter.vala:355: FSpotDataImporter: stopping interaction.");
#line 357 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->running = FALSE;
#line 3287 "FSpotImporter.c"
}


/**
     * Action that discovers importable libraries based on standard locations.
     */
static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value) {
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (SpitDataImportsImportableLibrary*, *array, (*size) + 1);
#line 3301 "FSpotImporter.c"
	}
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 3307 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self) {
	SpitDataImportsImportableLibrary** discovered_libraries = NULL;
	SpitDataImportsImportableLibrary** _tmp0_ = NULL;
	gint discovered_libraries_length1 = 0;
	gint _discovered_libraries_size_ = 0;
	GFile** db_files = NULL;
	const gchar* _tmp1_ = NULL;
	GFile* _tmp2_ = NULL;
	GFile* _tmp3_ = NULL;
	GFile* _tmp4_ = NULL;
	GFile* _tmp5_ = NULL;
	GFile* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	GFile* _tmp8_ = NULL;
	GFile* _tmp9_ = NULL;
	GFile* _tmp10_ = NULL;
	GFile* _tmp11_ = NULL;
	GFile* _tmp12_ = NULL;
	GFile* _tmp13_ = NULL;
	GFile* _tmp14_ = NULL;
	const gchar* _tmp15_ = NULL;
	GFile* _tmp16_ = NULL;
	GFile* _tmp17_ = NULL;
	GFile* _tmp18_ = NULL;
	GFile* _tmp19_ = NULL;
	GFile* _tmp20_ = NULL;
	GFile** _tmp21_ = NULL;
	GFile** _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	gint db_files_length1 = 0;
	gint _db_files_size_ = 0;
	GFile** _tmp23_ = NULL;
	gint _tmp23__length1 = 0;
	const gchar* _tmp33_ = NULL;
	SpitDataImportsImportableLibrary** _tmp34_ = NULL;
	gint _tmp34__length1 = 0;
	SpitDataImportsPluginHost* _tmp35_ = NULL;
	SpitDataImportsImportableLibrary** _tmp36_ = NULL;
	gint _tmp36__length1 = 0;
#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self));
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = g_new0 (SpitDataImportsImportableLibrary*, 0 + 1);
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	discovered_libraries = _tmp0_;
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	discovered_libraries_length1 = 0;
#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_discovered_libraries_size_ = discovered_libraries_length1;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = g_get_user_config_dir ();
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_file_new_for_path (_tmp1_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _tmp2_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = g_file_get_child (_tmp3_, "f-spot");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = _tmp4_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp6_ = g_file_get_child (_tmp5_, "photos.db");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7_ = g_get_home_dir ();
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = g_file_new_for_path (_tmp7_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp9_ = _tmp8_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp10_ = g_file_get_child (_tmp9_, ".gnome2");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp11_ = _tmp10_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp12_ = g_file_get_child (_tmp11_, "f-spot");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp13_ = _tmp12_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp14_ = g_file_get_child (_tmp13_, "photos.db");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp15_ = g_get_user_data_dir ();
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp16_ = g_file_new_for_path (_tmp15_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp17_ = _tmp16_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp18_ = g_file_get_child (_tmp17_, "f-spot");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp19_ = _tmp18_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp20_ = g_file_get_child (_tmp19_, "photos.db");
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp21_ = g_new0 (GFile*, 3 + 1);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp21_[0] = _tmp6_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp21_[1] = _tmp14_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp21_[2] = _tmp20_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp22_ = _tmp21_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp22__length1 = 3;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp19_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp17_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp13_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp11_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp9_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp5_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp3_);
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	db_files = _tmp22_;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	db_files_length1 = _tmp22__length1;
#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_db_files_size_ = db_files_length1;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp23_ = db_files;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp23__length1 = db_files_length1;
#line 3436 "FSpotImporter.c"
	{
		GFile** db_file_collection = NULL;
		gint db_file_collection_length1 = 0;
		gint _db_file_collection_size_ = 0;
		gint db_file_it = 0;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		db_file_collection = _tmp23_;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		db_file_collection_length1 = _tmp23__length1;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		for (db_file_it = 0; db_file_it < _tmp23__length1; db_file_it = db_file_it + 1) {
#line 3448 "FSpotImporter.c"
			GFile* _tmp24_ = NULL;
			GFile* db_file = NULL;
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp24_ = _g_object_ref0 (db_file_collection[db_file_it]);
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			db_file = _tmp24_;
#line 3455 "FSpotImporter.c"
			{
				GFile* _tmp25_ = NULL;
				gboolean _tmp26_ = FALSE;
#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp25_ = db_file;
#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp26_ = g_file_query_exists (_tmp25_, NULL);
#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp26_) {
#line 3465 "FSpotImporter.c"
					SpitDataImportsImportableLibrary** _tmp27_ = NULL;
					gint _tmp27__length1 = 0;
					GFile* _tmp28_ = NULL;
					DataImportsFSpotFSpotImportableLibrary* _tmp29_ = NULL;
					GFile* _tmp30_ = NULL;
					gchar* _tmp31_ = NULL;
					gchar* _tmp32_ = NULL;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp27_ = discovered_libraries;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp27__length1 = discovered_libraries_length1;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp28_ = db_file;
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp29_ = data_imports_fspot_fspot_importable_library_new (_tmp28_);
#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_vala_array_add2 (&discovered_libraries, &discovered_libraries_length1, &_discovered_libraries_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibrary));
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp30_ = db_file;
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp31_ = g_file_get_path (_tmp30_);
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp32_ = _tmp31_;
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_message ("FSpotImporter.vala:384: Discovered importable library: %s", _tmp32_);
#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_free0 (_tmp32_);
#line 3493 "FSpotImporter.c"
				}
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (db_file);
#line 3497 "FSpotImporter.c"
			}
		}
	}
#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp34_ = discovered_libraries;
#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp34__length1 = discovered_libraries_length1;
#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp34__length1 > 0) {
#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE;
#line 3509 "FSpotImporter.c"
	} else {
#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY;
#line 3513 "FSpotImporter.c"
	}
#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp35_ = self->priv->host;
#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp36_ = discovered_libraries;
#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp36__length1 = discovered_libraries_length1;
#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_plugin_host_install_library_selection_pane (_tmp35_, _tmp33_, _tmp36_, _tmp36__length1, DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL);
#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	db_files = (_vala_array_free (db_files, db_files_length1, (GDestroyNotify) g_object_unref), NULL);
#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	discovered_libraries = (_vala_array_free (discovered_libraries, discovered_libraries_length1, (GDestroyNotify) g_object_unref), NULL);
#line 3527 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library) {
	DataImportsFSpotFSpotDataImporter * self;
	SpitDataImportsImportableLibrary* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
	GFile* _tmp2_ = NULL;
#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (library));
#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = library;
#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = data_imports_fspot_fspot_importable_library_get_db_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary));
#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = _tmp1_;
#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_data_importer_on_file_selected (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter), _tmp2_);
#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (_tmp2_);
#line 3550 "FSpotImporter.c"
}


static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value) {
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (DataImportsFSpotFSpotImportableTag*, *array, (*size) + 1);
#line 3561 "FSpotImporter.c"
	}
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 3567 "FSpotImporter.c"
}


static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) {
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1);
#line 3578 "FSpotImporter.c"
	}
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 3584 "FSpotImporter.c"
}


static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) {
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1);
#line 3595 "FSpotImporter.c"
	}
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 3601 "FSpotImporter.c"
}


static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) {
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if ((*length) == (*size)) {
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		*array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1);
#line 3612 "FSpotImporter.c"
	}
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[(*length)++] = value;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*array)[*length] = NULL;
#line 3618 "FSpotImporter.c"
}


static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self) {
#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_data_importer_on_imported_items_count ((DataImportsFSpotFSpotDataImporter*) self, imported_items_count);
#line 3625 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file) {
	DataImportsFSpotFSpotDataImporter * self;
	DataImportsFSpotDbFSpotDatabase* database = NULL;
	DataImportsFSpotFSpotTagsCache* tags_cache = NULL;
	GeeArrayList* all_photos = NULL;
	gdouble progress_delta_per_photo = 0.0;
	gdouble progress_plugin_to_host_ratio = 0.0;
	gdouble current_progress = 0.0;
	SpitDataImportsPluginHost* _tmp24_ = NULL;
	const gchar* _tmp25_ = NULL;
	GeeArrayList* _tmp36_ = NULL;
	gint _tmp37_ = 0;
	gint _tmp38_ = 0;
	SpitDataImportsPluginHost* _tmp173_ = NULL;
	GError * _inner_error_ = NULL;
#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_if_fail (G_IS_FILE (file));
#line 403 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	progress_delta_per_photo = 1.0;
#line 404 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	progress_plugin_to_host_ratio = 0.5;
#line 405 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	current_progress = 0.0;
#line 3654 "FSpotImporter.c"
	{
		DataImportsFSpotDbFSpotDatabase* _tmp0_ = NULL;
		GFile* _tmp1_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp2_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp3_ = NULL;
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp1_ = file;
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp2_ = data_imports_fspot_db_fspot_database_new (_tmp1_, &_inner_error_);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = _tmp2_;
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == DATABASE_ERROR) {
#line 3670 "FSpotImporter.c"
				goto __catch0_database_error;
			}
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR) {
#line 3675 "FSpotImporter.c"
				goto __catch0_spit_data_imports_data_import_error;
			}
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (all_photos);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (tags_cache);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (database);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_clear_error (&_inner_error_);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			return;
#line 3690 "FSpotImporter.c"
		}
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp3_ = _tmp0_;
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp0_ = NULL;
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		database = _tmp3_;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_tmp0_);
#line 3702 "FSpotImporter.c"
	}
	goto __finally0;
	__catch0_database_error:
	{
		GError* e = NULL;
		GError* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		SpitDataImportsPluginHost* _tmp8_ = NULL;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		e = _inner_error_;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_inner_error_ = NULL;
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp4_ = e;
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = _tmp4_->message;
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = g_strdup_printf ("FSpotDataImporter: Can't open database file: %s", _tmp5_);
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp7_ = _tmp6_;
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_debug ("FSpotImporter.vala:409: %s", _tmp7_);
#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp7_);
#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp8_ = self->priv->host;
#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		spit_data_imports_plugin_host_post_error_message (_tmp8_, DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE);
#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_error_free0 (e);
#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3743 "FSpotImporter.c"
	}
	goto __finally0;
	__catch0_spit_data_imports_data_import_error:
	{
		GError* e = NULL;
		GError* _tmp9_ = NULL;
		const gchar* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		gchar* _tmp12_ = NULL;
		SpitDataImportsPluginHost* _tmp13_ = NULL;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		e = _inner_error_;
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_inner_error_ = NULL;
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp9_ = e;
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp10_ = _tmp9_->message;
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp11_ = g_strdup_printf ("FSpotDataImporter: Unsupported F-Spot database version: %s", _tmp10_);
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp12_ = _tmp11_;
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_debug ("FSpotImporter.vala:413: %s", _tmp12_);
#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp12_);
#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp13_ = self->priv->host;
#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		spit_data_imports_plugin_host_post_error_message (_tmp13_, DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION);
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_error_free0 (e);
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3784 "FSpotImporter.c"
	}
	__finally0:
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_clear_error (&_inner_error_);
#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3801 "FSpotImporter.c"
	}
	{
		DataImportsFSpotFSpotTagsCache* _tmp14_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp15_ = NULL;
		DataImportsFSpotDbFSpotTagsTable* _tmp16_ = NULL;
		DataImportsFSpotFSpotTagsCache* _tmp17_ = NULL;
		DataImportsFSpotFSpotTagsCache* _tmp18_ = NULL;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp15_ = database;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp16_ = _tmp15_->tags_table;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp17_ = data_imports_fspot_fspot_tags_cache_new (_tmp16_, &_inner_error_);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp14_ = _tmp17_;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == DATABASE_ERROR) {
#line 3821 "FSpotImporter.c"
				goto __catch1_database_error;
			}
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (all_photos);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (tags_cache);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (database);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_clear_error (&_inner_error_);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			return;
#line 3836 "FSpotImporter.c"
		}
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp18_ = _tmp14_;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp14_ = NULL;
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		tags_cache = _tmp18_;
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_tmp14_);
#line 3848 "FSpotImporter.c"
	}
	goto __finally1;
	__catch1_database_error:
	{
		GError* e = NULL;
		GError* _tmp19_ = NULL;
		const gchar* _tmp20_ = NULL;
		gchar* _tmp21_ = NULL;
		gchar* _tmp22_ = NULL;
		SpitDataImportsPluginHost* _tmp23_ = NULL;
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		e = _inner_error_;
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_inner_error_ = NULL;
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp19_ = e;
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp20_ = _tmp19_->message;
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp21_ = g_strdup_printf ("FSpotDataImporter: Can't read tags table: %s", _tmp20_);
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp22_ = _tmp21_;
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_debug ("FSpotImporter.vala:420: %s", _tmp22_);
#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp22_);
#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp23_ = self->priv->host;
#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		spit_data_imports_plugin_host_post_error_message (_tmp23_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_error_free0 (e);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3889 "FSpotImporter.c"
	}
	__finally1:
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_clear_error (&_inner_error_);
#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 3906 "FSpotImporter.c"
	}
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp24_ = self->priv->host;
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp25_ = _ ("Preparing to import");
#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_plugin_host_install_import_progress_pane (_tmp24_, _tmp25_);
#line 3914 "FSpotImporter.c"
	{
		GeeArrayList* _tmp26_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp27_ = NULL;
		DataImportsFSpotDbFSpotPhotosTable* _tmp28_ = NULL;
		GeeArrayList* _tmp29_ = NULL;
		GeeArrayList* _tmp30_ = NULL;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp27_ = database;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp28_ = _tmp27_->photos_table;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp29_ = data_imports_fspot_db_fspot_photos_table_get_all (_tmp28_, &_inner_error_);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp26_ = _tmp29_;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_inner_error_->domain == DATABASE_ERROR) {
#line 3933 "FSpotImporter.c"
				goto __catch2_database_error;
			}
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (all_photos);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (tags_cache);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (database);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			g_clear_error (&_inner_error_);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			return;
#line 3948 "FSpotImporter.c"
		}
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp30_ = _tmp26_;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp26_ = NULL;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		all_photos = _tmp30_;
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_tmp26_);
#line 3960 "FSpotImporter.c"
	}
	goto __finally2;
	__catch2_database_error:
	{
		GError* e = NULL;
		GError* _tmp31_ = NULL;
		const gchar* _tmp32_ = NULL;
		gchar* _tmp33_ = NULL;
		gchar* _tmp34_ = NULL;
		SpitDataImportsPluginHost* _tmp35_ = NULL;
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		e = _inner_error_;
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_inner_error_ = NULL;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp31_ = e;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp32_ = _tmp31_->message;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp33_ = g_strdup_printf ("FSpotDataImporter: Can't read photos table: %s", _tmp32_);
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp34_ = _tmp33_;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_debug ("FSpotImporter.vala:428: %s", _tmp34_);
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp34_);
#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp35_ = self->priv->host;
#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		spit_data_imports_plugin_host_post_error_message (_tmp35_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE);
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_error_free0 (e);
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 4001 "FSpotImporter.c"
	}
	__finally2:
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (all_photos);
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (tags_cache);
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (database);
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_clear_error (&_inner_error_);
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		return;
#line 4018 "FSpotImporter.c"
	}
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp36_ = all_photos;
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp37_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection));
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp38_ = _tmp37_;
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp38_ > 0) {
#line 4028 "FSpotImporter.c"
		GeeArrayList* _tmp39_ = NULL;
		gint _tmp40_ = 0;
		gint _tmp41_ = 0;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp39_ = all_photos;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp40_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection));
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp41_ = _tmp40_;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		progress_delta_per_photo = 1.0 / _tmp41_;
#line 4040 "FSpotImporter.c"
	}
	{
		GeeArrayList* _photo_row_list = NULL;
		GeeArrayList* _tmp42_ = NULL;
		GeeArrayList* _tmp43_ = NULL;
		gint _photo_row_size = 0;
		GeeArrayList* _tmp44_ = NULL;
		gint _tmp45_ = 0;
		gint _tmp46_ = 0;
		gint _photo_row_index = 0;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp42_ = all_photos;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp43_ = _g_object_ref0 (_tmp42_);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_photo_row_list = _tmp43_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp44_ = _photo_row_list;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp45_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection));
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp46_ = _tmp45_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_photo_row_size = _tmp46_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_photo_row_index = -1;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		while (TRUE) {
#line 4069 "FSpotImporter.c"
			gint _tmp47_ = 0;
			gint _tmp48_ = 0;
			gint _tmp49_ = 0;
			DataImportsFSpotDbFSpotPhotoRow* photo_row = NULL;
			GeeArrayList* _tmp50_ = NULL;
			gint _tmp51_ = 0;
			gpointer _tmp52_ = NULL;
			gboolean hidden = FALSE;
			gboolean favorite = FALSE;
			DataImportsFSpotFSpotImportableTag** tags = NULL;
			DataImportsFSpotFSpotImportableTag** _tmp53_ = NULL;
			gint tags_length1 = 0;
			gint _tags_size_ = 0;
			DataImportsFSpotFSpotImportableEvent* event = NULL;
			DataImportsFSpotDbFSpotRollRow* roll_row = NULL;
			SpitDataImportsImportableMediaItem** importable_items = NULL;
			SpitDataImportsImportableMediaItem** _tmp97_ = NULL;
			gint importable_items_length1 = 0;
			gint _importable_items_size_ = 0;
			gboolean _tmp161_ = FALSE;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp47_ = _photo_row_index;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_photo_row_index = _tmp47_ + 1;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp48_ = _photo_row_index;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp49_ = _photo_row_size;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (!(_tmp48_ < _tmp49_)) {
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				break;
#line 4102 "FSpotImporter.c"
			}
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp50_ = _photo_row_list;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp51_ = _photo_row_index;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp52_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp51_);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			photo_row = (DataImportsFSpotDbFSpotPhotoRow*) _tmp52_;
#line 435 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			hidden = FALSE;
#line 436 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			favorite = FALSE;
#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp53_ = g_new0 (DataImportsFSpotFSpotImportableTag*, 0 + 1);
#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			tags = _tmp53_;
#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			tags_length1 = 0;
#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tags_size_ = tags_length1;
#line 438 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			event = NULL;
#line 439 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			roll_row = NULL;
#line 4128 "FSpotImporter.c"
			{
				GeeArrayList* _tmp54_ = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp55_ = NULL;
				DataImportsFSpotDbFSpotTagsTable* _tmp56_ = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp57_ = NULL;
				gint64 _tmp58_ = 0LL;
				GeeArrayList* _tmp59_ = NULL;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp55_ = database;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp56_ = _tmp55_->tags_table;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp57_ = photo_row;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp58_ = _tmp57_->photo_id;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp59_ = data_imports_fspot_db_fspot_tags_table_get_by_photo_id (_tmp56_, _tmp58_, &_inner_error_);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp54_ = _tmp59_;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_inner_error_->domain == DATABASE_ERROR) {
#line 4152 "FSpotImporter.c"
						goto __catch3_database_error;
					}
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (roll_row);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (event);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (photo_row);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_photo_row_list);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (all_photos);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (tags_cache);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (database);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_clear_error (&_inner_error_);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					return;
#line 4177 "FSpotImporter.c"
				}
				{
					GeeArrayList* _tag_row_list = NULL;
					GeeArrayList* _tmp60_ = NULL;
					gint _tag_row_size = 0;
					GeeArrayList* _tmp61_ = NULL;
					gint _tmp62_ = 0;
					gint _tmp63_ = 0;
					gint _tag_row_index = 0;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp60_ = _tmp54_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp54_ = NULL;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tag_row_list = _tmp60_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp61_ = _tag_row_list;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp62_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection));
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp63_ = _tmp62_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tag_row_size = _tmp63_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tag_row_index = -1;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					while (TRUE) {
#line 4205 "FSpotImporter.c"
						gint _tmp64_ = 0;
						gint _tmp65_ = 0;
						gint _tmp66_ = 0;
						DataImportsFSpotDbFSpotTagRow* tag_row = NULL;
						GeeArrayList* _tmp67_ = NULL;
						gint _tmp68_ = 0;
						gpointer _tmp69_ = NULL;
						DataImportsFSpotFSpotImportableTag* tag = NULL;
						DataImportsFSpotFSpotTagsCache* _tmp70_ = NULL;
						DataImportsFSpotDbFSpotTagRow* _tmp71_ = NULL;
						DataImportsFSpotFSpotImportableTag* _tmp72_ = NULL;
						DataImportsFSpotFSpotImportableTag* _tmp73_ = NULL;
						DataImportsFSpotDbFSpotDatabase* _tmp74_ = NULL;
						gint64 _tmp75_ = 0LL;
						gboolean _tmp76_ = FALSE;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp64_ = _tag_row_index;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tag_row_index = _tmp64_ + 1;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp65_ = _tag_row_index;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp66_ = _tag_row_size;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (!(_tmp65_ < _tmp66_)) {
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							break;
#line 4233 "FSpotImporter.c"
						}
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp67_ = _tag_row_list;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp68_ = _tag_row_index;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp69_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp68_);
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						tag_row = (DataImportsFSpotDbFSpotTagRow*) _tmp69_;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp70_ = tags_cache;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp71_ = tag_row;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp72_ = data_imports_fspot_fspot_tags_cache_get_tag (_tmp70_, _tmp71_, &_inner_error_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						tag = _tmp72_;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (tag_row);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (_tag_row_list);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (_tmp54_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							if (_inner_error_->domain == DATABASE_ERROR) {
#line 4261 "FSpotImporter.c"
								goto __catch3_database_error;
							}
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (tag_row);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (_tag_row_list);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (_tmp54_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (roll_row);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (event);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (photo_row);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (_photo_row_list);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (all_photos);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (tags_cache);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_g_object_unref0 (database);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							g_clear_error (&_inner_error_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							return;
#line 4292 "FSpotImporter.c"
						}
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp73_ = tag;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp74_ = database;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp75_ = _tmp74_->hidden_tag_id;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp76_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp73_, _tmp75_);
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp76_) {
#line 453 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							hidden = TRUE;
#line 4306 "FSpotImporter.c"
						} else {
							DataImportsFSpotFSpotImportableTag* _tmp77_ = NULL;
							gboolean _tmp78_ = FALSE;
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp77_ = tag;
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp78_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp77_);
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							if (_tmp78_) {
#line 455 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								favorite = TRUE;
#line 4318 "FSpotImporter.c"
							} else {
								DataImportsFSpotFSpotImportableTag** _tmp79_ = NULL;
								gint _tmp79__length1 = 0;
								DataImportsFSpotFSpotImportableTag* _tmp80_ = NULL;
								DataImportsFSpotFSpotImportableTag* _tmp81_ = NULL;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp79_ = tags;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp79__length1 = tags_length1;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp80_ = tag;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp81_ = _g_object_ref0 (_tmp80_);
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_vala_array_add3 (&tags, &tags_length1, &_tags_size_, _tmp81_);
#line 4334 "FSpotImporter.c"
							}
						}
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_g_object_unref0 (tag);
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_g_object_unref0 (tag_row);
#line 4341 "FSpotImporter.c"
					}
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_tag_row_list);
#line 4345 "FSpotImporter.c"
				}
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_tmp54_);
#line 4349 "FSpotImporter.c"
			}
			goto __finally3;
			__catch3_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp82_ = NULL;
				gint64 _tmp83_ = 0LL;
				GError* _tmp84_ = NULL;
				const gchar* _tmp85_ = NULL;
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				e = _inner_error_;
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_inner_error_ = NULL;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp82_ = photo_row;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp83_ = _tmp82_->photo_id;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp84_ = e;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp85_ = _tmp84_->message;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_message ("FSpotImporter.vala:461: Failed to retrieve tags for photo ID %ld: %s", (glong) _tmp83_, _tmp85_);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4375 "FSpotImporter.c"
			}
			__finally3:
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (roll_row);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (event);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_row);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_photo_row_list);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (all_photos);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tags_cache);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (database);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_clear_error (&_inner_error_);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return;
#line 4402 "FSpotImporter.c"
			}
			{
				DataImportsFSpotDbFSpotRollRow* _tmp86_ = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp87_ = NULL;
				DataImportsFSpotDbFSpotRollsTable* _tmp88_ = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp89_ = NULL;
				gint64 _tmp90_ = 0LL;
				DataImportsFSpotDbFSpotRollRow* _tmp91_ = NULL;
				DataImportsFSpotDbFSpotRollRow* _tmp92_ = NULL;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp87_ = database;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp88_ = _tmp87_->rolls_table;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp89_ = photo_row;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp90_ = _tmp89_->roll_id;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp91_ = data_imports_fspot_db_fspot_rolls_table_get_by_id (_tmp88_, _tmp90_, &_inner_error_);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp86_ = _tmp91_;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_inner_error_->domain == DATABASE_ERROR) {
#line 4428 "FSpotImporter.c"
						goto __catch4_database_error;
					}
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (roll_row);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (event);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (photo_row);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_photo_row_list);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (all_photos);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (tags_cache);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (database);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_clear_error (&_inner_error_);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					return;
#line 4453 "FSpotImporter.c"
				}
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp92_ = _tmp86_;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp86_ = NULL;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (roll_row);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				roll_row = _tmp92_;
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_tmp86_);
#line 4465 "FSpotImporter.c"
			}
			goto __finally4;
			__catch4_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp93_ = NULL;
				gint64 _tmp94_ = 0LL;
				GError* _tmp95_ = NULL;
				const gchar* _tmp96_ = NULL;
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				e = _inner_error_;
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_inner_error_ = NULL;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp93_ = photo_row;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp94_ = _tmp93_->photo_id;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp95_ = e;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp96_ = _tmp95_->message;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_message ("FSpotImporter.vala:469: Failed to retrieve roll for photo ID %ld: %s", (glong) _tmp94_, _tmp96_);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4491 "FSpotImporter.c"
			}
			__finally4:
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (roll_row);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (event);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_row);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_photo_row_list);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (all_photos);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tags_cache);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (database);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_clear_error (&_inner_error_);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return;
#line 4518 "FSpotImporter.c"
			}
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp97_ = g_new0 (SpitDataImportsImportableMediaItem*, 0 + 1);
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			importable_items = _tmp97_;
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			importable_items_length1 = 0;
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_importable_items_size_ = importable_items_length1;
#line 4528 "FSpotImporter.c"
			{
				GeeArrayList* photo_versions = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp98_ = NULL;
				DataImportsFSpotDbFSpotPhotoVersionsTable* _tmp99_ = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp100_ = NULL;
				gint64 _tmp101_ = 0LL;
				GeeArrayList* _tmp102_ = NULL;
				gboolean photo_versions_added = FALSE;
				gboolean photo_versions_skipped = FALSE;
				gboolean _tmp128_ = FALSE;
				gboolean _tmp129_ = FALSE;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp98_ = database;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp99_ = _tmp98_->photo_versions_table;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp100_ = photo_row;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp101_ = _tmp100_->photo_id;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp102_ = data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (_tmp99_, _tmp101_, &_inner_error_);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				photo_versions = _tmp102_;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_inner_error_->domain == DATABASE_ERROR) {
#line 4556 "FSpotImporter.c"
						goto __catch5_database_error;
					}
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (roll_row);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (event);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (photo_row);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_photo_row_list);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (all_photos);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (tags_cache);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (database);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					g_clear_error (&_inner_error_);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					return;
#line 4583 "FSpotImporter.c"
				}
#line 477 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				photo_versions_added = FALSE;
#line 478 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				photo_versions_skipped = FALSE;
#line 4589 "FSpotImporter.c"
				{
					GeeArrayList* _photo_version_row_list = NULL;
					GeeArrayList* _tmp103_ = NULL;
					GeeArrayList* _tmp104_ = NULL;
					gint _photo_version_row_size = 0;
					GeeArrayList* _tmp105_ = NULL;
					gint _tmp106_ = 0;
					gint _tmp107_ = 0;
					gint _photo_version_row_index = 0;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp103_ = photo_versions;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp104_ = _g_object_ref0 (_tmp103_);
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_photo_version_row_list = _tmp104_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp105_ = _photo_version_row_list;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp106_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_COLLECTION, GeeCollection));
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp107_ = _tmp106_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_photo_version_row_size = _tmp107_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_photo_version_row_index = -1;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					while (TRUE) {
#line 4617 "FSpotImporter.c"
						gint _tmp108_ = 0;
						gint _tmp109_ = 0;
						gint _tmp110_ = 0;
						DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row = NULL;
						GeeArrayList* _tmp111_ = NULL;
						gint _tmp112_ = 0;
						gpointer _tmp113_ = NULL;
						gboolean _tmp114_ = FALSE;
						DataImportsFSpotDbFSpotPhotoVersionRow* _tmp115_ = NULL;
						GFile* _tmp116_ = NULL;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp108_ = _photo_version_row_index;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_photo_version_row_index = _tmp108_ + 1;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp109_ = _photo_version_row_index;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp110_ = _photo_version_row_size;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (!(_tmp109_ < _tmp110_)) {
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							break;
#line 4640 "FSpotImporter.c"
						}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp111_ = _photo_version_row_list;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp112_ = _photo_version_row_index;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp113_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp112_);
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						photo_version_row = (DataImportsFSpotDbFSpotPhotoVersionRow*) _tmp113_;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp115_ = photo_version_row;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp116_ = _tmp115_->base_path;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp116_ != NULL) {
#line 4656 "FSpotImporter.c"
							DataImportsFSpotDbFSpotPhotoVersionRow* _tmp117_ = NULL;
							const gchar* _tmp118_ = NULL;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp117_ = photo_version_row;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp118_ = _tmp117_->filename;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp114_ = _tmp118_ != NULL;
#line 4665 "FSpotImporter.c"
						} else {
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp114_ = FALSE;
#line 4669 "FSpotImporter.c"
						}
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp114_) {
#line 4673 "FSpotImporter.c"
							SpitDataImportsImportableMediaItem** _tmp119_ = NULL;
							gint _tmp119__length1 = 0;
							DataImportsFSpotDbFSpotPhotoRow* _tmp120_ = NULL;
							DataImportsFSpotDbFSpotPhotoVersionRow* _tmp121_ = NULL;
							DataImportsFSpotDbFSpotRollRow* _tmp122_ = NULL;
							DataImportsFSpotFSpotImportableTag** _tmp123_ = NULL;
							gint _tmp123__length1 = 0;
							DataImportsFSpotFSpotImportableEvent* _tmp124_ = NULL;
							gboolean _tmp125_ = FALSE;
							gboolean _tmp126_ = FALSE;
							DataImportsFSpotFSpotImportableItem* _tmp127_ = NULL;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp119_ = importable_items;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp119__length1 = importable_items_length1;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp120_ = photo_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp121_ = photo_version_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp122_ = roll_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp123_ = tags;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp123__length1 = tags_length1;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp124_ = event;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp125_ = hidden;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp126_ = favorite;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp127_ = data_imports_fspot_fspot_importable_item_new (_tmp120_, _tmp121_, _tmp122_, _tmp123_, _tmp123__length1, _tmp124_, _tmp125_, _tmp126_);
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_vala_array_add4 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp127_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem));
#line 484 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							photo_versions_added = TRUE;
#line 4711 "FSpotImporter.c"
						} else {
#line 486 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							photo_versions_skipped = TRUE;
#line 4715 "FSpotImporter.c"
						}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_g_object_unref0 (photo_version_row);
#line 4719 "FSpotImporter.c"
					}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_photo_version_row_list);
#line 4723 "FSpotImporter.c"
				}
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp129_ = photo_versions_skipped;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp129_) {
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp128_ = TRUE;
#line 4731 "FSpotImporter.c"
				} else {
					gboolean _tmp130_ = FALSE;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp130_ = photo_versions_added;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp128_ = !_tmp130_;
#line 4738 "FSpotImporter.c"
				}
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp128_) {
#line 4742 "FSpotImporter.c"
					gboolean _tmp131_ = FALSE;
					DataImportsFSpotDbFSpotPhotoRow* _tmp132_ = NULL;
					GFile* _tmp133_ = NULL;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp132_ = photo_row;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp133_ = _tmp132_->base_path;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_tmp133_ != NULL) {
#line 4752 "FSpotImporter.c"
						DataImportsFSpotDbFSpotPhotoRow* _tmp134_ = NULL;
						const gchar* _tmp135_ = NULL;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp134_ = photo_row;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp135_ = _tmp134_->filename;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp131_ = _tmp135_ != NULL;
#line 4761 "FSpotImporter.c"
					} else {
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp131_ = FALSE;
#line 4765 "FSpotImporter.c"
					}
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_tmp131_) {
#line 4769 "FSpotImporter.c"
						SpitDataImportsImportableMediaItem** _tmp136_ = NULL;
						gint _tmp136__length1 = 0;
						DataImportsFSpotDbFSpotPhotoRow* _tmp137_ = NULL;
						DataImportsFSpotDbFSpotRollRow* _tmp138_ = NULL;
						DataImportsFSpotFSpotImportableTag** _tmp139_ = NULL;
						gint _tmp139__length1 = 0;
						DataImportsFSpotFSpotImportableEvent* _tmp140_ = NULL;
						gboolean _tmp141_ = FALSE;
						gboolean _tmp142_ = FALSE;
						DataImportsFSpotFSpotImportableItem* _tmp143_ = NULL;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp136_ = importable_items;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp136__length1 = importable_items_length1;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp137_ = photo_row;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp138_ = roll_row;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp139_ = tags;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp139__length1 = tags_length1;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp140_ = event;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp141_ = hidden;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp142_ = favorite;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp143_ = data_imports_fspot_fspot_importable_item_new (_tmp137_, NULL, _tmp138_, _tmp139_, _tmp139__length1, _tmp140_, _tmp141_, _tmp142_);
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_vala_array_add5 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp143_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem));
#line 4802 "FSpotImporter.c"
					}
				}
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_versions);
#line 4807 "FSpotImporter.c"
			}
			goto __finally5;
			__catch5_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp144_ = NULL;
				gint64 _tmp145_ = 0LL;
				GError* _tmp146_ = NULL;
				const gchar* _tmp147_ = NULL;
				gboolean _tmp148_ = FALSE;
				DataImportsFSpotDbFSpotPhotoRow* _tmp149_ = NULL;
				GFile* _tmp150_ = NULL;
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				e = _inner_error_;
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_inner_error_ = NULL;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp144_ = photo_row;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp145_ = _tmp144_->photo_id;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp146_ = e;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp147_ = _tmp146_->message;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_message ("FSpotImporter.vala:504: Failed to retrieve versions for photo ID %ld: " \
"%s", (glong) _tmp145_, _tmp147_);
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp149_ = photo_row;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp150_ = _tmp149_->base_path;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp150_ != NULL) {
#line 4840 "FSpotImporter.c"
					DataImportsFSpotDbFSpotPhotoRow* _tmp151_ = NULL;
					const gchar* _tmp152_ = NULL;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp151_ = photo_row;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp152_ = _tmp151_->filename;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp148_ = _tmp152_ != NULL;
#line 4849 "FSpotImporter.c"
				} else {
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp148_ = FALSE;
#line 4853 "FSpotImporter.c"
				}
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp148_) {
#line 4857 "FSpotImporter.c"
					SpitDataImportsImportableMediaItem** _tmp153_ = NULL;
					gint _tmp153__length1 = 0;
					DataImportsFSpotDbFSpotPhotoRow* _tmp154_ = NULL;
					DataImportsFSpotDbFSpotRollRow* _tmp155_ = NULL;
					DataImportsFSpotFSpotImportableTag** _tmp156_ = NULL;
					gint _tmp156__length1 = 0;
					DataImportsFSpotFSpotImportableEvent* _tmp157_ = NULL;
					gboolean _tmp158_ = FALSE;
					gboolean _tmp159_ = FALSE;
					DataImportsFSpotFSpotImportableItem* _tmp160_ = NULL;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp153_ = importable_items;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp153__length1 = importable_items_length1;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp154_ = photo_row;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp155_ = roll_row;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp156_ = tags;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp156__length1 = tags_length1;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp157_ = event;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp158_ = hidden;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp159_ = favorite;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp160_ = data_imports_fspot_fspot_importable_item_new (_tmp154_, NULL, _tmp155_, _tmp156_, _tmp156__length1, _tmp157_, _tmp158_, _tmp159_);
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_vala_array_add6 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp160_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem));
#line 4890 "FSpotImporter.c"
				}
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4894 "FSpotImporter.c"
			}
			__finally5:
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (roll_row);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (event);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_row);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_photo_row_list);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (all_photos);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (tags_cache);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (database);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.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 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				g_clear_error (&_inner_error_);
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				return;
#line 4923 "FSpotImporter.c"
			}
#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp161_ = self->priv->running;
#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_tmp161_) {
#line 4929 "FSpotImporter.c"
				SpitDataImportsPluginHost* _tmp162_ = NULL;
				SpitDataImportsImportableMediaItem** _tmp163_ = NULL;
				gint _tmp163__length1 = 0;
				gdouble _tmp164_ = 0.0;
				gdouble _tmp165_ = 0.0;
				gdouble _tmp166_ = 0.0;
				gdouble _tmp167_ = 0.0;
				gdouble _tmp168_ = 0.0;
				gdouble _tmp169_ = 0.0;
				gdouble _tmp170_ = 0.0;
				SpitDataImportsPluginHost* _tmp171_ = NULL;
				gdouble _tmp172_ = 0.0;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp162_ = self->priv->host;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp163_ = importable_items;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp163__length1 = importable_items_length1;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp164_ = current_progress;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp165_ = progress_delta_per_photo;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp166_ = progress_plugin_to_host_ratio;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp167_ = progress_delta_per_photo;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp168_ = progress_plugin_to_host_ratio;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				spit_data_imports_plugin_host_prepare_media_items_for_import (_tmp162_, _tmp163_, _tmp163__length1, _tmp164_ + (_tmp165_ * _tmp166_), _tmp167_ * (1 - _tmp168_), NULL);
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp169_ = current_progress;
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp170_ = progress_delta_per_photo;
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				current_progress = _tmp169_ + _tmp170_;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp171_ = self->priv->host;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp172_ = current_progress;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				spit_data_imports_plugin_host_update_import_progress_pane (_tmp171_, _tmp172_, NULL);
#line 4972 "FSpotImporter.c"
			} else {
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (roll_row);
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (event);
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_row);
#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				break;
#line 4986 "FSpotImporter.c"
			}
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (roll_row);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (event);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_g_object_unref0 (photo_row);
#line 4998 "FSpotImporter.c"
		}
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_photo_row_list);
#line 5002 "FSpotImporter.c"
	}
#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp173_ = self->priv->host;
#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_plugin_host_finalize_import (_tmp173_, _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback, self, NULL);
#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (all_photos);
#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (tags_cache);
#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (database);
#line 5014 "FSpotImporter.c"
}


void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count) {
	SpitDataImportsPluginHost* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 530 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self));
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = self->priv->host;
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = imported_items_count;
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = g_strdup_printf (DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN, _tmp1_);
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _tmp2_;
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_plugin_host_install_static_message_pane (_tmp0_, _tmp3_, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE);
#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp3_);
#line 5037 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) {
	gboolean result = FALSE;
	gboolean _result_ = FALSE;
	DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE);
#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE);
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = tag;
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_);
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = _tmp1_;
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS, _tmp2_) == 0;
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp2_);
#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_result_ = _tmp3_;
#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = _result_;
#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (!_tmp4_) {
#line 5069 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL;
#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = tag;
#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_);
#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		parent = _tmp6_;
#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp7_ = parent;
#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_tmp7_ == NULL) {
#line 542 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = FALSE;
#line 5086 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp8_ = parent;
#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_event (self, _tmp8_);
#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = _tmp9_;
#line 5096 "FSpotImporter.c"
		}
#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5100 "FSpotImporter.c"
	}
#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _result_;
#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 5106 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id) {
	gboolean result = FALSE;
	gboolean _result_ = FALSE;
	gint64 _tmp0_ = 0LL;
	DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL;
	gint64 _tmp2_ = 0LL;
	gboolean _tmp3_ = FALSE;
#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE);
#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE);
#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = hidden_tag_id;
#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = tag;
#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = data_imports_fspot_fspot_importable_tag_get_id (_tmp1_);
#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_result_ = _tmp0_ == _tmp2_;
#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = _result_;
#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (!_tmp3_) {
#line 5133 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL;
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp4_ = tag;
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp4_);
#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		parent = _tmp5_;
#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = parent;
#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_tmp6_ == NULL) {
#line 554 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = FALSE;
#line 5150 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL;
			gint64 _tmp8_ = 0LL;
			gboolean _tmp9_ = FALSE;
#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp7_ = parent;
#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp8_ = hidden_tag_id;
#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp7_, _tmp8_);
#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = _tmp9_;
#line 5163 "FSpotImporter.c"
		}
#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5167 "FSpotImporter.c"
	}
#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _result_;
#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 5173 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) {
	gboolean result = FALSE;
	gboolean _result_ = FALSE;
	DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE);
#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE);
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp0_ = tag;
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_);
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = _tmp1_;
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV, _tmp2_) == 0;
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp2_);
#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_result_ = _tmp3_;
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = _result_;
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (!_tmp4_) {
#line 5205 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL;
#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp5_ = tag;
#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_);
#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		parent = _tmp6_;
#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp7_ = parent;
#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		if (_tmp7_ == NULL) {
#line 566 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = FALSE;
#line 5222 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL;
			gboolean _tmp9_ = FALSE;
#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp8_ = parent;
#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp8_);
#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_result_ = _tmp9_;
#line 5232 "FSpotImporter.c"
		}
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5236 "FSpotImporter.c"
	}
#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _result_;
#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 5242 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_class_init (DataImportsFSpotFSpotDataImporterClass * klass) {
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_data_importer_parent_class = g_type_class_peek_parent (klass);
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotDataImporterPrivate));
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_data_importer_finalize;
#line 5253 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init (SpitDataImportsDataImporterIface * iface) {
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = g_type_interface_peek_parent (iface);
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->is_running = (gboolean (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_is_running;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->get_service = (SpitDataImportsService* (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_get_service;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->start = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_start;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->stop = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_stop;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->on_library_selected = (void (*)(SpitDataImportsDataImporter*, SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_data_importer_real_on_library_selected;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	iface->on_file_selected = (void (*)(SpitDataImportsDataImporter*, GFile*)) data_imports_fspot_fspot_data_importer_real_on_file_selected;
#line 5272 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_instance_init (DataImportsFSpotFSpotDataImporter * self) {
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv = DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE (self);
#line 324 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->host = NULL;
#line 325 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->service = NULL;
#line 326 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self->priv->running = FALSE;
#line 5285 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_finalize (GObject* obj) {
	DataImportsFSpotFSpotDataImporter * self;
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter);
#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	G_OBJECT_CLASS (data_imports_fspot_fspot_data_importer_parent_class)->finalize (obj);
#line 5295 "FSpotImporter.c"
}


GType data_imports_fspot_fspot_data_importer_get_type (void) {
	static volatile gsize data_imports_fspot_fspot_data_importer_type_id__volatile = 0;
	if (g_once_init_enter (&data_imports_fspot_fspot_data_importer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotDataImporterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_data_importer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotDataImporter), 0, (GInstanceInitFunc) data_imports_fspot_fspot_data_importer_instance_init, NULL };
		static const GInterfaceInfo spit_data_imports_data_importer_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType data_imports_fspot_fspot_data_importer_type_id;
		data_imports_fspot_fspot_data_importer_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotDataImporter", &g_define_type_info, 0);
		g_type_add_interface_static (data_imports_fspot_fspot_data_importer_type_id, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, &spit_data_imports_data_importer_info);
		g_once_init_leave (&data_imports_fspot_fspot_data_importer_type_id__volatile, data_imports_fspot_fspot_data_importer_type_id);
	}
	return data_imports_fspot_fspot_data_importer_type_id__volatile;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}