diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-08-20 15:09:31 +0200 |
commit | 143bfc9f801c84428074312d661f8e08803df83b (patch) | |
tree | 59a8a447529bd9ce3807aa8bacef861dc5aafd70 /plugins/shotwell-data-imports/FSpotImporter.c | |
parent | 29a7aef998e975b42401cfa96d1b750d91eadf06 (diff) |
Imported Upstream version 0.23.5upstream/0.23.5
Diffstat (limited to 'plugins/shotwell-data-imports/FSpotImporter.c')
-rw-r--r-- | plugins/shotwell-data-imports/FSpotImporter.c | 5345 |
1 files changed, 5345 insertions, 0 deletions
diff --git a/plugins/shotwell-data-imports/FSpotImporter.c b/plugins/shotwell-data-imports/FSpotImporter.c new file mode 100644 index 0000000..5cb73d5 --- /dev/null +++ b/plugins/shotwell-data-imports/FSpotImporter.c @@ -0,0 +1,5345 @@ +/* FSpotImporter.c generated by valac 0.32.1, the Vala compiler + * generated from FSpotImporter.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <shotwell-plugin-dev-1.0.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <stdlib.h> +#include <string.h> +#include <gio/gio.h> +#include "shotwell-plugin-common.h" +#include <glib/gi18n-lib.h> +#include <time.h> +#include <gee.h> +#include <float.h> +#include <math.h> + + +#define TYPE_FSPOT_SERVICE (fspot_service_get_type ()) +#define FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FSPOT_SERVICE, FSpotService)) +#define FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FSPOT_SERVICE, FSpotServiceClass)) +#define IS_FSPOT_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FSPOT_SERVICE)) +#define IS_FSPOT_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FSPOT_SERVICE)) +#define FSPOT_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FSPOT_SERVICE, FSpotServiceClass)) + +typedef struct _FSpotService FSpotService; +typedef struct _FSpotServiceClass FSpotServiceClass; +typedef struct _FSpotServicePrivate FSpotServicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER (data_imports_fspot_fspot_data_importer_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter)) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER)) +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterClass)) + +typedef struct _DataImportsFSpotFSpotDataImporter DataImportsFSpotFSpotDataImporter; +typedef struct _DataImportsFSpotFSpotDataImporterClass DataImportsFSpotFSpotDataImporterClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY (data_imports_fspot_fspot_importable_library_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryClass)) + +typedef struct _DataImportsFSpotFSpotImportableLibrary DataImportsFSpotFSpotImportableLibrary; +typedef struct _DataImportsFSpotFSpotImportableLibraryClass DataImportsFSpotFSpotImportableLibraryClass; +typedef struct _DataImportsFSpotFSpotImportableLibraryPrivate DataImportsFSpotFSpotImportableLibraryPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM (data_imports_fspot_fspot_importable_item_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemClass)) + +typedef struct _DataImportsFSpotFSpotImportableItem DataImportsFSpotFSpotImportableItem; +typedef struct _DataImportsFSpotFSpotImportableItemClass DataImportsFSpotFSpotImportableItemClass; +typedef struct _DataImportsFSpotFSpotImportableItemPrivate DataImportsFSpotFSpotImportableItemPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW (data_imports_fspot_db_fspot_photo_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_ROW, DataImportsFSpotDbFSpotPhotoRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoRow DataImportsFSpotDbFSpotPhotoRow; +typedef struct _DataImportsFSpotDbFSpotPhotoRowClass DataImportsFSpotDbFSpotPhotoRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW (data_imports_fspot_db_fspot_photo_version_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSION_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSION_ROW, DataImportsFSpotDbFSpotPhotoVersionRowClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRow DataImportsFSpotDbFSpotPhotoVersionRow; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowClass DataImportsFSpotDbFSpotPhotoVersionRowClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW (data_imports_fspot_db_fspot_roll_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLL_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLL_ROW, DataImportsFSpotDbFSpotRollRowClass)) + +typedef struct _DataImportsFSpotDbFSpotRollRow DataImportsFSpotDbFSpotRollRow; +typedef struct _DataImportsFSpotDbFSpotRollRowClass DataImportsFSpotDbFSpotRollRowClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG (data_imports_fspot_fspot_importable_tag_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagClass)) + +typedef struct _DataImportsFSpotFSpotImportableTag DataImportsFSpotFSpotImportableTag; +typedef struct _DataImportsFSpotFSpotImportableTagClass DataImportsFSpotFSpotImportableTagClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT (data_imports_fspot_fspot_importable_event_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventClass)) + +typedef struct _DataImportsFSpotFSpotImportableEvent DataImportsFSpotFSpotImportableEvent; +typedef struct _DataImportsFSpotFSpotImportableEventClass DataImportsFSpotFSpotImportableEventClass; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING (data_imports_fspot_fspot_importable_rating_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING)) +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingClass)) + +typedef struct _DataImportsFSpotFSpotImportableRating DataImportsFSpotFSpotImportableRating; +typedef struct _DataImportsFSpotFSpotImportableRatingClass DataImportsFSpotFSpotImportableRatingClass; +typedef struct _DataImportsFSpotDbFSpotPhotoRowPrivate DataImportsFSpotDbFSpotPhotoRowPrivate; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionRowPrivate DataImportsFSpotDbFSpotPhotoVersionRowPrivate; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +typedef struct _DataImportsFSpotFSpotImportableTagPrivate DataImportsFSpotFSpotImportableTagPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW (data_imports_fspot_db_fspot_tag_row_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRow)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAG_ROW, DataImportsFSpotDbFSpotTagRowClass)) + +typedef struct _DataImportsFSpotDbFSpotTagRow DataImportsFSpotDbFSpotTagRow; +typedef struct _DataImportsFSpotDbFSpotTagRowClass DataImportsFSpotDbFSpotTagRowClass; +typedef struct _DataImportsFSpotDbFSpotTagRowPrivate DataImportsFSpotDbFSpotTagRowPrivate; +typedef struct _DataImportsFSpotFSpotImportableEventPrivate DataImportsFSpotFSpotImportableEventPrivate; +typedef struct _DataImportsFSpotFSpotImportableRatingPrivate DataImportsFSpotFSpotImportableRatingPrivate; + +#define DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE (data_imports_fspot_fspot_tags_cache_get_type ()) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache)) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE)) +#define DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE)) +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCacheClass)) + +typedef struct _DataImportsFSpotFSpotTagsCache DataImportsFSpotFSpotTagsCache; +typedef struct _DataImportsFSpotFSpotTagsCacheClass DataImportsFSpotFSpotTagsCacheClass; +typedef struct _DataImportsFSpotFSpotTagsCachePrivate DataImportsFSpotFSpotTagsCachePrivate; + +#define TYPE_IMPORTABLE_DATABASE_TABLE (importable_database_table_get_type ()) +#define IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTable)) +#define IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) +#define IS_IMPORTABLE_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IS_IMPORTABLE_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORTABLE_DATABASE_TABLE)) +#define IMPORTABLE_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORTABLE_DATABASE_TABLE, ImportableDatabaseTableClass)) + +typedef struct _ImportableDatabaseTable ImportableDatabaseTable; +typedef struct _ImportableDatabaseTableClass ImportableDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE (data_imports_fspot_db_fspot_database_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE_TABLE, DataImportsFSpotDbFSpotDatabaseTableClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabaseTable DataImportsFSpotDbFSpotDatabaseTable; +typedef struct _DataImportsFSpotDbFSpotDatabaseTableClass DataImportsFSpotDbFSpotDatabaseTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE (data_imports_fspot_db_fspot_tags_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_TAGS_TABLE, DataImportsFSpotDbFSpotTagsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotTagsTable DataImportsFSpotDbFSpotTagsTable; +typedef struct _DataImportsFSpotDbFSpotTagsTableClass DataImportsFSpotDbFSpotTagsTableClass; +#define _importable_database_table_unref0(var) ((var == NULL) ? NULL : (var = (importable_database_table_unref (var), NULL))) +typedef struct _DataImportsFSpotFSpotDataImporterPrivate DataImportsFSpotFSpotDataImporterPrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE (data_imports_fspot_db_fspot_database_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabase)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_DATABASE, DataImportsFSpotDbFSpotDatabaseClass)) + +typedef struct _DataImportsFSpotDbFSpotDatabase DataImportsFSpotDbFSpotDatabase; +typedef struct _DataImportsFSpotDbFSpotDatabaseClass DataImportsFSpotDbFSpotDatabaseClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _DataImportsFSpotDbFSpotDatabasePrivate DataImportsFSpotDbFSpotDatabasePrivate; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE (data_imports_fspot_db_fspot_photos_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTOS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTOS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTOS_TABLE, DataImportsFSpotDbFSpotPhotosTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotosTable DataImportsFSpotDbFSpotPhotosTable; +typedef struct _DataImportsFSpotDbFSpotPhotosTableClass DataImportsFSpotDbFSpotPhotosTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE (data_imports_fspot_db_fspot_photo_versions_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSIONS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_PHOTO_VERSIONS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_PHOTO_VERSIONS_TABLE, DataImportsFSpotDbFSpotPhotoVersionsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTable DataImportsFSpotDbFSpotPhotoVersionsTable; +typedef struct _DataImportsFSpotDbFSpotPhotoVersionsTableClass DataImportsFSpotDbFSpotPhotoVersionsTableClass; + +#define DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE (data_imports_fspot_db_fspot_rolls_table_get_type ()) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTable)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLLS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE)) +#define DATA_IMPORTS_FSPOT_DB_FSPOT_ROLLS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_FSPOT_DB_TYPE_FSPOT_ROLLS_TABLE, DataImportsFSpotDbFSpotRollsTableClass)) + +typedef struct _DataImportsFSpotDbFSpotRollsTable DataImportsFSpotDbFSpotRollsTable; +typedef struct _DataImportsFSpotDbFSpotRollsTableClass DataImportsFSpotDbFSpotRollsTableClass; + +struct _FSpotService { + GObject parent_instance; + FSpotServicePrivate * priv; +}; + +struct _FSpotServiceClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableLibrary { + GObject parent_instance; + DataImportsFSpotFSpotImportableLibraryPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableLibraryClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableLibraryPrivate { + GFile* db_file; +}; + +struct _DataImportsFSpotFSpotImportableItem { + GObject parent_instance; + DataImportsFSpotFSpotImportableItemPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableItemClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableItemPrivate { + DataImportsFSpotDbFSpotPhotoRow* photo_row; + DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row; + DataImportsFSpotDbFSpotRollRow* roll_row; + DataImportsFSpotFSpotImportableTag** tags; + gint tags_length1; + gint _tags_size_; + DataImportsFSpotFSpotImportableEvent* event; + DataImportsFSpotFSpotImportableRating* rating; + gchar* folder_path; + gchar* filename; + time_t* date_time; +}; + +struct _DataImportsFSpotDbFSpotPhotoRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoRowPrivate * priv; + gint64 photo_id; + time_t time; + GFile* base_path; + gchar* filename; + gchar* description; + gint64 roll_id; + gint64 default_version_id; + gint rating; + gchar* md5_sum; +}; + +struct _DataImportsFSpotDbFSpotPhotoRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionRow { + GObject parent_instance; + DataImportsFSpotDbFSpotPhotoVersionRowPrivate * priv; + gint64 photo_id; + gint64 version_id; + gchar* name; + GFile* base_path; + gchar* filename; + gchar* md5_sum; + gboolean is_protected; +}; + +struct _DataImportsFSpotDbFSpotPhotoVersionRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableTag { + GObject parent_instance; + DataImportsFSpotFSpotImportableTagPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableTagClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableTagPrivate { + DataImportsFSpotDbFSpotTagRow* row; + DataImportsFSpotFSpotImportableTag* parent; +}; + +struct _DataImportsFSpotDbFSpotTagRow { + GObject parent_instance; + DataImportsFSpotDbFSpotTagRowPrivate * priv; + gint64 tag_id; + gchar* name; + gint64 category_id; + gboolean is_category; + gint sort_priority; + gchar* stock_icon; +}; + +struct _DataImportsFSpotDbFSpotTagRowClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableEvent { + GObject parent_instance; + DataImportsFSpotFSpotImportableEventPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableEventClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableEventPrivate { + DataImportsFSpotDbFSpotTagRow* row; +}; + +struct _DataImportsFSpotFSpotImportableRating { + GObject parent_instance; + DataImportsFSpotFSpotImportableRatingPrivate * priv; +}; + +struct _DataImportsFSpotFSpotImportableRatingClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotImportableRatingPrivate { + gint rating_value; +}; + +struct _DataImportsFSpotFSpotTagsCache { + GObject parent_instance; + DataImportsFSpotFSpotTagsCachePrivate * priv; +}; + +struct _DataImportsFSpotFSpotTagsCacheClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotTagsCachePrivate { + DataImportsFSpotDbFSpotTagsTable* tags_table; + GeeHashMap* tags_map; +}; + +typedef enum { + DATABASE_ERROR_ERROR, + DATABASE_ERROR_BACKING, + DATABASE_ERROR_MEMORY, + DATABASE_ERROR_ABORT, + DATABASE_ERROR_LIMITS, + DATABASE_ERROR_TYPESPEC +} DatabaseError; +#define DATABASE_ERROR database_error_quark () +struct _DataImportsFSpotFSpotDataImporter { + GObject parent_instance; + DataImportsFSpotFSpotDataImporterPrivate * priv; +}; + +struct _DataImportsFSpotFSpotDataImporterClass { + GObjectClass parent_class; +}; + +struct _DataImportsFSpotFSpotDataImporterPrivate { + SpitDataImportsPluginHost* host; + SpitDataImportsService* service; + gboolean running; +}; + +struct _DataImportsFSpotDbFSpotDatabase { + GObject parent_instance; + DataImportsFSpotDbFSpotDatabasePrivate * priv; + DataImportsFSpotDbFSpotPhotosTable* photos_table; + DataImportsFSpotDbFSpotPhotoVersionsTable* photo_versions_table; + DataImportsFSpotDbFSpotTagsTable* tags_table; + DataImportsFSpotDbFSpotRollsTable* rolls_table; + gint64 hidden_tag_id; +}; + +struct _DataImportsFSpotDbFSpotDatabaseClass { + GObjectClass parent_class; +}; + + +static gpointer fspot_service_parent_class = NULL; +static GdkPixbuf** fspot_service_icon_pixbuf_set; +static gint fspot_service_icon_pixbuf_set_length1; +static GdkPixbuf** fspot_service_icon_pixbuf_set = NULL; +static gint fspot_service_icon_pixbuf_set_length1 = 0; +static gint _fspot_service_icon_pixbuf_set_size_ = 0; +static SpitPluggableIface* fspot_service_spit_pluggable_parent_iface = NULL; +static SpitDataImportsServiceIface* fspot_service_spit_data_imports_service_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_library_parent_class = NULL; +static SpitDataImportsImportableLibraryIface* data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_item_parent_class = NULL; +static SpitDataImportsImportableMediaItemIface* data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_tag_parent_class = NULL; +static SpitDataImportsImportableTagIface* data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_event_parent_class = NULL; +static SpitDataImportsImportableEventIface* data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_importable_rating_parent_class = NULL; +static SpitDataImportsImportableRatingIface* data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = NULL; +static gpointer data_imports_fspot_fspot_tags_cache_parent_class = NULL; +static gpointer data_imports_fspot_fspot_data_importer_parent_class = NULL; +static SpitDataImportsDataImporterIface* data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = NULL; + +GType fspot_service_get_type (void) G_GNUC_CONST; +enum { + FSPOT_SERVICE_DUMMY_PROPERTY +}; +#define FSPOT_SERVICE_ICON_FILENAME "f-spot-24.png" +FSpotService* fspot_service_new (GFile* resource_directory); +FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory); +void data_imports_fspot_db_init (void); +static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface); +static const gchar* fspot_service_real_get_id (SpitPluggable* base); +static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base); +static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled); +static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host); +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host); +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host); +GType data_imports_fspot_fspot_data_importer_get_type (void) G_GNUC_CONST; +static void fspot_service_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_SERVICE_NAME "F-Spot" +#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE _ ("Welcome to the F-Spot library import service.\n" \ +"\n" \ +"Please select a library to import, either by selecting one of the exis" \ +"ting libraries found by Shotwell or by selecting an alternative F-Spot" \ +" database file.") +#define DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY _ ("Welcome to the F-Spot library import service.\n" \ +"\n" \ +"Please select an F-Spot database file.") +#define DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL _ ("Manually select an F-Spot database file to import:") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE _ ("Cannot open the selected F-Spot database file: the file does not exist" \ +" or is not an F-Spot database") +#define DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION _ ("Cannot open the selected F-Spot database file: this version of the F-S" \ +"pot database is not supported by Shotwell") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading tag" \ +"s table") +#define DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE _ ("Cannot read the selected F-Spot database file: error while reading pho" \ +"tos table") +#define DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN _ ("Shotwell has found %d photos in the F-Spot library and is currently im" \ +"porting them. Duplicates will be automatically detected and removed.\n" \ +"\n" \ +"You can close this dialog and start using Shotwell while the import is" \ +" taking place in the background.") +GType data_imports_fspot_fspot_importable_library_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibraryPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file); +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file); +GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self); +static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base); +static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj); +GType data_imports_fspot_fspot_importable_item_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_version_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_roll_row_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_tag_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_event_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_fspot_importable_rating_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItemPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite); +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite); +static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length); +static time_t* _time_t_dup (time_t* self); +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value); +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED -1 +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED 0 +static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url); +static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1); +static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value); +static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base); +static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base); +static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base); +static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base); +static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj); +GType data_imports_fspot_db_fspot_tag_row_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTagPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_DUMMY_PROPERTY +}; +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent); +gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self); +static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base); +static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self); +gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self); +gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON "stock_icon:" +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self); +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row); +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row); +static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEventPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_DUMMY_PROPERTY +}; +static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base); +static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRatingPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_DUMMY_PROPERTY +}; +static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base); +static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base); +static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base); +static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj); +GType data_imports_fspot_fspot_tags_cache_get_type (void) G_GNUC_CONST; +gpointer importable_database_table_ref (gpointer instance); +void importable_database_table_unref (gpointer instance); +GParamSpec* param_spec_importable_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_importable_database_table (GValue* value, gpointer v_object); +void value_take_importable_database_table (GValue* value, gpointer v_object); +gpointer value_get_importable_database_table (const GValue* value); +GType importable_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_database_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_tags_table_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCachePrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_DUMMY_PROPERTY +}; +GQuark database_error_quark (void); +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error); +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error); +static gint64* _int64_dup (gint64* self); +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error); +static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error); +DataImportsFSpotDbFSpotTagRow* data_imports_fspot_db_fspot_tags_table_get_by_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 tag_id, GError** error); +static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj); +#define DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporterPrivate)) +enum { + DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_DUMMY_PROPERTY +}; +static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base); +static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base); +static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base); +static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self); +static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base); +static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value); +static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library); +static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file); +GType data_imports_fspot_db_fspot_database_get_type (void) G_GNUC_CONST; +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_new (GFile* db_file, GError** error); +DataImportsFSpotDbFSpotDatabase* data_imports_fspot_db_fspot_database_construct (GType object_type, GFile* db_file, GError** error); +GType data_imports_fspot_db_fspot_photos_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_photo_versions_table_get_type (void) G_GNUC_CONST; +GType data_imports_fspot_db_fspot_rolls_table_get_type (void) G_GNUC_CONST; +GeeArrayList* data_imports_fspot_db_fspot_photos_table_get_all (DataImportsFSpotDbFSpotPhotosTable* self, GError** error); +GeeArrayList* data_imports_fspot_db_fspot_tags_table_get_by_photo_id (DataImportsFSpotDbFSpotTagsTable* self, gint64 photo_id, GError** error); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag); +static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value); +DataImportsFSpotDbFSpotRollRow* data_imports_fspot_db_fspot_rolls_table_get_by_id (DataImportsFSpotDbFSpotRollsTable* self, gint64 roll_id, GError** error); +GeeArrayList* data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (DataImportsFSpotDbFSpotPhotoVersionsTable* self, gint64 photo_id, GError** error); +static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value); +void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count); +static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self); +static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag); +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS "stock_icon:emblem-event" +#define DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV "stock_icon:emblem-favorite" +static void data_imports_fspot_fspot_data_importer_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +FSpotService* fspot_service_construct (GType object_type, GFile* resource_directory) { + FSpotService * self = NULL; + GdkPixbuf** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (G_IS_FILE (resource_directory), NULL); +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (FSpotService*) g_object_new (object_type, NULL); +#line 14 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_db_init (); +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = fspot_service_icon_pixbuf_set; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0__length1 = fspot_service_icon_pixbuf_set_length1; +#line 15 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ == NULL) { +#line 617 "FSpotImporter.c" + gint _tmp1_ = 0; + GdkPixbuf** _tmp2_ = NULL; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = resources_load_from_resource ("/org/gnome/Shotwell/Imports/" FSPOT_SERVICE_ICON_FILENAME, &_tmp1_); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set = (_vala_array_free (fspot_service_icon_pixbuf_set, fspot_service_icon_pixbuf_set_length1, (GDestroyNotify) g_object_unref), NULL); +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set = _tmp2_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_icon_pixbuf_set_length1 = _tmp1_; +#line 16 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _fspot_service_icon_pixbuf_set_size_ = fspot_service_icon_pixbuf_set_length1; +#line 630 "FSpotImporter.c" + } +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 634 "FSpotImporter.c" +} + + +FSpotService* fspot_service_new (GFile* resource_directory) { +#line 12 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return fspot_service_construct (TYPE_FSPOT_SERVICE, resource_directory); +#line 641 "FSpotImporter.c" +} + + +static gint fspot_service_real_get_pluggable_interface (SpitPluggable* base, gint min_host_interface, gint max_host_interface) { + FSpotService * self; + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 21 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = min_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = max_host_interface; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = spit_negotiate_interfaces (_tmp0_, _tmp1_, SPIT_DATA_IMPORTS_CURRENT_INTERFACE); +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 22 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 663 "FSpotImporter.c" +} + + +static const gchar* fspot_service_real_get_id (SpitPluggable* base) { + FSpotService * self; + const gchar* result = NULL; +#line 26 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = "org.yorba.shotwell.dataimports.fspot"; +#line 27 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 676 "FSpotImporter.c" +} + + +static const gchar* fspot_service_real_get_pluggable_name (SpitPluggable* base) { + FSpotService * self; + const gchar* result = NULL; +#line 30 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = "F-Spot"; +#line 31 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 689 "FSpotImporter.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? g_object_ref (self) : NULL; +#line 696 "FSpotImporter.c" +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (i = 0; i < length; i++) { +#line 707 "FSpotImporter.c" + GdkPixbuf* _tmp0_ = NULL; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result[i] = _tmp0_; +#line 713 "FSpotImporter.c" + } +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 717 "FSpotImporter.c" +} + + +static void fspot_service_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + FSpotService * self; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GdkPixbuf** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GdkPixbuf** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 34 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (info != NULL); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_strdup ("Bruno Girin"); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).authors); +#line 35 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).authors = _tmp0_; +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _ ("Copyright 2016 Software Freedom Conservancy Inc."); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).copyright); +#line 36 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).copyright = _tmp2_; +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strdup (RESOURCES_TRANSLATORS); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).translators); +#line 37 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).translators = _tmp3_; +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_strdup (_VERSION); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).version); +#line 38 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).version = _tmp4_; +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = g_strdup (RESOURCES_WEBSITE_NAME); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).website_name); +#line 39 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).website_name = _tmp5_; +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_strdup (RESOURCES_WEBSITE_URL); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).website_url); +#line 40 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).website_url = _tmp6_; +#line 41 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).is_license_wordwrapped = FALSE; +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = g_strdup (RESOURCES_LICENSE); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 ((*info).license); +#line 42 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).license = _tmp7_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = fspot_service_icon_pixbuf_set; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8__length1 = fspot_service_icon_pixbuf_set_length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup1 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9__length1 = _tmp8__length1; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons = (_vala_array_free ((*info).icons, (*info).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons = _tmp9_; +#line 43 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*info).icons_length1 = _tmp9__length1; +#line 799 "FSpotImporter.c" +} + + +static void fspot_service_real_activation (SpitPluggable* base, gboolean enabled) { + FSpotService * self; +#line 46 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 807 "FSpotImporter.c" +} + + +static SpitDataImportsDataImporter* fspot_service_real_create_data_importer (SpitDataImportsService* base, SpitDataImportsPluginHost* host) { + FSpotService * self; + SpitDataImportsDataImporter* result = NULL; + SpitDataImportsPluginHost* _tmp0_ = NULL; + DataImportsFSpotFSpotDataImporter* _tmp1_ = NULL; +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FSPOT_SERVICE, FSpotService); +#line 49 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = host; +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_data_importer_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService), _tmp0_); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter); +#line 50 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 828 "FSpotImporter.c" +} + + +static void fspot_service_class_init (FSpotServiceClass * klass) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = fspot_service_finalize; +#line 837 "FSpotImporter.c" +} + + +static void fspot_service_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) fspot_service_real_get_pluggable_interface; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_id; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) fspot_service_real_get_pluggable_name; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) fspot_service_real_get_info; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) fspot_service_real_activation; +#line 854 "FSpotImporter.c" +} + + +static void fspot_service_spit_data_imports_service_interface_init (SpitDataImportsServiceIface * iface) { +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + fspot_service_spit_data_imports_service_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->create_data_importer = (SpitDataImportsDataImporter* (*)(SpitDataImportsService*, SpitDataImportsPluginHost*)) fspot_service_real_create_data_importer; +#line 863 "FSpotImporter.c" +} + + +static void fspot_service_instance_init (FSpotService * self) { +} + + +static void fspot_service_finalize (GObject* obj) { + FSpotService * self; +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FSPOT_SERVICE, FSpotService); +#line 7 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (fspot_service_parent_class)->finalize (obj); +#line 877 "FSpotImporter.c" +} + + +GType fspot_service_get_type (void) { + static volatile gsize fspot_service_type_id__volatile = 0; + if (g_once_init_enter (&fspot_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FSpotServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fspot_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FSpotService), 0, (GInstanceInitFunc) fspot_service_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) fspot_service_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_data_imports_service_info = { (GInterfaceInitFunc) fspot_service_spit_data_imports_service_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType fspot_service_type_id; + fspot_service_type_id = g_type_register_static (G_TYPE_OBJECT, "FSpotService", &g_define_type_info, 0); + g_type_add_interface_static (fspot_service_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (fspot_service_type_id, SPIT_DATA_IMPORTS_TYPE_SERVICE, &spit_data_imports_service_info); + g_once_init_leave (&fspot_service_type_id__volatile, fspot_service_type_id); + } + return fspot_service_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_construct (GType object_type, GFile* db_file) { + DataImportsFSpotFSpotImportableLibrary * self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (G_IS_FILE (db_file), NULL); +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableLibrary*) g_object_new (object_type, NULL); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = db_file; +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->db_file); +#line 78 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->db_file = _tmp1_; +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 915 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableLibrary* data_imports_fspot_fspot_importable_library_new (GFile* db_file) { +#line 77 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_library_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, db_file); +#line 922 "FSpotImporter.c" +} + + +GFile* data_imports_fspot_fspot_importable_library_get_db_file (DataImportsFSpotFSpotImportableLibrary* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 81 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_LIBRARY (self), NULL); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->db_file; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 82 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 940 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_library_real_get_display_name (SpitDataImportsImportableLibrary* base) { + DataImportsFSpotFSpotImportableLibrary * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 85 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _ ("F-Spot library: %s"); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->db_file; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_strdup_printf (_tmp0_, _tmp3_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp3_); +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp5_; +#line 86 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 973 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_class_init (DataImportsFSpotFSpotImportableLibraryClass * klass) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_library_parent_class = g_type_class_peek_parent (klass); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableLibraryPrivate)); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_library_finalize; +#line 984 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init (SpitDataImportsImportableLibraryIface * iface) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_parent_iface = g_type_interface_peek_parent (iface); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_display_name = (gchar* (*)(SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_importable_library_real_get_display_name; +#line 993 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_instance_init (DataImportsFSpotFSpotImportableLibrary * self) { +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_LIBRARY_GET_PRIVATE (self); +#line 1000 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_library_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableLibrary * self; +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary); +#line 75 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->db_file); +#line 74 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_library_parent_class)->finalize (obj); +#line 1012 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_library_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_library_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_library_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableLibraryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_library_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableLibrary), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_library_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_library_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_library_spit_data_imports_importable_library_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_library_type_id; + data_imports_fspot_fspot_importable_library_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableLibrary", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_library_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, &spit_data_imports_importable_library_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_library_type_id__volatile, data_imports_fspot_fspot_importable_library_type_id); + } + return data_imports_fspot_fspot_importable_library_type_id__volatile; +} + + +static DataImportsFSpotFSpotImportableTag** _vala_array_dup2 (DataImportsFSpotFSpotImportableTag** self, int length) { + DataImportsFSpotFSpotImportableTag** result; + int i; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = g_new0 (DataImportsFSpotFSpotImportableTag*, length + 1); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (i = 0; i < length; i++) { +#line 1037 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result[i] = _tmp0_; +#line 1043 "FSpotImporter.c" + } +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1047 "FSpotImporter.c" +} + + +static time_t* _time_t_dup (time_t* self) { + time_t* dup; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + dup = g_new0 (time_t, 1); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + memcpy (dup, self, sizeof (time_t)); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return dup; +#line 1059 "FSpotImporter.c" +} + + +static gpointer __time_t_dup0 (gpointer self) { +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? _time_t_dup (self) : NULL; +#line 1066 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_construct (GType object_type, DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) { + DataImportsFSpotFSpotImportableItem * self = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp1_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp2_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp3_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp4_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + DataImportsFSpotFSpotImportableTag** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp8_ = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp9_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp10_ = NULL; + time_t _tmp11_ = 0; + time_t* _tmp12_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar* _tmp23_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp24_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp33_ = NULL; + gchar* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; + const gchar* _tmp40_ = NULL; +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_ROW (photo_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((photo_version_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_PHOTO_VERSION_ROW (photo_version_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((roll_row == NULL) || DATA_IMPORTS_FSPOT_DB_IS_FSPOT_ROLL_ROW (roll_row), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((event == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_EVENT (event), NULL); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableItem*) g_object_new (object_type, NULL); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = photo_row; +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_row); +#line 110 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->photo_row = _tmp1_; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = photo_version_row; +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_version_row); +#line 111 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->photo_version_row = _tmp3_; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = roll_row; +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->roll_row); +#line 112 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->roll_row = _tmp5_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = tags; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6__length1 = tags_length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup2 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7__length1 = _tmp6__length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = _tmp7_; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_length1 = _tmp7__length1; +#line 113 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->_tags_size_ = self->priv->tags_length1; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = event; +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->event); +#line 114 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->event = _tmp9_; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = photo_row; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = _tmp10_->time; +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = __time_t_dup0 (&_tmp11_); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->date_time); +#line 115 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->date_time = _tmp12_; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = photo_row; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = _tmp13_->rating; +#line 116 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp14_ > 0) { +#line 1171 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp15_ = NULL; + gint _tmp16_ = 0; + DataImportsFSpotFSpotImportableRating* _tmp17_ = NULL; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = photo_row; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_->rating; +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = data_imports_fspot_fspot_importable_rating_new (_tmp16_); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 117 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp17_; +#line 1185 "FSpotImporter.c" + } else { + gboolean _tmp18_ = FALSE; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = is_hidden; +#line 118 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp18_) { +#line 1192 "FSpotImporter.c" + DataImportsFSpotFSpotImportableRating* _tmp19_ = NULL; +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 119 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp19_; +#line 1200 "FSpotImporter.c" + } else { + gboolean _tmp20_ = FALSE; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = is_favorite; +#line 120 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp20_) { +#line 1207 "FSpotImporter.c" + DataImportsFSpotFSpotImportableRating* _tmp21_ = NULL; +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = data_imports_fspot_fspot_importable_rating_new (5); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 121 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp21_; +#line 1215 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableRating* _tmp22_ = NULL; +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = data_imports_fspot_fspot_importable_rating_new (DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 123 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating = _tmp22_; +#line 1224 "FSpotImporter.c" + } + } + } +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = photo_version_row; +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp24_ != NULL) { +#line 1232 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = photo_version_row; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = _tmp25_->base_path; +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 127 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = _tmp27_; +#line 1246 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = photo_row; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = _tmp28_->base_path; +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 128 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = _tmp30_; +#line 1261 "FSpotImporter.c" + } +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = g_strdup (_tmp23_); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 126 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->folder_path = _tmp31_; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = photo_version_row; +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp33_ != NULL) { +#line 1273 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = photo_version_row; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = _tmp34_->filename; +#line 130 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp35_; +#line 1282 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = photo_row; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = _tmp36_->filename; +#line 131 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp37_; +#line 1292 "FSpotImporter.c" + } +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = g_strdup (_tmp32_); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 129 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->filename = _tmp38_; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = self->priv->folder_path; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp40_ != NULL) { +#line 1304 "FSpotImporter.c" + const gchar* _tmp41_ = NULL; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = self->priv->filename; +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = _tmp41_ != NULL; +#line 1310 "FSpotImporter.c" + } else { +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = FALSE; +#line 1314 "FSpotImporter.c" + } +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp39_) { +#line 1318 "FSpotImporter.c" + GFile* photo = NULL; + const gchar* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = self->priv->folder_path; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = g_file_new_for_path (_tmp42_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = _tmp43_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = self->priv->filename; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = g_file_get_child (_tmp44_, _tmp45_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = _tmp46_; +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp44_); +#line 137 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo = _tmp47_; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = photo; +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = g_file_query_exists (_tmp48_, NULL); +#line 140 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp49_) { +#line 1350 "FSpotImporter.c" + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = self->priv->folder_path; +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp50_); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 141 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->folder_path = _tmp51_; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp52_ = self->priv->filename; +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp53_ = data_imports_fspot_fspot_importable_item_decode_url (self, _tmp52_); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 142 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->filename = _tmp53_; +#line 1371 "FSpotImporter.c" + } +#line 135 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo); +#line 1375 "FSpotImporter.c" + } +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp23_); +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 1381 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableItem* data_imports_fspot_fspot_importable_item_new (DataImportsFSpotDbFSpotPhotoRow* photo_row, DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row, DataImportsFSpotDbFSpotRollRow* roll_row, DataImportsFSpotFSpotImportableTag** tags, int tags_length1, DataImportsFSpotFSpotImportableEvent* event, gboolean is_hidden, gboolean is_favorite) { +#line 101 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_item_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, photo_row, photo_version_row, roll_row, tags, tags_length1, event, is_hidden, is_favorite); +#line 1388 "FSpotImporter.c" +} + + +static void _vala_array_add1 (SpitDataImportsImportableTag*** array, int* length, int* size, SpitDataImportsImportableTag* value) { +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableTag*, *array, (*size) + 1); +#line 1399 "FSpotImporter.c" + } +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 1405 "FSpotImporter.c" +} + + +static SpitDataImportsImportableTag** data_imports_fspot_fspot_importable_item_real_get_tags (SpitDataImportsImportableMediaItem* base, int* result_length1) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableTag** result = NULL; + SpitDataImportsImportableTag** importable_tags = NULL; + SpitDataImportsImportableTag** _tmp0_ = NULL; + gint importable_tags_length1 = 0; + gint _importable_tags_size_ = 0; + DataImportsFSpotFSpotImportableTag** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SpitDataImportsImportableTag** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 147 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_new0 (SpitDataImportsImportableTag*, 0 + 1); +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_tags = _tmp0_; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_tags_length1 = 0; +#line 148 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_tags_size_ = importable_tags_length1; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->tags; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1__length1 = self->priv->tags_length1; +#line 1434 "FSpotImporter.c" + { + DataImportsFSpotFSpotImportableTag** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_collection = _tmp1_; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_collection_length1 = _tmp1__length1; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (tag_it = 0; tag_it < _tmp1__length1; tag_it = tag_it + 1) { +#line 1446 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _g_object_ref0 (tag_collection[tag_it]); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = _tmp2_; +#line 1453 "FSpotImporter.c" + { + SpitDataImportsImportableTag** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + SpitDataImportsImportableTag* _tmp5_ = NULL; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = importable_tags; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3__length1 = importable_tags_length1; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag)); +#line 150 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add1 (&importable_tags, &importable_tags_length1, &_importable_tags_size_, _tmp5_); +#line 149 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 1471 "FSpotImporter.c" + } + } + } +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = importable_tags; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6__length1 = importable_tags_length1; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (result_length1) { +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *result_length1 = _tmp6__length1; +#line 1483 "FSpotImporter.c" + } +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp6_; +#line 151 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1489 "FSpotImporter.c" +} + + +static SpitDataImportsImportableEvent* data_imports_fspot_fspot_importable_item_real_get_event (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableEvent* result = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp0_ = NULL; + SpitDataImportsImportableEvent* _tmp1_ = NULL; +#line 154 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->event; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEvent)); +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 155 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1508 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_folder_path (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->folder_path; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 159 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1527 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_filename (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 162 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->filename; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 163 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1546 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_real_get_title (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp8_ = NULL; +#line 166 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp3_ == NULL) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = TRUE; +#line 1568 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_strcmp0 (_tmp5_, "") == 0; +#line 1578 "FSpotImporter.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp1_) { +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = NULL; +#line 1584 "FSpotImporter.c" + } else { + DataImportsFSpotDbFSpotPhotoRow* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = self->priv->photo_row; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = _tmp6_->description; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _tmp7_; +#line 1594 "FSpotImporter.c" + } +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = g_strdup (_tmp0_); +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp8_; +#line 167 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1602 "FSpotImporter.c" +} + + +static SpitDataImportsImportableRating* data_imports_fspot_fspot_importable_item_real_get_rating (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + SpitDataImportsImportableRating* result = NULL; + DataImportsFSpotFSpotImportableRating* _tmp0_ = NULL; + SpitDataImportsImportableRating* _tmp1_ = NULL; +#line 170 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRating)); +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 171 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1621 "FSpotImporter.c" +} + + +static time_t* data_imports_fspot_fspot_importable_item_real_get_exposure_time (SpitDataImportsImportableMediaItem* base) { + DataImportsFSpotFSpotImportableItem * self; + time_t* result = NULL; + time_t* _tmp0_ = NULL; + time_t* _tmp1_ = NULL; +#line 174 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->date_time; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = __time_t_dup0 (_tmp0_); +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 175 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 1640 "FSpotImporter.c" +} + + +static gint string_index_of_char (const gchar* self, gunichar c, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + gunichar _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1007 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = c; +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_utf8_strchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_); +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 1010 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 1010 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 1665 "FSpotImporter.c" + gchar* _tmp4_ = NULL; +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1673 "FSpotImporter.c" + } else { +#line 1013 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 1013 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1679 "FSpotImporter.c" + } +} + + +static gchar* string_slice (const gchar* self, glong start, glong end) { + gchar* result = NULL; + glong string_length = 0L; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + glong _tmp2_ = 0L; + glong _tmp5_ = 0L; + gboolean _tmp8_ = FALSE; + glong _tmp9_ = 0L; + gboolean _tmp12_ = FALSE; + glong _tmp13_ = 0L; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + gchar* _tmp21_ = NULL; +#line 1328 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp1_; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = start; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ < ((glong) 0)) { +#line 1713 "FSpotImporter.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = string_length; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = start; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + start = _tmp3_ + _tmp4_; +#line 1722 "FSpotImporter.c" + } +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp5_ < ((glong) 0)) { +#line 1728 "FSpotImporter.c" + glong _tmp6_ = 0L; + glong _tmp7_ = 0L; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = string_length; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = end; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp6_ + _tmp7_; +#line 1737 "FSpotImporter.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp9_ >= ((glong) 0)) { +#line 1743 "FSpotImporter.c" + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = string_length; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp10_ <= _tmp11_; +#line 1752 "FSpotImporter.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 1756 "FSpotImporter.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp8_, NULL); +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13_ >= ((glong) 0)) { +#line 1764 "FSpotImporter.c" + glong _tmp14_ = 0L; + glong _tmp15_ = 0L; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ <= _tmp15_; +#line 1773 "FSpotImporter.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 1777 "FSpotImporter.c" + } +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_, NULL); +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = start; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = end; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = end; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_)); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp21_; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1799 "FSpotImporter.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1817 "FSpotImporter.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 1840 "FSpotImporter.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1848 "FSpotImporter.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1860 "FSpotImporter.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 1884 "FSpotImporter.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 1890 "FSpotImporter.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 1894 "FSpotImporter.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 1898 "FSpotImporter.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 1910 "FSpotImporter.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 1920 "FSpotImporter.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 1926 "FSpotImporter.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 1940 "FSpotImporter.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 1950 "FSpotImporter.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 1956 "FSpotImporter.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 1965 "FSpotImporter.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1985 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_item_decode_url (DataImportsFSpotFSpotImportableItem* self, const gchar* url) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + GString* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_ITEM (self), NULL); +#line 178 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (url != NULL, NULL); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_string_new (""); +#line 179 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + builder = _tmp0_; +#line 2004 "FSpotImporter.c" + { + gint idx = 0; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = 0; +#line 2009 "FSpotImporter.c" + { + gboolean _tmp1_ = FALSE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = TRUE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 2016 "FSpotImporter.c" + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint cidx = 0; + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp17_ = 0; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp1_) { +#line 2030 "FSpotImporter.c" + } +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = FALSE; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = idx; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = url; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = strlen (_tmp3_); +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp2_ < _tmp5_)) { +#line 180 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 2046 "FSpotImporter.c" + } +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = url; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = idx; +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = string_index_of_char (_tmp6_, (gunichar) '%', _tmp7_); +#line 181 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + cidx = _tmp8_; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = cidx; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = idx; +#line 182 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp9_ > _tmp10_) { +#line 2062 "FSpotImporter.c" + GString* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = builder; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = url; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = idx; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = cidx; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = string_slice (_tmp12_, (glong) _tmp13_, (glong) _tmp14_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_; +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append (_tmp11_, _tmp16_); +#line 183 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp16_); +#line 2085 "FSpotImporter.c" + } +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = cidx; +#line 185 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp17_ >= 0) { +#line 2091 "FSpotImporter.c" + gint _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = cidx; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = url; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = strlen (_tmp19_); +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = _tmp20_; +#line 186 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp18_ < (_tmp21_ - 2)) { +#line 2106 "FSpotImporter.c" + gchar c1 = '\0'; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar _tmp24_ = '\0'; + gchar c2 = '\0'; + const gchar* _tmp25_ = NULL; + gint _tmp26_ = 0; + gchar _tmp27_ = '\0'; + gboolean _tmp28_ = FALSE; + gchar _tmp29_ = '\0'; + gboolean _tmp30_ = FALSE; + gint _tmp39_ = 0; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = url; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = cidx; +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = string_get (_tmp22_, (glong) (_tmp23_ + 1)); +#line 187 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + c1 = _tmp24_; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = url; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = cidx; +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = string_get (_tmp25_, (glong) (_tmp26_ + 2)); +#line 188 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + c2 = _tmp27_; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = c1; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = g_ascii_isxdigit (_tmp29_); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp30_) { +#line 2141 "FSpotImporter.c" + gchar _tmp31_ = '\0'; + gboolean _tmp32_ = FALSE; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = c1; +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = g_ascii_isxdigit (_tmp31_); +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = _tmp32_; +#line 2150 "FSpotImporter.c" + } else { +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = FALSE; +#line 2154 "FSpotImporter.c" + } +#line 189 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp28_) { +#line 2158 "FSpotImporter.c" + gint ccode = 0; + gchar _tmp33_ = '\0'; + gint _tmp34_ = 0; + gchar _tmp35_ = '\0'; + gint _tmp36_ = 0; + GString* _tmp37_ = NULL; + gint _tmp38_ = 0; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = c1; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = g_ascii_xdigit_value (_tmp33_); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = c2; +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = g_ascii_xdigit_value (_tmp35_); +#line 190 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + ccode = (0x10 * _tmp34_) + _tmp36_; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = builder; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = ccode; +#line 191 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append_c (_tmp37_, (gchar) _tmp38_); +#line 2182 "FSpotImporter.c" + } +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = cidx; +#line 193 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp39_ + 3; +#line 2188 "FSpotImporter.c" + } else { + gint _tmp40_ = 0; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = cidx; +#line 195 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp40_ + 1; +#line 2195 "FSpotImporter.c" + } + } else { + GString* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + gint _tmp43_ = 0; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = builder; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = url; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = idx; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = string_substring (_tmp42_, (glong) _tmp43_, (glong) -1); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = _tmp44_; +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_string_append (_tmp41_, _tmp45_); +#line 198 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp45_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = url; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = strlen (_tmp46_); +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = _tmp47_; +#line 199 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + idx = _tmp48_; +#line 2228 "FSpotImporter.c" + } + } + } + } +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = builder; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = _tmp49_->str; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = g_strdup (_tmp50_); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp51_; +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_string_free0 (builder); +#line 202 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2245 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_class_init (DataImportsFSpotFSpotImportableItemClass * klass) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_item_parent_class = g_type_class_peek_parent (klass); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableItemPrivate)); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_item_finalize; +#line 2256 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init (SpitDataImportsImportableMediaItemIface * iface) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_parent_iface = g_type_interface_peek_parent (iface); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_tags = (SpitDataImportsImportableTag** (*)(SpitDataImportsImportableMediaItem*, int*)) data_imports_fspot_fspot_importable_item_real_get_tags; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_event = (SpitDataImportsImportableEvent* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_event; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_folder_path = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_folder_path; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_filename = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_filename; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_title = (gchar* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_title; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_rating = (SpitDataImportsImportableRating* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_rating; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_exposure_time = (time_t* (*)(SpitDataImportsImportableMediaItem*)) data_imports_fspot_fspot_importable_item_real_get_exposure_time; +#line 2277 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_instance_init (DataImportsFSpotFSpotImportableItem * self) { +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_ITEM_GET_PRIVATE (self); +#line 2284 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_item_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableItem * self; +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_ITEM, DataImportsFSpotFSpotImportableItem); +#line 91 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_row); +#line 92 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->photo_version_row); +#line 93 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->roll_row); +#line 94 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags = (_vala_array_free (self->priv->tags, self->priv->tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 95 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->event); +#line 96 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->rating); +#line 97 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->folder_path); +#line 98 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->filename); +#line 99 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (self->priv->date_time); +#line 90 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_item_parent_class)->finalize (obj); +#line 2312 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_item_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_item_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableItem), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_item_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_media_item_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_item_spit_data_imports_importable_media_item_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_item_type_id; + data_imports_fspot_fspot_importable_item_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableItem", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_item_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, &spit_data_imports_importable_media_item_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_item_type_id__volatile, data_imports_fspot_fspot_importable_item_type_id); + } + return data_imports_fspot_fspot_importable_item_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) { + DataImportsFSpotFSpotImportableTag * self = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp2_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp3_ = NULL; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail ((parent == NULL) || DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (parent), NULL); +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableTag*) g_object_new (object_type, NULL); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = row; +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 211 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->row = _tmp1_; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = parent; +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->parent); +#line 212 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->parent = _tmp3_; +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2360 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_new (DataImportsFSpotDbFSpotTagRow* row, DataImportsFSpotFSpotImportableTag* parent) { +#line 210 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_tag_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, row, parent); +#line 2367 "FSpotImporter.c" +} + + +gint64 data_imports_fspot_fspot_importable_tag_get_id (DataImportsFSpotFSpotImportableTag* self) { + gint64 result = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 215 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), 0LL); +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->tag_id; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 216 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2385 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_tag_real_get_name (SpitDataImportsImportableTag* base) { + DataImportsFSpotFSpotImportableTag * self; + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 219 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->name; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 220 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2407 "FSpotImporter.c" +} + + +static SpitDataImportsImportableTag* data_imports_fspot_fspot_importable_tag_real_get_parent (SpitDataImportsImportableTag* base) { + DataImportsFSpotFSpotImportableTag * self; + SpitDataImportsImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + SpitDataImportsImportableTag* _tmp1_ = NULL; +#line 223 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->parent; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag)); +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 224 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2426 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_importable_tag_get_fspot_parent (DataImportsFSpotFSpotImportableTag* self) { + DataImportsFSpotFSpotImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL; +#line 227 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->parent; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 228 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2444 "FSpotImporter.c" +} + + +gchar* data_imports_fspot_fspot_importable_tag_get_stock_icon (DataImportsFSpotFSpotImportableTag* self) { + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 231 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->stock_icon; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 232 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2465 "FSpotImporter.c" +} + + +gboolean data_imports_fspot_fspot_importable_tag_is_stock (DataImportsFSpotFSpotImportableTag* self) { + gboolean result = FALSE; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 235 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), FALSE); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->stock_icon; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_PREFIX_STOCK_ICON); +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 236 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2486 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_tag_to_event (DataImportsFSpotFSpotImportableTag* self) { + DataImportsFSpotFSpotImportableEvent* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotFSpotImportableEvent* _tmp1_ = NULL; +#line 239 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (self), NULL); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_event_new (_tmp0_); +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 240 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2504 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_class_init (DataImportsFSpotFSpotImportableTagClass * klass) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_tag_parent_class = g_type_class_peek_parent (klass); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableTagPrivate)); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_tag_finalize; +#line 2515 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init (SpitDataImportsImportableTagIface * iface) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_parent_iface = g_type_interface_peek_parent (iface); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_name = (gchar* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_name; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_parent = (SpitDataImportsImportableTag* (*)(SpitDataImportsImportableTag*)) data_imports_fspot_fspot_importable_tag_real_get_parent; +#line 2526 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_instance_init (DataImportsFSpotFSpotImportableTag * self) { +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_TAG_GET_PRIVATE (self); +#line 2533 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_tag_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableTag * self; +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, DataImportsFSpotFSpotImportableTag); +#line 207 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 208 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->parent); +#line 206 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_tag_parent_class)->finalize (obj); +#line 2547 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_tag_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_tag_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_tag_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableTagClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_tag_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableTag), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_tag_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_tag_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_tag_spit_data_imports_importable_tag_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_tag_type_id; + data_imports_fspot_fspot_importable_tag_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableTag", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_tag_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, &spit_data_imports_importable_tag_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_tag_type_id__volatile, data_imports_fspot_fspot_importable_tag_type_id); + } + return data_imports_fspot_fspot_importable_tag_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_construct (GType object_type, DataImportsFSpotDbFSpotTagRow* row) { + DataImportsFSpotFSpotImportableEvent * self = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (row), NULL); +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableEvent*) g_object_new (object_type, NULL); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = row; +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 248 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->row = _tmp1_; +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2583 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableEvent* data_imports_fspot_fspot_importable_event_new (DataImportsFSpotDbFSpotTagRow* row) { +#line 247 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_event_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, row); +#line 2590 "FSpotImporter.c" +} + + +static gchar* data_imports_fspot_fspot_importable_event_real_get_name (SpitDataImportsImportableEvent* base) { + DataImportsFSpotFSpotImportableEvent * self; + gchar* result = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 251 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->row; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _tmp0_->name; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp2_; +#line 252 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2612 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_class_init (DataImportsFSpotFSpotImportableEventClass * klass) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_event_parent_class = g_type_class_peek_parent (klass); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableEventPrivate)); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_event_finalize; +#line 2623 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init (SpitDataImportsImportableEventIface * iface) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_parent_iface = g_type_interface_peek_parent (iface); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_name = (gchar* (*)(SpitDataImportsImportableEvent*)) data_imports_fspot_fspot_importable_event_real_get_name; +#line 2632 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_instance_init (DataImportsFSpotFSpotImportableEvent * self) { +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_EVENT_GET_PRIVATE (self); +#line 2639 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_event_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableEvent * self; +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_EVENT, DataImportsFSpotFSpotImportableEvent); +#line 245 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->row); +#line 244 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_event_parent_class)->finalize (obj); +#line 2651 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_event_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_event_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_event_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableEventClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_event_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableEvent), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_event_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_event_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_event_spit_data_imports_importable_event_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_event_type_id; + data_imports_fspot_fspot_importable_event_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableEvent", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_event_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, &spit_data_imports_importable_event_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_event_type_id__volatile, data_imports_fspot_fspot_importable_event_type_id); + } + return data_imports_fspot_fspot_importable_event_type_id__volatile; +} + + +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_construct (GType object_type, gint rating_value) { + DataImportsFSpotFSpotImportableRating * self = NULL; + gint _tmp0_ = 0; + gint _tmp2_ = 0; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotImportableRating*) g_object_new (object_type, NULL); +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = rating_value; +#line 263 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ < -1) { +#line 264 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + rating_value = -1; +#line 2681 "FSpotImporter.c" + } else { + gint _tmp1_ = 0; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = rating_value; +#line 265 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp1_ > 5) { +#line 266 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + rating_value = 5; +#line 2690 "FSpotImporter.c" + } + } +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = rating_value; +#line 267 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->rating_value = _tmp2_; +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2699 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableRating* data_imports_fspot_fspot_importable_rating_new (gint rating_value) { +#line 262 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_importable_rating_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, rating_value); +#line 2706 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_importable_rating_real_is_rejected (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 270 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_REJECTED; +#line 271 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2722 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_importable_rating_real_is_unrated (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 274 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_ == DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_UNRATED; +#line 275 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2738 "FSpotImporter.c" +} + + +static gint data_imports_fspot_fspot_importable_rating_real_get_value (SpitDataImportsImportableRating* base) { + DataImportsFSpotFSpotImportableRating * self; + gint result = 0; + gint _tmp0_ = 0; +#line 278 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->rating_value; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_; +#line 279 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2754 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_class_init (DataImportsFSpotFSpotImportableRatingClass * klass) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_rating_parent_class = g_type_class_peek_parent (klass); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotImportableRatingPrivate)); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_importable_rating_finalize; +#line 2765 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init (SpitDataImportsImportableRatingIface * iface) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_parent_iface = g_type_interface_peek_parent (iface); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_rejected = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_rejected; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_unrated = (gboolean (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_is_unrated; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_value = (gint (*)(SpitDataImportsImportableRating*)) data_imports_fspot_fspot_importable_rating_real_get_value; +#line 2778 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_instance_init (DataImportsFSpotFSpotImportableRating * self) { +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_IMPORTABLE_RATING_GET_PRIVATE (self); +#line 2785 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_importable_rating_finalize (GObject* obj) { + DataImportsFSpotFSpotImportableRating * self; +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_RATING, DataImportsFSpotFSpotImportableRating); +#line 256 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_importable_rating_parent_class)->finalize (obj); +#line 2795 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_importable_rating_get_type (void) { + static volatile gsize data_imports_fspot_fspot_importable_rating_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_importable_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotImportableRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_importable_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotImportableRating), 0, (GInstanceInitFunc) data_imports_fspot_fspot_importable_rating_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_importable_rating_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_importable_rating_spit_data_imports_importable_rating_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_importable_rating_type_id; + data_imports_fspot_fspot_importable_rating_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotImportableRating", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_importable_rating_type_id, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, &spit_data_imports_importable_rating_info); + g_once_init_leave (&data_imports_fspot_fspot_importable_rating_type_id__volatile, data_imports_fspot_fspot_importable_rating_type_id); + } + return data_imports_fspot_fspot_importable_rating_type_id__volatile; +} + + +static gpointer _importable_database_table_ref0 (gpointer self) { +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self ? importable_database_table_ref (self) : NULL; +#line 2816 "FSpotImporter.c" +} + + +static gint64* _int64_dup (gint64* self) { + gint64* dup; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + dup = g_new0 (gint64, 1); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + memcpy (dup, self, sizeof (gint64)); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return dup; +#line 2828 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_construct (GType object_type, DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) { + DataImportsFSpotFSpotTagsCache * self = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAGS_TABLE (tags_table), NULL); +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotTagsCache*) g_object_new (object_type, NULL); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tags_table; +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _importable_database_table_ref0 (_tmp0_); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_database_table_unref0 (self->priv->tags_table); +#line 288 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_table = _tmp1_; +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = gee_hash_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->tags_map); +#line 289 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->tags_map = _tmp2_; +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 2857 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotTagsCache* data_imports_fspot_fspot_tags_cache_new (DataImportsFSpotDbFSpotTagsTable* tags_table, GError** error) { +#line 287 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_tags_cache_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, tags_table, error); +#line 2864 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag (DataImportsFSpotFSpotTagsCache* self, DataImportsFSpotDbFSpotTagRow* tag_row, GError** error) { + DataImportsFSpotFSpotImportableTag* result = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + GeeHashMap* _tmp0_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gpointer _tmp3_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL); +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_DB_IS_FSPOT_TAG_ROW (tag_row), NULL); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->tags_map; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = tag_row; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_->tag_id; +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_); +#line 293 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 294 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp4_ != NULL) { +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = tag; +#line 295 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2899 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* parent_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; + DataImportsFSpotFSpotImportableTag* new_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp9_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp10_ = NULL; + GeeHashMap* _tmp11_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag_row; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = _tmp5_->category_id; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp6_, &_inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent_tag = _tmp7_; +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 2931 "FSpotImporter.c" + } else { +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 297 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 2941 "FSpotImporter.c" + } + } +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = tag_row; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = parent_tag; +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = data_imports_fspot_fspot_importable_tag_new (_tmp8_, _tmp9_); +#line 298 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + new_tag = _tmp10_; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = self->priv->tags_map; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = tag_row; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = _tmp12_->tag_id; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = new_tag; +#line 299 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp13_, _tmp14_); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = new_tag; +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent_tag); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 300 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 2970 "FSpotImporter.c" + } +#line 292 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 2974 "FSpotImporter.c" +} + + +static DataImportsFSpotFSpotImportableTag* data_imports_fspot_fspot_tags_cache_get_tag_from_id (DataImportsFSpotFSpotTagsCache* self, gint64 tag_id, GError** error) { + DataImportsFSpotFSpotImportableTag* result = NULL; + gint64 _tmp0_ = 0LL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + GeeHashMap* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gpointer _tmp3_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + DataImportsFSpotDbFSpotTagRow* tag_row = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + DataImportsFSpotDbFSpotTagRow* _tmp7_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 304 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_TAGS_CACHE (self), NULL); +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag_id; +#line 306 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_ < ((gint64) 1)) { +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = NULL; +#line 307 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3002 "FSpotImporter.c" + } +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = self->priv->tags_map; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = tag_id; +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp2_); +#line 308 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = (DataImportsFSpotFSpotImportableTag*) _tmp3_; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 309 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp4_ != NULL) { +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = tag; +#line 310 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3020 "FSpotImporter.c" + } +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = self->priv->tags_table; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = tag_id; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = data_imports_fspot_db_fspot_tags_table_get_by_id (_tmp5_, _tmp6_, &_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_row = _tmp7_; +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3040 "FSpotImporter.c" + } else { +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 311 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3050 "FSpotImporter.c" + } + } +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = tag_row; +#line 312 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp8_ != NULL) { +#line 3057 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp11_ = NULL; + DataImportsFSpotFSpotImportableTag* new_tag = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp12_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp13_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp14_ = NULL; + GeeHashMap* _tmp15_ = NULL; + gint64 _tmp16_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp17_ = NULL; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = tag_row; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = _tmp9_->category_id; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = data_imports_fspot_fspot_tags_cache_get_tag_from_id (self, _tmp10_, &_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent_tag = _tmp11_; +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_propagate_error (error, _inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3089 "FSpotImporter.c" + } else { +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 313 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return NULL; +#line 3101 "FSpotImporter.c" + } + } +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = tag_row; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = parent_tag; +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = data_imports_fspot_fspot_importable_tag_new (_tmp12_, _tmp13_); +#line 314 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + new_tag = _tmp14_; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = self->priv->tags_map; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = tag_id; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = new_tag; +#line 315 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp16_, _tmp17_); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = new_tag; +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent_tag); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 316 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3130 "FSpotImporter.c" + } +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = NULL; +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 318 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3140 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_class_init (DataImportsFSpotFSpotTagsCacheClass * klass) { +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_tags_cache_parent_class = g_type_class_peek_parent (klass); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotTagsCachePrivate)); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_tags_cache_finalize; +#line 3151 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_instance_init (DataImportsFSpotFSpotTagsCache * self) { +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_TAGS_CACHE_GET_PRIVATE (self); +#line 3158 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_tags_cache_finalize (GObject* obj) { + DataImportsFSpotFSpotTagsCache * self; +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_TAGS_CACHE, DataImportsFSpotFSpotTagsCache); +#line 284 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_database_table_unref0 (self->priv->tags_table); +#line 285 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (self->priv->tags_map); +#line 283 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_tags_cache_parent_class)->finalize (obj); +#line 3172 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_tags_cache_get_type (void) { + static volatile gsize data_imports_fspot_fspot_tags_cache_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_tags_cache_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotTagsCacheClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_tags_cache_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotTagsCache), 0, (GInstanceInitFunc) data_imports_fspot_fspot_tags_cache_instance_init, NULL }; + GType data_imports_fspot_fspot_tags_cache_type_id; + data_imports_fspot_fspot_tags_cache_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotTagsCache", &g_define_type_info, 0); + g_once_init_leave (&data_imports_fspot_fspot_tags_cache_type_id__volatile, data_imports_fspot_fspot_tags_cache_type_id); + } + return data_imports_fspot_fspot_tags_cache_type_id__volatile; +} + + +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsPluginHost* host) { + DataImportsFSpotFSpotDataImporter * self = NULL; + SpitDataImportsService* _tmp0_ = NULL; + SpitDataImportsPluginHost* _tmp1_ = NULL; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (service), NULL); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = (DataImportsFSpotFSpotDataImporter*) g_object_new (object_type, NULL); +#line 330 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:330: FSpotDataImporter instantiated."); +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = service; +#line 331 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->service = _tmp0_; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = host; +#line 332 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->host = _tmp1_; +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return self; +#line 3210 "FSpotImporter.c" +} + + +DataImportsFSpotFSpotDataImporter* data_imports_fspot_fspot_data_importer_new (SpitDataImportsService* service, SpitDataImportsPluginHost* host) { +#line 328 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return data_imports_fspot_fspot_data_importer_construct (DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, service, host); +#line 3217 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_real_is_running (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 335 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->running; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp0_; +#line 336 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3233 "FSpotImporter.c" +} + + +static SpitDataImportsService* data_imports_fspot_fspot_data_importer_real_get_service (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + SpitDataImportsService* result = NULL; + SpitDataImportsService* _tmp0_ = NULL; + SpitDataImportsService* _tmp1_ = NULL; +#line 339 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->service; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _tmp1_; +#line 340 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 3252 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_start (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; + gboolean _tmp0_ = FALSE; +#line 343 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = spit_data_imports_data_importer_is_running (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter)); +#line 344 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp0_) { +#line 345 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3267 "FSpotImporter.c" + } +#line 347 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:347: FSpotDataImporter: starting interaction."); +#line 349 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = TRUE; +#line 351 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (self); +#line 3275 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_stop (SpitDataImportsDataImporter* base) { + DataImportsFSpotFSpotDataImporter * self; +#line 354 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 355 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:355: FSpotDataImporter: stopping interaction."); +#line 357 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = FALSE; +#line 3287 "FSpotImporter.c" +} + + +/** + * Action that discovers importable libraries based on standard locations. + */ +static void _vala_array_add2 (SpitDataImportsImportableLibrary*** array, int* length, int* size, SpitDataImportsImportableLibrary* value) { +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableLibrary*, *array, (*size) + 1); +#line 3301 "FSpotImporter.c" + } +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3307 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_do_discover_importable_libraries (DataImportsFSpotFSpotDataImporter* self) { + SpitDataImportsImportableLibrary** discovered_libraries = NULL; + SpitDataImportsImportableLibrary** _tmp0_ = NULL; + gint discovered_libraries_length1 = 0; + gint _discovered_libraries_size_ = 0; + GFile** db_files = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile** _tmp21_ = NULL; + GFile** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint db_files_length1 = 0; + gint _db_files_size_ = 0; + GFile** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + const gchar* _tmp33_ = NULL; + SpitDataImportsImportableLibrary** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + SpitDataImportsPluginHost* _tmp35_ = NULL; + SpitDataImportsImportableLibrary** _tmp36_ = NULL; + gint _tmp36__length1 = 0; +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self)); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = g_new0 (SpitDataImportsImportableLibrary*, 0 + 1); +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries = _tmp0_; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries_length1 = 0; +#line 366 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _discovered_libraries_size_ = discovered_libraries_length1; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = g_get_user_config_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = g_file_get_child (_tmp3_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_file_get_child (_tmp5_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = g_get_home_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = g_file_new_for_path (_tmp7_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = _tmp8_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = g_file_get_child (_tmp9_, ".gnome2"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = _tmp10_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = g_file_get_child (_tmp11_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = _tmp12_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = g_file_get_child (_tmp13_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = g_get_user_data_dir (); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = _tmp16_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = g_file_get_child (_tmp17_, "f-spot"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = _tmp18_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = g_file_get_child (_tmp19_, "photos.db"); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = g_new0 (GFile*, 3 + 1); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[0] = _tmp6_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[1] = _tmp14_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_[2] = _tmp20_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = _tmp21_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22__length1 = 3; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp19_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp17_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp13_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp11_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp9_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp5_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp3_); +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files = _tmp22_; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files_length1 = _tmp22__length1; +#line 369 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _db_files_size_ = db_files_length1; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = db_files; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23__length1 = db_files_length1; +#line 3436 "FSpotImporter.c" + { + GFile** db_file_collection = NULL; + gint db_file_collection_length1 = 0; + gint _db_file_collection_size_ = 0; + gint db_file_it = 0; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file_collection = _tmp23_; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file_collection_length1 = _tmp23__length1; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + for (db_file_it = 0; db_file_it < _tmp23__length1; db_file_it = db_file_it + 1) { +#line 3448 "FSpotImporter.c" + GFile* _tmp24_ = NULL; + GFile* db_file = NULL; +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = _g_object_ref0 (db_file_collection[db_file_it]); +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_file = _tmp24_; +#line 3455 "FSpotImporter.c" + { + GFile* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = db_file; +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = g_file_query_exists (_tmp25_, NULL); +#line 382 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp26_) { +#line 3465 "FSpotImporter.c" + SpitDataImportsImportableLibrary** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GFile* _tmp28_ = NULL; + DataImportsFSpotFSpotImportableLibrary* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = discovered_libraries; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27__length1 = discovered_libraries_length1; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = db_file; +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = data_imports_fspot_fspot_importable_library_new (_tmp28_); +#line 383 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add2 (&discovered_libraries, &discovered_libraries_length1, &_discovered_libraries_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibrary)); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = db_file; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = g_file_get_path (_tmp30_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp31_; +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:384: Discovered importable library: %s", _tmp32_); +#line 384 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp32_); +#line 3493 "FSpotImporter.c" + } +#line 381 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (db_file); +#line 3497 "FSpotImporter.c" + } + } + } +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = discovered_libraries; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34__length1 = discovered_libraries_length1; +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp34__length1 > 0) { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE; +#line 3509 "FSpotImporter.c" + } else { +#line 389 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = DATA_IMPORTS_FSPOT_SERVICE_WELCOME_MESSAGE_FILE_ONLY; +#line 3513 "FSpotImporter.c" + } +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = self->priv->host; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = discovered_libraries; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36__length1 = discovered_libraries_length1; +#line 388 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_library_selection_pane (_tmp35_, _tmp33_, _tmp36_, _tmp36__length1, DATA_IMPORTS_FSPOT_FILE_IMPORT_LABEL); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + db_files = (_vala_array_free (db_files, db_files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 365 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + discovered_libraries = (_vala_array_free (discovered_libraries, discovered_libraries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 3527 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_on_library_selected (SpitDataImportsDataImporter* base, SpitDataImportsImportableLibrary* library) { + DataImportsFSpotFSpotDataImporter * self; + SpitDataImportsImportableLibrary* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 395 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (library)); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = library; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_library_get_db_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, DATA_IMPORTS_FSPOT_TYPE_FSPOT_IMPORTABLE_LIBRARY, DataImportsFSpotFSpotImportableLibrary)); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_data_importer_on_file_selected (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter), _tmp2_); +#line 396 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp2_); +#line 3550 "FSpotImporter.c" +} + + +static void _vala_array_add3 (DataImportsFSpotFSpotImportableTag*** array, int* length, int* size, DataImportsFSpotFSpotImportableTag* value) { +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (DataImportsFSpotFSpotImportableTag*, *array, (*size) + 1); +#line 3561 "FSpotImporter.c" + } +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3567 "FSpotImporter.c" +} + + +static void _vala_array_add4 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3578 "FSpotImporter.c" + } +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3584 "FSpotImporter.c" +} + + +static void _vala_array_add5 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3595 "FSpotImporter.c" + } +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3601 "FSpotImporter.c" +} + + +static void _vala_array_add6 (SpitDataImportsImportableMediaItem*** array, int* length, int* size, SpitDataImportsImportableMediaItem* value) { +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if ((*length) == (*size)) { +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + *array = g_renew (SpitDataImportsImportableMediaItem*, *array, (*size) + 1); +#line 3612 "FSpotImporter.c" + } +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[(*length)++] = value; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + (*array)[*length] = NULL; +#line 3618 "FSpotImporter.c" +} + + +static void _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback (gint imported_items_count, gpointer self) { +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_on_imported_items_count ((DataImportsFSpotFSpotDataImporter*) self, imported_items_count); +#line 3625 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_real_on_file_selected (SpitDataImportsDataImporter* base, GFile* file) { + DataImportsFSpotFSpotDataImporter * self; + DataImportsFSpotDbFSpotDatabase* database = NULL; + DataImportsFSpotFSpotTagsCache* tags_cache = NULL; + GeeArrayList* all_photos = NULL; + gdouble progress_delta_per_photo = 0.0; + gdouble progress_plugin_to_host_ratio = 0.0; + gdouble current_progress = 0.0; + SpitDataImportsPluginHost* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GeeArrayList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + SpitDataImportsPluginHost* _tmp173_ = NULL; + GError * _inner_error_ = NULL; +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 403 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_delta_per_photo = 1.0; +#line 404 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_plugin_to_host_ratio = 0.5; +#line 405 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + current_progress = 0.0; +#line 3654 "FSpotImporter.c" + { + DataImportsFSpotDbFSpotDatabase* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp2_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp3_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = file; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = data_imports_fspot_db_fspot_database_new (_tmp1_, &_inner_error_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = _tmp2_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3670 "FSpotImporter.c" + goto __catch0_database_error; + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR) { +#line 3675 "FSpotImporter.c" + goto __catch0_spit_data_imports_data_import_error; + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3690 "FSpotImporter.c" + } +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp0_; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = NULL; +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 407 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + database = _tmp3_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp0_); +#line 3702 "FSpotImporter.c" + } + goto __finally0; + __catch0_database_error: + { + GError* e = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + SpitDataImportsPluginHost* _tmp8_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = e; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = _tmp4_->message; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = g_strdup_printf ("FSpotDataImporter: Can't open database file: %s", _tmp5_); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = _tmp6_; +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:409: %s", _tmp7_); +#line 409 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp7_); +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = self->priv->host; +#line 410 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp8_, DATA_IMPORTS_FSPOT_ERROR_CANT_OPEN_DB_FILE); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 411 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3743 "FSpotImporter.c" + } + goto __finally0; + __catch0_spit_data_imports_data_import_error: + { + GError* e = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + SpitDataImportsPluginHost* _tmp13_ = NULL; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = e; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp10_ = _tmp9_->message; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp11_ = g_strdup_printf ("FSpotDataImporter: Unsupported F-Spot database version: %s", _tmp10_); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp12_ = _tmp11_; +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:413: %s", _tmp12_); +#line 413 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp12_); +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp13_ = self->priv->host; +#line 414 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp13_, DATA_IMPORTS_FSPOT_ERROR_UNSUPPORTED_DB_VERSION); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 415 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3784 "FSpotImporter.c" + } + __finally0: +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 406 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3801 "FSpotImporter.c" + } + { + DataImportsFSpotFSpotTagsCache* _tmp14_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp15_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp16_ = NULL; + DataImportsFSpotFSpotTagsCache* _tmp17_ = NULL; + DataImportsFSpotFSpotTagsCache* _tmp18_ = NULL; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp15_ = database; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp16_ = _tmp15_->tags_table; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp17_ = data_imports_fspot_fspot_tags_cache_new (_tmp16_, &_inner_error_); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = _tmp17_; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3821 "FSpotImporter.c" + goto __catch1_database_error; + } +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3836 "FSpotImporter.c" + } +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp18_ = _tmp14_; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp14_ = NULL; +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 418 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags_cache = _tmp18_; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp14_); +#line 3848 "FSpotImporter.c" + } + goto __finally1; + __catch1_database_error: + { + GError* e = NULL; + GError* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + SpitDataImportsPluginHost* _tmp23_ = NULL; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp19_ = e; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp20_ = _tmp19_->message; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp21_ = g_strdup_printf ("FSpotDataImporter: Can't read tags table: %s", _tmp20_); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp22_ = _tmp21_; +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:420: %s", _tmp22_); +#line 420 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp22_); +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp23_ = self->priv->host; +#line 421 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp23_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_TAGS_TABLE); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 422 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3889 "FSpotImporter.c" + } + __finally1: +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 417 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3906 "FSpotImporter.c" + } +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp24_ = self->priv->host; +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp25_ = _ ("Preparing to import"); +#line 424 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_import_progress_pane (_tmp24_, _tmp25_); +#line 3914 "FSpotImporter.c" + { + GeeArrayList* _tmp26_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp27_ = NULL; + DataImportsFSpotDbFSpotPhotosTable* _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp27_ = database; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp28_ = _tmp27_->photos_table; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp29_ = data_imports_fspot_db_fspot_photos_table_get_all (_tmp28_, &_inner_error_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = _tmp29_; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3933 "FSpotImporter.c" + goto __catch2_database_error; + } +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 3948 "FSpotImporter.c" + } +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp30_ = _tmp26_; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp26_ = NULL; +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 426 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + all_photos = _tmp30_; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp26_); +#line 3960 "FSpotImporter.c" + } + goto __finally2; + __catch2_database_error: + { + GError* e = NULL; + GError* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + SpitDataImportsPluginHost* _tmp35_ = NULL; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp31_ = e; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp32_ = _tmp31_->message; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp33_ = g_strdup_printf ("FSpotDataImporter: Can't read photos table: %s", _tmp32_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp34_ = _tmp33_; +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_debug ("FSpotImporter.vala:428: %s", _tmp34_); +#line 428 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp34_); +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp35_ = self->priv->host; +#line 429 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_post_error_message (_tmp35_, DATA_IMPORTS_FSPOT_ERROR_CANT_READ_PHOTOS_TABLE); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 430 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4001 "FSpotImporter.c" + } + __finally2: +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4018 "FSpotImporter.c" + } +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp36_ = all_photos; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp37_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp38_ = _tmp37_; +#line 432 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp38_ > 0) { +#line 4028 "FSpotImporter.c" + GeeArrayList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp39_ = all_photos; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp40_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp41_ = _tmp40_; +#line 433 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + progress_delta_per_photo = 1.0 / _tmp41_; +#line 4040 "FSpotImporter.c" + } + { + GeeArrayList* _photo_row_list = NULL; + GeeArrayList* _tmp42_ = NULL; + GeeArrayList* _tmp43_ = NULL; + gint _photo_row_size = 0; + GeeArrayList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint _photo_row_index = 0; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp42_ = all_photos; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp43_ = _g_object_ref0 (_tmp42_); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_list = _tmp43_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp44_ = _photo_row_list; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp45_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp46_ = _tmp45_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_size = _tmp46_; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_index = -1; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4069 "FSpotImporter.c" + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + DataImportsFSpotDbFSpotPhotoRow* photo_row = NULL; + GeeArrayList* _tmp50_ = NULL; + gint _tmp51_ = 0; + gpointer _tmp52_ = NULL; + gboolean hidden = FALSE; + gboolean favorite = FALSE; + DataImportsFSpotFSpotImportableTag** tags = NULL; + DataImportsFSpotFSpotImportableTag** _tmp53_ = NULL; + gint tags_length1 = 0; + gint _tags_size_ = 0; + DataImportsFSpotFSpotImportableEvent* event = NULL; + DataImportsFSpotDbFSpotRollRow* roll_row = NULL; + SpitDataImportsImportableMediaItem** importable_items = NULL; + SpitDataImportsImportableMediaItem** _tmp97_ = NULL; + gint importable_items_length1 = 0; + gint _importable_items_size_ = 0; + gboolean _tmp161_ = FALSE; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp47_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_row_index = _tmp47_ + 1; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp48_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp49_ = _photo_row_size; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp48_ < _tmp49_)) { +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4102 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp50_ = _photo_row_list; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp51_ = _photo_row_index; +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp52_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp51_); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_row = (DataImportsFSpotDbFSpotPhotoRow*) _tmp52_; +#line 435 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + hidden = FALSE; +#line 436 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + favorite = FALSE; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp53_ = g_new0 (DataImportsFSpotFSpotImportableTag*, 0 + 1); +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = _tmp53_; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags_length1 = 0; +#line 437 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tags_size_ = tags_length1; +#line 438 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + event = NULL; +#line 439 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + roll_row = NULL; +#line 4128 "FSpotImporter.c" + { + GeeArrayList* _tmp54_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp55_ = NULL; + DataImportsFSpotDbFSpotTagsTable* _tmp56_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp57_ = NULL; + gint64 _tmp58_ = 0LL; + GeeArrayList* _tmp59_ = NULL; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp55_ = database; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp56_ = _tmp55_->tags_table; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp57_ = photo_row; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp58_ = _tmp57_->photo_id; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp59_ = data_imports_fspot_db_fspot_tags_table_get_by_photo_id (_tmp56_, _tmp58_, &_inner_error_); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp54_ = _tmp59_; +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4152 "FSpotImporter.c" + goto __catch3_database_error; + } +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 449 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4177 "FSpotImporter.c" + } + { + GeeArrayList* _tag_row_list = NULL; + GeeArrayList* _tmp60_ = NULL; + gint _tag_row_size = 0; + GeeArrayList* _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + gint _tag_row_index = 0; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp60_ = _tmp54_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp54_ = NULL; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_list = _tmp60_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp61_ = _tag_row_list; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp62_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp63_ = _tmp62_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_size = _tmp63_; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_index = -1; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4205 "FSpotImporter.c" + gint _tmp64_ = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + DataImportsFSpotDbFSpotTagRow* tag_row = NULL; + GeeArrayList* _tmp67_ = NULL; + gint _tmp68_ = 0; + gpointer _tmp69_ = NULL; + DataImportsFSpotFSpotImportableTag* tag = NULL; + DataImportsFSpotFSpotTagsCache* _tmp70_ = NULL; + DataImportsFSpotDbFSpotTagRow* _tmp71_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp72_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp73_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp74_ = NULL; + gint64 _tmp75_ = 0LL; + gboolean _tmp76_ = FALSE; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp64_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tag_row_index = _tmp64_ + 1; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp65_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp66_ = _tag_row_size; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp65_ < _tmp66_)) { +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4233 "FSpotImporter.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp67_ = _tag_row_list; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp68_ = _tag_row_index; +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp69_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp68_); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag_row = (DataImportsFSpotDbFSpotTagRow*) _tmp69_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp70_ = tags_cache; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp71_ = tag_row; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp72_ = data_imports_fspot_fspot_tags_cache_get_tag (_tmp70_, _tmp71_, &_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tag = _tmp72_; +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4261 "FSpotImporter.c" + goto __catch3_database_error; + } +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 451 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4292 "FSpotImporter.c" + } +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp73_ = tag; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp74_ = database; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp75_ = _tmp74_->hidden_tag_id; +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp76_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp73_, _tmp75_); +#line 452 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp76_) { +#line 453 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + hidden = TRUE; +#line 4306 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp77_ = NULL; + gboolean _tmp78_ = FALSE; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp77_ = tag; +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp78_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp77_); +#line 454 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp78_) { +#line 455 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + favorite = TRUE; +#line 4318 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + DataImportsFSpotFSpotImportableTag* _tmp80_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp81_ = NULL; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp79_ = tags; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp79__length1 = tags_length1; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp80_ = tag; +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp81_ = _g_object_ref0 (_tmp80_); +#line 457 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add3 (&tags, &tags_length1, &_tags_size_, _tmp81_); +#line 4334 "FSpotImporter.c" + } + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag); +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tag_row); +#line 4341 "FSpotImporter.c" + } +#line 447 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tag_row_list); +#line 4345 "FSpotImporter.c" + } +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp54_); +#line 4349 "FSpotImporter.c" + } + goto __finally3; + __catch3_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp82_ = NULL; + gint64 _tmp83_ = 0LL; + GError* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp82_ = photo_row; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp83_ = _tmp82_->photo_id; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp84_ = e; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp85_ = _tmp84_->message; +#line 461 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:461: Failed to retrieve tags for photo ID %ld: %s", (glong) _tmp83_, _tmp85_); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4375 "FSpotImporter.c" + } + __finally3: +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 446 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4402 "FSpotImporter.c" + } + { + DataImportsFSpotDbFSpotRollRow* _tmp86_ = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp87_ = NULL; + DataImportsFSpotDbFSpotRollsTable* _tmp88_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp89_ = NULL; + gint64 _tmp90_ = 0LL; + DataImportsFSpotDbFSpotRollRow* _tmp91_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp92_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp87_ = database; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp88_ = _tmp87_->rolls_table; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp89_ = photo_row; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp90_ = _tmp89_->roll_id; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp91_ = data_imports_fspot_db_fspot_rolls_table_get_by_id (_tmp88_, _tmp90_, &_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp86_ = _tmp91_; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4428 "FSpotImporter.c" + goto __catch4_database_error; + } +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4453 "FSpotImporter.c" + } +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp92_ = _tmp86_; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp86_ = NULL; +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 466 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + roll_row = _tmp92_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_tmp86_); +#line 4465 "FSpotImporter.c" + } + goto __finally4; + __catch4_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp93_ = NULL; + gint64 _tmp94_ = 0LL; + GError* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp93_ = photo_row; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp94_ = _tmp93_->photo_id; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp95_ = e; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp96_ = _tmp95_->message; +#line 469 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:469: Failed to retrieve roll for photo ID %ld: %s", (glong) _tmp94_, _tmp96_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4491 "FSpotImporter.c" + } + __finally4: +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 465 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4518 "FSpotImporter.c" + } +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp97_ = g_new0 (SpitDataImportsImportableMediaItem*, 0 + 1); +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = _tmp97_; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items_length1 = 0; +#line 473 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _importable_items_size_ = importable_items_length1; +#line 4528 "FSpotImporter.c" + { + GeeArrayList* photo_versions = NULL; + DataImportsFSpotDbFSpotDatabase* _tmp98_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionsTable* _tmp99_ = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp100_ = NULL; + gint64 _tmp101_ = 0LL; + GeeArrayList* _tmp102_ = NULL; + gboolean photo_versions_added = FALSE; + gboolean photo_versions_skipped = FALSE; + gboolean _tmp128_ = FALSE; + gboolean _tmp129_ = FALSE; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp98_ = database; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp99_ = _tmp98_->photo_versions_table; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp100_ = photo_row; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp101_ = _tmp100_->photo_id; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp102_ = data_imports_fspot_db_fspot_photo_versions_table_get_by_photo_id (_tmp99_, _tmp101_, &_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions = _tmp102_; +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4556 "FSpotImporter.c" + goto __catch5_database_error; + } +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 475 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4583 "FSpotImporter.c" + } +#line 477 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_added = FALSE; +#line 478 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_skipped = FALSE; +#line 4589 "FSpotImporter.c" + { + GeeArrayList* _photo_version_row_list = NULL; + GeeArrayList* _tmp103_ = NULL; + GeeArrayList* _tmp104_ = NULL; + gint _photo_version_row_size = 0; + GeeArrayList* _tmp105_ = NULL; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + gint _photo_version_row_index = 0; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp103_ = photo_versions; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp104_ = _g_object_ref0 (_tmp103_); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_list = _tmp104_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp105_ = _photo_version_row_list; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp106_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp107_ = _tmp106_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_size = _tmp107_; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_index = -1; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + while (TRUE) { +#line 4617 "FSpotImporter.c" + gint _tmp108_ = 0; + gint _tmp109_ = 0; + gint _tmp110_ = 0; + DataImportsFSpotDbFSpotPhotoVersionRow* photo_version_row = NULL; + GeeArrayList* _tmp111_ = NULL; + gint _tmp112_ = 0; + gpointer _tmp113_ = NULL; + gboolean _tmp114_ = FALSE; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp115_ = NULL; + GFile* _tmp116_ = NULL; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp108_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _photo_version_row_index = _tmp108_ + 1; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp109_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp110_ = _photo_version_row_size; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!(_tmp109_ < _tmp110_)) { +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4640 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp111_ = _photo_version_row_list; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp112_ = _photo_version_row_index; +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp113_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp112_); +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_version_row = (DataImportsFSpotDbFSpotPhotoVersionRow*) _tmp113_; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp115_ = photo_version_row; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp116_ = _tmp115_->base_path; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp116_ != NULL) { +#line 4656 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp117_ = NULL; + const gchar* _tmp118_ = NULL; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp117_ = photo_version_row; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp118_ = _tmp117_->filename; +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp114_ = _tmp118_ != NULL; +#line 4665 "FSpotImporter.c" + } else { +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp114_ = FALSE; +#line 4669 "FSpotImporter.c" + } +#line 480 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp114_) { +#line 4673 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp119_ = NULL; + gint _tmp119__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp120_ = NULL; + DataImportsFSpotDbFSpotPhotoVersionRow* _tmp121_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp122_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp123_ = NULL; + gint _tmp123__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp124_ = NULL; + gboolean _tmp125_ = FALSE; + gboolean _tmp126_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp127_ = NULL; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp119_ = importable_items; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp119__length1 = importable_items_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp120_ = photo_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp121_ = photo_version_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp122_ = roll_row; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp123_ = tags; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp123__length1 = tags_length1; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp124_ = event; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp125_ = hidden; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp126_ = favorite; +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp127_ = data_imports_fspot_fspot_importable_item_new (_tmp120_, _tmp121_, _tmp122_, _tmp123_, _tmp123__length1, _tmp124_, _tmp125_, _tmp126_); +#line 481 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add4 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp127_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 484 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_added = TRUE; +#line 4711 "FSpotImporter.c" + } else { +#line 486 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + photo_versions_skipped = TRUE; +#line 4715 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_version_row); +#line 4719 "FSpotImporter.c" + } +#line 479 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_version_row_list); +#line 4723 "FSpotImporter.c" + } +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp129_ = photo_versions_skipped; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp129_) { +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp128_ = TRUE; +#line 4731 "FSpotImporter.c" + } else { + gboolean _tmp130_ = FALSE; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp130_ = photo_versions_added; +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp128_ = !_tmp130_; +#line 4738 "FSpotImporter.c" + } +#line 494 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp128_) { +#line 4742 "FSpotImporter.c" + gboolean _tmp131_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp132_ = NULL; + GFile* _tmp133_ = NULL; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp132_ = photo_row; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp133_ = _tmp132_->base_path; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp133_ != NULL) { +#line 4752 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp134_ = NULL; + const gchar* _tmp135_ = NULL; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp134_ = photo_row; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp135_ = _tmp134_->filename; +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp131_ = _tmp135_ != NULL; +#line 4761 "FSpotImporter.c" + } else { +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp131_ = FALSE; +#line 4765 "FSpotImporter.c" + } +#line 495 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp131_) { +#line 4769 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp136_ = NULL; + gint _tmp136__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp137_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp138_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp139_ = NULL; + gint _tmp139__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp140_ = NULL; + gboolean _tmp141_ = FALSE; + gboolean _tmp142_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp143_ = NULL; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp136_ = importable_items; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp136__length1 = importable_items_length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp137_ = photo_row; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp138_ = roll_row; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp139_ = tags; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp139__length1 = tags_length1; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp140_ = event; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp141_ = hidden; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp142_ = favorite; +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp143_ = data_imports_fspot_fspot_importable_item_new (_tmp137_, NULL, _tmp138_, _tmp139_, _tmp139__length1, _tmp140_, _tmp141_, _tmp142_); +#line 496 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add5 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp143_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 4802 "FSpotImporter.c" + } + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_versions); +#line 4807 "FSpotImporter.c" + } + goto __finally5; + __catch5_database_error: + { + GError* e = NULL; + DataImportsFSpotDbFSpotPhotoRow* _tmp144_ = NULL; + gint64 _tmp145_ = 0LL; + GError* _tmp146_ = NULL; + const gchar* _tmp147_ = NULL; + gboolean _tmp148_ = FALSE; + DataImportsFSpotDbFSpotPhotoRow* _tmp149_ = NULL; + GFile* _tmp150_ = NULL; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + e = _inner_error_; +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _inner_error_ = NULL; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp144_ = photo_row; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp145_ = _tmp144_->photo_id; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp146_ = e; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp147_ = _tmp146_->message; +#line 504 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_message ("FSpotImporter.vala:504: Failed to retrieve versions for photo ID %ld: " \ +"%s", (glong) _tmp145_, _tmp147_); +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp149_ = photo_row; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp150_ = _tmp149_->base_path; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp150_ != NULL) { +#line 4840 "FSpotImporter.c" + DataImportsFSpotDbFSpotPhotoRow* _tmp151_ = NULL; + const gchar* _tmp152_ = NULL; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp151_ = photo_row; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp152_ = _tmp151_->filename; +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp148_ = _tmp152_ != NULL; +#line 4849 "FSpotImporter.c" + } else { +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp148_ = FALSE; +#line 4853 "FSpotImporter.c" + } +#line 506 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp148_) { +#line 4857 "FSpotImporter.c" + SpitDataImportsImportableMediaItem** _tmp153_ = NULL; + gint _tmp153__length1 = 0; + DataImportsFSpotDbFSpotPhotoRow* _tmp154_ = NULL; + DataImportsFSpotDbFSpotRollRow* _tmp155_ = NULL; + DataImportsFSpotFSpotImportableTag** _tmp156_ = NULL; + gint _tmp156__length1 = 0; + DataImportsFSpotFSpotImportableEvent* _tmp157_ = NULL; + gboolean _tmp158_ = FALSE; + gboolean _tmp159_ = FALSE; + DataImportsFSpotFSpotImportableItem* _tmp160_ = NULL; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp153_ = importable_items; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp153__length1 = importable_items_length1; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp154_ = photo_row; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp155_ = roll_row; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp156_ = tags; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp156__length1 = tags_length1; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp157_ = event; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp158_ = hidden; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp159_ = favorite; +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp160_ = data_imports_fspot_fspot_importable_item_new (_tmp154_, NULL, _tmp155_, _tmp156_, _tmp156__length1, _tmp157_, _tmp158_, _tmp159_); +#line 507 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _vala_array_add6 (&importable_items, &importable_items_length1, &_importable_items_size_, G_TYPE_CHECK_INSTANCE_CAST (_tmp160_, SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)); +#line 4890 "FSpotImporter.c" + } +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_error_free0 (e); +#line 4894 "FSpotImporter.c" + } + __finally5: +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_clear_error (&_inner_error_); +#line 474 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return; +#line 4923 "FSpotImporter.c" + } +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp161_ = self->priv->running; +#line 514 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp161_) { +#line 4929 "FSpotImporter.c" + SpitDataImportsPluginHost* _tmp162_ = NULL; + SpitDataImportsImportableMediaItem** _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gdouble _tmp164_ = 0.0; + gdouble _tmp165_ = 0.0; + gdouble _tmp166_ = 0.0; + gdouble _tmp167_ = 0.0; + gdouble _tmp168_ = 0.0; + gdouble _tmp169_ = 0.0; + gdouble _tmp170_ = 0.0; + SpitDataImportsPluginHost* _tmp171_ = NULL; + gdouble _tmp172_ = 0.0; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp162_ = self->priv->host; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp163_ = importable_items; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp163__length1 = importable_items_length1; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp164_ = current_progress; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp165_ = progress_delta_per_photo; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp166_ = progress_plugin_to_host_ratio; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp167_ = progress_delta_per_photo; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp168_ = progress_plugin_to_host_ratio; +#line 515 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_prepare_media_items_for_import (_tmp162_, _tmp163_, _tmp163__length1, _tmp164_ + (_tmp165_ * _tmp166_), _tmp167_ * (1 - _tmp168_), NULL); +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp169_ = current_progress; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp170_ = progress_delta_per_photo; +#line 521 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + current_progress = _tmp169_ + _tmp170_; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp171_ = self->priv->host; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp172_ = current_progress; +#line 522 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_update_import_progress_pane (_tmp171_, _tmp172_, NULL); +#line 4972 "FSpotImporter.c" + } else { +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 524 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + break; +#line 4986 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + importable_items = (_vala_array_free (importable_items, importable_items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (roll_row); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (event); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (photo_row); +#line 4998 "FSpotImporter.c" + } +#line 434 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (_photo_row_list); +#line 5002 "FSpotImporter.c" + } +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp173_ = self->priv->host; +#line 527 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_finalize_import (_tmp173_, _data_imports_fspot_fspot_data_importer_on_imported_items_count_spit_data_imports_imported_items_count_callback, self, NULL); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (all_photos); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (tags_cache); +#line 399 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (database); +#line 5014 "FSpotImporter.c" +} + + +void data_imports_fspot_fspot_data_importer_on_imported_items_count (DataImportsFSpotFSpotDataImporter* self, gint imported_items_count) { + SpitDataImportsPluginHost* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 530 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self)); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = self->priv->host; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = imported_items_count; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = g_strdup_printf (DATA_IMPORTS_FSPOT_MESSAGE_FINAL_SCREEN, _tmp1_); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _tmp2_; +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + spit_data_imports_plugin_host_install_static_message_pane (_tmp0_, _tmp3_, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 531 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp3_); +#line 5037 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_event (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 537 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_EVENTS, _tmp2_) == 0; +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp2_); +#line 538 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp3_; +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = _result_; +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp4_) { +#line 5069 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag; +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_); +#line 540 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp6_; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 541 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp7_ == NULL) { +#line 542 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5086 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = parent; +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_event (self, _tmp8_); +#line 544 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5096 "FSpotImporter.c" + } +#line 539 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5100 "FSpotImporter.c" + } +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 546 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5106 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_hidden (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag, gint64 hidden_tag_id) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + gint64 _tmp0_ = 0LL; + DataImportsFSpotFSpotImportableTag* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gboolean _tmp3_ = FALSE; +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 549 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = hidden_tag_id; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = tag; +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = data_imports_fspot_fspot_importable_tag_get_id (_tmp1_); +#line 550 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp0_ == _tmp2_; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = _result_; +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp3_) { +#line 5133 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp4_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = tag; +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp4_); +#line 552 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp5_; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = parent; +#line 553 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp6_ == NULL) { +#line 554 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5150 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; + gboolean _tmp9_ = FALSE; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = hidden_tag_id; +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_hidden (self, _tmp7_, _tmp8_); +#line 556 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5163 "FSpotImporter.c" + } +#line 551 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5167 "FSpotImporter.c" + } +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 558 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5173 "FSpotImporter.c" +} + + +static gboolean data_imports_fspot_fspot_data_importer_is_tag_favorite (DataImportsFSpotFSpotDataImporter* self, DataImportsFSpotFSpotImportableTag* tag) { + gboolean result = FALSE; + gboolean _result_ = FALSE; + DataImportsFSpotFSpotImportableTag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_DATA_IMPORTER (self), FALSE); +#line 561 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_return_val_if_fail (DATA_IMPORTS_FSPOT_IS_FSPOT_IMPORTABLE_TAG (tag), FALSE); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp0_ = tag; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp1_ = data_imports_fspot_fspot_importable_tag_get_stock_icon (_tmp0_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp2_ = _tmp1_; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp3_ = g_strcmp0 (DATA_IMPORTS_FSPOT_DB_FSPOT_TAGS_TABLE_STOCK_ICON_FAV, _tmp2_) == 0; +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_free0 (_tmp2_); +#line 562 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp3_; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp4_ = _result_; +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (!_tmp4_) { +#line 5205 "FSpotImporter.c" + DataImportsFSpotFSpotImportableTag* parent = NULL; + DataImportsFSpotFSpotImportableTag* _tmp5_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp6_ = NULL; + DataImportsFSpotFSpotImportableTag* _tmp7_ = NULL; +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp5_ = tag; +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp6_ = data_imports_fspot_fspot_importable_tag_get_fspot_parent (_tmp5_); +#line 564 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + parent = _tmp6_; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp7_ = parent; +#line 565 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + if (_tmp7_ == NULL) { +#line 566 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = FALSE; +#line 5222 "FSpotImporter.c" + } else { + DataImportsFSpotFSpotImportableTag* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp8_ = parent; +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _tmp9_ = data_imports_fspot_fspot_data_importer_is_tag_favorite (self, _tmp8_); +#line 568 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _result_ = _tmp9_; +#line 5232 "FSpotImporter.c" + } +#line 563 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + _g_object_unref0 (parent); +#line 5236 "FSpotImporter.c" + } +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + result = _result_; +#line 570 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + return result; +#line 5242 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_class_init (DataImportsFSpotFSpotDataImporterClass * klass) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_parent_class = g_type_class_peek_parent (klass); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + g_type_class_add_private (klass, sizeof (DataImportsFSpotFSpotDataImporterPrivate)); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_fspot_fspot_data_importer_finalize; +#line 5253 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init (SpitDataImportsDataImporterIface * iface) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_parent_iface = g_type_interface_peek_parent (iface); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->is_running = (gboolean (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_is_running; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->get_service = (SpitDataImportsService* (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_get_service; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->start = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_start; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->stop = (void (*)(SpitDataImportsDataImporter*)) data_imports_fspot_fspot_data_importer_real_stop; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->on_library_selected = (void (*)(SpitDataImportsDataImporter*, SpitDataImportsImportableLibrary*)) data_imports_fspot_fspot_data_importer_real_on_library_selected; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + iface->on_file_selected = (void (*)(SpitDataImportsDataImporter*, GFile*)) data_imports_fspot_fspot_data_importer_real_on_file_selected; +#line 5272 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_instance_init (DataImportsFSpotFSpotDataImporter * self) { +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv = DATA_IMPORTS_FSPOT_FSPOT_DATA_IMPORTER_GET_PRIVATE (self); +#line 324 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->host = NULL; +#line 325 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->service = NULL; +#line 326 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self->priv->running = FALSE; +#line 5285 "FSpotImporter.c" +} + + +static void data_imports_fspot_fspot_data_importer_finalize (GObject* obj) { + DataImportsFSpotFSpotDataImporter * self; +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_FSPOT_TYPE_FSPOT_DATA_IMPORTER, DataImportsFSpotFSpotDataImporter); +#line 322 "/home/jens/Source/shotwell/plugins/shotwell-data-imports/FSpotImporter.vala" + G_OBJECT_CLASS (data_imports_fspot_fspot_data_importer_parent_class)->finalize (obj); +#line 5295 "FSpotImporter.c" +} + + +GType data_imports_fspot_fspot_data_importer_get_type (void) { + static volatile gsize data_imports_fspot_fspot_data_importer_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_fspot_fspot_data_importer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsFSpotFSpotDataImporterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_fspot_fspot_data_importer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsFSpotFSpotDataImporter), 0, (GInstanceInitFunc) data_imports_fspot_fspot_data_importer_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_data_importer_info = { (GInterfaceInitFunc) data_imports_fspot_fspot_data_importer_spit_data_imports_data_importer_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_fspot_fspot_data_importer_type_id; + data_imports_fspot_fspot_data_importer_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsFSpotFSpotDataImporter", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_fspot_fspot_data_importer_type_id, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, &spit_data_imports_data_importer_info); + g_once_init_leave (&data_imports_fspot_fspot_data_importer_type_id__volatile, data_imports_fspot_fspot_data_importer_type_id); + } + return data_imports_fspot_fspot_data_importer_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + |