/* FSpotImporter.c generated by valac 0.36.6, 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_;
	gint _tmp0__length1;
#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_;
		GdkPixbuf** _tmp2_;
#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_;
	gint _tmp1_;
	gint _tmp2_;
#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_;
#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_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	GdkPixbuf** _tmp7_;
	gint _tmp7__length1;
	GdkPixbuf** _tmp8_;
	gint _tmp8__length1;
#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_ = g_strdup (_ ("Copyright 2016 Software Freedom Conservancy Inc."));
#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 = _tmp1_;
#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = 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 = _tmp2_;
#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = 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 = _tmp3_;
#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = 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 = _tmp4_;
#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp5_ = 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 = _tmp5_;
#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"
	_tmp6_ = 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 = _tmp6_;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7_ = fspot_service_icon_pixbuf_set;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp7__length1 = fspot_service_icon_pixbuf_set_length1;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8_ = (_tmp7_ != NULL) ? _vala_array_dup1 (_tmp7_, _tmp7__length1) : ((gpointer) _tmp7_);
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp8__length1 = _tmp7__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 = _tmp8_;
#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	(*info).icons_length1 = _tmp8__length1;
#line 796 "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 804 "FSpotImporter.c"
}


static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host) {
	FSpotService * self;
	SpitDataImportsDataImporter* result = NULL;
	SpitDataImportsPluginHost* _tmp0_;
	DataImportsFSpotFSpotDataImporter* _tmp1_;
#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 825 "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 834 "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 851 "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 860 "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 874 "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_;
	GFile* _tmp1_;
#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 912 "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 919 "FSpotImporter.c"
}


GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self) {
	GFile* result = NULL;
	GFile* _tmp0_;
	GFile* _tmp1_;
#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 937 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base) {
	DataImportsFSpotFSpotImportableLibrary * self;
	gchar* result = NULL;
	GFile* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
#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_ = self->priv->db_file;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp1_ = g_file_get_path (_tmp0_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp2_ = _tmp1_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp3_ = g_strdup_printf (_ ("F-Spot library: %s"), _tmp2_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp4_ = _tmp3_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_free0 (_tmp2_);
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	result = _tmp4_;
#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 967 "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 978 "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 987 "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 994 "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 1006 "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 1031 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* _tmp0_;
#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 1037 "FSpotImporter.c"
	}
#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	return result;
#line 1041 "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 1053 "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 1060 "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_;
	DataImportsFSpotDbFSpotPhotoRow* _tmp1_;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp2_;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp3_;
	DataImportsFSpotDbFSpotRollRow* _tmp4_;
	DataImportsFSpotDbFSpotRollRow* _tmp5_;
	DataImportsFSpotFSpotImportableTag** _tmp6_;
	gint _tmp6__length1;
	DataImportsFSpotFSpotImportableTag** _tmp7_;
	gint _tmp7__length1;
	DataImportsFSpotFSpotImportableEvent* _tmp8_;
	DataImportsFSpotFSpotImportableEvent* _tmp9_;
	DataImportsFSpotDbFSpotPhotoRow* _tmp10_;
	time_t _tmp11_;
	time_t* _tmp12_;
	DataImportsFSpotDbFSpotPhotoRow* _tmp13_;
	gint _tmp14_;
	gchar* _tmp23_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_;
	gchar* _tmp31_;
	const gchar* _tmp32_ = NULL;
	DataImportsFSpotDbFSpotPhotoVersionRow* _tmp33_;
	gchar* _tmp38_;
	gboolean _tmp39_ = FALSE;
	const gchar* _tmp40_;
#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 1165 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoRow* _tmp15_;
		gint _tmp16_;
		DataImportsFSpotFSpotImportableRating* _tmp17_;
#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 1179 "FSpotImporter.c"
	} else {
		gboolean _tmp18_;
#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 1186 "FSpotImporter.c"
			DataImportsFSpotFSpotImportableRating* _tmp19_;
#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 1194 "FSpotImporter.c"
		} else {
			gboolean _tmp20_;
#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 1201 "FSpotImporter.c"
				DataImportsFSpotFSpotImportableRating* _tmp21_;
#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 1209 "FSpotImporter.c"
			} else {
				DataImportsFSpotFSpotImportableRating* _tmp22_;
#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 1218 "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 1226 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_;
		GFile* _tmp26_;
		gchar* _tmp27_;
#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 1240 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp28_;
		GFile* _tmp29_;
		gchar* _tmp30_;
#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 1255 "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 1267 "FSpotImporter.c"
		DataImportsFSpotDbFSpotPhotoVersionRow* _tmp34_;
		const gchar* _tmp35_;
#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 1276 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp36_;
		const gchar* _tmp37_;
#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 1286 "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 1298 "FSpotImporter.c"
		const gchar* _tmp41_;
#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 1304 "FSpotImporter.c"
	} else {
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp39_ = FALSE;
#line 1308 "FSpotImporter.c"
	}
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp39_) {
#line 1312 "FSpotImporter.c"
		GFile* photo = NULL;
		const gchar* _tmp42_;
		GFile* _tmp43_;
		GFile* _tmp44_;
		const gchar* _tmp45_;
		GFile* _tmp46_;
		GFile* _tmp47_;
		GFile* _tmp48_;
		gboolean _tmp49_;
#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 1344 "FSpotImporter.c"
			const gchar* _tmp50_;
			gchar* _tmp51_;
			const gchar* _tmp52_;
			gchar* _tmp53_;
#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 1365 "FSpotImporter.c"
		}
#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (photo);
#line 1369 "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 1375 "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 1382 "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 1393 "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 1399 "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_;
	gint importable_tags_length1;
	gint _importable_tags_size_;
	DataImportsFSpotFSpotImportableTag** _tmp1_;
	gint _tmp1__length1;
	SpitDataImportsImportableTag** _tmp6_;
	gint _tmp6__length1;
#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 1428 "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 1440 "FSpotImporter.c"
			DataImportsFSpotFSpotImportableTag* _tmp2_;
			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 1447 "FSpotImporter.c"
			{
				SpitDataImportsImportableTag** _tmp3_;
				gint _tmp3__length1;
				DataImportsFSpotFSpotImportableTag* _tmp4_;
				SpitDataImportsImportableTag* _tmp5_;
#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 1465 "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 1477 "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 1483 "FSpotImporter.c"
}


static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	SpitDataImportsImportableEvent* result = NULL;
	DataImportsFSpotFSpotImportableEvent* _tmp0_;
	SpitDataImportsImportableEvent* _tmp1_;
#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 1502 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#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 1521 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_;
#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 1540 "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_;
	const gchar* _tmp3_;
	gchar* _tmp8_;
#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 1562 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp4_;
		const gchar* _tmp5_;
#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 1572 "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 1578 "FSpotImporter.c"
	} else {
		DataImportsFSpotDbFSpotPhotoRow* _tmp6_;
		const gchar* _tmp7_;
#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 1588 "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 1596 "FSpotImporter.c"
}


static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base) {
	DataImportsFSpotFSpotImportableItem * self;
	SpitDataImportsImportableRating* result = NULL;
	DataImportsFSpotFSpotImportableRating* _tmp0_;
	SpitDataImportsImportableRating* _tmp1_;
#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 1615 "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_;
	time_t* _tmp1_;
#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 1634 "FSpotImporter.c"
}


static gint string_index_of_char (const gchar* self, gunichar c, gint start_index) {
	gint result = 0;
	gchar* _result_ = NULL;
	gint _tmp0_;
	gunichar _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 1031 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0);
#line 1032 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp0_ = start_index;
#line 1032 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp1_ = c;
#line 1032 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp2_ = g_utf8_strchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_);
#line 1032 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_result_ = _tmp2_;
#line 1034 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp3_ = _result_;
#line 1034 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp3_ != NULL) {
#line 1659 "FSpotImporter.c"
		gchar* _tmp4_;
#line 1035 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp4_ = _result_;
#line 1035 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		result = (gint) (_tmp4_ - ((gchar*) self));
#line 1035 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		return result;
#line 1667 "FSpotImporter.c"
	} else {
#line 1037 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		result = -1;
#line 1037 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		return result;
#line 1673 "FSpotImporter.c"
	}
}


static gchar* string_slice (const gchar* self, glong start, glong end) {
	gchar* result = NULL;
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	glong _tmp2_;
	glong _tmp5_;
	gboolean _tmp8_ = FALSE;
	glong _tmp9_;
	gboolean _tmp12_ = FALSE;
	glong _tmp13_;
	glong _tmp16_;
	glong _tmp17_;
	glong _tmp18_;
	glong _tmp19_;
	glong _tmp20_;
	gchar* _tmp21_;
#line 1355 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1356 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1356 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1356 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	string_length = (glong) _tmp1_;
#line 1357 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp2_ = start;
#line 1357 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp2_ < ((glong) 0)) {
#line 1707 "FSpotImporter.c"
		glong _tmp3_;
		glong _tmp4_;
#line 1358 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1358 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp4_ = start;
#line 1358 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		start = _tmp3_ + _tmp4_;
#line 1716 "FSpotImporter.c"
	}
#line 1360 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp5_ = end;
#line 1360 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp5_ < ((glong) 0)) {
#line 1722 "FSpotImporter.c"
		glong _tmp6_;
		glong _tmp7_;
#line 1361 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp6_ = string_length;
#line 1361 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp7_ = end;
#line 1361 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		end = _tmp6_ + _tmp7_;
#line 1731 "FSpotImporter.c"
	}
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp9_ = start;
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp9_ >= ((glong) 0)) {
#line 1737 "FSpotImporter.c"
		glong _tmp10_;
		glong _tmp11_;
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp10_ = start;
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp11_ = string_length;
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp8_ = _tmp10_ <= _tmp11_;
#line 1746 "FSpotImporter.c"
	} else {
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp8_ = FALSE;
#line 1750 "FSpotImporter.c"
	}
#line 1363 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp8_, NULL);
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp13_ = end;
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp13_ >= ((glong) 0)) {
#line 1758 "FSpotImporter.c"
		glong _tmp14_;
		glong _tmp15_;
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp14_ = end;
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp12_ = _tmp14_ <= _tmp15_;
#line 1767 "FSpotImporter.c"
	} else {
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp12_ = FALSE;
#line 1771 "FSpotImporter.c"
	}
#line 1364 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp12_, NULL);
#line 1365 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp16_ = start;
#line 1365 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp17_ = end;
#line 1365 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL);
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp18_ = start;
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp19_ = end;
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp20_ = start;
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_));
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	result = _tmp21_;
#line 1366 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	return result;
#line 1793 "FSpotImporter.c"
}


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


static glong string_strnlen (gchar* str, glong maxlen) {
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_;
	glong _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp0_ = str;
#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp1_ = maxlen;
#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	end = _tmp2_;
#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp3_ = end;
#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp3_ == NULL) {
#line 1834 "FSpotImporter.c"
		glong _tmp4_;
#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp4_ = maxlen;
#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		result = _tmp4_;
#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		return result;
#line 1842 "FSpotImporter.c"
	} else {
		gchar* _tmp5_;
		gchar* _tmp6_;
#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp5_ = end;
#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp6_ = str;
#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		result = (glong) (_tmp5_ - _tmp6_);
#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		return result;
#line 1854 "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_;
	glong _tmp8_;
	glong _tmp14_;
	glong _tmp17_;
	glong _tmp18_;
	glong _tmp19_;
	glong _tmp20_;
	glong _tmp21_;
	gchar* _tmp22_;
#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp1_ = offset;
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp1_ >= ((glong) 0)) {
#line 1878 "FSpotImporter.c"
		glong _tmp2_;
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp2_ = len;
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp2_ >= ((glong) 0);
#line 1884 "FSpotImporter.c"
	} else {
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 1888 "FSpotImporter.c"
	}
#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1892 "FSpotImporter.c"
		glong _tmp3_;
		glong _tmp4_;
		glong _tmp5_;
#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp3_ = offset;
#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp4_ = len;
#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		string_length = _tmp5_;
#line 1904 "FSpotImporter.c"
	} else {
		gint _tmp6_;
		gint _tmp7_;
#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp6_ = strlen (self);
#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp7_ = _tmp6_;
#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		string_length = (glong) _tmp7_;
#line 1914 "FSpotImporter.c"
	}
#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp8_ = offset;
#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp8_ < ((glong) 0)) {
#line 1920 "FSpotImporter.c"
		glong _tmp9_;
		glong _tmp10_;
		glong _tmp11_;
#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp9_ = string_length;
#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp10_ = offset;
#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		offset = _tmp9_ + _tmp10_;
#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp11_ = offset;
#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
#line 1934 "FSpotImporter.c"
	} else {
		glong _tmp12_;
		glong _tmp13_;
#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp12_ = offset;
#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp13_ = string_length;
#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
#line 1944 "FSpotImporter.c"
	}
#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp14_ = len;
#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	if (_tmp14_ < ((glong) 0)) {
#line 1950 "FSpotImporter.c"
		glong _tmp15_;
		glong _tmp16_;
#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp15_ = string_length;
#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		_tmp16_ = offset;
#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
		len = _tmp15_ - _tmp16_;
#line 1959 "FSpotImporter.c"
	}
#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp17_ = offset;
#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp18_ = len;
#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp19_ = string_length;
#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp20_ = offset;
#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp21_ = len;
#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	result = _tmp22_;
#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	return result;
#line 1979 "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_;
	GString* _tmp49_;
	const gchar* _tmp50_;
	gchar* _tmp51_;
#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 1998 "FSpotImporter.c"
	{
		gint idx = 0;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		idx = 0;
#line 2003 "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 2010 "FSpotImporter.c"
				gint _tmp2_;
				const gchar* _tmp3_;
				gint _tmp4_;
				gint _tmp5_;
				gint cidx = 0;
				const gchar* _tmp6_;
				gint _tmp7_;
				gint _tmp8_;
				gint _tmp9_;
				gint _tmp10_;
				gint _tmp17_;
#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (!_tmp1_) {
#line 2024 "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 2040 "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 2056 "FSpotImporter.c"
					GString* _tmp11_;
					const gchar* _tmp12_;
					gint _tmp13_;
					gint _tmp14_;
					gchar* _tmp15_;
					gchar* _tmp16_;
#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 2079 "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 2085 "FSpotImporter.c"
					gint _tmp18_;
					const gchar* _tmp19_;
					gint _tmp20_;
					gint _tmp21_;
#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 2100 "FSpotImporter.c"
						gchar c1 = '\0';
						const gchar* _tmp22_;
						gint _tmp23_;
						gchar _tmp24_;
						gchar c2 = '\0';
						const gchar* _tmp25_;
						gint _tmp26_;
						gchar _tmp27_;
						gboolean _tmp28_ = FALSE;
						gchar _tmp29_;
						gboolean _tmp30_;
						gint _tmp39_;
#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 2135 "FSpotImporter.c"
							gchar _tmp31_;
							gboolean _tmp32_;
#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 2144 "FSpotImporter.c"
						} else {
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp28_ = FALSE;
#line 2148 "FSpotImporter.c"
						}
#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp28_) {
#line 2152 "FSpotImporter.c"
							gint ccode = 0;
							gchar _tmp33_;
							gint _tmp34_;
							gchar _tmp35_;
							gint _tmp36_;
							GString* _tmp37_;
							gint _tmp38_;
#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 2176 "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 2182 "FSpotImporter.c"
					} else {
						gint _tmp40_;
#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 2189 "FSpotImporter.c"
					}
				} else {
					GString* _tmp41_;
					const gchar* _tmp42_;
					gint _tmp43_;
					gchar* _tmp44_;
					gchar* _tmp45_;
					const gchar* _tmp46_;
					gint _tmp47_;
					gint _tmp48_;
#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 2222 "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 2239 "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 2250 "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 2271 "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 2278 "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 2306 "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_;
	DataImportsFSpotDbFSpotTagRow* _tmp1_;
	DataImportsFSpotFSpotImportableTag* _tmp2_;
	DataImportsFSpotFSpotImportableTag* _tmp3_;
#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 2354 "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 2361 "FSpotImporter.c"
}


gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self) {
	gint64 result = 0LL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	gint64 _tmp1_;
#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 2379 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base) {
	DataImportsFSpotFSpotImportableTag * self;
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
#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 2401 "FSpotImporter.c"
}


static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base) {
	DataImportsFSpotFSpotImportableTag * self;
	SpitDataImportsImportableTag* result = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp0_;
	SpitDataImportsImportableTag* _tmp1_;
#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 2420 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self) {
	DataImportsFSpotFSpotImportableTag* result = NULL;
	DataImportsFSpotFSpotImportableTag* _tmp0_;
	DataImportsFSpotFSpotImportableTag* _tmp1_;
#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 2438 "FSpotImporter.c"
}


gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self) {
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
#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 2459 "FSpotImporter.c"
}


gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self) {
	gboolean result = FALSE;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	const gchar* _tmp1_;
	gboolean _tmp2_;
#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 2480 "FSpotImporter.c"
}


DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self) {
	DataImportsFSpotFSpotImportableEvent* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	DataImportsFSpotFSpotImportableEvent* _tmp1_;
#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 2498 "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 2509 "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 2520 "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 2527 "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 2541 "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_;
	DataImportsFSpotDbFSpotTagRow* _tmp1_;
#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 2577 "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 2584 "FSpotImporter.c"
}


static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base) {
	DataImportsFSpotFSpotImportableEvent * self;
	gchar* result = NULL;
	DataImportsFSpotDbFSpotTagRow* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
#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 2606 "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 2617 "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 2626 "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 2633 "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 2645 "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_;
	gint _tmp2_;
#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 2675 "FSpotImporter.c"
	} else {
		gint _tmp1_;
#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 2684 "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 2693 "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 2700 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gboolean result = FALSE;
	gint _tmp0_;
#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 2716 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gboolean result = FALSE;
	gint _tmp0_;
#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 2732 "FSpotImporter.c"
}


static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base) {
	DataImportsFSpotFSpotImportableRating * self;
	gint result = 0;
	gint _tmp0_;
#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 2748 "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 2759 "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 2772 "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 2779 "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 2789 "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 2810 "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 2822 "FSpotImporter.c"
}


DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) {
	DataImportsFSpotFSpotTagsCache * self = NULL;
	DataImportsFSpotDbFSpotTagsTable* _tmp0_;
	DataImportsFSpotDbFSpotTagsTable* _tmp1_;
	GeeHashMap* _tmp2_;
#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, (GDestroyNotify) g_free, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 2851 "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 2858 "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_;
	DataImportsFSpotDbFSpotTagRow* _tmp1_;
	gint64 _tmp2_;
	gpointer _tmp3_;
	DataImportsFSpotFSpotImportableTag* _tmp4_;
	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 2893 "FSpotImporter.c"
	} else {
		DataImportsFSpotFSpotImportableTag* parent_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp5_;
		gint64 _tmp6_;
		DataImportsFSpotFSpotImportableTag* _tmp7_;
		DataImportsFSpotFSpotImportableTag* new_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp8_;
		DataImportsFSpotFSpotImportableTag* _tmp9_;
		DataImportsFSpotFSpotImportableTag* _tmp10_;
		GeeHashMap* _tmp11_;
		DataImportsFSpotDbFSpotTagRow* _tmp12_;
		gint64 _tmp13_;
		DataImportsFSpotFSpotImportableTag* _tmp14_;
#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 2925 "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 2935 "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 2964 "FSpotImporter.c"
	}
#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_g_object_unref0 (tag);
#line 2968 "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_;
	DataImportsFSpotFSpotImportableTag* tag = NULL;
	GeeHashMap* _tmp1_;
	gint64 _tmp2_;
	gpointer _tmp3_;
	DataImportsFSpotFSpotImportableTag* _tmp4_;
	DataImportsFSpotDbFSpotTagRow* tag_row = NULL;
	DataImportsFSpotDbFSpotTagsTable* _tmp5_;
	gint64 _tmp6_;
	DataImportsFSpotDbFSpotTagRow* _tmp7_;
	DataImportsFSpotDbFSpotTagRow* _tmp8_;
	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 2996 "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 3014 "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 3034 "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 3044 "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 3051 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp9_;
		gint64 _tmp10_;
		DataImportsFSpotFSpotImportableTag* _tmp11_;
		DataImportsFSpotFSpotImportableTag* new_tag = NULL;
		DataImportsFSpotDbFSpotTagRow* _tmp12_;
		DataImportsFSpotFSpotImportableTag* _tmp13_;
		DataImportsFSpotFSpotImportableTag* _tmp14_;
		GeeHashMap* _tmp15_;
		gint64 _tmp16_;
		DataImportsFSpotFSpotImportableTag* _tmp17_;
#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 3083 "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 3095 "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 3124 "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 3134 "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 3145 "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 3152 "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 3166 "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_;
	SpitDataImportsPluginHost* _tmp1_;
#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 3204 "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 3211 "FSpotImporter.c"
}


static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	gboolean result = FALSE;
	gboolean _tmp0_;
#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 3227 "FSpotImporter.c"
}


static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	SpitDataImportsService* result = NULL;
	SpitDataImportsService* _tmp0_;
	SpitDataImportsService* _tmp1_;
#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 3246 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base) {
	DataImportsFSpotFSpotDataImporter * self;
	gboolean _tmp0_;
#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 3261 "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 3269 "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 3281 "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 3295 "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 3301 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self) {
	SpitDataImportsImportableLibrary** discovered_libraries = NULL;
	SpitDataImportsImportableLibrary** _tmp0_;
	gint discovered_libraries_length1;
	gint _discovered_libraries_size_;
	GFile** db_files = NULL;
	const gchar* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	GFile* _tmp4_;
	GFile* _tmp5_;
	GFile* _tmp6_;
	const gchar* _tmp7_;
	GFile* _tmp8_;
	GFile* _tmp9_;
	GFile* _tmp10_;
	GFile* _tmp11_;
	GFile* _tmp12_;
	GFile* _tmp13_;
	GFile* _tmp14_;
	const gchar* _tmp15_;
	GFile* _tmp16_;
	GFile* _tmp17_;
	GFile* _tmp18_;
	GFile* _tmp19_;
	GFile* _tmp20_;
	GFile** _tmp21_;
	GFile** _tmp22_;
	gint _tmp22__length1;
	gint db_files_length1;
	gint _db_files_size_;
	GFile** _tmp23_;
	gint _tmp23__length1;
	const gchar* _tmp33_ = NULL;
	SpitDataImportsImportableLibrary** _tmp34_;
	gint _tmp34__length1;
	SpitDataImportsPluginHost* _tmp35_;
	SpitDataImportsImportableLibrary** _tmp36_;
	gint _tmp36__length1;
#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 3430 "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 3442 "FSpotImporter.c"
			GFile* _tmp24_;
			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 3449 "FSpotImporter.c"
			{
				GFile* _tmp25_;
				gboolean _tmp26_;
#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 3459 "FSpotImporter.c"
					SpitDataImportsImportableLibrary** _tmp27_;
					gint _tmp27__length1;
					GFile* _tmp28_;
					DataImportsFSpotFSpotImportableLibrary* _tmp29_;
					GFile* _tmp30_;
					gchar* _tmp31_;
					gchar* _tmp32_;
#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 3487 "FSpotImporter.c"
				}
#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (db_file);
#line 3491 "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 3503 "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 3507 "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 3521 "FSpotImporter.c"
}


static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library) {
	DataImportsFSpotFSpotDataImporter * self;
	SpitDataImportsImportableLibrary* _tmp0_;
	GFile* _tmp1_;
	GFile* _tmp2_;
#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 3544 "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 3555 "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 3561 "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 3572 "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 3578 "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 3589 "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 3595 "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 3606 "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 3612 "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 3619 "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_;
	GeeArrayList* _tmp35_;
	gint _tmp36_;
	gint _tmp37_;
	SpitDataImportsPluginHost* _tmp172_;
	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 3647 "FSpotImporter.c"
	{
		DataImportsFSpotDbFSpotDatabase* _tmp0_ = NULL;
		GFile* _tmp1_;
		DataImportsFSpotDbFSpotDatabase* _tmp2_;
		DataImportsFSpotDbFSpotDatabase* _tmp3_;
#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 3663 "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 3668 "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 3683 "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 3695 "FSpotImporter.c"
	}
	goto __finally0;
	__catch0_database_error:
	{
		GError* e = NULL;
		GError* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		SpitDataImportsPluginHost* _tmp8_;
#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 3736 "FSpotImporter.c"
	}
	goto __finally0;
	__catch0_spit_data_imports_data_import_error:
	{
		GError* e = NULL;
		GError* _tmp9_;
		const gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		SpitDataImportsPluginHost* _tmp13_;
#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 3777 "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 3794 "FSpotImporter.c"
	}
	{
		DataImportsFSpotFSpotTagsCache* _tmp14_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp15_;
		DataImportsFSpotDbFSpotTagsTable* _tmp16_;
		DataImportsFSpotFSpotTagsCache* _tmp17_;
		DataImportsFSpotFSpotTagsCache* _tmp18_;
#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 3814 "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 3829 "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 3841 "FSpotImporter.c"
	}
	goto __finally1;
	__catch1_database_error:
	{
		GError* e = NULL;
		GError* _tmp19_;
		const gchar* _tmp20_;
		gchar* _tmp21_;
		gchar* _tmp22_;
		SpitDataImportsPluginHost* _tmp23_;
#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 3882 "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 3899 "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"
	spit_data_imports_plugin_host_install_import_progress_pane (_tmp24_, _ ("Preparing to import"));
#line 3905 "FSpotImporter.c"
	{
		GeeArrayList* _tmp25_ = NULL;
		DataImportsFSpotDbFSpotDatabase* _tmp26_;
		DataImportsFSpotDbFSpotPhotosTable* _tmp27_;
		GeeArrayList* _tmp28_;
		GeeArrayList* _tmp29_;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp26_ = database;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp27_ = _tmp26_->photos_table;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp28_ = data_imports_fspot_db_fspot_photos_table_get_all (_tmp27_, &_inner_error_);
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp25_ = _tmp28_;
#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 3924 "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 3939 "FSpotImporter.c"
		}
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp29_ = _tmp25_;
#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp25_ = 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 = _tmp29_;
#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_tmp25_);
#line 3951 "FSpotImporter.c"
	}
	goto __finally2;
	__catch2_database_error:
	{
		GError* e = NULL;
		GError* _tmp30_;
		const gchar* _tmp31_;
		gchar* _tmp32_;
		gchar* _tmp33_;
		SpitDataImportsPluginHost* _tmp34_;
#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"
		_tmp30_ = e;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp31_ = _tmp30_->message;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp32_ = g_strdup_printf ("FSpotDataImporter: Can't read photos table: %s", _tmp31_);
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp33_ = _tmp32_;
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		g_debug ("FSpotImporter.vala:428: %s", _tmp33_);
#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_free0 (_tmp33_);
#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp34_ = self->priv->host;
#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		spit_data_imports_plugin_host_post_error_message (_tmp34_, 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 3992 "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 4009 "FSpotImporter.c"
	}
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp35_ = all_photos;
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp36_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp37_ = _tmp36_;
#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	if (_tmp37_ > 0) {
#line 4019 "FSpotImporter.c"
		GeeArrayList* _tmp38_;
		gint _tmp39_;
		gint _tmp40_;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp38_ = all_photos;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp39_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp40_ = _tmp39_;
#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		progress_delta_per_photo = 1.0 / _tmp40_;
#line 4031 "FSpotImporter.c"
	}
	{
		GeeArrayList* _photo_row_list = NULL;
		GeeArrayList* _tmp41_;
		GeeArrayList* _tmp42_;
		gint _photo_row_size = 0;
		GeeArrayList* _tmp43_;
		gint _tmp44_;
		gint _tmp45_;
		gint _photo_row_index = 0;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp41_ = all_photos;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp42_ = _g_object_ref0 (_tmp41_);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_photo_row_list = _tmp42_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp43_ = _photo_row_list;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp44_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_tmp45_ = _tmp44_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_photo_row_size = _tmp45_;
#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 4060 "FSpotImporter.c"
			gint _tmp46_;
			gint _tmp47_;
			gint _tmp48_;
			DataImportsFSpotDbFSpotPhotoRow* photo_row = NULL;
			GeeArrayList* _tmp49_;
			gint _tmp50_;
			gpointer _tmp51_;
			gboolean hidden = FALSE;
			gboolean favorite = FALSE;
			DataImportsFSpotFSpotImportableTag** tags = NULL;
			DataImportsFSpotFSpotImportableTag** _tmp52_;
			gint tags_length1;
			gint _tags_size_;
			DataImportsFSpotFSpotImportableEvent* event = NULL;
			DataImportsFSpotDbFSpotRollRow* roll_row = NULL;
			SpitDataImportsImportableMediaItem** importable_items = NULL;
			SpitDataImportsImportableMediaItem** _tmp96_;
			gint importable_items_length1;
			gint _importable_items_size_;
			gboolean _tmp160_;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp46_ = _photo_row_index;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_photo_row_index = _tmp46_ + 1;
#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"
			_tmp48_ = _photo_row_size;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (!(_tmp47_ < _tmp48_)) {
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				break;
#line 4093 "FSpotImporter.c"
			}
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp49_ = _photo_row_list;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp50_ = _photo_row_index;
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp51_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp50_);
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			photo_row = (DataImportsFSpotDbFSpotPhotoRow*) _tmp51_;
#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"
			_tmp52_ = g_new0 (DataImportsFSpotFSpotImportableTag*, 0 + 1);
#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			tags = _tmp52_;
#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 4119 "FSpotImporter.c"
			{
				GeeArrayList* _tmp53_ = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp54_;
				DataImportsFSpotDbFSpotTagsTable* _tmp55_;
				DataImportsFSpotDbFSpotPhotoRow* _tmp56_;
				gint64 _tmp57_;
				GeeArrayList* _tmp58_;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp54_ = database;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp55_ = _tmp54_->tags_table;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp56_ = photo_row;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp57_ = _tmp56_->photo_id;
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp58_ = data_imports_fspot_db_fspot_tags_table_get_by_photo_id (_tmp55_, _tmp57_, &_inner_error_);
#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp53_ = _tmp58_;
#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 4143 "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 4168 "FSpotImporter.c"
				}
				{
					GeeArrayList* _tag_row_list = NULL;
					GeeArrayList* _tmp59_;
					gint _tag_row_size = 0;
					GeeArrayList* _tmp60_;
					gint _tmp61_;
					gint _tmp62_;
					gint _tag_row_index = 0;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp59_ = _g_object_ref0 (_tmp53_);
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tag_row_list = _tmp59_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp60_ = _tag_row_list;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp61_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp62_ = _tmp61_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tag_row_size = _tmp62_;
#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 4194 "FSpotImporter.c"
						gint _tmp63_;
						gint _tmp64_;
						gint _tmp65_;
						DataImportsFSpotDbFSpotTagRow* tag_row = NULL;
						GeeArrayList* _tmp66_;
						gint _tmp67_;
						gpointer _tmp68_;
						DataImportsFSpotFSpotImportableTag* tag = NULL;
						DataImportsFSpotFSpotTagsCache* _tmp69_;
						DataImportsFSpotDbFSpotTagRow* _tmp70_;
						DataImportsFSpotFSpotImportableTag* _tmp71_;
						DataImportsFSpotFSpotImportableTag* _tmp72_;
						DataImportsFSpotDbFSpotDatabase* _tmp73_;
						gint64 _tmp74_;
						gboolean _tmp75_;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp63_ = _tag_row_index;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tag_row_index = _tmp63_ + 1;
#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"
						_tmp65_ = _tag_row_size;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (!(_tmp64_ < _tmp65_)) {
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							break;
#line 4222 "FSpotImporter.c"
						}
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp66_ = _tag_row_list;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp67_ = _tag_row_index;
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp68_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp67_);
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						tag_row = (DataImportsFSpotDbFSpotTagRow*) _tmp68_;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp69_ = tags_cache;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp70_ = tag_row;
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp71_ = data_imports_fspot_fspot_tags_cache_get_tag (_tmp69_, _tmp70_, &_inner_error_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						tag = _tmp71_;
#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 (_tmp53_);
#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							if (_inner_error_->domain == DATABASE_ERROR) {
#line 4250 "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 (_tmp53_);
#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 4281 "FSpotImporter.c"
						}
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp72_ = tag;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp73_ = database;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp74_ = _tmp73_->hidden_tag_id;
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp75_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp72_, _tmp74_);
#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp75_) {
#line 453 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							hidden = TRUE;
#line 4295 "FSpotImporter.c"
						} else {
							DataImportsFSpotFSpotImportableTag* _tmp76_;
							gboolean _tmp77_;
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp76_ = tag;
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp77_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp76_);
#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							if (_tmp77_) {
#line 455 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								favorite = TRUE;
#line 4307 "FSpotImporter.c"
							} else {
								DataImportsFSpotFSpotImportableTag** _tmp78_;
								gint _tmp78__length1;
								DataImportsFSpotFSpotImportableTag* _tmp79_;
								DataImportsFSpotFSpotImportableTag* _tmp80_;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp78_ = tags;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp78__length1 = tags_length1;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp79_ = tag;
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_tmp80_ = _g_object_ref0 (_tmp79_);
#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
								_vala_array_add3 (&tags, &tags_length1, &_tags_size_, _tmp80_);
#line 4323 "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 4330 "FSpotImporter.c"
					}
#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_tag_row_list);
#line 4334 "FSpotImporter.c"
				}
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_tmp53_);
#line 4338 "FSpotImporter.c"
			}
			goto __finally3;
			__catch3_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp81_;
				gint64 _tmp82_;
				GError* _tmp83_;
				const gchar* _tmp84_;
#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"
				_tmp81_ = photo_row;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp82_ = _tmp81_->photo_id;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp83_ = e;
#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp84_ = _tmp83_->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) _tmp82_, _tmp84_);
#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4364 "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 4391 "FSpotImporter.c"
			}
			{
				DataImportsFSpotDbFSpotRollRow* _tmp85_ = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp86_;
				DataImportsFSpotDbFSpotRollsTable* _tmp87_;
				DataImportsFSpotDbFSpotPhotoRow* _tmp88_;
				gint64 _tmp89_;
				DataImportsFSpotDbFSpotRollRow* _tmp90_;
				DataImportsFSpotDbFSpotRollRow* _tmp91_;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp86_ = database;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp87_ = _tmp86_->rolls_table;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp88_ = photo_row;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp89_ = _tmp88_->roll_id;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp90_ = data_imports_fspot_db_fspot_rolls_table_get_by_id (_tmp87_, _tmp89_, &_inner_error_);
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp85_ = _tmp90_;
#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 4417 "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 4442 "FSpotImporter.c"
				}
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp91_ = _tmp85_;
#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp85_ = 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 = _tmp91_;
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (_tmp85_);
#line 4454 "FSpotImporter.c"
			}
			goto __finally4;
			__catch4_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp92_;
				gint64 _tmp93_;
				GError* _tmp94_;
				const gchar* _tmp95_;
#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"
				_tmp92_ = photo_row;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp93_ = _tmp92_->photo_id;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp94_ = e;
#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp95_ = _tmp94_->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) _tmp93_, _tmp95_);
#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4480 "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 4507 "FSpotImporter.c"
			}
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp96_ = g_new0 (SpitDataImportsImportableMediaItem*, 0 + 1);
#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			importable_items = _tmp96_;
#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 4517 "FSpotImporter.c"
			{
				GeeArrayList* photo_versions = NULL;
				DataImportsFSpotDbFSpotDatabase* _tmp97_;
				DataImportsFSpotDbFSpotPhotoVersionsTable* _tmp98_;
				DataImportsFSpotDbFSpotPhotoRow* _tmp99_;
				gint64 _tmp100_;
				GeeArrayList* _tmp101_;
				gboolean photo_versions_added = FALSE;
				gboolean photo_versions_skipped = FALSE;
				gboolean _tmp127_ = FALSE;
				gboolean _tmp128_;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp97_ = database;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp98_ = _tmp97_->photo_versions_table;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp99_ = photo_row;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp100_ = _tmp99_->photo_id;
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp101_ = data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (_tmp98_, _tmp100_, &_inner_error_);
#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				photo_versions = _tmp101_;
#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 4545 "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 4572 "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 4578 "FSpotImporter.c"
				{
					GeeArrayList* _photo_version_row_list = NULL;
					GeeArrayList* _tmp102_;
					GeeArrayList* _tmp103_;
					gint _photo_version_row_size = 0;
					GeeArrayList* _tmp104_;
					gint _tmp105_;
					gint _tmp106_;
					gint _photo_version_row_index = 0;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp102_ = photo_versions;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp103_ = _g_object_ref0 (_tmp102_);
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_photo_version_row_list = _tmp103_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp104_ = _photo_version_row_list;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp105_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp106_ = _tmp105_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_photo_version_row_size = _tmp106_;
#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 4606 "FSpotImporter.c"
						gint _tmp107_;
						gint _tmp108_;
						gint _tmp109_;
						DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row = NULL;
						GeeArrayList* _tmp110_;
						gint _tmp111_;
						gpointer _tmp112_;
						gboolean _tmp113_ = FALSE;
						DataImportsFSpotDbFSpotPhotoVersionRow* _tmp114_;
						GFile* _tmp115_;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp107_ = _photo_version_row_index;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_photo_version_row_index = _tmp107_ + 1;
#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"
						_tmp109_ = _photo_version_row_size;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (!(_tmp108_ < _tmp109_)) {
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							break;
#line 4629 "FSpotImporter.c"
						}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp110_ = _photo_version_row_list;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp111_ = _photo_version_row_index;
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp112_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp111_);
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						photo_version_row = (DataImportsFSpotDbFSpotPhotoVersionRow*) _tmp112_;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp114_ = photo_version_row;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp115_ = _tmp114_->base_path;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp115_ != NULL) {
#line 4645 "FSpotImporter.c"
							DataImportsFSpotDbFSpotPhotoVersionRow* _tmp116_;
							const gchar* _tmp117_;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp116_ = photo_version_row;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp117_ = _tmp116_->filename;
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp113_ = _tmp117_ != NULL;
#line 4654 "FSpotImporter.c"
						} else {
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp113_ = FALSE;
#line 4658 "FSpotImporter.c"
						}
#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						if (_tmp113_) {
#line 4662 "FSpotImporter.c"
							SpitDataImportsImportableMediaItem** _tmp118_;
							gint _tmp118__length1;
							DataImportsFSpotDbFSpotPhotoRow* _tmp119_;
							DataImportsFSpotDbFSpotPhotoVersionRow* _tmp120_;
							DataImportsFSpotDbFSpotRollRow* _tmp121_;
							DataImportsFSpotFSpotImportableTag** _tmp122_;
							gint _tmp122__length1;
							DataImportsFSpotFSpotImportableEvent* _tmp123_;
							gboolean _tmp124_;
							gboolean _tmp125_;
							DataImportsFSpotFSpotImportableItem* _tmp126_;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp118_ = importable_items;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp118__length1 = importable_items_length1;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp119_ = photo_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp120_ = photo_version_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp121_ = roll_row;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp122_ = tags;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp122__length1 = tags_length1;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp123_ = event;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp124_ = hidden;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp125_ = favorite;
#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							_tmp126_ = data_imports_fspot_fspot_importable_item_new (_tmp119_, _tmp120_, _tmp121_, _tmp122_, _tmp122__length1, _tmp123_, _tmp124_, _tmp125_);
#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 (_tmp126_, 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 4700 "FSpotImporter.c"
						} else {
#line 486 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
							photo_versions_skipped = TRUE;
#line 4704 "FSpotImporter.c"
						}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_g_object_unref0 (photo_version_row);
#line 4708 "FSpotImporter.c"
					}
#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_g_object_unref0 (_photo_version_row_list);
#line 4712 "FSpotImporter.c"
				}
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp128_ = photo_versions_skipped;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp128_) {
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp127_ = TRUE;
#line 4720 "FSpotImporter.c"
				} else {
					gboolean _tmp129_;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp129_ = photo_versions_added;
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp127_ = !_tmp129_;
#line 4727 "FSpotImporter.c"
				}
#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp127_) {
#line 4731 "FSpotImporter.c"
					gboolean _tmp130_ = FALSE;
					DataImportsFSpotDbFSpotPhotoRow* _tmp131_;
					GFile* _tmp132_;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp131_ = photo_row;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp132_ = _tmp131_->base_path;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_tmp132_ != NULL) {
#line 4741 "FSpotImporter.c"
						DataImportsFSpotDbFSpotPhotoRow* _tmp133_;
						const gchar* _tmp134_;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp133_ = photo_row;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp134_ = _tmp133_->filename;
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp130_ = _tmp134_ != NULL;
#line 4750 "FSpotImporter.c"
					} else {
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp130_ = FALSE;
#line 4754 "FSpotImporter.c"
					}
#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					if (_tmp130_) {
#line 4758 "FSpotImporter.c"
						SpitDataImportsImportableMediaItem** _tmp135_;
						gint _tmp135__length1;
						DataImportsFSpotDbFSpotPhotoRow* _tmp136_;
						DataImportsFSpotDbFSpotRollRow* _tmp137_;
						DataImportsFSpotFSpotImportableTag** _tmp138_;
						gint _tmp138__length1;
						DataImportsFSpotFSpotImportableEvent* _tmp139_;
						gboolean _tmp140_;
						gboolean _tmp141_;
						DataImportsFSpotFSpotImportableItem* _tmp142_;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp135_ = importable_items;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp135__length1 = importable_items_length1;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp136_ = photo_row;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp137_ = roll_row;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp138_ = tags;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp138__length1 = tags_length1;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp139_ = event;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp140_ = hidden;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp141_ = favorite;
#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
						_tmp142_ = data_imports_fspot_fspot_importable_item_new (_tmp136_, NULL, _tmp137_, _tmp138_, _tmp138__length1, _tmp139_, _tmp140_, _tmp141_);
#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 (_tmp142_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem));
#line 4791 "FSpotImporter.c"
					}
				}
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_object_unref0 (photo_versions);
#line 4796 "FSpotImporter.c"
			}
			goto __finally5;
			__catch5_database_error:
			{
				GError* e = NULL;
				DataImportsFSpotDbFSpotPhotoRow* _tmp143_;
				gint64 _tmp144_;
				GError* _tmp145_;
				const gchar* _tmp146_;
				gboolean _tmp147_ = FALSE;
				DataImportsFSpotDbFSpotPhotoRow* _tmp148_;
				GFile* _tmp149_;
#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"
				_tmp143_ = photo_row;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp144_ = _tmp143_->photo_id;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp145_ = e;
#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp146_ = _tmp145_->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) _tmp144_, _tmp146_);
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp148_ = photo_row;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp149_ = _tmp148_->base_path;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp149_ != NULL) {
#line 4829 "FSpotImporter.c"
					DataImportsFSpotDbFSpotPhotoRow* _tmp150_;
					const gchar* _tmp151_;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp150_ = photo_row;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp151_ = _tmp150_->filename;
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp147_ = _tmp151_ != NULL;
#line 4838 "FSpotImporter.c"
				} else {
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp147_ = FALSE;
#line 4842 "FSpotImporter.c"
				}
#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				if (_tmp147_) {
#line 4846 "FSpotImporter.c"
					SpitDataImportsImportableMediaItem** _tmp152_;
					gint _tmp152__length1;
					DataImportsFSpotDbFSpotPhotoRow* _tmp153_;
					DataImportsFSpotDbFSpotRollRow* _tmp154_;
					DataImportsFSpotFSpotImportableTag** _tmp155_;
					gint _tmp155__length1;
					DataImportsFSpotFSpotImportableEvent* _tmp156_;
					gboolean _tmp157_;
					gboolean _tmp158_;
					DataImportsFSpotFSpotImportableItem* _tmp159_;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp152_ = importable_items;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp152__length1 = importable_items_length1;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp153_ = photo_row;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp154_ = roll_row;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp155_ = tags;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp155__length1 = tags_length1;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp156_ = event;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp157_ = hidden;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp158_ = favorite;
#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
					_tmp159_ = data_imports_fspot_fspot_importable_item_new (_tmp153_, NULL, _tmp154_, _tmp155_, _tmp155__length1, _tmp156_, _tmp157_, _tmp158_);
#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 (_tmp159_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem));
#line 4879 "FSpotImporter.c"
				}
#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_g_error_free0 (e);
#line 4883 "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 4912 "FSpotImporter.c"
			}
#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			_tmp160_ = self->priv->running;
#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
			if (_tmp160_) {
#line 4918 "FSpotImporter.c"
				SpitDataImportsPluginHost* _tmp161_;
				SpitDataImportsImportableMediaItem** _tmp162_;
				gint _tmp162__length1;
				gdouble _tmp163_;
				gdouble _tmp164_;
				gdouble _tmp165_;
				gdouble _tmp166_;
				gdouble _tmp167_;
				gdouble _tmp168_;
				gdouble _tmp169_;
				SpitDataImportsPluginHost* _tmp170_;
				gdouble _tmp171_;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp161_ = self->priv->host;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp162_ = importable_items;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp162__length1 = importable_items_length1;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp163_ = current_progress;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp164_ = progress_delta_per_photo;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp165_ = progress_plugin_to_host_ratio;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp166_ = progress_delta_per_photo;
#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp167_ = 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 (_tmp161_, _tmp162_, _tmp162__length1, _tmp163_ + (_tmp164_ * _tmp165_), _tmp166_ * (1 - _tmp167_), NULL);
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp168_ = current_progress;
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp169_ = progress_delta_per_photo;
#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				current_progress = _tmp168_ + _tmp169_;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp170_ = self->priv->host;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				_tmp171_ = current_progress;
#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
				spit_data_imports_plugin_host_update_import_progress_pane (_tmp170_, _tmp171_, NULL);
#line 4961 "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 4975 "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 4987 "FSpotImporter.c"
		}
#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (_photo_row_list);
#line 4991 "FSpotImporter.c"
	}
#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	_tmp172_ = self->priv->host;
#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
	spit_data_imports_plugin_host_finalize_import (_tmp172_, _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 5003 "FSpotImporter.c"
}


void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count) {
	SpitDataImportsPluginHost* _tmp0_;
	gint _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#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 5026 "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_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
#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 5058 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp5_;
		DataImportsFSpotFSpotImportableTag* _tmp6_;
		DataImportsFSpotFSpotImportableTag* _tmp7_;
#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 5075 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp8_;
			gboolean _tmp9_;
#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 5085 "FSpotImporter.c"
		}
#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5089 "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 5095 "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_;
	DataImportsFSpotFSpotImportableTag* _tmp1_;
	gint64 _tmp2_;
	gboolean _tmp3_;
#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 5122 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp4_;
		DataImportsFSpotFSpotImportableTag* _tmp5_;
		DataImportsFSpotFSpotImportableTag* _tmp6_;
#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 5139 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp7_;
			gint64 _tmp8_;
			gboolean _tmp9_;
#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 5152 "FSpotImporter.c"
		}
#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5156 "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 5162 "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_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
#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 5194 "FSpotImporter.c"
		DataImportsFSpotFSpotImportableTag* parent = NULL;
		DataImportsFSpotFSpotImportableTag* _tmp5_;
		DataImportsFSpotFSpotImportableTag* _tmp6_;
		DataImportsFSpotFSpotImportableTag* _tmp7_;
#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 5211 "FSpotImporter.c"
		} else {
			DataImportsFSpotFSpotImportableTag* _tmp8_;
			gboolean _tmp9_;
#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 5221 "FSpotImporter.c"
		}
#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala"
		_g_object_unref0 (parent);
#line 5225 "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 5231 "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 5242 "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 5261 "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 5274 "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 5284 "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);
}



