From 143bfc9f801c84428074312d661f8e08803df83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 20 Aug 2016 15:09:31 +0200 Subject: Imported Upstream version 0.23.5 --- src/Photo.c | 42206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42206 insertions(+) create mode 100644 src/Photo.c (limited to 'src/Photo.c') diff --git a/src/Photo.c b/src/Photo.c new file mode 100644 index 0000000..d0e4daa --- /dev/null +++ b/src/Photo.c @@ -0,0 +1,42206 @@ +/* Photo.c generated by valac 0.32.1, the Vala compiler + * generated from Photo.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ +/* Specifies how pixel data is fetched from the backing file on disk. MASTER is the original*/ +/* backing photo of any supported photo file format; SOURCE is either the master or the editable*/ +/* file, that is, the appropriate reference file for user display; BASELINE is an appropriate*/ +/* file with the proviso that it may be a suitable substitute for the master and/or the editable.*/ +/* UNMODIFIED represents the photo with no edits, i.e. the head of the pipeline.*/ +/**/ +/* In general, callers want to use the BASELINE unless requirements are specific.*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) + +#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ()) +#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams)) +#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) +#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS)) +#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS)) +#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) + +typedef struct _PhotoImportParams PhotoImportParams; +typedef struct _PhotoImportParamsClass PhotoImportParamsClass; +typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _thumbnails_unref0(var) ((var == NULL) ? NULL : (var = (thumbnails_unref (var), NULL))) +#define _photo_row_unref0(var) ((var == NULL) ? NULL : (var = (photo_row_unref (var), NULL))) +typedef struct _ParamSpecPhotoImportParams ParamSpecPhotoImportParams; + +#define TYPE_PHOTO_TRANSFORMATION_STATE (photo_transformation_state_get_type ()) +#define PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState)) +#define PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass)) +#define IS_PHOTO_TRANSFORMATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TRANSFORMATION_STATE)) +#define IS_PHOTO_TRANSFORMATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TRANSFORMATION_STATE)) +#define PHOTO_TRANSFORMATION_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStateClass)) + +typedef struct _PhotoTransformationState PhotoTransformationState; +typedef struct _PhotoTransformationStateClass PhotoTransformationStateClass; +typedef struct _PhotoTransformationStatePrivate PhotoTransformationStatePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; +typedef struct _PhotoSourcePrivate PhotoSourcePrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; +typedef struct _PhotoPrivate PhotoPrivate; + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; + +#define PHOTO_TYPE_BACKING_READERS (photo_backing_readers_get_type ()) +#define PHOTO_BACKING_READERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_BACKING_READERS, PhotoBackingReaders)) +#define PHOTO_BACKING_READERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_BACKING_READERS, PhotoBackingReadersClass)) +#define PHOTO_IS_BACKING_READERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_BACKING_READERS)) +#define PHOTO_IS_BACKING_READERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_BACKING_READERS)) +#define PHOTO_BACKING_READERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_BACKING_READERS, PhotoBackingReadersClass)) + +typedef struct _PhotoBackingReaders PhotoBackingReaders; +typedef struct _PhotoBackingReadersClass PhotoBackingReadersClass; + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define PHOTO_TYPE_CACHED_PIXBUF (photo_cached_pixbuf_get_type ()) +#define PHOTO_CACHED_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbuf)) +#define PHOTO_CACHED_PIXBUF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbufClass)) +#define PHOTO_IS_CACHED_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_CACHED_PIXBUF)) +#define PHOTO_IS_CACHED_PIXBUF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_CACHED_PIXBUF)) +#define PHOTO_CACHED_PIXBUF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbufClass)) + +typedef struct _PhotoCachedPixbuf PhotoCachedPixbuf; +typedef struct _PhotoCachedPixbufClass PhotoCachedPixbufClass; +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) +#define _photo_backing_readers_unref0(var) ((var == NULL) ? NULL : (var = (photo_backing_readers_unref (var), NULL))) +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +typedef struct _PhotoRowPrivate PhotoRowPrivate; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoBackingReadersPrivate PhotoBackingReadersPrivate; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_BACKING_PHOTO_TABLE (backing_photo_table_get_type ()) +#define BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTable)) +#define BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) +#define IS_BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_TABLE)) +#define IS_BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_TABLE)) +#define BACKING_PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) + +typedef struct _BackingPhotoTable BackingPhotoTable; +typedef struct _BackingPhotoTableClass BackingPhotoTableClass; + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_INTERROGATOR (photo_file_interrogator_get_type ()) +#define PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogator)) +#define PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) +#define IS_PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_INTERROGATOR)) +#define IS_PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_INTERROGATOR)) +#define PHOTO_FILE_INTERROGATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) + +typedef struct _PhotoFileInterrogator PhotoFileInterrogator; +typedef struct _PhotoFileInterrogatorClass PhotoFileInterrogatorClass; +#define _photo_file_interrogator_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_interrogator_unref (var), NULL))) + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState)) +#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) + +typedef struct _PhotoReimportMasterState PhotoReimportMasterState; +typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass; +#define _photo_reimport_master_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_master_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL (photo_reimport_master_state_impl_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImplClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL)) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImplClass)) + +typedef struct _PhotoReimportMasterStateImpl PhotoReimportMasterStateImpl; +typedef struct _PhotoReimportMasterStateImplClass PhotoReimportMasterStateImplClass; +typedef struct _PhotoReimportMasterStatePrivate PhotoReimportMasterStatePrivate; +typedef struct _PhotoReimportMasterStateImplPrivate PhotoReimportMasterStateImplPrivate; + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE (photo_reimport_editable_state_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState)) +#define PHOTO_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) + +typedef struct _PhotoReimportEditableState PhotoReimportEditableState; +typedef struct _PhotoReimportEditableStateClass PhotoReimportEditableStateClass; +#define _photo_reimport_editable_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_editable_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL (photo_reimport_editable_state_impl_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImplClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL)) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImplClass)) + +typedef struct _PhotoReimportEditableStateImpl PhotoReimportEditableStateImpl; +typedef struct _PhotoReimportEditableStateImplClass PhotoReimportEditableStateImplClass; +typedef struct _PhotoReimportEditableStatePrivate PhotoReimportEditableStatePrivate; +typedef struct _PhotoReimportEditableStateImplPrivate PhotoReimportEditableStateImplPrivate; + +#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE (photo_reimport_raw_development_state_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) + +typedef struct _PhotoReimportRawDevelopmentState PhotoReimportRawDevelopmentState; +typedef struct _PhotoReimportRawDevelopmentStateClass PhotoReimportRawDevelopmentStateClass; +#define _photo_reimport_raw_development_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_raw_development_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (photo_reimport_raw_development_state_impl_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImplClass)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImplClass)) + +typedef struct _PhotoReimportRawDevelopmentStateImpl PhotoReimportRawDevelopmentStateImpl; +typedef struct _PhotoReimportRawDevelopmentStateImplClass PhotoReimportRawDevelopmentStateImplClass; + +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT (photo_reimport_raw_development_state_impl_dev_to_reimport_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimport)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimportClass)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_IS_DEV_TO_REIMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_IS_DEV_TO_REIMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimportClass)) + +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimport PhotoReimportRawDevelopmentStateImplDevToReimport; +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimportClass PhotoReimportRawDevelopmentStateImplDevToReimportClass; +typedef struct _PhotoReimportRawDevelopmentStatePrivate PhotoReimportRawDevelopmentStatePrivate; +typedef struct _PhotoReimportRawDevelopmentStateImplPrivate PhotoReimportRawDevelopmentStateImplPrivate; +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimportPrivate PhotoReimportRawDevelopmentStateImplDevToReimportPrivate; +#define _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_raw_development_state_impl_dev_to_reimport_unref (var), NULL))) + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ()) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) + +#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) + +#define PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL (photo_photo_transformation_state_impl_get_type ()) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImpl)) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplClass)) +#define PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL)) +#define PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL)) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplClass)) + +typedef struct _PhotoPhotoTransformationStateImpl PhotoPhotoTransformationStateImpl; +typedef struct _PhotoPhotoTransformationStateImplClass PhotoPhotoTransformationStateImplClass; + +#define EDITING_TOOLS_TYPE_REDEYE_INSTANCE (editing_tools_redeye_instance_get_type ()) +typedef struct _EditingToolsRedeyeInstance EditingToolsRedeyeInstance; +typedef struct _PhotoCachedPixbufPrivate PhotoCachedPixbufPrivate; +#define _photo_cached_pixbuf_unref0(var) ((var == NULL) ? NULL : (var = (photo_cached_pixbuf_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) +typedef struct _PhotoPhotoTransformationStateImplPrivate PhotoPhotoTransformationStateImplPrivate; +typedef struct _PhotoParamSpecBackingReaders PhotoParamSpecBackingReaders; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) +typedef struct _PhotoParamSpecCachedPixbuf PhotoParamSpecCachedPixbuf; +typedef struct _PhotoParamSpecReimportMasterState PhotoParamSpecReimportMasterState; +typedef struct _PhotoParamSpecReimportEditableState PhotoParamSpecReimportEditableState; +typedef struct _PhotoParamSpecReimportRawDevelopmentState PhotoParamSpecReimportRawDevelopmentState; +typedef struct _PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#define TYPE_MARKER (marker_get_type ()) +#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker)) +#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER)) +#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface)) + +typedef struct _Marker Marker; +typedef struct _MarkerIface MarkerIface; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; +typedef struct _MediaSourceCollectionPrivate MediaSourceCollectionPrivate; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; + +#define TYPE_TRANSACTION_CONTROLLER (transaction_controller_get_type ()) +#define TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionController)) +#define TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) +#define IS_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSACTION_CONTROLLER)) +#define IS_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSACTION_CONTROLLER)) +#define TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) + +typedef struct _TransactionController TransactionController; +typedef struct _TransactionControllerClass TransactionControllerClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; +typedef struct _LibraryPhotoSourceCollectionPrivate LibraryPhotoSourceCollectionPrivate; + +#define LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ()) +#define _transaction_controller_unref0(var) ((var == NULL) ? NULL : (var = (transaction_controller_unref (var), NULL))) +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) + +#define TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (library_photo_source_holding_tank_get_type ()) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank)) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass)) +#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK)) +#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK)) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass)) + +typedef struct _LibraryPhotoSourceHoldingTank LibraryPhotoSourceHoldingTank; +typedef struct _LibraryPhotoSourceHoldingTankClass LibraryPhotoSourceHoldingTankClass; + +#define TYPE_PHOTO_MONITOR (photo_monitor_get_type ()) +#define PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_MONITOR, PhotoMonitor)) +#define PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) +#define IS_PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_MONITOR)) +#define IS_PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_MONITOR)) +#define PHOTO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) + +typedef struct _PhotoMonitor PhotoMonitor; +typedef struct _PhotoMonitorClass PhotoMonitorClass; + +#define TYPE_TAG (tag_get_type ()) +#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag)) +#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass)) +#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG)) +#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG)) +#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass)) + +typedef struct _Tag Tag; +typedef struct _TagClass TagClass; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER (media_source_transaction_controller_get_type ()) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) + +typedef struct _MediaSourceTransactionController MediaSourceTransactionController; +typedef struct _MediaSourceTransactionControllerClass MediaSourceTransactionControllerClass; + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; +typedef struct _LibraryPhotoPrivate LibraryPhotoPrivate; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ()) +#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection)) +#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) +#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION)) +#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION)) +#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) + +typedef struct _TagSourceCollection TagSourceCollection; +typedef struct _TagSourceCollectionClass TagSourceCollectionClass; +typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate; +typedef struct _DatabaseSourceHoldingTankPrivate DatabaseSourceHoldingTankPrivate; +typedef struct _MediaSourceHoldingTankPrivate MediaSourceHoldingTankPrivate; +typedef struct _LibraryPhotoSourceHoldingTankPrivate LibraryPhotoSourceHoldingTankPrivate; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +struct _ImportID { + gint64 id; +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoImportParamsPrivate * priv; + GFile* file; + GFile* final_associated_file; + ImportID import_id; + PhotoFileSnifferOptions sniffer_options; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* full_md5; + Thumbnails* thumbnails; + PhotoRow* row; + GeeCollection* keywords; +}; + +struct _PhotoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (PhotoImportParams *self); +}; + +struct _ParamSpecPhotoImportParams { + GParamSpec parent_instance; +}; + +struct _PhotoTransformationState { + GObject parent_instance; + PhotoTransformationStatePrivate * priv; +}; + +struct _PhotoTransformationStateClass { + GObjectClass parent_class; + void (*broken) (PhotoTransformationState* self); +}; + +struct _PhotoTransformationStatePrivate { + gboolean is_broke; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +struct _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _PhotoSource { + MediaSource parent_instance; + PhotoSourcePrivate * priv; +}; + +struct _PhotoSourceClass { + MediaSourceClass parent_class; + PhotoMetadata* (*get_metadata) (PhotoSource* self); + GdkPixbuf* (*get_pixbuf) (PhotoSource* self, Scaling* scaling, GError** error); +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _Photo { + PhotoSource parent_instance; + PhotoPrivate * priv; + PhotoRow* row; + gboolean can_rotate_now; + BackingPhotoRow* backing_photo_row; +}; + +struct _PhotoClass { + PhotoSourceClass parent_class; + void (*notify_editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*notify_raw_development_modified) (Photo* self); + void (*notify_baseline_replaced) (Photo* self); + void (*notify_master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_source_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*apply_user_metadata_for_reimport) (Photo* self, PhotoMetadata* metadata); + void (*rotate) (Photo* self, Rotation rotation); + gboolean (*has_user_generated_metadata) (Photo* self); + void (*set_user_metadata_for_export) (Photo* self, PhotoMetadata* metadata); + void (*editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*raw_development_modified) (Photo* self); + void (*baseline_replaced) (Photo* self); + void (*master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*source_reimported) (Photo* self, PhotoMetadata* metadata); +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PhotoPrivate { + time_t cached_exposure_time; + GRecMutex __lock_row; + BackingPhotoRow* editable; + PhotoBackingReaders* readers; + GRecMutex __lock_readers; + PixelTransformer* transformer; + PixelTransformationBundle* adjustments; + gchar* file_title; + GFileMonitor* editable_monitor; + OneShotScheduler* reimport_editable_scheduler; + OneShotScheduler* update_editable_attributes_scheduler; + OneShotScheduler* remove_editable_scheduler; + GeeHashMap* developments; + GRecMutex __lock_developments; +}; + +struct _PhotoID { + gint64 id; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoID { + gint64 id; +}; + +struct _PhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoRowPrivate * priv; + PhotoID photo_id; + BackingPhotoRow* master; + time_t exposure_time; + ImportID import_id; + EventID event_id; + Orientation orientation; + GeeHashMap* transformations; + gchar* md5; + gchar* thumbnail_md5; + gchar* exif_md5; + time_t time_created; + guint64 flags; + Rating rating; + gchar* title; + gchar* comment; + gchar* backlinks; + time_t time_reimported; + BackingPhotoID editable_id; + gboolean metadata_dirty; + RawDeveloper developer; + BackingPhotoID* development_ids; + gint development_ids_length1; +}; + +struct _PhotoRowClass { + GTypeClass parent_class; + void (*finalize) (PhotoRow *self); +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +struct _PhotoBackingReaders { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoBackingReadersPrivate * priv; + PhotoFileReader* master; + PhotoFileReader* developer; + PhotoFileReader* editable; +}; + +struct _PhotoBackingReadersClass { + GTypeClass parent_class; + void (*finalize) (PhotoBackingReaders *self); +}; + +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 _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _PhotoReimportMasterState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportMasterStatePrivate * priv; +}; + +struct _PhotoReimportMasterStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportMasterState *self); +}; + +struct _PhotoReimportMasterStateImpl { + PhotoReimportMasterState parent_instance; + PhotoReimportMasterStateImplPrivate * priv; + PhotoRow* row; + PhotoMetadata* metadata; + gchar** alterations; + gint alterations_length1; + gint _alterations_size_; + gboolean metadata_only; +}; + +struct _PhotoReimportMasterStateImplClass { + PhotoReimportMasterStateClass parent_class; +}; + +struct _PhotoReimportEditableState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportEditableStatePrivate * priv; +}; + +struct _PhotoReimportEditableStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportEditableState *self); +}; + +struct _PhotoReimportEditableStateImpl { + PhotoReimportEditableState parent_instance; + PhotoReimportEditableStateImplPrivate * priv; + BackingPhotoRow* backing_state; + PhotoMetadata* metadata; + gboolean metadata_only; +}; + +struct _PhotoReimportEditableStateImplClass { + PhotoReimportEditableStateClass parent_class; +}; + +struct _PhotoReimportRawDevelopmentState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportRawDevelopmentStatePrivate * priv; +}; + +struct _PhotoReimportRawDevelopmentStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportRawDevelopmentState *self); +}; + +struct _PhotoReimportRawDevelopmentStateImpl { + PhotoReimportRawDevelopmentState parent_instance; + PhotoReimportRawDevelopmentStateImplPrivate * priv; + GeeCollection* list; + gboolean metadata_only; +}; + +struct _PhotoReimportRawDevelopmentStateImplClass { + PhotoReimportRawDevelopmentStateClass parent_class; +}; + +struct _PhotoReimportRawDevelopmentStateImplDevToReimport { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportRawDevelopmentStateImplDevToReimportPrivate * priv; + BackingPhotoRow* backing; + PhotoMetadata* metadata; +}; + +struct _PhotoReimportRawDevelopmentStateImplDevToReimportClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportRawDevelopmentStateImplDevToReimport *self); +}; + +typedef enum { + PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, + PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, + PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN +} PhotoMetadataSetOption; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +typedef enum { + PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, + PIXEL_TRANSFORMATION_TYPE_SHADOWS, + PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, + PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, + PIXEL_TRANSFORMATION_TYPE_TINT, + PIXEL_TRANSFORMATION_TYPE_SATURATION, + PIXEL_TRANSFORMATION_TYPE_EXPOSURE +} PixelTransformationType; + +struct _EditingToolsRedeyeInstance { + GdkPoint center; + gint radius; +}; + +struct _PhotoCachedPixbuf { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoCachedPixbufPrivate * priv; + Photo* photo; + GdkPixbuf* pixbuf; + GTimer* last_touched; +}; + +struct _PhotoCachedPixbufClass { + GTypeClass parent_class; + void (*finalize) (PhotoCachedPixbuf *self); +}; + +typedef void (*OneShotCallback) (void* user_data); +struct _PhotoPhotoTransformationStateImpl { + PhotoTransformationState parent_instance; + PhotoPhotoTransformationStateImplPrivate * priv; +}; + +struct _PhotoPhotoTransformationStateImplClass { + PhotoTransformationStateClass parent_class; +}; + +struct _PhotoPhotoTransformationStateImplPrivate { + Photo* photo; + Orientation orientation; + GeeHashMap* transformations; + PixelTransformer* transformer; + PixelTransformationBundle* adjustments; +}; + +struct _PhotoParamSpecBackingReaders { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecCachedPixbuf { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportMasterState { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportEditableState { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportRawDevelopmentState { + GParamSpec parent_instance; +}; + +struct _PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport { + GParamSpec parent_instance; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _MarkerIface { + GTypeInterface parent_iface; + void (*mark) (Marker* self, DataObject* object); + void (*unmark) (Marker* self, DataObject* object); + gboolean (*toggle) (Marker* self, DataObject* object); + void (*mark_many) (Marker* self, GeeCollection* list); + void (*unmark_many) (Marker* self, GeeCollection* list); + void (*mark_all) (Marker* self); + gint (*get_count) (Marker* self); + GeeCollection* (*get_all) (Marker* self); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _MediaSourceCollection { + DatabaseSourceCollection parent_instance; + MediaSourceCollectionPrivate * priv; +}; + +struct _MediaSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + MediaSourceHoldingTank* (*create_trashcan) (MediaSourceCollection* self); + MediaSourceHoldingTank* (*create_offline_bin) (MediaSourceCollection* self); + MediaMonitor* (*create_media_monitor) (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); + gchar* (*get_typename) (MediaSourceCollection* self); + gboolean (*is_file_recognized) (MediaSourceCollection* self, GFile* file); + MediaSource* (*fetch_by_numeric_id) (MediaSourceCollection* self, gint64 numeric_id); + void (*notify_import_roll_altered) (MediaSourceCollection* self); + void (*notify_flagged_contents_altered) (MediaSourceCollection* self); + void (*notify_media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*notify_media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + MediaSource* (*fetch_by_source_id) (MediaSourceCollection* self, const gchar* source_id); + GeeCollection* (*get_event_source_ids) (MediaSourceCollection* self, EventID* event_id); + void (*import_many) (MediaSourceCollection* self, GeeCollection* media); + void (*postprocess_imported_media) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + void (*master_file_replaced) (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); + void (*trashcan_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*import_roll_altered) (MediaSourceCollection* self); + void (*offline_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*flagged_contents_altered) (MediaSourceCollection* self); + TransactionController* (*get_transaction_controller) (MediaSourceCollection* self); +}; + +struct _LibraryPhotoSourceCollection { + MediaSourceCollection parent_instance; + LibraryPhotoSourceCollectionPrivate * priv; +}; + +struct _LibraryPhotoSourceCollectionClass { + MediaSourceCollectionClass parent_class; + void (*notify_master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +}; + +struct _LibraryPhotoSourceCollectionPrivate { + TransactionController* _transaction_controller; + GeeHashMap* by_editable_file; + GeeHashMap* by_raw_development_file; + GeeMultiMap* filesize_to_photo; + GeeHashMap* photo_to_master_filesize; + GeeHashMap* photo_to_editable_filesize; + GeeMultiMap* photo_to_raw_development_filesize; +}; + +typedef enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER +} LibraryPhotoSourceCollectionState; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _LibraryPhoto { + Photo parent_instance; + LibraryPhotoPrivate * priv; +}; + +struct _LibraryPhotoClass { + PhotoClass parent_class; +}; + +struct _LibraryPhotoPrivate { + gboolean block_thumbnail_generation; + OneShotScheduler* thumbnail_scheduler; + GeeCollection* import_keywords; +}; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _SourceHoldingTank { + GTypeInstance parent_instance; + volatile int ref_count; + SourceHoldingTankPrivate * priv; +}; + +struct _SourceHoldingTankClass { + GTypeClass parent_class; + void (*finalize) (SourceHoldingTank *self); + void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); + void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +}; + +struct _DatabaseSourceHoldingTank { + SourceHoldingTank parent_instance; + DatabaseSourceHoldingTankPrivate * priv; +}; + +struct _DatabaseSourceHoldingTankClass { + SourceHoldingTankClass parent_class; +}; + +struct _MediaSourceHoldingTank { + DatabaseSourceHoldingTank parent_instance; + MediaSourceHoldingTankPrivate * priv; +}; + +struct _MediaSourceHoldingTankClass { + DatabaseSourceHoldingTankClass parent_class; +}; + +struct _LibraryPhotoSourceHoldingTank { + MediaSourceHoldingTank parent_instance; + LibraryPhotoSourceHoldingTankPrivate * priv; +}; + +struct _LibraryPhotoSourceHoldingTankClass { + MediaSourceHoldingTankClass parent_class; +}; + +struct _LibraryPhotoSourceHoldingTankPrivate { + GeeHashMap* editable_file_map; + GeeHashMap* development_file_map; + GeeMultiMap* reverse_editable_file_map; + GeeMultiMap* reverse_development_file_map; +}; + + +static gpointer photo_import_params_parent_class = NULL; +static gpointer photo_transformation_state_parent_class = NULL; +static gpointer photo_parent_class = NULL; +static GeeLinkedList* photo_source_pixbuf_cache; +static GRecMutex __lock_photo_source_pixbuf_cache = {0}; +static GeeLinkedList* photo_source_pixbuf_cache = NULL; +static guint photo_discard_source_id; +static guint photo_discard_source_id = (guint) 0; +static gboolean photo__develop_raw_photos_to_files; +static gboolean photo__develop_raw_photos_to_files = FALSE; +static gpointer photo_photo_transformation_state_impl_parent_class = NULL; +static gpointer photo_backing_readers_parent_class = NULL; +static gpointer photo_cached_pixbuf_parent_class = NULL; +static gpointer photo_reimport_master_state_parent_class = NULL; +static gpointer photo_reimport_master_state_impl_parent_class = NULL; +static gpointer photo_reimport_editable_state_parent_class = NULL; +static gpointer photo_reimport_editable_state_impl_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_impl_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_parent_class = NULL; +static DateableIface* photo_dateable_parent_iface = NULL; +static gpointer library_photo_source_collection_parent_class = NULL; +static gpointer library_photo_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +LibraryPhotoSourceCollection* library_photo_global = NULL; +extern TagSourceCollection* tag_global; +static FlaggableIface* library_photo_flaggable_parent_iface = NULL; +static MonitorableIface* library_photo_monitorable_parent_iface = NULL; +static gpointer library_photo_source_holding_tank_parent_class = NULL; + +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +gpointer photo_import_params_ref (gpointer instance); +void photo_import_params_unref (gpointer instance); +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_import_params (GValue* value, gpointer v_object); +void value_take_photo_import_params (GValue* value, gpointer v_object); +gpointer value_get_photo_import_params (const GValue* value); +GType photo_import_params_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +enum { + PHOTO_IMPORT_PARAMS_DUMMY_PROPERTY +}; +PhotoRow* photo_row_new (void); +PhotoRow* photo_row_construct (GType object_type); +PhotoImportParams* photo_import_params_new (GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +PhotoImportParams* photo_import_params_construct (GType object_type, GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file, ImportID* import_id); +PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type, GFile* file, ImportID* import_id); +static void photo_import_params_finalize (PhotoImportParams* obj); +GType photo_transformation_state_get_type (void) G_GNUC_CONST; +#define PHOTO_TRANSFORMATION_STATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStatePrivate)) +enum { + PHOTO_TRANSFORMATION_STATE_DUMMY_PROPERTY +}; +PhotoTransformationState* photo_transformation_state_construct (GType object_type); +gboolean photo_transformation_state_is_broken (PhotoTransformationState* self); +static void photo_transformation_state_real_broken (PhotoTransformationState* self); +static void photo_transformation_state_finalize (GObject* obj); +GType rating_get_type (void) G_GNUC_CONST; +gboolean rating_can_increase (Rating self); +gboolean rating_can_decrease (Rating self); +gboolean rating_is_valid (Rating self); +Rating rating_increase (Rating self); +Rating rating_decrease (Rating self); +gint rating_serialize (Rating self); +Rating rating_unserialize (gint value); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType photo_source_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dateable_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType rotation_get_type (void) G_GNUC_CONST; +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +static gpointer photo_backing_readers_ref (gpointer instance); +static void photo_backing_readers_unref (gpointer instance); +static GParamSpec* photo_param_spec_backing_readers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_value_set_backing_readers (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_value_take_backing_readers (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_value_get_backing_readers (const GValue* value) G_GNUC_UNUSED; +static GType photo_backing_readers_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +#define PHOTO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO, PhotoPrivate)) +enum { + PHOTO_DUMMY_PROPERTY +}; +gboolean photo_exception_prohibits (PhotoException self, PhotoException exception); +gboolean photo_exception_allows (PhotoException self, PhotoException exception); +static gpointer photo_cached_pixbuf_ref (gpointer instance); +static void photo_cached_pixbuf_unref (gpointer instance); +static GParamSpec* photo_param_spec_cached_pixbuf (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_value_set_cached_pixbuf (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_value_take_cached_pixbuf (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_value_get_cached_pixbuf (const GValue* value) G_GNUC_UNUSED; +static GType photo_cached_pixbuf_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +BackingPhotoRow* backing_photo_row_new (void); +BackingPhotoRow* backing_photo_row_construct (GType object_type); +static PhotoBackingReaders* photo_backing_readers_new (void); +static PhotoBackingReaders* photo_backing_readers_construct (GType object_type); +#define PHOTO_TYPENAME "thumb" +#define PHOTO_SCALING_FUDGE 64 +#define PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC 10 +#define PHOTO_SOURCE_PIXBUF_MIN_LRU_COUNT 1 +#define PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT 3 +#define PHOTO_MIN_EMBEDDED_SIZE 1024 +Photo* photo_construct (GType object_type, PhotoRow* row); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +PhotoSource* photo_source_construct (GType object_type, gint64 object_id); +gchar* media_source_prep_title (const gchar* title); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +GType orientation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +gchar* media_source_prep_comment (const gchar* comment); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +gchar* string_sliced_at_last_char (const gchar* haystack, gunichar ch, gint start_index); +gchar* string_sliced_at (const gchar* str, gint index); +gboolean is_string_empty (const gchar* s); +#define BACKING_PHOTO_ID_INVALID ((gint64) -1) +static BackingPhotoRow* photo_get_backing_row (Photo* self, BackingPhotoID* id); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +GQuark database_error_quark (void); +void photo_table_detach_editable (PhotoTable* self, PhotoRow* row, GError** error); +static void photo_internal_remove_all_transformations (Photo* self, gboolean notify); +RawDeveloper* raw_developer_as_array (int* result_length1); +void photo_init_photo (void); +void photo_terminate_photo (void); +void photo_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +static void photo_real_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +void photo_notify_raw_development_modified (Photo* self); +static void photo_real_notify_raw_development_modified (Photo* self); +void photo_notify_baseline_replaced (Photo* self); +static void photo_real_notify_baseline_replaced (Photo* self); +void photo_notify_master_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_master_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_editable_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_editable_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_source_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_source_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static gboolean photo_real_internal_delete_backing (DataSource* base, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +static void photo_detach_editable (Photo* self, gboolean delete_editable, gboolean remove_transformations, gboolean notify); +PhotoFileFormat photo_get_master_file_format (Photo* self); +static gboolean photo_delete_raw_development (Photo* self, RawDeveloper d); +gchar* data_object_to_string (DataObject* self); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +GType backing_photo_table_get_type (void) G_GNUC_CONST; +BackingPhotoTable* backing_photo_table_get_instance (void); +BackingPhotoRow* backing_photo_table_fetch (BackingPhotoTable* self, BackingPhotoID* id, GError** error); +void backing_photo_table_remove (BackingPhotoTable* self, BackingPhotoID* backing_id, GError** error); +gboolean photo_is_raw_developer_complete (Photo* self, RawDeveloper d); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error); +guint photo_metadata_get_preview_count (PhotoMetadata* self); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +void photo_preview_get_pixel_dimensions (PhotoPreview* self, Dimensions* result); +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +void photo_import_developed_backing_photo (PhotoRow* row, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES +gpointer photo_file_interrogator_ref (gpointer instance); +void photo_file_interrogator_unref (gpointer instance); +GParamSpec* param_spec_photo_file_interrogator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_interrogator (GValue* value, gpointer v_object); +void value_take_photo_file_interrogator (GValue* value, gpointer v_object); +gpointer value_get_photo_file_interrogator (const GValue* value); +GType photo_file_interrogator_get_type (void) G_GNUC_CONST; +PhotoFileInterrogator* photo_file_interrogator_new (GFile* file, PhotoFileSnifferOptions options); +PhotoFileInterrogator* photo_file_interrogator_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +void photo_file_interrogator_interrogate (PhotoFileInterrogator* self, GError** error); +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +DetectedPhotoInformation* photo_file_interrogator_get_detected_photo_information (PhotoFileInterrogator* self); +gboolean photo_file_interrogator_get_is_photo_corrupted (PhotoFileInterrogator* self); +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +void backing_photo_table_add (BackingPhotoTable* self, BackingPhotoRow* state, GError** error); +void photo_table_update_raw_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, BackingPhotoID* backing_photo_id, GError** error); +static void photo_develop_photo (Photo* self, RawDeveloper d); +BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self, const gchar* raw_filepath, const gchar* camera_development_filename, GError** error); +GdkPixbuf* photo_get_master_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error); +void scaling_for_original (Scaling* result); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GQuark photo_format_error_quark (void); +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self, GError** error); +void photo_set_default_raw_developer (Photo* self, RawDeveloper d); +void photo_set_raw_developer (Photo* self, RawDeveloper d); +GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error); +void photo_revert_to_master (Photo* self, gboolean notify); +gboolean photo_set_orientation (Photo* self, Orientation orientation); +void photo_discard_prefetched (Photo* self); +RawDeveloper photo_get_raw_developer (Photo* self); +gchar* raw_developer_to_string (RawDeveloper self); +void photo_table_remove_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, GError** error); +void photo_redevelop_raw (Photo* self, RawDeveloper d); +static BackingFileState** photo_real_get_backing_files_state (MediaSource* base, int* result_length1); +BackingFileState* backing_file_state_new_from_photo_row (BackingPhotoRow* photo_row, const gchar* md5); +BackingFileState* backing_file_state_construct_from_photo_row (GType object_type, BackingPhotoRow* photo_row, const gchar* md5); +static void _vala_array_add251 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +gboolean photo_has_editable (Photo* self); +static void _vala_array_add252 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +gboolean photo_is_developed (Photo* self); +GeeCollection* photo_get_raw_development_photo_rows (Photo* self); +static void _vala_array_add253 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +static PhotoFileReader* photo_get_backing_reader (Photo* self, BackingFetchMode mode); +static PhotoFileReader* photo_get_master_reader (Photo* self); +static PhotoFileReader* photo_get_baseline_reader (Photo* self); +static PhotoFileReader* photo_get_source_reader (Photo* self); +static PhotoFileReader* photo_get_raw_developer_reader (Photo* self); +const gchar* backing_fetch_mode_to_string (BackingFetchMode self); +PhotoFileReader* photo_get_editable_reader (Photo* self); +gboolean photo_does_master_exist (Photo* self); +gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self); +gboolean photo_does_editable_exist (Photo* self); +gboolean photo_is_master_baseline (Photo* self); +gboolean photo_is_master_source (Photo* self); +gboolean photo_is_editable_baseline (Photo* self); +gboolean photo_is_editable_source (Photo* self); +BackingPhotoRow* photo_get_master_photo_row (Photo* self); +BackingPhotoRow* photo_get_editable_photo_row (Photo* self); +gboolean backing_photo_id_is_valid (BackingPhotoID *self); +BackingPhotoRow* photo_get_raw_development_photo_row (Photo* self, RawDeveloper d); +PhotoFileFormat* photo_get_editable_file_format (Photo* self); +PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self); +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +PhotoFileFormat photo_file_format_get_system_default_format (void); +PhotoFileFormat photo_get_best_export_file_format (Photo* self); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +GFile* media_source_get_master_file (MediaSource* self); +gchar* photo_get_export_basename (Photo* self, PhotoFileFormat* file_format); +GType import_result_get_type (void) G_GNUC_CONST; +ImportResult photo_prepare_for_import (PhotoImportParams* params); +gboolean photo_is_file_image (GFile* file); +gboolean photo_file_format_is_file_supported (GFile* file); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* media_metadata_get_title (MediaMetadata* self); +gchar* media_metadata_get_comment (MediaMetadata* self); +GeeSet* photo_metadata_get_keywords (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +Rating photo_metadata_get_rating (PhotoMetadata* self); +#define PHOTO_ID_INVALID ((gint64) -1) +void photo_id_init (PhotoID *self, gint64 id); +#define EVENT_ID_INVALID ((gint64) -1) +void event_id_init (EventID *self, gint64 id); +void thumbnail_cache_generate_for_photo (Thumbnails* thumbnails, PhotoFileReader* reader, Orientation orientation, Dimensions* original_dim, GError** error); +ImportResult import_result_convert_error (GError* err, ImportResult default_result); +void photo_create_pre_import (PhotoImportParams* params); +void dimensions_init (Dimensions *self, gint width, gint height); +BackingPhotoRow* photo_query_backing_photo_row (Photo* self, GFile* file, PhotoFileSnifferOptions options, DetectedPhotoInformation** detected, GError** error); +gpointer photo_reimport_master_state_ref (gpointer instance); +void photo_reimport_master_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_master_state (const GValue* value); +GType photo_reimport_master_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error); +static void _vala_array_add254 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add255 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add256 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add257 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add258 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add259 (gchar*** array, int* length, int* size, gchar* value); +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_new (PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1); +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_construct (GType object_type, PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1); +static GType photo_reimport_master_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void photo_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata); +static void photo_real_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata); +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error); +void photo_table_reimport (PhotoTable* self, PhotoRow* row, GError** error); +void backing_photo_row_copy_from (BackingPhotoRow* self, BackingPhotoRow* from); +static void _vala_array_add260 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add261 (gchar*** array, int* length, int* size, gchar* value); +Alteration* alteration_new_from_array (gchar** array, int array_length1); +Alteration* alteration_construct_from_array (GType object_type, gchar** array, int array_length1); +static gboolean photo_verify_file_for_reimport (Photo* self, GFile* file, BackingPhotoRow** backing, DetectedPhotoInformation** detected, GError** error); +gpointer photo_reimport_editable_state_ref (gpointer instance); +void photo_reimport_editable_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_editable_state (const GValue* value); +GType photo_reimport_editable_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_editable (Photo* self, PhotoReimportEditableState** state, GError** error); +GFile* photo_get_editable_file (Photo* self); +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_new (BackingPhotoRow* backing_state, PhotoMetadata* metadata); +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_construct (GType object_type, BackingPhotoRow* backing_state, PhotoMetadata* metadata); +static GType photo_reimport_editable_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void photo_finish_reimport_editable (Photo* self, PhotoReimportEditableState* state, GError** error); +void photo_get_editable_id (Photo* self, BackingPhotoID* result); +gboolean backing_photo_id_is_invalid (BackingPhotoID *self); +void backing_photo_table_update (BackingPhotoTable* self, BackingPhotoRow* row, GError** error); +void media_source_set_title (MediaSource* self, const gchar* title); +gboolean media_source_set_comment (MediaSource* self, const gchar* comment); +void media_source_set_rating (MediaSource* self, Rating rating); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +gpointer photo_reimport_raw_development_state_ref (gpointer instance); +void photo_reimport_raw_development_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_raw_development_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_raw_development_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_raw_development_state (const GValue* value); +GType photo_reimport_raw_development_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState** state, GError** error); +GeeCollection* photo_get_raw_developer_files (Photo* self); +static GType photo_reimport_raw_development_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_new (void); +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_construct (GType object_type); +static void photo_reimport_raw_development_state_impl_add (PhotoReimportRawDevelopmentStateImpl* self, BackingPhotoRow* backing, PhotoMetadata* metadata); +static gint photo_reimport_raw_development_state_impl_get_size (PhotoReimportRawDevelopmentStateImpl* self); +void photo_finish_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState* state, GError** error); +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_ref (gpointer instance); +static void photo_reimport_raw_development_state_impl_dev_to_reimport_unref (gpointer instance); +static GParamSpec* photo_reimport_raw_development_state_impl_param_spec_dev_to_reimport (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_reimport_raw_development_state_impl_value_set_dev_to_reimport (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_reimport_raw_development_state_impl_value_take_dev_to_reimport (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_reimport_raw_development_state_impl_value_get_dev_to_reimport (const GValue* value) G_GNUC_UNUSED; +GType photo_reimport_raw_development_state_impl_dev_to_reimport_get_type (void) G_GNUC_CONST; +static gchar* photo_real_get_typename (DataSource* base); +static gint64 photo_real_get_instance_id (DataSource* base); +void photo_get_photo_id (Photo* self, PhotoID* result); +static gchar* photo_real_get_source_id (DataSource* base); +gchar* data_source_get_typename (DataSource* self); +gint64 data_source_get_instance_id (DataSource* self); +void photo_set_master_timestamp (Photo* self, GFileInfo* info); +void photo_table_update_timestamp (PhotoTable* self, PhotoID* photo_id, time_t timestamp, GError** error); +void app_window_database_error (GError* err); +void photo_update_editable_modification_time (Photo* self, GFileInfo* info, GError** error); +void backing_photo_table_update_timestamp (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, GError** error); +void photo_update_many_editable_timestamps (GeeMap* map, GError** error); +void database_table_begin_transaction (void); +void database_table_commit_transaction (GError** error); +static PhotoFileFormat photo_real_get_preferred_thumbnail_format (ThumbnailSource* base); +PhotoFileFormat photo_get_file_format (Photo* self); +gboolean photo_file_format_can_write_image (PhotoFileFormat self); +static GdkPixbuf* photo_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +static gboolean photo_is_extension_found (const gchar* basename, gchar** extensions, int extensions_length1); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gboolean photo_is_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +gboolean photo_table_has_duplicate (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format); +PhotoID* photo_get_duplicate_ids (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, int* result_length1); +PhotoID* photo_table_get_duplicate_ids (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format, int* result_length1); +gint64 photo_get_photo_key (DataSource* source); +GType library_photo_get_type (void) G_GNUC_CONST; +static GFile* photo_real_get_file (MediaSource* base); +void photo_set_master_file (Photo* self, GFile* file); +void photo_table_set_filepath (PhotoTable* self, PhotoID* photo_id, const gchar* filepath, GError** error); +void media_source_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +static void _vala_array_add262 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add263 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add264 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add265 (gchar*** array, int* length, int* size, gchar* value); +void photo_set_editable_file (Photo* self, GFile* file); +void backing_photo_table_set_filepath (BackingPhotoTable* self, BackingPhotoID* id, const gchar* filepath, GError** error); +static void _vala_array_add266 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add267 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add268 (gchar*** array, int* length, int* size, gchar* value); +void photo_set_many_editable_file (GeeMap* map, GError** error); +GFile* photo_get_actual_file (Photo* self); +static GFile* photo_real_get_master_file (MediaSource* base); +GFile* photo_get_source_file (Photo* self); +gboolean photo_file_format_can_write (PhotoFileFormat self); +static time_t photo_real_get_timestamp (MediaSource* base); +static inline void photo_real_get_event_id (MediaSource* base, EventID* result); +gint64 photo_get_raw_event_id (Photo* self); +static void photo_real_get_import_id (MediaSource* base, ImportID* result); +static gchar* photo_real_get_master_md5 (MediaSource* base); +guint64 photo_get_flags (Photo* self); +static void photo_notify_flags_altered (Photo* self, Alteration* additional_alteration); +Alteration* alteration_compress (Alteration* self, Alteration* other); +guint64 photo_replace_flags (Photo* self, guint64 flags, Alteration* additional_alteration); +gboolean photo_table_replace_flags (PhotoTable* self, PhotoID* photo_id, guint64 flags); +gboolean photo_is_flag_set (Photo* self, guint64 mask); +gboolean media_source_internal_is_flag_set (guint64 flags, guint64 selector); +guint64 photo_add_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +guint64 media_source_internal_add_flags (guint64 flags, guint64 selector); +guint64 photo_remove_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +guint64 media_source_internal_remove_flags (guint64 flags, guint64 selector); +guint64 photo_add_remove_flags (Photo* self, guint64 add, guint64 remove, Alteration* additional_alteration); +void photo_add_remove_many_flags (GeeCollection* add, guint64 add_mask, Alteration* additional_add_alteration, GeeCollection* remove, guint64 remove_mask, Alteration* additional_remove_alteration, GError** error); +guint64 photo_toggle_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +gboolean photo_is_master_metadata_dirty (Photo* self); +void photo_set_master_metadata_dirty (Photo* self, gboolean dirty, GError** error); +void photo_table_set_metadata_dirty (PhotoTable* self, PhotoID* photo_id, gboolean dirty, GError** error); +static Rating photo_real_get_rating (MediaSource* base); +static void photo_real_set_rating (MediaSource* base, Rating rating); +gboolean photo_table_set_rating (PhotoTable* self, PhotoID* photo_id, Rating rating); +static void photo_real_increase_rating (MediaSource* base); +static void photo_real_decrease_rating (MediaSource* base); +static void photo_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks); +void photo_table_update_backlinks (PhotoTable* self, PhotoID* photo_id, const gchar* backlinks, GError** error); +static gboolean photo_real_set_event_id (MediaSource* base, EventID* event_id); +gboolean photo_table_set_event (PhotoTable* self, PhotoID* photo_id, EventID* event_id); +static gchar* photo_real_to_string (DataObject* base); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +static gboolean photo_real_equals (DataSource* base, DataSource* source); +gboolean data_source_equals (DataSource* self, DataSource* source); +static void photo_file_exif_updated (Photo* self); +GFile* media_source_get_file (MediaSource* self); +gboolean photo_table_master_exif_updated (PhotoTable* self, PhotoID* photoID, gint64 filesize, glong timestamp, const gchar* md5, const gchar* exif_md5, const gchar* thumbnail_md5, PhotoRow* row); +static guint64 photo_real_get_filesize (MediaSource* base); +static guint64 photo_real_get_master_filesize (MediaSource* base); +guint64 photo_get_editable_filesize (Photo* self); +static time_t photo_real_get_exposure_time (Dateable* base); +static gchar* photo_real_get_basename (MediaSource* base); +static gchar* photo_real_get_title (MediaSource* base); +static gchar* photo_real_get_comment (MediaSource* base); +static void photo_real_set_title (MediaSource* base, const gchar* title); +gboolean photo_table_set_title (PhotoTable* self, PhotoID* photo_id, const gchar* new_title); +static gboolean photo_real_set_comment (MediaSource* base, const gchar* comment); +gboolean photo_table_set_comment (PhotoTable* self, PhotoID* photo_id, const gchar* new_comment); +void photo_set_import_id (Photo* self, ImportID* import_id); +void photo_table_set_import_id (PhotoTable* self, PhotoID* photo_id, ImportID* import_id, GError** error); +void photo_set_title_persistent (Photo* self, const gchar* title, GError** error); +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self); +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +GType photo_metadata_set_option_get_type (void) G_GNUC_CONST; +void photo_metadata_set_title (PhotoMetadata* self, const gchar* title, PhotoMetadataSetOption option); +PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +void library_monitor_unblacklist_file (GFile* file); +void photo_set_comment_persistent (Photo* self, const gchar* comment, GError** error); +void photo_metadata_set_comment (PhotoMetadata* self, const gchar* comment); +static void photo_real_set_exposure_time (Dateable* base, time_t time); +gboolean photo_table_set_exposure_time (PhotoTable* self, PhotoID* photo_id, time_t time); +void photo_set_exposure_time_persistent (Photo* self, time_t time, GError** error); +void dateable_set_exposure_time (Dateable* self, time_t target_time); +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +static void photo_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result); +void photo_get_raw_dimensions (Photo* self, Dimensions* result); +Orientation photo_get_orientation (Photo* self); +gboolean photo_get_straighten (Photo* self, gdouble* theta); +void compute_arb_rotated_size (gdouble src_width, gdouble src_height, gdouble angle, gdouble* dest_width, gdouble* dest_height); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions); +void box_get_dimensions (Box *self, Dimensions* result); +static void photo_locked_create_adjustments_from_data (Photo* self); +PixelTransformationBundle* pixel_transformation_bundle_new (void); +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type); +static KeyValueMap* photo_get_transformation (Photo* self, const gchar* name); +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self); +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store); +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self); +PixelTransformationBundle* photo_get_color_adjustments (Photo* self); +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self); +PixelTransformer* photo_get_pixel_transformer (Photo* self); +PixelTransformer* pixel_transformer_copy (PixelTransformer* self); +gboolean photo_has_color_adjustments (Photo* self); +static gboolean photo_has_transformation (Photo* self, const gchar* name); +GType pixel_transformation_type_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +PixelTransformation* photo_get_color_adjustment (Photo* self, PixelTransformationType type); +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type); +void photo_set_color_adjustments (Photo* self, PixelTransformationBundle* new_adjustments); +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self); +static gboolean photo_remove_transformation (Photo* self, const gchar* name); +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group); +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self); +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans); +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self); +static gboolean photo_set_transformation (Photo* self, KeyValueMap* trans); +static PhotoMetadata* photo_real_get_metadata (PhotoSource* base); +PhotoMetadata* photo_get_editable_metadata (Photo* self, GError** error); +gboolean photo_persist_master_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportMasterState** state, GError** error); +void photo_finish_update_master_metadata (Photo* self, PhotoReimportMasterState* state, GError** error); +gboolean photo_persist_editable_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportEditableState** state, GError** error); +void photo_finish_update_editable_metadata (Photo* self, PhotoReimportEditableState* state, GError** error); +gboolean photo_has_transformations (Photo* self); +gboolean photo_only_metadata_changed (Photo* self); +PhotoMetadata* photo_source_get_metadata (PhotoSource* self); +gboolean photo_has_alterations (Photo* self); +gchar* media_source_get_comment (MediaSource* self); +gchar* media_source_get_title (MediaSource* self); +PhotoTransformationState* photo_save_transformation_state (Photo* self); +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_new (Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments); +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_construct (GType object_type, Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments); +static GType photo_photo_transformation_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gboolean photo_load_transformation_state (Photo* self, PhotoTransformationState* state); +static Orientation photo_photo_transformation_state_impl_get_orientation (PhotoPhotoTransformationStateImpl* self); +static GeeHashMap* photo_photo_transformation_state_impl_get_transformations (PhotoPhotoTransformationStateImpl* self); +static PixelTransformer* photo_photo_transformation_state_impl_get_transformer (PhotoPhotoTransformationStateImpl* self); +static PixelTransformationBundle* photo_photo_transformation_state_impl_get_color_adjustments (PhotoPhotoTransformationStateImpl* self); +gboolean photo_table_set_transformation_state (PhotoTable* self, PhotoID* photo_id, Orientation orientation, GeeHashMap* transformations); +void photo_remove_all_transformations (Photo* self); +gboolean photo_table_remove_all_transformations (PhotoTable* self, PhotoID* photo_id); +gboolean photo_table_set_orientation (PhotoTable* self, PhotoID* photo_id, Orientation orientation); +Orientation photo_get_original_orientation (Photo* self); +gboolean photo_check_can_rotate (Photo* self); +void photo_rotate (Photo* self, Rotation rotation); +static void photo_real_rotate (Photo* self, Rotation rotation); +Orientation orientation_perform (Orientation self, Rotation rotation); +KeyValueMap* key_value_map_copy (KeyValueMap* self); +gchar* key_value_map_get_group (KeyValueMap* self); +gboolean photo_table_set_transformation (PhotoTable* self, PhotoID* photo_id, KeyValueMap* map); +gboolean photo_table_remove_transformation (PhotoTable* self, PhotoID* photo_id, const gchar* object); +gboolean photo_has_crop (Photo* self); +gboolean photo_get_raw_crop (Photo* self, Box* crop); +void box_init (Box *self, gint left, gint top, gint right, gint bottom); +gint key_value_map_get_int (KeyValueMap* self, const gchar* key, gint def); +static void photo_set_raw_crop (Photo* self, Box* crop); +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +void key_value_map_set_int (KeyValueMap* self, const gchar* key, gint value); +static gboolean photo_get_raw_straighten (Photo* self, gdouble* angle); +gdouble key_value_map_get_double (KeyValueMap* self, const gchar* key, gdouble def); +static void photo_set_raw_straighten (Photo* self, gdouble theta); +void key_value_map_set_double (KeyValueMap* self, const gchar* key, gdouble value); +GType editing_tools_redeye_instance_get_type (void) G_GNUC_CONST; +EditingToolsRedeyeInstance* editing_tools_redeye_instance_dup (const EditingToolsRedeyeInstance* self); +void editing_tools_redeye_instance_free (EditingToolsRedeyeInstance* self); +static EditingToolsRedeyeInstance* photo_get_raw_redeye_instances (Photo* self, int* result_length1); +void key_value_map_get_point (KeyValueMap* self, const gchar* key, GdkPoint* def, GdkPoint* result); +gboolean photo_has_redeye_transformations (Photo* self); +void photo_add_redeye_instance (Photo* self, EditingToolsRedeyeInstance* redeye); +void key_value_map_set_point (KeyValueMap* self, const gchar* key, GdkPoint* point); +static gboolean photo_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport); +static gboolean photo_locked_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport); +gboolean scaling_is_unscaled (Scaling *self); +void orientation_rotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +void orientation_rotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +void box_get_scaled (Box *self, Dimensions* scaled, Box* result); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +gint box_get_width (Box *self); +gint box_get_height (Box *self); +void dimensions_get_scaled_similar (Dimensions *self, Dimensions* original, Dimensions* scaled, Dimensions* result); +void orientation_derotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +gboolean dimensions_has_area (Dimensions *self); +static GdkPixbuf* photo_load_raw_pixbuf (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error); +GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +gboolean dimensions_approx_equals (Dimensions *self, Dimensions* dim, gint fudge); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +static GdkPixbuf* photo_get_untransformed_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, BackingFetchMode fetch_mode, GError** error); +GdkPixbuf* photo_get_unmodified_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +static GdkPixbuf* photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error); +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +static GdkPixbuf* photo_run_source_pixbuf_cache (Photo* locate, gboolean keep, GError** error); +static PhotoCachedPixbuf* photo_cached_pixbuf_new (Photo* photo, GdkPixbuf* pixbuf); +static PhotoCachedPixbuf* photo_cached_pixbuf_construct (GType object_type, Photo* photo, GdkPixbuf* pixbuf); +static gboolean photo_trim_source_pixbuf_cache (void); +static gboolean _photo_trim_source_pixbuf_cache_gsource_func (gpointer self); +gboolean photo_get_develop_raw_photos_to_files (void); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +gboolean dimensions_equals (Dimensions *self, Dimensions* dim); +static GdkPixbuf* photo_do_redeye (Photo* self, GdkPixbuf* pixbuf, EditingToolsRedeyeInstance* inst); +GdkPixbuf* rotate_arb (GdkPixbuf* source_pixbuf, gdouble angle); +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable); +gboolean photo_has_user_generated_metadata (Photo* self); +static gboolean photo_real_has_user_generated_metadata (Photo* self); +void photo_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata); +static void photo_real_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file); +static gboolean photo_export_fullsized_backing (Photo* self, GFile* file, gboolean export_metadata, GError** error); +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self); +time_t media_source_get_exposure_time (MediaSource* self); +void photo_metadata_set_pixel_dimensions (PhotoMetadata* self, Dimensions* dim, PhotoMetadataSetOption option); +void photo_metadata_set_orientation (PhotoMetadata* self, Orientation orientation); +void photo_metadata_set_software (PhotoMetadata* self, const gchar* software, const gchar* version); +#define RESOURCES_APP_TITLE "Shotwell" +#define RESOURCES_APP_VERSION _VERSION +void photo_metadata_remove_exif_thumbnail (PhotoMetadata* self); +void photo_metadata_clear (PhotoMetadata* self); +gboolean photo_is_export_required (Photo* self, Scaling* scaling, PhotoFileFormat export_format); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +const gchar* photo_file_format_to_string (PhotoFileFormat self); +void photo_metadata_remove_tag (PhotoMetadata* self, const gchar* tag); +static GFile* photo_generate_new_editable_file (Photo* self, PhotoFileFormat* file_format, GError** error); +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +static gboolean photo_launch_editor (GFile* file, PhotoFileFormat file_format, GError** error); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +void photo_open_with_raw_external_editor (Photo* self, GError** error); +void photo_open_with_external_editor (Photo* self, GError** error); +static void photo_halt_monitoring_editable (Photo* self); +static void photo_attach_editable (Photo* self, PhotoFileFormat file_format, GFile* file, GError** error); +static void photo_start_monitoring_editable (Photo* self, GFile* file, GError** error); +static void photo_on_editable_file_changed (Photo* self, GFile* file, GFile* other_file, GFileMonitorEvent event); +static void _photo_on_editable_file_changed_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self); +static void photo_update_editable (Photo* self, gboolean only_attributes, PhotoFileReader* new_reader, GError** error); +static void photo_update_editable_attributes (Photo* self, GError** error); +void photo_reimport_editable (Photo* self, GError** error); +void photo_table_attach_editable (PhotoTable* self, PhotoRow* row, BackingPhotoID* editable_id, GError** error); +void backing_photo_table_update_attributes (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, gint64 filesize, GError** error); +static void _vala_array_add269 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add270 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add271 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add272 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add273 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add274 (gchar*** array, int* length, int* size, gchar* value); +void backing_photo_id_init (BackingPhotoID *self, gint64 id); +const gchar* g_file_monitor_event_to_string (GFileMonitorEvent self); +static void photo_on_reimport_editable (Photo* self); +static void _photo_on_reimport_editable_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +static void photo_on_update_editable_attributes (Photo* self); +static void _photo_on_update_editable_attributes_one_shot_callback (gpointer self); +static void photo_on_remove_editable (Photo* self); +static void _photo_on_remove_editable_one_shot_callback (gpointer self); +void photo_get_original_dimensions (Photo* self, Dimensions* result); +void photo_get_master_dimensions (Photo* self, Dimensions* result); +void photo_set_crop (Photo* self, Box* crop); +void orientation_derotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +void photo_set_straighten (Photo* self, gdouble theta); +static GdkPixbuf* photo_red_reduce_pixel (Photo* self, GdkPixbuf* pixbuf, gint x, gint y); +void photo_unscaled_to_raw_point (Photo* self, GdkPoint* unscaled_point, GdkPoint* result); +void orientation_derotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result); +void photo_unscaled_to_raw_rect (Photo* self, GdkRectangle* unscaled_rect, GdkRectangle* result); +PixelTransformationBundle* photo_get_enhance_transformations (Photo* self); +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf); +gboolean photo_enhance (Photo* self); +void photo_set_develop_raw_photos_to_files (gboolean value); +static void photo_real_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void photo_real_raw_development_modified (Photo* self); +static void photo_real_baseline_replaced (Photo* self); +static void photo_real_master_reimported (Photo* self, PhotoMetadata* metadata); +static void g_cclosure_user_marshal_VOID__MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void photo_real_editable_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_source_reimported (Photo* self, PhotoMetadata* metadata); +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplPrivate)) +enum { + PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_DUMMY_PROPERTY +}; +static void photo_photo_transformation_state_impl_on_photo_baseline_replaced (PhotoPhotoTransformationStateImpl* self); +static void _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced (Photo* _sender, gpointer self); +static GeeHashMap* photo_photo_transformation_state_impl_copy_transformations (GeeHashMap* original); +static void photo_photo_transformation_state_impl_finalize (GObject* obj); +enum { + PHOTO_BACKING_READERS_DUMMY_PROPERTY +}; +static void photo_backing_readers_finalize (PhotoBackingReaders* obj); +enum { + PHOTO_CACHED_PIXBUF_DUMMY_PROPERTY +}; +static void photo_cached_pixbuf_finalize (PhotoCachedPixbuf* obj); +enum { + PHOTO_REIMPORT_MASTER_STATE_DUMMY_PROPERTY +}; +PhotoReimportMasterState* photo_reimport_master_state_construct (GType object_type); +static void photo_reimport_master_state_finalize (PhotoReimportMasterState* obj); +enum { + PHOTO_REIMPORT_MASTER_STATE_IMPL_DUMMY_PROPERTY +}; +static gchar** _vala_array_dup29 (gchar** self, int length); +static void photo_reimport_master_state_impl_finalize (PhotoReimportMasterState* obj); +enum { + PHOTO_REIMPORT_EDITABLE_STATE_DUMMY_PROPERTY +}; +PhotoReimportEditableState* photo_reimport_editable_state_construct (GType object_type); +static void photo_reimport_editable_state_finalize (PhotoReimportEditableState* obj); +enum { + PHOTO_REIMPORT_EDITABLE_STATE_IMPL_DUMMY_PROPERTY +}; +static void photo_reimport_editable_state_impl_finalize (PhotoReimportEditableState* obj); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_DUMMY_PROPERTY +}; +PhotoReimportRawDevelopmentState* photo_reimport_raw_development_state_construct (GType object_type); +static void photo_reimport_raw_development_state_finalize (PhotoReimportRawDevelopmentState* obj); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DUMMY_PROPERTY +}; +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_new (BackingPhotoRow* backing, PhotoMetadata* metadata); +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_construct (GType object_type, BackingPhotoRow* backing, PhotoMetadata* metadata); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_DUMMY_PROPERTY +}; +static void photo_reimport_raw_development_state_impl_dev_to_reimport_finalize (PhotoReimportRawDevelopmentStateImplDevToReimport* obj); +static void photo_reimport_raw_development_state_impl_finalize (PhotoReimportRawDevelopmentState* obj); +static void photo_finalize (GObject* obj); +static void _vala_photo_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_photo_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType marker_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType media_monitor_get_type (void) G_GNUC_CONST; +gpointer transaction_controller_ref (gpointer instance); +void transaction_controller_unref (gpointer instance); +GParamSpec* param_spec_transaction_controller (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transaction_controller (GValue* value, gpointer v_object); +void value_take_transaction_controller (GValue* value, gpointer v_object); +gpointer value_get_transaction_controller (const GValue* value); +GType transaction_controller_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionPrivate)) +enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST; +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +gint int64_compare (gint64* a, gint64* b); +static gint _int64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint64* _int64_dup (gint64* self); +gboolean int64_equal (gint64* a, gint64* b); +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +LibraryPhotoSourceCollection* library_photo_source_collection_new (void); +LibraryPhotoSourceCollection* library_photo_source_collection_construct (GType object_type); +static gint64 _photo_get_photo_key_get_source_database_key (DataSource* source, gpointer self); +MediaSourceCollection* media_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self); +static void library_photo_source_collection_on_trashcan_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +static void library_photo_source_collection_on_offline_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +static MediaSourceHoldingTank* library_photo_source_collection_real_create_trashcan (MediaSourceCollection* base); +static gboolean library_photo_source_collection_check_if_trashed_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration); +static gboolean _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_new (LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_construct (GType object_type, LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +GType library_photo_source_holding_tank_get_type (void) G_GNUC_CONST; +static MediaSourceHoldingTank* library_photo_source_collection_real_create_offline_bin (MediaSourceCollection* base); +static gboolean library_photo_source_collection_check_if_offline_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration); +static gboolean _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +static MediaMonitor* library_photo_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable); +PhotoMonitor* photo_monitor_new (Workers* workers, GCancellable* cancellable); +PhotoMonitor* photo_monitor_construct (GType object_type, Workers* workers, GCancellable* cancellable); +GType photo_monitor_get_type (void) G_GNUC_CONST; +static gboolean library_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +static gchar* library_photo_source_collection_real_get_typename (MediaSourceCollection* base); +static gboolean library_photo_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file); +static void library_photo_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed); +static void library_photo_source_collection_on_editable_replaced (LibraryPhotoSourceCollection* self, Photo* photo, GFile* old_file, GFile* new_file); +static void _library_photo_source_collection_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self); +static void library_photo_source_collection_on_raw_development_modified (LibraryPhotoSourceCollection* self, Photo* _photo); +static void _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +static void library_photo_source_collection_real_items_altered (DataCollection* base, GeeMap* items); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void library_photo_source_collection_real_postprocess_imported_media (MediaSourceCollection* base, GeeCollection* media_sources); +GType tag_get_type (void) G_GNUC_CONST; +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +gboolean photo_metadata_has_hierarchical_keywords (PhotoMetadata* self); +HierarchicalTagIndex* hierarchical_tag_utilities_process_hierarchical_import_keywords (GeeCollection* h_keywords); +GeeSet* photo_metadata_get_hierarchical_keywords (PhotoMetadata* self); +GeeCollection* library_photo_get_import_keywords (LibraryPhoto* self); +gboolean hierarchical_tag_index_is_tag_in_index (HierarchicalTagIndex* self, const gchar* tag); +gchar* tag_prep_tag_name (const gchar* name); +gchar* hierarchical_tag_index_get_path_for_name (HierarchicalTagIndex* self, const gchar* name); +Tag* tag_for_path (const gchar* name); +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self); +void library_photo_clear_import_keywords (LibraryPhoto* self); +void tag_attach_many (Tag* self, GeeCollection* sources); +void media_source_collection_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media); +void library_photo_source_collection_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static MediaSource* library_photo_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id); +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id); +gboolean media_source_is_trashed (MediaSource* self); +gboolean media_source_is_offline (MediaSource* self); +static MediaSource* library_photo_source_collection_real_fetch_by_source_id (MediaSourceCollection* base, const gchar* source_id); +MediaSource* media_source_collection_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id); +gint64 parse_int64 (const gchar* str, gint num_base); +static GeeCollection* library_photo_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id); +GeeArrayList* photo_table_get_event_source_ids (PhotoTable* self, EventID* event_id); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +LibraryPhoto* library_photo_source_collection_fetch_by_editable_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_fetch_by_raw_development_file (LibraryPhotoSourceCollection* self, GFile* file); +static void library_photo_source_collection_compare_backing (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matches_development); +gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self, GFileInfo* info); +void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matched_development); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize, PhotoID* result); +gint utf8_ci_compare (void* a, void* b); +gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize); +gboolean photo_id_is_valid (PhotoID *self); +LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self, GFile* file); +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file); +LibraryPhoto* library_photo_source_holding_tank_fetch_by_backing_file (LibraryPhotoSourceHoldingTank* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self, const gchar* md5); +LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +gint library_photo_source_collection_get_offline_count (LibraryPhotoSourceCollection* self); +gint source_holding_tank_get_count (SourceHoldingTank* self); +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state); +MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self, GFile* file); +static gboolean library_photo_source_collection_real_has_backlink (SourceCollection* base, SourceBacklink* backlink); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +gboolean source_holding_tank_has_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +static void library_photo_source_collection_real_remove_backlink (SourceCollection* base, SourceBacklink* backlink); +void source_holding_tank_remove_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +void source_collection_remove_backlink (SourceCollection* self, SourceBacklink* backlink); +MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources); +MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type, MediaSourceCollection* sources); +GType media_source_transaction_controller_get_type (void) G_GNUC_CONST; +static void library_photo_source_collection_real_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void library_photo_source_collection_real_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_finalize (DataCollection* obj); +GType flaggable_get_type (void) G_GNUC_CONST; +GType monitorable_get_type (void) G_GNUC_CONST; +#define LIBRARY_PHOTO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO, LibraryPhotoPrivate)) +enum { + LIBRARY_PHOTO_DUMMY_PROPERTY +}; +#define LIBRARY_PHOTO_FLAG_HIDDEN ((guint64) 0x0000000000000001) +#define LIBRARY_PHOTO_FLAG_FAVORITE ((guint64) 0x0000000000000002) +#define LIBRARY_PHOTO_FLAG_TRASH ((guint64) 0x0000000000000004) +#define LIBRARY_PHOTO_FLAG_OFFLINE ((guint64) 0x0000000000000008) +#define LIBRARY_PHOTO_FLAG_FLAGGED ((guint64) 0x0000000000000010) +static LibraryPhoto* library_photo_new (PhotoRow* row); +static LibraryPhoto* library_photo_construct (GType object_type, PhotoRow* row); +static void library_photo_generate_thumbnails (LibraryPhoto* self); +static void _library_photo_generate_thumbnails_one_shot_callback (gpointer self); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +static void library_photo_upgrade_rating_flags (LibraryPhoto* self, guint64 flags); +static LibraryPhoto* library_photo_new_from_import_params (PhotoImportParams* import_params); +static LibraryPhoto* library_photo_construct_from_import_params (GType object_type, PhotoImportParams* import_params); +void library_photo_init (ProgressMonitor monitor, void* monitor_target); +GeeArrayList* photo_table_get_all (PhotoTable* self); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void media_source_collection_add_many_to_trash (MediaSourceCollection* self, GeeCollection* sources); +void media_source_collection_add_many_to_offline (MediaSourceCollection* self, GeeCollection* sources); +void library_photo_terminate (void); +ImportResult library_photo_import_create (PhotoImportParams* params, LibraryPhoto** photo); +void photo_table_add (PhotoTable* self, PhotoRow* photo_row, PhotoID* result); +gboolean photo_id_is_invalid (PhotoID *self); +void library_photo_import_failed (LibraryPhoto* photo); +void photo_table_remove (PhotoTable* self, PhotoID* photo_id, GError** error); +static void library_photo_real_notify_master_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_editable_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_source_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_baseline_reimported (Photo* base, PhotoMetadata* metadata); +void thumbnail_cache_import_from_source (ThumbnailSource* source, gboolean force, GError** error); +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self); +static void library_photo_real_notify_altered (DataObject* base, Alteration* alteration); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority); +static GdkPixbuf* library_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +static void library_photo_real_rotate (Photo* base, Rotation rotation); +void thumbnail_cache_rotate (ThumbnailSource* source, Rotation rotation, GError** error); +static GdkPixbuf* library_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source, gint scale, GError** error); +static void library_photo_duplicate_backing_photo (LibraryPhoto* self, BackingPhotoRow* backing, BackingPhotoID* result, GError** error); +GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error); +static void library_photo_on_duplicate_progress (LibraryPhoto* self, gint64 current, gint64 total); +static void _library_photo_on_duplicate_progress_gfile_progress_callback (gint64 current_num_bytes, gint64 total_num_bytes, gpointer self); +LibraryPhoto* library_photo_duplicate (LibraryPhoto* self, GError** error); +void photo_table_duplicate (PhotoTable* self, PhotoID* photo_id, const gchar* new_filename, BackingPhotoID* editable_id, BackingPhotoID* develop_shotwell, BackingPhotoID* develop_camera_id, BackingPhotoID* develop_embedded_id, PhotoID* result); +PhotoRow* photo_table_get_row (PhotoTable* self, PhotoID* photo_id); +void thumbnail_cache_duplicate (ThumbnailSource* src_source, ThumbnailSource* dest_source); +gboolean data_collection_add (DataCollection* self, DataObject* object); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +void event_attach (Event* self, MediaSource* source); +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +void tag_attach (Tag* self, MediaSource* source); +void spin_event_loop (void); +static gboolean library_photo_real_is_trashed (MediaSource* base); +static void library_photo_real_trash (MediaSource* base); +static void library_photo_real_untrash (MediaSource* base); +static gboolean library_photo_real_is_offline (Monitorable* base); +static void library_photo_real_mark_offline (Monitorable* base); +static void library_photo_real_mark_online (Monitorable* base); +static gboolean library_photo_real_is_flagged (Flaggable* base); +static void library_photo_real_mark_flagged (Flaggable* base); +static void library_photo_real_mark_unflagged (Flaggable* base); +static gboolean library_photo_real_internal_delete_backing (DataSource* base, GError** error); +gboolean media_source_delete_original_file (MediaSource* self); +static void library_photo_real_destroy (DataSource* base); +void thumbnail_cache_remove (ThumbnailSource* source); +void data_source_destroy (DataSource* self); +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +void library_photo_get_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, PhotoID* result); +static gboolean library_photo_real_has_user_generated_metadata (Photo* base); +Rating media_source_get_rating (MediaSource* self); +gchar* data_object_get_name (DataObject* self); +static void library_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata); +void photo_metadata_set_keywords (PhotoMetadata* self, GeeCollection* keywords, PhotoMetadataSetOption option); +void photo_metadata_set_rating (PhotoMetadata* self, Rating rating); +static void library_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata); +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag); +gchar* hierarchical_tag_utilities_flat_to_hierarchical (const gchar* name); +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +static void library_photo_finalize (GObject* obj); +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankPrivate)) +enum { + LIBRARY_PHOTO_SOURCE_HOLDING_TANK_DUMMY_PROPERTY +}; +MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type, MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +static void library_photo_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed); +static void library_photo_source_holding_tank_on_editable_replaced (LibraryPhotoSourceHoldingTank* self, Photo* _photo, GFile* old_file, GFile* new_file); +static void _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self); +static void library_photo_source_holding_tank_on_raw_development_modified (LibraryPhotoSourceHoldingTank* self, Photo* _photo); +static void _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self); +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void library_photo_source_holding_tank_finalize (SourceHoldingTank* 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); + +static const gchar* PHOTO_IMAGE_EXTENSIONS[69] = {"jpg", "jpeg", "jpe", "tiff", "tif", "png", "gif", "bmp", "ppm", "pgm", "pbm", "pnm", "thm", "tga", "ilbm", "pcx", "ecw", "img", "sid", "cd5", "fits", "pgf", "cgm", "svg", "odg", "eps", "pdf", "swf", "wmf", "emf", "xps", "pns", "jps", "mpo", "3fr", "arw", "srf", "sr2", "bay", "crw", "cr2", "cap", "iiq", "eip", "dcs", "dcr", "drf", "k25", "kdc", "dng", "erf", "fff", "mef", "mos", "mrw", "nef", "nrw", "orf", "ptx", "pef", "pxn", "r3d", "raf", "raw", "rw2", "rwl", "rwz", "x3f", "srw"}; + +GType backing_fetch_mode_get_type (void) { + static volatile gsize backing_fetch_mode_type_id__volatile = 0; + if (g_once_init_enter (&backing_fetch_mode_type_id__volatile)) { + static const GEnumValue values[] = {{BACKING_FETCH_MODE_SOURCE, "BACKING_FETCH_MODE_SOURCE", "source"}, {BACKING_FETCH_MODE_BASELINE, "BACKING_FETCH_MODE_BASELINE", "baseline"}, {BACKING_FETCH_MODE_MASTER, "BACKING_FETCH_MODE_MASTER", "master"}, {BACKING_FETCH_MODE_UNMODIFIED, "BACKING_FETCH_MODE_UNMODIFIED", "unmodified"}, {0, NULL, NULL}}; + GType backing_fetch_mode_type_id; + backing_fetch_mode_type_id = g_enum_register_static ("BackingFetchMode", values); + g_once_init_leave (&backing_fetch_mode_type_id__volatile, backing_fetch_mode_type_id); + } + return backing_fetch_mode_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? g_object_ref (self) : NULL; +#line 2878 "Photo.c" +} + + +static gpointer _thumbnails_ref0 (gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? thumbnails_ref (self) : NULL; +#line 2885 "Photo.c" +} + + +PhotoImportParams* photo_import_params_construct (GType object_type, GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails) { + PhotoImportParams* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + ImportID _tmp4_ = {0}; + PhotoFileSnifferOptions _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + Thumbnails* _tmp12_ = NULL; + Thumbnails* _tmp13_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((final_associated_file == NULL) || G_IS_FILE (final_associated_file), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((thumbnails == NULL) || IS_THUMBNAILS (thumbnails), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoImportParams*) g_type_create_instance (object_type); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + self->file = _tmp1_; +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = final_associated_file; +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->final_associated_file); +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + self->final_associated_file = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = *import_id; +#line 43 "/home/jens/Source/shotwell/src/Photo.vala" + self->import_id = _tmp4_; +#line 44 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = sniffer_options; +#line 44 "/home/jens/Source/shotwell/src/Photo.vala" + self->sniffer_options = _tmp5_; +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = exif_md5; +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + self->exif_md5 = _tmp7_; +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = thumbnail_md5; +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnail_md5 = _tmp9_; +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = full_md5; +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + self->full_md5 = _tmp11_; +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = thumbnails; +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _thumbnails_ref0 (_tmp12_); +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnails = _tmp13_; +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 2973 "Photo.c" +} + + +PhotoImportParams* photo_import_params_new (GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails) { +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_import_params_construct (TYPE_PHOTO_IMPORT_PARAMS, file, final_associated_file, import_id, sniffer_options, exif_md5, thumbnail_md5, full_md5, thumbnails); +#line 2980 "Photo.c" +} + + +PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type, GFile* file, ImportID* import_id) { + PhotoImportParams* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoImportParams*) g_type_create_instance (object_type); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + self->file = _tmp1_; +#line 54 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *import_id; +#line 54 "/home/jens/Source/shotwell/src/Photo.vala" + self->import_id = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/Photo.vala" + self->sniffer_options = PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5; +#line 56 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 56 "/home/jens/Source/shotwell/src/Photo.vala" + self->exif_md5 = NULL; +#line 57 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 57 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnail_md5 = NULL; +#line 58 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 58 "/home/jens/Source/shotwell/src/Photo.vala" + self->full_md5 = NULL; +#line 59 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 59 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnails = NULL; +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 3027 "Photo.c" +} + + +PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file, ImportID* import_id) { +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_import_params_construct_create_placeholder (TYPE_PHOTO_IMPORT_PARAMS, file, import_id); +#line 3034 "Photo.c" +} + + +static void value_photo_import_params_init (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3041 "Photo.c" +} + + +static void value_photo_import_params_free_value (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (value->data[0].v_pointer); +#line 3050 "Photo.c" + } +} + + +static void value_photo_import_params_copy_value (const GValue* src_value, GValue* dest_value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_import_params_ref (src_value->data[0].v_pointer); +#line 3060 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 3064 "Photo.c" + } +} + + +static gpointer value_photo_import_params_peek_pointer (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 3072 "Photo.c" +} + + +static gchar* value_photo_import_params_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 3079 "Photo.c" + PhotoImportParams* object; + object = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3086 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3090 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_import_params_ref (object); +#line 3094 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3098 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3102 "Photo.c" +} + + +static gchar* value_photo_import_params_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoImportParams** object_p; + object_p = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3113 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 3119 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 3123 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_import_params_ref (value->data[0].v_pointer); +#line 3127 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3131 "Photo.c" +} + + +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoImportParams* spec; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_IMPORT_PARAMS), NULL); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 3145 "Photo.c" +} + + +gpointer value_get_photo_import_params (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS), NULL); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 3154 "Photo.c" +} + + +void value_set_photo_import_params (GValue* value, gpointer v_object) { + PhotoImportParams* old; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_ref (value->data[0].v_pointer); +#line 3174 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3178 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (old); +#line 3184 "Photo.c" + } +} + + +void value_take_photo_import_params (GValue* value, gpointer v_object) { + PhotoImportParams* old; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 3203 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3207 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (old); +#line 3213 "Photo.c" + } +} + + +static void photo_import_params_class_init (PhotoImportParamsClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoImportParamsClass *) klass)->finalize = photo_import_params_finalize; +#line 3223 "Photo.c" +} + + +static void photo_import_params_instance_init (PhotoImportParams * self) { + PhotoRow* _tmp0_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/Photo.vala" + self->final_associated_file = NULL; +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_row_new (); +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/Photo.vala" + self->keywords = NULL; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 3239 "Photo.c" +} + + +static void photo_import_params_finalize (PhotoImportParams* obj) { + PhotoImportParams * self; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 23 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 24 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->final_associated_file); +#line 27 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 28 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 29 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 32 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 36 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->keywords); +#line 3265 "Photo.c" +} + + +GType photo_import_params_get_type (void) { + static volatile gsize photo_import_params_type_id__volatile = 0; + if (g_once_init_enter (&photo_import_params_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_import_params_init, value_photo_import_params_free_value, value_photo_import_params_copy_value, value_photo_import_params_peek_pointer, "p", value_photo_import_params_collect_value, "p", value_photo_import_params_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoImportParamsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_import_params_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoImportParams), 0, (GInstanceInitFunc) photo_import_params_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_import_params_type_id; + photo_import_params_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoImportParams", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_import_params_type_id__volatile, photo_import_params_type_id); + } + return photo_import_params_type_id__volatile; +} + + +gpointer photo_import_params_ref (gpointer instance) { + PhotoImportParams* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 3290 "Photo.c" +} + + +void photo_import_params_unref (gpointer instance) { + PhotoImportParams* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_IMPORT_PARAMS_GET_CLASS (self)->finalize (self); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3303 "Photo.c" + } +} + + +PhotoTransformationState* photo_transformation_state_construct (GType object_type) { + PhotoTransformationState * self = NULL; +#line 72 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoTransformationState*) g_object_new (object_type, NULL); +#line 72 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 3314 "Photo.c" +} + + +gboolean photo_transformation_state_is_broken (PhotoTransformationState* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_TRANSFORMATION_STATE (self), FALSE); +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->is_broke; +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3329 "Photo.c" +} + + +static void photo_transformation_state_real_broken (PhotoTransformationState* self) { +#line 69 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->is_broke = TRUE; +#line 3336 "Photo.c" +} + + +static void photo_transformation_state_class_init (PhotoTransformationStateClass * klass) { +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + photo_transformation_state_parent_class = g_type_class_peek_parent (klass); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoTransformationStatePrivate)); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoTransformationStateClass *) klass)->broken = photo_transformation_state_real_broken; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_transformation_state_finalize; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoTransformationStateClass, broken), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3351 "Photo.c" +} + + +static void photo_transformation_state_instance_init (PhotoTransformationState * self) { +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_TRANSFORMATION_STATE_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->is_broke = FALSE; +#line 3360 "Photo.c" +} + + +static void photo_transformation_state_finalize (GObject* obj) { + PhotoTransformationState * self; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_transformation_state_parent_class)->finalize (obj); +#line 3370 "Photo.c" +} + + +GType photo_transformation_state_get_type (void) { + static volatile gsize photo_transformation_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_transformation_state_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoTransformationStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_transformation_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoTransformationState), 0, (GInstanceInitFunc) photo_transformation_state_instance_init, NULL }; + GType photo_transformation_state_type_id; + photo_transformation_state_type_id = g_type_register_static (G_TYPE_OBJECT, "PhotoTransformationState", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_transformation_state_type_id__volatile, photo_transformation_state_type_id); + } + return photo_transformation_state_type_id__volatile; +} + + +gboolean rating_can_increase (Rating self) { + gboolean result = FALSE; +#line 90 "/home/jens/Source/shotwell/src/Photo.vala" + result = self < RATING_FIVE; +#line 90 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3392 "Photo.c" +} + + +gboolean rating_can_decrease (Rating self) { + gboolean result = FALSE; +#line 94 "/home/jens/Source/shotwell/src/Photo.vala" + result = self > RATING_REJECTED; +#line 94 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3402 "Photo.c" +} + + +gboolean rating_is_valid (Rating self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + if (self >= RATING_REJECTED) { +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self <= RATING_FIVE; +#line 3413 "Photo.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 3417 "Photo.c" + } +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3423 "Photo.c" +} + + +Rating rating_increase (Rating self) { + Rating result = 0; + Rating _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rating_can_increase (self); +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self + 1; +#line 3437 "Photo.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self; +#line 3441 "Photo.c" + } +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3447 "Photo.c" +} + + +Rating rating_decrease (Rating self) { + Rating result = 0; + Rating _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rating_can_decrease (self); +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self - 1; +#line 3461 "Photo.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self; +#line 3465 "Photo.c" + } +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3471 "Photo.c" +} + + +gint rating_serialize (Rating self) { + gint result = 0; +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + switch (self) { +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_REJECTED: +#line 3481 "Photo.c" + { +#line 112 "/home/jens/Source/shotwell/src/Photo.vala" + result = -1; +#line 112 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3487 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_UNRATED: +#line 3491 "Photo.c" + { +#line 114 "/home/jens/Source/shotwell/src/Photo.vala" + result = 0; +#line 114 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3497 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_ONE: +#line 3501 "Photo.c" + { +#line 116 "/home/jens/Source/shotwell/src/Photo.vala" + result = 1; +#line 116 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3507 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_TWO: +#line 3511 "Photo.c" + { +#line 118 "/home/jens/Source/shotwell/src/Photo.vala" + result = 2; +#line 118 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3517 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_THREE: +#line 3521 "Photo.c" + { +#line 120 "/home/jens/Source/shotwell/src/Photo.vala" + result = 3; +#line 120 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3527 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_FOUR: +#line 3531 "Photo.c" + { +#line 122 "/home/jens/Source/shotwell/src/Photo.vala" + result = 4; +#line 122 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3537 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_FIVE: +#line 3541 "Photo.c" + { +#line 124 "/home/jens/Source/shotwell/src/Photo.vala" + result = 5; +#line 124 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3547 "Photo.c" + } + default: + { +#line 126 "/home/jens/Source/shotwell/src/Photo.vala" + result = 0; +#line 126 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3555 "Photo.c" + } + } +} + + +Rating rating_unserialize (gint value) { + Rating result = 0; + gint _tmp0_ = 0; + gint _tmp2_ = 0; +#line 131 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = value; +#line 131 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ > ((gint) RATING_FIVE)) { +#line 132 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FIVE; +#line 132 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3573 "Photo.c" + } else { + gint _tmp1_ = 0; +#line 133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = value; +#line 133 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ < ((gint) RATING_REJECTED)) { +#line 134 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_REJECTED; +#line 134 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3584 "Photo.c" + } + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = value; +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp2_) { +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case -1: +#line 3593 "Photo.c" + { +#line 138 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_REJECTED; +#line 138 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3599 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 0: +#line 3603 "Photo.c" + { +#line 140 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_UNRATED; +#line 140 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3609 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 1: +#line 3613 "Photo.c" + { +#line 142 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_ONE; +#line 142 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3619 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 2: +#line 3623 "Photo.c" + { +#line 144 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_TWO; +#line 144 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3629 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 3: +#line 3633 "Photo.c" + { +#line 146 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_THREE; +#line 146 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3639 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 4: +#line 3643 "Photo.c" + { +#line 148 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FOUR; +#line 148 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3649 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 5: +#line 3653 "Photo.c" + { +#line 150 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FIVE; +#line 150 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3659 "Photo.c" + } + default: + { +#line 152 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_UNRATED; +#line 152 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3667 "Photo.c" + } + } +} + + +GType rating_get_type (void) { + static volatile gsize rating_type_id__volatile = 0; + if (g_once_init_enter (&rating_type_id__volatile)) { + static const GEnumValue values[] = {{RATING_REJECTED, "RATING_REJECTED", "rejected"}, {RATING_UNRATED, "RATING_UNRATED", "unrated"}, {RATING_ONE, "RATING_ONE", "one"}, {RATING_TWO, "RATING_TWO", "two"}, {RATING_THREE, "RATING_THREE", "three"}, {RATING_FOUR, "RATING_FOUR", "four"}, {RATING_FIVE, "RATING_FIVE", "five"}, {0, NULL, NULL}}; + GType rating_type_id; + rating_type_id = g_enum_register_static ("Rating", values); + g_once_init_leave (&rating_type_id__volatile, rating_type_id); + } + return rating_type_id__volatile; +} + + +gboolean photo_exception_prohibits (PhotoException self, PhotoException exception) { + gboolean result = FALSE; + PhotoException _tmp0_ = 0; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = exception; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + result = (self & _tmp0_) != 0; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3694 "Photo.c" +} + + +gboolean photo_exception_allows (PhotoException self, PhotoException exception) { + gboolean result = FALSE; + PhotoException _tmp0_ = 0; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = exception; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + result = (self & _tmp0_) == 0; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3707 "Photo.c" +} + + +GType photo_exception_get_type (void) { + static volatile gsize photo_exception_type_id__volatile = 0; + if (g_once_init_enter (&photo_exception_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_EXCEPTION_NONE, "PHOTO_EXCEPTION_NONE", "none"}, {PHOTO_EXCEPTION_ORIENTATION, "PHOTO_EXCEPTION_ORIENTATION", "orientation"}, {PHOTO_EXCEPTION_CROP, "PHOTO_EXCEPTION_CROP", "crop"}, {PHOTO_EXCEPTION_REDEYE, "PHOTO_EXCEPTION_REDEYE", "redeye"}, {PHOTO_EXCEPTION_ADJUST, "PHOTO_EXCEPTION_ADJUST", "adjust"}, {PHOTO_EXCEPTION_STRAIGHTEN, "PHOTO_EXCEPTION_STRAIGHTEN", "straighten"}, {PHOTO_EXCEPTION_ALL, "PHOTO_EXCEPTION_ALL", "all"}, {0, NULL, NULL}}; + GType photo_exception_type_id; + photo_exception_type_id = g_enum_register_static ("PhotoException", values); + g_once_init_leave (&photo_exception_type_id__volatile, photo_exception_type_id); + } + return photo_exception_type_id__volatile; +} + + +static gpointer _photo_row_ref0 (gpointer self) { +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_row_ref (self) : NULL; +#line 3726 "Photo.c" +} + + +static gpointer _backing_photo_row_ref0 (gpointer self) { +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? backing_photo_row_ref (self) : NULL; +#line 3733 "Photo.c" +} + + +Photo* photo_construct (GType object_type, PhotoRow* row) { + Photo * self = NULL; + PhotoRow* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoRow* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PhotoBackingReaders* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + PhotoFileReader* _tmp17_ = NULL; + gchar* basename = NULL; + PhotoRow* _tmp18_ = NULL; + BackingPhotoRow* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + PhotoRow* _tmp31_ = NULL; + BackingPhotoID _tmp32_ = {0}; + gint64 _tmp33_ = 0LL; + PhotoRow* _tmp49_ = NULL; + BackingPhotoRow* _tmp50_ = NULL; + PhotoFileFormat _tmp51_ = 0; + gboolean _tmp67_ = FALSE; + PhotoRow* _tmp68_ = NULL; + BackingPhotoRow* _tmp69_ = NULL; + PhotoFileFormat _tmp70_ = 0; + PhotoBackingReaders* _tmp85_ = NULL; + PhotoFileReader* _tmp86_ = NULL; + PhotoRow* _tmp106_ = NULL; + time_t _tmp107_ = 0; + GError * _inner_error_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + self = (Photo*) photo_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_row_ref0 (_tmp0_); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->title; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = media_source_prep_title (_tmp4_); +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp2_->title); +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_->title = _tmp5_; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->comment; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = media_source_prep_comment (_tmp8_); +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_->comment); +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->comment = _tmp9_; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->readers; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = row; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->master; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->file_format; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = row; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->filepath; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_create_reader (_tmp13_, _tmp16_); +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp10_->master); +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_->master = _tmp17_; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = row; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->master; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->filepath; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = string_sliced_at_last_char (_tmp20_, (gunichar) G_DIR_SEPARATOR, 0); +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + basename = _tmp21_; +#line 412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = basename; +#line 412 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 3850 "Photo.c" + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = basename; +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = string_sliced_at (_tmp23_, 1); +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp24_; +#line 3861 "Photo.c" + } +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->file_title; +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = is_string_empty (_tmp25_); +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 3869 "Photo.c" + PhotoRow* _tmp27_ = NULL; + BackingPhotoRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = row; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->master; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->filepath; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp30_; +#line 3886 "Photo.c" + } +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = row; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->editable_id; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_.id; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_ != BACKING_PHOTO_ID_INVALID) { +#line 3896 "Photo.c" + BackingPhotoRow* e = NULL; + PhotoRow* _tmp34_ = NULL; + BackingPhotoID _tmp35_ = {0}; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoRow* _tmp37_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = row; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->editable_id; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_backing_row (self, &_tmp35_); +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + e = _tmp36_; +#line 420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = e; +#line 420 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_ != NULL) { +#line 3914 "Photo.c" + BackingPhotoRow* _tmp38_ = NULL; + BackingPhotoRow* _tmp39_ = NULL; + PhotoBackingReaders* _tmp40_ = NULL; + BackingPhotoRow* _tmp41_ = NULL; + PhotoFileFormat _tmp42_ = 0; + BackingPhotoRow* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + PhotoFileReader* _tmp45_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = e; +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _backing_photo_row_ref0 (_tmp38_); +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp39_; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->readers; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = self->priv->editable; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->file_format; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = self->priv->editable; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->filepath; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo_file_format_create_reader (_tmp42_, _tmp44_); +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp40_->editable); +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_->editable = _tmp45_; +#line 3947 "Photo.c" + } else { + { + PhotoTable* _tmp46_ = NULL; + PhotoTable* _tmp47_ = NULL; + PhotoRow* _tmp48_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_table_get_instance (); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = self->row; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_detach_editable (_tmp47_, _tmp48_, &_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp47_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3967 "Photo.c" + goto __catch243_database_error; + } +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 425 "/home/jens/Source/shotwell/src/Photo.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 425 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3980 "Photo.c" + } + } + goto __finally243; + __catch243_database_error: + { + GError* err = NULL; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3993 "Photo.c" + } + __finally243: +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 424 "/home/jens/Source/shotwell/src/Photo.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 424 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4008 "Photo.c" + } +#line 432 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 4012 "Photo.c" + } +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 4016 "Photo.c" + } +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = row; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_->master; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->file_format; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_ == PHOTO_FILE_FORMAT_RAW) { +#line 4026 "Photo.c" + GeeHashMap* _tmp52_ = NULL; + gint _tmp53_ = 0; + RawDeveloper* _tmp54_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = gee_hash_map_new (TYPE_RAW_DEVELOPER, NULL, NULL, TYPE_BACKING_PHOTO_ROW, (GBoxedCopyFunc) backing_photo_row_ref, backing_photo_row_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->developments); +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->developments = _tmp52_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = raw_developer_as_array (&_tmp53_); +#line 4038 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp54_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp53_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp53_; d_it = d_it + 1) { +#line 4050 "Photo.c" + RawDeveloper d = 0; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 4054 "Photo.c" + { + BackingPhotoID id = {0}; + PhotoRow* _tmp55_ = NULL; + BackingPhotoID* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + RawDeveloper _tmp57_ = 0; + BackingPhotoID _tmp58_ = {0}; + BackingPhotoID _tmp59_ = {0}; + gint64 _tmp60_ = 0LL; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = row; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_->development_ids; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56__length1 = _tmp55_->development_ids_length1; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = d; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp56_[_tmp57_]; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + id = _tmp58_; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = id; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp59_.id; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp60_ != BACKING_PHOTO_ID_INVALID) { +#line 4082 "Photo.c" + BackingPhotoRow* bpr = NULL; + BackingPhotoID _tmp61_ = {0}; + BackingPhotoRow* _tmp62_ = NULL; + BackingPhotoRow* _tmp63_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = id; +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = photo_get_backing_row (self, &_tmp61_); +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = _tmp62_; +#line 443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = bpr; +#line 443 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ != NULL) { +#line 4097 "Photo.c" + GeeHashMap* _tmp64_ = NULL; + RawDeveloper _tmp65_ = 0; + BackingPhotoRow* _tmp66_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = self->priv->developments; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = d; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = bpr; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp65_), _tmp66_); +#line 4109 "Photo.c" + } +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 4113 "Photo.c" + } + } + } +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 4119 "Photo.c" + } + } +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = row; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->master; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_->file_format; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_ == PHOTO_FILE_FORMAT_RAW) { +#line 4130 "Photo.c" + GeeHashMap* _tmp71_ = NULL; + PhotoRow* _tmp72_ = NULL; + RawDeveloper _tmp73_ = 0; + gboolean _tmp74_ = FALSE; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->developments; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = row; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _tmp72_->developer; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp73_)); +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp74_; +#line 4145 "Photo.c" + } else { +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = FALSE; +#line 4149 "Photo.c" + } +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_) { +#line 4153 "Photo.c" + BackingPhotoRow* r = NULL; + GeeHashMap* _tmp75_ = NULL; + PhotoRow* _tmp76_ = NULL; + RawDeveloper _tmp77_ = 0; + gpointer _tmp78_ = NULL; + PhotoBackingReaders* _tmp79_ = NULL; + BackingPhotoRow* _tmp80_ = NULL; + PhotoFileFormat _tmp81_ = 0; + BackingPhotoRow* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; + PhotoFileReader* _tmp84_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = self->priv->developments; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = row; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->developer; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp77_)); +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + r = (BackingPhotoRow*) _tmp78_; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = self->priv->readers; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = r; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_->file_format; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = r; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _tmp82_->filepath; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = photo_file_format_create_reader (_tmp81_, _tmp83_); +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp79_->developer); +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_->developer = _tmp84_; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (r); +#line 4193 "Photo.c" + } +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = self->priv->readers; +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_->editable; +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_ != NULL) { +#line 4201 "Photo.c" + BackingPhotoRow* _tmp87_ = NULL; + BackingPhotoRow* _tmp88_ = NULL; +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = self->priv->editable; +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _backing_photo_row_ref0 (_tmp87_); +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp88_; +#line 4212 "Photo.c" + } else { + PhotoRow* _tmp89_ = NULL; + BackingPhotoRow* _tmp90_ = NULL; + PhotoFileFormat _tmp91_ = 0; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = row; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_->master; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = _tmp90_->file_format; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp91_ != PHOTO_FILE_FORMAT_RAW) { +#line 4225 "Photo.c" + PhotoRow* _tmp92_ = NULL; + BackingPhotoRow* _tmp93_ = NULL; + BackingPhotoRow* _tmp94_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = self->row; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_->master; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _backing_photo_row_ref0 (_tmp93_); +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp94_; +#line 4239 "Photo.c" + } else { + GeeHashMap* _tmp95_ = NULL; + PhotoRow* _tmp96_ = NULL; + RawDeveloper _tmp97_ = 0; + gboolean _tmp98_ = FALSE; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = self->priv->developments; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = row; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = _tmp96_->developer; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp97_)); +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_) { +#line 4255 "Photo.c" + GeeHashMap* _tmp99_ = NULL; + PhotoRow* _tmp100_ = NULL; + RawDeveloper _tmp101_ = 0; + gpointer _tmp102_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = self->priv->developments; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = row; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _tmp100_->developer; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp101_)); +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = (BackingPhotoRow*) _tmp102_; +#line 4272 "Photo.c" + } else { + PhotoRow* _tmp103_ = NULL; + BackingPhotoRow* _tmp104_ = NULL; + BackingPhotoRow* _tmp105_ = NULL; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = self->row; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->master; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _backing_photo_row_ref0 (_tmp104_); +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp105_; +#line 4287 "Photo.c" + } + } + } +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = self->row; +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = _tmp106_->exposure_time; +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->cached_exposure_time = _tmp107_; +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 4301 "Photo.c" +} + + +void photo_init_photo (void) { + GeeLinkedList* _tmp0_ = NULL; +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_linked_list_new (PHOTO_TYPE_CACHED_PIXBUF, (GBoxedCopyFunc) photo_cached_pixbuf_ref, photo_cached_pixbuf_unref, NULL, NULL, NULL); +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_source_pixbuf_cache); +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + photo_source_pixbuf_cache = _tmp0_; +#line 4313 "Photo.c" +} + + +void photo_terminate_photo (void) { + guint _tmp0_ = 0U; +#line 479 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_source_pixbuf_cache); +#line 479 "/home/jens/Source/shotwell/src/Photo.vala" + photo_source_pixbuf_cache = NULL; +#line 481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_discard_source_id; +#line 481 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != ((guint) 0)) { +#line 4327 "Photo.c" + guint _tmp1_ = 0U; +#line 482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_discard_source_id; +#line 482 "/home/jens/Source/shotwell/src/Photo.vala" + g_source_remove (_tmp1_); +#line 483 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = (guint) 0; +#line 4335 "Photo.c" + } +} + + +static void photo_real_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = old_file; +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = new_file; +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-replaced", _tmp0_, _tmp1_); +#line 4353 "Photo.c" +} + + +void photo_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_editable_replaced (self, old_file, new_file); +#line 4362 "Photo.c" +} + + +static void photo_real_notify_raw_development_modified (Photo* self) { +#line 492 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "raw-development-modified"); +#line 4369 "Photo.c" +} + + +void photo_notify_raw_development_modified (Photo* self) { +#line 491 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 491 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_raw_development_modified (self); +#line 4378 "Photo.c" +} + + +static void photo_real_notify_baseline_replaced (Photo* self) { +#line 496 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-replaced"); +#line 4385 "Photo.c" +} + + +void photo_notify_baseline_replaced (Photo* self) { +#line 495 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 495 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_baseline_replaced (self); +#line 4394 "Photo.c" +} + + +static void photo_real_notify_master_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 500 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "master-reimported", _tmp0_); +#line 4406 "Photo.c" +} + + +void photo_notify_master_reimported (Photo* self, PhotoMetadata* metadata) { +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_master_reimported (self, metadata); +#line 4415 "Photo.c" +} + + +static void photo_real_notify_editable_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 504 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-reimported", _tmp0_); +#line 4427 "Photo.c" +} + + +void photo_notify_editable_reimported (Photo* self, PhotoMetadata* metadata) { +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_editable_reimported (self, metadata); +#line 4436 "Photo.c" +} + + +static void photo_real_notify_source_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 508 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "source-reimported", _tmp0_); +#line 4448 "Photo.c" +} + + +void photo_notify_source_reimported (Photo* self, PhotoMetadata* metadata) { +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_source_reimported (self, metadata); +#line 4457 "Photo.c" +} + + +static void photo_real_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 512 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-reimported", _tmp0_); +#line 4469 "Photo.c" +} + + +void photo_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata) { +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_baseline_reimported (self, metadata); +#line 4478 "Photo.c" +} + + +static gboolean photo_real_internal_delete_backing (DataSource* base, GError** error) { + Photo * self; + gboolean result = FALSE; + gboolean ret = FALSE; + GFile* file = NULL; + PhotoFileFormat _tmp7_ = 0; + GFile* _tmp11_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + GError * _inner_error_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 516 "/home/jens/Source/shotwell/src/Photo.vala" + ret = TRUE; +#line 517 "/home/jens/Source/shotwell/src/Photo.vala" + file = NULL; +#line 4499 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 4506 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 4516 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp5_; +#line 4530 "Photo.c" + } + } + __finally244: + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 4540 "Photo.c" + } +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4550 "Photo.c" + } + } +#line 523 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, TRUE, FALSE, TRUE); +#line 525 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_master_file_format (self); +#line 525 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == PHOTO_FILE_FORMAT_RAW) { +#line 4559 "Photo.c" + gint _tmp8_ = 0; + RawDeveloper* _tmp9_ = NULL; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = raw_developer_as_array (&_tmp8_); +#line 4564 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp9_; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp8_; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp8_; d_it = d_it + 1) { +#line 4576 "Photo.c" + RawDeveloper d = 0; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 4580 "Photo.c" + { + RawDeveloper _tmp10_ = 0; +#line 527 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = d; +#line 527 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp10_); +#line 4587 "Photo.c" + } + } +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 4592 "Photo.c" + } + } +#line 531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = file; +#line 531 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 4599 "Photo.c" + { + gboolean _tmp12_ = FALSE; + GFile* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = file; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = g_file_trash (_tmp13_, NULL, &_inner_error_); +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp14_; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4612 "Photo.c" + goto __catch245_g_error; + } +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp12_; +#line 4617 "Photo.c" + } + goto __finally245; + __catch245_g_error: + { + GError* err = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/Photo.vala" + ret = FALSE; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = file; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->message; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:536: Unable to move editable %s for %s to trash: %s", _tmp17_, _tmp19_, _tmp21_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp19_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4658 "Photo.c" + } + __finally245: +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4669 "Photo.c" + } + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = DATA_SOURCE_CLASS (photo_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp24_; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4684 "Photo.c" + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 4688 "Photo.c" + gboolean _tmp25_ = FALSE; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = ret; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp25_; +#line 4694 "Photo.c" + } else { +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = FALSE; +#line 4698 "Photo.c" + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp22_; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4706 "Photo.c" +} + + +static BackingPhotoRow* photo_get_backing_row (Photo* self, BackingPhotoID* id) { + BackingPhotoRow* result = NULL; + BackingPhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + BackingPhotoRow* backing_row = NULL; + BackingPhotoRow* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *id; +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == BACKING_PHOTO_ID_INVALID) { +#line 549 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 549 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4731 "Photo.c" + } +#line 551 "/home/jens/Source/shotwell/src/Photo.vala" + backing_row = NULL; +#line 4735 "Photo.c" + { + BackingPhotoRow* _tmp2_ = NULL; + BackingPhotoTable* _tmp3_ = NULL; + BackingPhotoTable* _tmp4_ = NULL; + BackingPhotoID _tmp5_ = {0}; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = backing_photo_table_get_instance (); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *id; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backing_photo_table_fetch (_tmp4_, &_tmp5_, &_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp4_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp7_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4762 "Photo.c" + goto __catch246_database_error; + } +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 553 "/home/jens/Source/shotwell/src/Photo.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 553 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4773 "Photo.c" + } +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp2_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + backing_row = _tmp8_; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp2_); +#line 4785 "Photo.c" + } + goto __finally246; + __catch246_database_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = err; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->message; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:555: Unable to fetch backing state for %s: %s", _tmp10_, _tmp12_); +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4813 "Photo.c" + } + __finally246: +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 552 "/home/jens/Source/shotwell/src/Photo.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 552 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4826 "Photo.c" + } +#line 558 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = backing_row; +#line 558 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 4832 "Photo.c" + { + BackingPhotoTable* _tmp14_ = NULL; + BackingPhotoTable* _tmp15_ = NULL; + BackingPhotoID _tmp16_ = {0}; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = backing_photo_table_get_instance (); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = *id; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp15_, &_tmp16_, &_inner_error_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp15_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4851 "Photo.c" + goto __catch247_database_error; + } +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 560 "/home/jens/Source/shotwell/src/Photo.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 560 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4862 "Photo.c" + } + } + goto __finally247; + __catch247_database_error: + { + GError* err = NULL; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4875 "Photo.c" + } + __finally247: +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 559 "/home/jens/Source/shotwell/src/Photo.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 559 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4888 "Photo.c" + } +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4896 "Photo.c" + } +#line 567 "/home/jens/Source/shotwell/src/Photo.vala" + result = backing_row; +#line 567 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4902 "Photo.c" +} + + +gboolean photo_is_raw_developer_complete (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4911 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 4918 "Photo.c" + { + gboolean _tmp1_ = FALSE; + GeeHashMap* _tmp2_ = NULL; + RawDeveloper _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = d; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp3_)); +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 4932 "Photo.c" + GeeHashMap* _tmp5_ = NULL; + RawDeveloper _tmp6_ = 0; + gpointer _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = d; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp6_)); +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = (BackingPhotoRow*) _tmp7_; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->filepath; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = g_file_test (_tmp9_, G_FILE_TEST_EXISTS); +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp10_; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp8_); +#line 4955 "Photo.c" + } else { +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 4959 "Photo.c" + } +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4963 "Photo.c" + { + GeeHashMap* _tmp11_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 4970 "Photo.c" + } +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4974 "Photo.c" + } + __finally248: + { + GeeHashMap* _tmp12_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 4983 "Photo.c" + } +#line 573 "/home/jens/Source/shotwell/src/Photo.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 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4991 "Photo.c" + } +} + + +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + RawDeveloper _tmp6_ = 0; + GError * _inner_error_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 5002 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 5009 "Photo.c" + { + GeeHashMap* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->developments; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_)); +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_) { +#line 583 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5024 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5031 "Photo.c" + } +#line 583 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5035 "Photo.c" + } + } + __finally249: + { + GeeHashMap* _tmp5_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5045 "Photo.c" + } +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 581 "/home/jens/Source/shotwell/src/Photo.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 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 5055 "Photo.c" + } + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = d; +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp6_) { +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 5064 "Photo.c" + { +#line 588 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 588 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5070 "Photo.c" + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_CAMERA: +#line 5074 "Photo.c" + { +#line 591 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 591 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5080 "Photo.c" + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 5084 "Photo.c" + { + { + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp7_ = NULL; + guint num_previews = 0U; + PhotoMetadata* _tmp8_ = NULL; + guint _tmp9_ = 0U; + guint _tmp10_ = 0U; +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_master_metadata (self, &_inner_error_); +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp7_; +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5099 "Photo.c" + goto __catch250_g_error; + } +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = meta; +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_metadata_get_preview_count (_tmp8_); +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + num_previews = _tmp9_; +#line 598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = num_previews; +#line 598 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ > ((guint) 0)) { +#line 5112 "Photo.c" + PhotoPreview* prev = NULL; + PhotoMetadata* _tmp11_ = NULL; + guint _tmp12_ = 0U; + PhotoPreview* _tmp13_ = NULL; + PhotoPreview* _tmp14_ = NULL; + Dimensions dims = {0}; + PhotoPreview* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + gint preview_major_axis = 0; + gint _tmp26_ = 0; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = meta; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = num_previews; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_get_preview (_tmp11_, _tmp12_ - 1); +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + prev = _tmp13_; +#line 602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = prev; +#line 602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ == NULL) { +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5148 "Photo.c" + } +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = prev; +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + photo_preview_get_pixel_dimensions (_tmp15_, &_tmp16_); +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + dims = _tmp16_; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.width; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_.height; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ > _tmp21_) { +#line 5166 "Photo.c" + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.width; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp23_; +#line 5175 "Photo.c" + } else { + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.height; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp25_; +#line 5185 "Photo.c" + } +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + preview_major_axis = _tmp17_; +#line 609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = preview_major_axis; +#line 609 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ < PHOTO_MIN_EMBEDDED_SIZE) { +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5201 "Photo.c" + } +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5211 "Photo.c" + } +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5219 "Photo.c" + } + goto __finally250; + __catch250_g_error: + { + GError* e = NULL; + GError* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = e; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->message; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:619: Error accessing embedded preview. Message: %s", _tmp28_); +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5239 "Photo.c" + } + __finally250: +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 594 "/home/jens/Source/shotwell/src/Photo.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 594 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 5250 "Photo.c" + } +#line 621 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 621 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5256 "Photo.c" + } + default: + { +#line 624 "/home/jens/Source/shotwell/src/Photo.vala" + g_assert_not_reached (); +#line 5262 "Photo.c" + } + } +} + + +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error) { + PhotoRow* _tmp0_ = NULL; + RawDeveloper _tmp1_ = 0; + BackingPhotoRow* _tmp2_ = NULL; + Alteration* _tmp8_ = NULL; + Alteration* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 631 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (bpr)); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = d; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = bpr; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_developed_backing_photo (_tmp0_, _tmp1_, _tmp2_, &_inner_error_); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5293 "Photo.c" + } + { + GeeHashMap* _tmp3_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 5301 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; + RawDeveloper _tmp5_ = 0; + BackingPhotoRow* _tmp6_ = NULL; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = d; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = bpr; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp5_), _tmp6_); +#line 5314 "Photo.c" + } + __finally251: + { + GeeHashMap* _tmp7_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->developments; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5323 "Photo.c" + } +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5331 "Photo.c" + } + } +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = alteration_new ("image", "developer"); +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp9_); +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp9_); +#line 5342 "Photo.c" +} + + +void photo_import_developed_backing_photo (PhotoRow* row, RawDeveloper d, BackingPhotoRow* bpr, GError** error) { + GFile* file = NULL; + BackingPhotoRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* info = NULL; + GFile* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp5_ = NULL; + GTimeVal _tmp6_ = {0}; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp7_ = NULL; + PhotoFileInterrogator* _tmp8_ = NULL; + PhotoFileInterrogator* _tmp9_ = NULL; + DetectedPhotoInformation* detected = NULL; + PhotoFileInterrogator* _tmp10_ = NULL; + DetectedPhotoInformation* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DetectedPhotoInformation* _tmp13_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + DetectedPhotoInformation* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + BackingPhotoRow* _tmp19_ = NULL; + GFileInfo* _tmp20_ = NULL; + gint64 _tmp21_ = 0LL; + BackingPhotoRow* _tmp22_ = NULL; + GTimeVal _tmp23_ = {0}; + glong _tmp24_ = 0L; + Orientation _tmp25_ = 0; + DetectedPhotoInformation* _tmp26_ = NULL; + PhotoMetadata* _tmp27_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + BackingPhotoTable* _tmp32_ = NULL; + BackingPhotoTable* _tmp33_ = NULL; + BackingPhotoRow* _tmp34_ = NULL; + PhotoTable* _tmp35_ = NULL; + PhotoTable* _tmp36_ = NULL; + PhotoRow* _tmp37_ = NULL; + RawDeveloper _tmp38_ = 0; + BackingPhotoRow* _tmp39_ = NULL; + BackingPhotoID _tmp40_ = {0}; + GError * _inner_error_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (bpr)); +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = bpr; +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->filepath; +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_query_info (_tmp3_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp4_; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5415 "Photo.c" + } +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = info; +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp5_, &_tmp6_); +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp6_; +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_file_interrogator_new (_tmp7_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL); +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp8_; +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = interrogator; +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp9_, &_inner_error_); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5445 "Photo.c" + } +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = interrogator; +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_file_interrogator_get_detected_photo_information (_tmp10_); +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp11_; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = detected; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 5459 "Photo.c" + } else { + PhotoFileInterrogator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = interrogator; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_interrogator_get_is_photo_corrupted (_tmp14_); +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp15_; +#line 5469 "Photo.c" + } +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5483 "Photo.c" + } +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = bpr; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = detected; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->image_dim; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->dim = _tmp18_; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = bpr; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = info; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_file_info_get_size (_tmp20_); +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->filesize = _tmp21_; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = bpr; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = timestamp; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.tv_sec; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_->timestamp = (time_t) _tmp24_; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = detected; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->metadata; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp27_ != NULL) { +#line 5515 "Photo.c" + DetectedPhotoInformation* _tmp28_ = NULL; + PhotoMetadata* _tmp29_ = NULL; + Orientation _tmp30_ = 0; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = detected; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->metadata; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_metadata_get_orientation (_tmp29_); +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp30_; +#line 5527 "Photo.c" + } else { +#line 661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = ORIENTATION_TOP_LEFT; +#line 5531 "Photo.c" + } +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = bpr; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_->original_orientation = _tmp25_; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = backing_photo_table_get_instance (); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = bpr; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp33_, _tmp34_, &_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5561 "Photo.c" + } +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_get_instance (); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = row; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = d; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = bpr; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_->id; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_raw_development (_tmp36_, _tmp37_, _tmp38_, &_tmp40_, &_inner_error_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp36_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5593 "Photo.c" + } +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5603 "Photo.c" +} + + +static void photo_develop_photo (Photo* self, RawDeveloper d) { + gboolean wrote_img_to_disk = FALSE; + BackingPhotoRow* bps = NULL; + RawDeveloper _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 671 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = FALSE; +#line 672 "/home/jens/Source/shotwell/src/Photo.vala" + bps = NULL; +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = d; +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp0_) { +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 5624 "Photo.c" + { + { + BackingPhotoRow* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + GdkPixbuf* pix = NULL; + GdkPixbuf* _tmp14_ = NULL; + PhotoFileWriter* writer = NULL; + BackingPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + PhotoFileWriter* _tmp22_ = NULL; + PhotoFileWriter* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp25_ = NULL; + PhotoFileMetadataWriter* mwriter = NULL; + BackingPhotoRow* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + PhotoFileMetadataWriter* _tmp28_ = NULL; + PhotoFileMetadataWriter* _tmp29_ = NULL; + PhotoMetadata* _tmp30_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->filepath; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = raw_developer_create_backing_row_for_development (_tmp2_, _tmp5_, NULL, &_inner_error_); +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5664 "Photo.c" + goto __catch252_g_error; + } +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp1_; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + bps = _tmp7_; +#line 679 "/home/jens/Source/shotwell/src/Photo.vala" + pix = NULL; +#line 5677 "Photo.c" + { + PhotoBackingReaders* _tmp8_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 5684 "Photo.c" + { + GdkPixbuf* _tmp9_ = NULL; + Scaling _tmp10_ = {0}; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp10_); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_master_pixbuf (self, &_tmp10_, FALSE, &_inner_error_); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp11_; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5698 "Photo.c" + goto __finally253; + } +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp9_; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + pix = _tmp12_; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 5711 "Photo.c" + } + __finally253: + { + PhotoBackingReaders* _tmp13_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 5720 "Photo.c" + } +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5728 "Photo.c" + goto __catch252_g_error; + } + } +#line 688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = pix; +#line 688 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ == NULL) { +#line 689 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:689: Could not get preview pixbuf"); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5742 "Photo.c" + { + gboolean _tmp15_ = FALSE; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = wrote_img_to_disk; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 5749 "Photo.c" + { + RawDeveloper _tmp16_ = 0; + BackingPhotoRow* _tmp17_ = NULL; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = d; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = bps; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp16_, _tmp17_, &_inner_error_); +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5761 "Photo.c" + goto __catch254_g_error; + } +#line 719 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 5766 "Photo.c" + } + goto __finally254; + __catch254_g_error: + { + GError* e = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = e; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->message; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:721: Error adding backing photo as development. Message: %s", _tmp19_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5786 "Photo.c" + } + __finally254: +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5791 "Photo.c" + goto __catch252_g_error; + } + } + } +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5800 "Photo.c" + } +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = bps; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->filepath; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_format_create_writer (PHOTO_FILE_FORMAT_JFIF, _tmp21_, &_inner_error_); +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp22_; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5816 "Photo.c" + goto __catch252_g_error; + } +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = writer; +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = pix; +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp23_, _tmp24_, JPEG_QUALITY_HIGH, &_inner_error_); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5833 "Photo.c" + goto __catch252_g_error; + } +#line 703 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = TRUE; +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_get_master_metadata (self, &_inner_error_); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp25_; +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5850 "Photo.c" + goto __catch252_g_error; + } +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = bps; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->filepath; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_create_metadata_writer (PHOTO_FILE_FORMAT_JFIF, _tmp27_, &_inner_error_); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + mwriter = _tmp28_; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5871 "Photo.c" + goto __catch252_g_error; + } +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = mwriter; +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = meta; +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp29_, _tmp30_, &_inner_error_); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5892 "Photo.c" + goto __catch252_g_error; + } +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5905 "Photo.c" + } + goto __finally252; + __catch252_g_error: + { + GError* err = NULL; + GError* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = err; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->message; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:712: Error developing photo: %s", _tmp32_); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 5925 "Photo.c" + } + __finally252: + { + gboolean _tmp33_ = FALSE; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = wrote_img_to_disk; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_) { +#line 5934 "Photo.c" + { + RawDeveloper _tmp34_ = 0; + BackingPhotoRow* _tmp35_ = NULL; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = d; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = bps; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp34_, _tmp35_, &_inner_error_); +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5946 "Photo.c" + goto __catch255_g_error; + } +#line 719 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 5951 "Photo.c" + } + goto __finally255; + __catch255_g_error: + { + GError* e = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = e; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->message; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:721: Error adding backing photo as development. Message: %s", _tmp37_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5971 "Photo.c" + } + __finally255: +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 715 "/home/jens/Source/shotwell/src/Photo.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 715 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5984 "Photo.c" + } + } + } +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 676 "/home/jens/Source/shotwell/src/Photo.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 676 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5998 "Photo.c" + } +#line 727 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6002 "Photo.c" + } +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_CAMERA: +#line 6006 "Photo.c" + { +#line 731 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6010 "Photo.c" + } +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 6014 "Photo.c" + { + { + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp38_ = NULL; + guint c = 0U; + PhotoMetadata* _tmp39_ = NULL; + guint _tmp40_ = 0U; + guint _tmp41_ = 0U; + PhotoPreview* prev = NULL; + PhotoMetadata* _tmp47_ = NULL; + guint _tmp48_ = 0U; + PhotoPreview* _tmp49_ = NULL; + PhotoPreview* _tmp50_ = NULL; + GdkPixbuf* pix = NULL; + PhotoPreview* _tmp56_ = NULL; + GdkPixbuf* _tmp57_ = NULL; + GdkPixbuf* _tmp58_ = NULL; + BackingPhotoRow* _tmp64_ = NULL; + RawDeveloper _tmp65_ = 0; + PhotoRow* _tmp66_ = NULL; + BackingPhotoRow* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + BackingPhotoRow* _tmp69_ = NULL; + BackingPhotoRow* _tmp70_ = NULL; + PhotoFileWriter* writer = NULL; + BackingPhotoRow* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + PhotoFileWriter* _tmp73_ = NULL; + PhotoFileWriter* _tmp74_ = NULL; + GdkPixbuf* _tmp75_ = NULL; + PhotoFileMetadataWriter* mwriter = NULL; + BackingPhotoRow* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + PhotoFileMetadataWriter* _tmp78_ = NULL; + PhotoFileMetadataWriter* _tmp79_ = NULL; + PhotoMetadata* _tmp80_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo_get_master_metadata (self, &_inner_error_); +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp38_; +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6057 "Photo.c" + goto __catch256_g_error; + } +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = meta; +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_metadata_get_preview_count (_tmp39_); +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + c = _tmp40_; +#line 738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = c; +#line 738 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_ <= ((guint) 0)) { +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6072 "Photo.c" + { + gboolean _tmp42_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 6079 "Photo.c" + { + RawDeveloper _tmp43_ = 0; + BackingPhotoRow* _tmp44_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp43_, _tmp44_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6091 "Photo.c" + goto __catch257_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6096 "Photo.c" + } + goto __finally257; + __catch257_g_error: + { + GError* e = NULL; + GError* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp46_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6116 "Photo.c" + } + __finally257: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6121 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6130 "Photo.c" + } +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = meta; +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = c; +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_metadata_get_preview (_tmp47_, _tmp48_ - 1); +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + prev = _tmp49_; +#line 741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = prev; +#line 741 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp50_ == NULL) { +#line 742 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:742: Could not get preview from metadata"); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6150 "Photo.c" + { + gboolean _tmp51_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_) { +#line 6157 "Photo.c" + { + RawDeveloper _tmp52_ = 0; + BackingPhotoRow* _tmp53_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp52_, _tmp53_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6169 "Photo.c" + goto __catch258_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6174 "Photo.c" + } + goto __finally258; + __catch258_g_error: + { + GError* e = NULL; + GError* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp55_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6194 "Photo.c" + } + __finally258: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6199 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6208 "Photo.c" + } +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = prev; +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_preview_get_pixbuf (_tmp56_, &_inner_error_); +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + pix = _tmp57_; +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6222 "Photo.c" + goto __catch256_g_error; + } +#line 747 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = pix; +#line 747 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_ == NULL) { +#line 748 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:748: Could not get preview pixbuf"); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6237 "Photo.c" + { + gboolean _tmp59_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_) { +#line 6244 "Photo.c" + { + RawDeveloper _tmp60_ = 0; + BackingPhotoRow* _tmp61_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp60_, _tmp61_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6256 "Photo.c" + goto __catch259_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6261 "Photo.c" + } + goto __finally259; + __catch259_g_error: + { + GError* e = NULL; + GError* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp63_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6281 "Photo.c" + } + __finally259: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6286 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6295 "Photo.c" + } +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = d; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->row; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_->master; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->filepath; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = raw_developer_create_backing_row_for_development (_tmp65_, _tmp68_, NULL, &_inner_error_); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp69_; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6317 "Photo.c" + goto __catch256_g_error; + } +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp64_; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = NULL; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + bps = _tmp70_; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = bps; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->filepath; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = photo_file_format_create_writer (PHOTO_FILE_FORMAT_JFIF, _tmp72_, &_inner_error_); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp73_; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6346 "Photo.c" + goto __catch256_g_error; + } +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = writer; +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = pix; +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp74_, _tmp75_, JPEG_QUALITY_HIGH, &_inner_error_); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6367 "Photo.c" + goto __catch256_g_error; + } +#line 759 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = TRUE; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = bps; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->filepath; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = photo_file_format_create_metadata_writer (PHOTO_FILE_FORMAT_JFIF, _tmp77_, &_inner_error_); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + mwriter = _tmp78_; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6392 "Photo.c" + goto __catch256_g_error; + } +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = mwriter; +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = meta; +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp79_, _tmp80_, &_inner_error_); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6415 "Photo.c" + goto __catch256_g_error; + } +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6430 "Photo.c" + } + goto __finally256; + __catch256_g_error: + { + GError* e = NULL; + GError* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = e; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = _tmp81_->message; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:765: Error accessing embedded preview. Message: %s", _tmp82_); +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6450 "Photo.c" + { + gboolean _tmp83_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp83_) { +#line 6457 "Photo.c" + { + RawDeveloper _tmp84_ = 0; + BackingPhotoRow* _tmp85_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp84_, _tmp85_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6469 "Photo.c" + goto __catch260_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6474 "Photo.c" + } + goto __finally260; + __catch260_g_error: + { + GError* e = NULL; + GError* _tmp86_ = NULL; + const gchar* _tmp87_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = _tmp86_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp87_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6494 "Photo.c" + } + __finally260: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 6501 "Photo.c" + } + } + } +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6509 "Photo.c" + } + __finally256: + { + gboolean _tmp88_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp88_) { +#line 6518 "Photo.c" + { + RawDeveloper _tmp89_ = 0; + BackingPhotoRow* _tmp90_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp89_, _tmp90_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6530 "Photo.c" + goto __catch261_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6535 "Photo.c" + } + goto __finally261; + __catch261_g_error: + { + GError* e = NULL; + GError* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp92_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6555 "Photo.c" + } + __finally261: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 769 "/home/jens/Source/shotwell/src/Photo.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 769 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6568 "Photo.c" + } + } + } +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 734 "/home/jens/Source/shotwell/src/Photo.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 734 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6582 "Photo.c" + } +#line 780 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6586 "Photo.c" + } + default: + { +#line 783 "/home/jens/Source/shotwell/src/Photo.vala" + g_assert_not_reached (); +#line 6592 "Photo.c" + } + } +#line 670 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 6597 "Photo.c" +} + + +void photo_set_default_raw_developer (Photo* self, RawDeveloper d) { + GError * _inner_error_ = NULL; +#line 788 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 6605 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 6612 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_->developer = _tmp2_; +#line 6622 "Photo.c" + } + __finally262: + { + PhotoRow* _tmp3_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 6631 "Photo.c" + } +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 789 "/home/jens/Source/shotwell/src/Photo.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 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6641 "Photo.c" + } + } +} + + +void photo_set_raw_developer (Photo* self, RawDeveloper d) { + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp4_ = FALSE; + Alteration* _tmp48_ = NULL; + Alteration* _tmp49_ = NULL; + GError * _inner_error_ = NULL; +#line 795 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 796 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 796 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 797 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6663 "Photo.c" + } +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_is_raw_developer_available (self, RAW_DEVELOPER_CAMERA); +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 6669 "Photo.c" + RawDeveloper _tmp3_ = 0; +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = d; +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_ == RAW_DEVELOPER_EMBEDDED; +#line 6675 "Photo.c" + } else { +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 6679 "Photo.c" + } +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 803 "/home/jens/Source/shotwell/src/Photo.vala" + d = RAW_DEVELOPER_CAMERA; +#line 6685 "Photo.c" + } +#line 807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_is_raw_developer_available (self, RAW_DEVELOPER_EMBEDDED); +#line 807 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 808 "/home/jens/Source/shotwell/src/Photo.vala" + d = RAW_DEVELOPER_SHOTWELL; +#line 6693 "Photo.c" + } + { + GeeHashMap* _tmp5_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 6701 "Photo.c" + { + RawDeveloper stale_raw_developer = 0; + PhotoRow* _tmp6_ = NULL; + RawDeveloper _tmp7_ = 0; + RawDeveloper _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GeeHashMap* _tmp15_ = NULL; + RawDeveloper _tmp16_ = 0; + gboolean _tmp17_ = FALSE; + PhotoRow* _tmp19_ = NULL; + RawDeveloper _tmp20_ = 0; + GeeHashMap* _tmp21_ = NULL; + RawDeveloper _tmp22_ = 0; + gpointer _tmp23_ = NULL; + PhotoBackingReaders* _tmp24_ = NULL; + BackingPhotoRow* _tmp25_ = NULL; + PhotoFileFormat _tmp26_ = 0; + BackingPhotoRow* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + PhotoFileReader* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + Orientation _tmp31_ = 0; + gboolean _tmp41_ = FALSE; + RawDeveloper _tmp42_ = 0; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->developer; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + stale_raw_developer = _tmp7_; +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = d; +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_is_raw_developer_complete (self, _tmp8_); +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 6738 "Photo.c" + RawDeveloper _tmp10_ = 0; +#line 815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = d; +#line 815 "/home/jens/Source/shotwell/src/Photo.vala" + photo_develop_photo (self, _tmp10_); +#line 6744 "Photo.c" + { + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_prefetched_copy (self, &_inner_error_); +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp12_); +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6756 "Photo.c" + goto __catch264_g_error; + } + } + goto __finally264; + __catch264_g_error: + { + GError* e = NULL; +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6770 "Photo.c" + { + GeeHashMap* _tmp13_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6777 "Photo.c" + } +#line 820 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6781 "Photo.c" + } + __finally264: +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6786 "Photo.c" + { + GeeHashMap* _tmp14_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6793 "Photo.c" + } +#line 816 "/home/jens/Source/shotwell/src/Photo.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 816 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6801 "Photo.c" + } + } +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->priv->developments; +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = d; +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp16_)); +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp17_) { +#line 6812 "Photo.c" + { + GeeHashMap* _tmp18_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6819 "Photo.c" + } +#line 824 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6823 "Photo.c" + } +#line 827 "/home/jens/Source/shotwell/src/Photo.vala" + photo_revert_to_master (self, FALSE); +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = d; +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->developer = _tmp20_; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->developments; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = d; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp22_)); +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = (BackingPhotoRow*) _tmp23_; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->readers; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->backing_photo_row; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->file_format; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = self->backing_photo_row; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->filepath; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_file_format_create_reader (_tmp26_, _tmp28_); +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp24_->developer); +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->developer = _tmp29_; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = self->backing_photo_row; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->original_orientation; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp31_); +#line 6865 "Photo.c" + { + PhotoTable* _tmp32_ = NULL; + PhotoTable* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + RawDeveloper _tmp35_ = 0; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoID _tmp37_ = {0}; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_table_get_instance (); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = d; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->backing_photo_row; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->id; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_raw_development (_tmp33_, _tmp34_, _tmp35_, &_tmp37_, &_inner_error_); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6891 "Photo.c" + goto __catch265_g_error; + } + } + goto __finally265; + __catch265_g_error: + { + GError* e = NULL; + GError* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = e; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_->message; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:839: Error updating database: %s", _tmp39_); +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6913 "Photo.c" + } + __finally265: +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6918 "Photo.c" + { + GeeHashMap* _tmp40_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6925 "Photo.c" + } +#line 836 "/home/jens/Source/shotwell/src/Photo.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 836 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6933 "Photo.c" + } +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = stale_raw_developer; +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_ != RAW_DEVELOPER_CAMERA) { +#line 6939 "Photo.c" + RawDeveloper _tmp43_ = 0; + PhotoRow* _tmp44_ = NULL; + RawDeveloper _tmp45_ = 0; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = stale_raw_developer; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = self->row; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->developer; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp43_ != _tmp45_; +#line 6951 "Photo.c" + } else { +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = FALSE; +#line 6955 "Photo.c" + } +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 6959 "Photo.c" + RawDeveloper _tmp46_ = 0; +#line 850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = stale_raw_developer; +#line 850 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp46_); +#line 6965 "Photo.c" + } + } + __finally263: + { + GeeHashMap* _tmp47_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6975 "Photo.c" + } +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 810 "/home/jens/Source/shotwell/src/Photo.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 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6985 "Photo.c" + } + } +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = alteration_new ("image", "developer"); +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp49_); +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp49_); +#line 858 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 6998 "Photo.c" +} + + +RawDeveloper photo_get_raw_developer (Photo* self) { + RawDeveloper result = 0; + PhotoRow* _tmp0_ = NULL; + RawDeveloper _tmp1_ = 0; +#line 861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->developer; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7016 "Photo.c" +} + + +static gboolean photo_delete_raw_development (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + gboolean ret = FALSE; + GError * _inner_error_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 868 "/home/jens/Source/shotwell/src/Photo.vala" + ret = FALSE; +#line 7028 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 7035 "Photo.c" + { + GeeHashMap* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + RawDeveloper _tmp7_ = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + BackingPhotoRow* bpr = NULL; + GeeHashMap* _tmp10_ = NULL; + RawDeveloper _tmp11_ = 0; + gpointer _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GeeHashMap* _tmp37_ = NULL; + RawDeveloper _tmp38_ = 0; + gboolean _tmp39_ = FALSE; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->developments; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_)); +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 872 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 7064 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7071 "Photo.c" + } +#line 872 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7075 "Photo.c" + } +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = d; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = raw_developer_to_string (_tmp7_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:876: Delete raw development: %s %s", _tmp6_, _tmp9_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->developments; +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = d; +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp11_)); +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = (BackingPhotoRow*) _tmp12_; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = bpr; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->filepath; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 7107 "Photo.c" + GFile* f = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = bpr; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->filepath; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_file_new_for_path (_tmp16_); +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + f = _tmp17_; +#line 7120 "Photo.c" + { + RawDeveloper _tmp18_ = 0; +#line 881 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = d; +#line 881 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ == RAW_DEVELOPER_CAMERA) { +#line 7127 "Photo.c" + GFile* _tmp19_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = f; +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_trash (_tmp19_, NULL, &_inner_error_); +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7135 "Photo.c" + goto __catch267_g_error; + } + } else { + GFile* _tmp20_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = f; +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_delete (_tmp20_, NULL, &_inner_error_); +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7146 "Photo.c" + goto __catch267_g_error; + } + } + } + goto __finally267; + __catch267_g_error: + { + GError* e = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GError* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = bpr; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->filepath; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = e; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->message; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:886: Unable to delete RAW development: %s error: %s", _tmp22_, _tmp24_); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 7175 "Photo.c" + } + __finally267: +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7188 "Photo.c" + { + GeeHashMap* _tmp25_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7195 "Photo.c" + } +#line 880 "/home/jens/Source/shotwell/src/Photo.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 880 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7203 "Photo.c" + } +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 7207 "Photo.c" + } + { + PhotoTable* _tmp26_ = NULL; + PhotoTable* _tmp27_ = NULL; + PhotoRow* _tmp28_ = NULL; + RawDeveloper _tmp29_ = 0; + BackingPhotoTable* _tmp30_ = NULL; + BackingPhotoTable* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + BackingPhotoID _tmp33_ = {0}; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_table_get_instance (); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->row; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = d; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove_development (_tmp27_, _tmp28_, _tmp29_, &_inner_error_); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp27_); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7232 "Photo.c" + goto __catch268_g_error; + } +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = backing_photo_table_get_instance (); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = bpr; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->id; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp31_, &_tmp33_, &_inner_error_); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp31_); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7249 "Photo.c" + goto __catch268_g_error; + } + } + goto __finally268; + __catch268_g_error: + { + GError* e = NULL; + GError* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = e; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->message; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:895: Database error while deleting RAW development: %s", _tmp35_); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 7271 "Photo.c" + } + __finally268: +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7280 "Photo.c" + { + GeeHashMap* _tmp36_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7287 "Photo.c" + } +#line 891 "/home/jens/Source/shotwell/src/Photo.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 891 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7295 "Photo.c" + } +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = self->priv->developments; +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = d; +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp38_), NULL); +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp39_; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7307 "Photo.c" + } + __finally266: + { + GeeHashMap* _tmp40_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7316 "Photo.c" + } +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 870 "/home/jens/Source/shotwell/src/Photo.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 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7326 "Photo.c" + } + } +#line 901 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 902 "/home/jens/Source/shotwell/src/Photo.vala" + result = ret; +#line 902 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7335 "Photo.c" +} + + +void photo_redevelop_raw (Photo* self, RawDeveloper d) { + GError * _inner_error_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 7343 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 7350 "Photo.c" + { + RawDeveloper _tmp1_ = 0; + RawDeveloper dev = 0; + RawDeveloper _tmp2_ = 0; + RawDeveloper _tmp3_ = 0; + RawDeveloper _tmp4_ = 0; +#line 908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = d; +#line 908 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp1_); +#line 909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 909 "/home/jens/Source/shotwell/src/Photo.vala" + dev = _tmp2_; +#line 910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dev; +#line 910 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == RAW_DEVELOPER_CAMERA) { +#line 911 "/home/jens/Source/shotwell/src/Photo.vala" + dev = RAW_DEVELOPER_EMBEDDED; +#line 7371 "Photo.c" + } +#line 913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = dev; +#line 913 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_developer (self, _tmp4_); +#line 7377 "Photo.c" + } + __finally269: + { + GeeHashMap* _tmp5_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7386 "Photo.c" + } +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 907 "/home/jens/Source/shotwell/src/Photo.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 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 7396 "Photo.c" + } + } +} + + +static void _vala_array_add251 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7409 "Photo.c" + } +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7415 "Photo.c" +} + + +static void _vala_array_add252 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7426 "Photo.c" + } +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7432 "Photo.c" +} + + +static void _vala_array_add253 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7443 "Photo.c" + } +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7449 "Photo.c" +} + + +static BackingFileState** photo_real_get_backing_files_state (MediaSource* base, int* result_length1) { + Photo * self; + BackingFileState** result = NULL; + BackingFileState** backing = NULL; + BackingFileState** _tmp0_ = NULL; + gint backing_length1 = 0; + gint _backing_size_ = 0; + BackingFileState** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GError * _inner_error_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_new0 (BackingFileState*, 0 + 1); +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp0_; +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + backing_length1 = 0; +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_size_ = backing_length1; +#line 7473 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 7480 "Photo.c" + { + BackingFileState** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + BackingFileState* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2__length1 = backing_length1; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->md5; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing_file_state_new_from_photo_row (_tmp4_, _tmp6_); +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add251 (&backing, &backing_length1, &_backing_size_, _tmp7_); +#line 921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_has_editable (self); +#line 921 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 7511 "Photo.c" + BackingFileState** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + BackingPhotoRow* _tmp10_ = NULL; + BackingFileState* _tmp11_ = NULL; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = backing; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9__length1 = backing_length1; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->editable; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = backing_file_state_new_from_photo_row (_tmp10_, NULL); +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add252 (&backing, &backing_length1, &_backing_size_, _tmp11_); +#line 7526 "Photo.c" + } +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_is_developed (self); +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 7532 "Photo.c" + GeeCollection* dev_rows = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_raw_development_photo_rows (self); +#line 925 "/home/jens/Source/shotwell/src/Photo.vala" + dev_rows = _tmp13_; +#line 926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dev_rows; +#line 926 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 7544 "Photo.c" + { + GeeIterator* _r_it = NULL; + GeeCollection* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = dev_rows; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _r_it = _tmp16_; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 7557 "Photo.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + BackingPhotoRow* r = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + BackingFileState** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + BackingPhotoRow* _tmp24_ = NULL; + BackingFileState* _tmp25_ = NULL; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _r_it; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp18_) { +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 7577 "Photo.c" + } +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _r_it; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + r = (BackingPhotoRow*) _tmp20_; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = r; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->filepath; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:928: adding: %s", _tmp22_); +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = backing; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = backing_length1; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = r; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = backing_file_state_new_from_photo_row (_tmp24_, NULL); +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add253 (&backing, &backing_length1, &_backing_size_, _tmp25_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (r); +#line 7603 "Photo.c" + } +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_r_it); +#line 7607 "Photo.c" + } + } +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dev_rows); +#line 7612 "Photo.c" + } + } + __finally270: + { + PhotoRow* _tmp26_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->row; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 7622 "Photo.c" + } +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + backing = (_vala_array_free (backing, backing_length1, (GDestroyNotify) backing_file_state_unref), NULL); +#line 919 "/home/jens/Source/shotwell/src/Photo.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 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7634 "Photo.c" + } + } +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = backing; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27__length1 = backing_length1; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp27__length1; +#line 7645 "Photo.c" + } +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp27_; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7651 "Photo.c" +} + + +static PhotoFileReader* photo_get_backing_reader (Photo* self, BackingFetchMode mode) { + PhotoFileReader* result = NULL; + BackingFetchMode _tmp0_ = 0; +#line 938 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = mode; +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp0_) { +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_MASTER: +#line 7666 "Photo.c" + { + PhotoFileReader* _tmp1_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_reader (self); +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7675 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_BASELINE: +#line 7679 "Photo.c" + { + PhotoFileReader* _tmp2_ = NULL; +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_baseline_reader (self); +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7688 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_SOURCE: +#line 7692 "Photo.c" + { + PhotoFileReader* _tmp3_ = NULL; +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_source_reader (self); +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7701 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_UNMODIFIED: +#line 7705 "Photo.c" + { + PhotoFileFormat _tmp4_ = 0; +#line 950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_master_file_format (self); +#line 950 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_ == PHOTO_FILE_FORMAT_RAW) { +#line 7712 "Photo.c" + PhotoFileReader* _tmp5_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_raw_developer_reader (self); +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7720 "Photo.c" + } else { + PhotoFileReader* _tmp6_ = NULL; +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_get_master_reader (self); +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp6_; +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7729 "Photo.c" + } + } + default: + { + BackingFetchMode _tmp7_ = 0; + GEnumValue* _tmp8_; +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = mode; +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_enum_get_value (g_type_class_ref (TYPE_BACKING_FETCH_MODE), _tmp7_); +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:956: Unknown backing fetch mode %s", (_tmp8_ != NULL) ? _tmp8_->value_name : NULL); +#line 7742 "Photo.c" + } + } +} + + +static gpointer _photo_file_adapter_ref0 (gpointer self) { +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_file_adapter_ref (self) : NULL; +#line 7751 "Photo.c" +} + + +static PhotoFileReader* photo_get_master_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 960 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7760 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7767 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 7780 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7787 "Photo.c" + } +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7791 "Photo.c" + } + __finally271: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7800 "Photo.c" + } +#line 961 "/home/jens/Source/shotwell/src/Photo.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 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7808 "Photo.c" + } +} + + +PhotoFileReader* photo_get_editable_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 966 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7818 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7825 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 7838 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7845 "Photo.c" + } +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7849 "Photo.c" + } + __finally272: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7858 "Photo.c" + } +#line 967 "/home/jens/Source/shotwell/src/Photo.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 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7866 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_baseline_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7876 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7883 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoBackingReaders* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 7898 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_file_adapter_ref0 (_tmp4_); +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 7910 "Photo.c" + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7917 "Photo.c" + } +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7921 "Photo.c" + } +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->developer; +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 7929 "Photo.c" + PhotoBackingReaders* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + PhotoFileReader* _tmp11_ = NULL; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->priv->readers; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->developer; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _photo_file_adapter_ref0 (_tmp10_); +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp11_; +#line 7941 "Photo.c" + { + PhotoBackingReaders* _tmp12_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7948 "Photo.c" + } +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7952 "Photo.c" + } +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_file_adapter_ref0 (_tmp14_); +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 7962 "Photo.c" + { + PhotoBackingReaders* _tmp16_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7969 "Photo.c" + } +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7973 "Photo.c" + } + __finally273: + { + PhotoBackingReaders* _tmp17_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7982 "Photo.c" + } +#line 974 "/home/jens/Source/shotwell/src/Photo.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 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7990 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_source_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8000 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8007 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoBackingReaders* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8022 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_file_adapter_ref0 (_tmp4_); +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 8034 "Photo.c" + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8041 "Photo.c" + } +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8045 "Photo.c" + } +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->developer; +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 8053 "Photo.c" + PhotoBackingReaders* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + PhotoFileReader* _tmp11_ = NULL; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->priv->readers; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->developer; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _photo_file_adapter_ref0 (_tmp10_); +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp11_; +#line 8065 "Photo.c" + { + PhotoBackingReaders* _tmp12_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8072 "Photo.c" + } +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8076 "Photo.c" + } +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_file_adapter_ref0 (_tmp14_); +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 8086 "Photo.c" + { + PhotoBackingReaders* _tmp16_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8093 "Photo.c" + } +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8097 "Photo.c" + } + __finally274: + { + PhotoBackingReaders* _tmp17_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8106 "Photo.c" + } +#line 987 "/home/jens/Source/shotwell/src/Photo.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 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8114 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_raw_developer_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8124 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8131 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->developer; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8144 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8151 "Photo.c" + } +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8155 "Photo.c" + } + __finally275: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8164 "Photo.c" + } +#line 1000 "/home/jens/Source/shotwell/src/Photo.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 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8172 "Photo.c" + } +} + + +gboolean photo_is_developed (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1005 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8182 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8189 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->developer; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8199 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8206 "Photo.c" + } +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8210 "Photo.c" + } + __finally276: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8219 "Photo.c" + } +#line 1006 "/home/jens/Source/shotwell/src/Photo.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 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8227 "Photo.c" + } +} + + +gboolean photo_has_editable (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1011 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8237 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8244 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8254 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8261 "Photo.c" + } +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8265 "Photo.c" + } + __finally277: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8274 "Photo.c" + } +#line 1012 "/home/jens/Source/shotwell/src/Photo.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 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8282 "Photo.c" + } +} + + +gboolean photo_does_master_exist (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1017 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8292 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8299 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_file_exists (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8312 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8319 "Photo.c" + } +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8323 "Photo.c" + } + __finally278: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8332 "Photo.c" + } +#line 1018 "/home/jens/Source/shotwell/src/Photo.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 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8340 "Photo.c" + } +} + + +gboolean photo_does_editable_exist (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8350 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8357 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoBackingReaders* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->readers; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->editable; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 8368 "Photo.c" + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_file_exists (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 8380 "Photo.c" + } else { +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 8384 "Photo.c" + } +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8388 "Photo.c" + { + PhotoBackingReaders* _tmp7_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8395 "Photo.c" + } +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8399 "Photo.c" + } + __finally279: + { + PhotoBackingReaders* _tmp8_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8408 "Photo.c" + } +#line 1025 "/home/jens/Source/shotwell/src/Photo.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 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8416 "Photo.c" + } +} + + +gboolean photo_is_master_baseline (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1030 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8426 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8433 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ == NULL; +#line 8443 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8450 "Photo.c" + } +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8454 "Photo.c" + } + __finally280: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8463 "Photo.c" + } +#line 1031 "/home/jens/Source/shotwell/src/Photo.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 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8471 "Photo.c" + } +} + + +gboolean photo_is_master_source (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1036 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_editable (self); +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + result = !_tmp0_; +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8487 "Photo.c" +} + + +gboolean photo_is_editable_baseline (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1040 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8496 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8503 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8513 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8520 "Photo.c" + } +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8524 "Photo.c" + } + __finally281: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8533 "Photo.c" + } +#line 1041 "/home/jens/Source/shotwell/src/Photo.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 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8541 "Photo.c" + } +} + + +gboolean photo_is_editable_source (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1046 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_editable (self); +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8557 "Photo.c" +} + + +BackingPhotoRow* photo_get_master_photo_row (Photo* self) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1050 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8566 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8573 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _backing_photo_row_ref0 (_tmp2_); +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8586 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8593 "Photo.c" + } +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8597 "Photo.c" + } + __finally282: + { + PhotoRow* _tmp5_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8606 "Photo.c" + } +#line 1051 "/home/jens/Source/shotwell/src/Photo.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 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8614 "Photo.c" + } +} + + +BackingPhotoRow* photo_get_editable_photo_row (Photo* self) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1056 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8624 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8631 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing_photo_id_is_valid (&_tmp1_->editable_id); +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 8641 "Photo.c" + BackingPhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->editable; +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _backing_photo_row_ref0 (_tmp3_); +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 8650 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8657 "Photo.c" + } +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8661 "Photo.c" + } else { +#line 1062 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 8665 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8672 "Photo.c" + } +#line 1062 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8676 "Photo.c" + } + } + __finally283: + { + PhotoRow* _tmp7_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8686 "Photo.c" + } +#line 1057 "/home/jens/Source/shotwell/src/Photo.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 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8694 "Photo.c" + } +} + + +GeeCollection* photo_get_raw_development_photo_rows (Photo* self) { + GeeCollection* result = NULL; + GError * _inner_error_ = NULL; +#line 1066 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8704 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8711 "Photo.c" + { + GeeCollection* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8719 "Photo.c" + GeeHashMap* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MAP, GeeMap)); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp5_; +#line 8733 "Photo.c" + } else { +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 8739 "Photo.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8743 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8750 "Photo.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8754 "Photo.c" + } + __finally284: + { + PhotoRow* _tmp7_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8763 "Photo.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Photo.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 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8771 "Photo.c" + } +} + + +BackingPhotoRow* photo_get_raw_development_photo_row (Photo* self, RawDeveloper d) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1072 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8781 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8788 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8796 "Photo.c" + GeeHashMap* _tmp3_ = NULL; + RawDeveloper _tmp4_ = 0; + gpointer _tmp5_ = NULL; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = d; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp4_)); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = (BackingPhotoRow*) _tmp5_; +#line 8810 "Photo.c" + } else { +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 8816 "Photo.c" + } +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8820 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8827 "Photo.c" + } +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8831 "Photo.c" + } + __finally285: + { + PhotoRow* _tmp7_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8840 "Photo.c" + } +#line 1073 "/home/jens/Source/shotwell/src/Photo.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 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8848 "Photo.c" + } +} + + +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self) { + PhotoFileFormat* dup; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + dup = g_new0 (PhotoFileFormat, 1); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + memcpy (dup, self, sizeof (PhotoFileFormat)); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return dup; +#line 8861 "Photo.c" +} + + +static gpointer __photo_file_format_dup0 (gpointer self) { +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? _photo_file_format_dup (self) : NULL; +#line 8868 "Photo.c" +} + + +PhotoFileFormat* photo_get_editable_file_format (Photo* self) { + PhotoFileFormat* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoFileFormat* _tmp4_ = NULL; +#line 1078 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 1079 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 1080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = reader; +#line 1080 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8896 "Photo.c" + } +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = __photo_file_format_dup0 (&_tmp3_); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8910 "Photo.c" +} + + +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params) { + PhotoFileFormat result = 0; + PhotoFileFormat _result_ = 0; + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; + ExportFormatMode _tmp2_ = 0; +#line 1087 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 1087 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (params != NULL, 0); +#line 1088 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 1088 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp0_; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *params; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.mode; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp2_) { +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_UNMODIFIED: +#line 8936 "Photo.c" + { + PhotoFileFormat _tmp3_ = 0; +#line 1092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_master_file_format (self); +#line 1092 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp3_; +#line 1093 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8945 "Photo.c" + } +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_CURRENT: +#line 8949 "Photo.c" + { + PhotoFileFormat _tmp4_ = 0; +#line 1096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_best_export_file_format (self); +#line 1096 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp4_; +#line 1097 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8958 "Photo.c" + } +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_SPECIFIED: +#line 8962 "Photo.c" + { + ExportFormatParameters _tmp5_ = {0}; + PhotoFileFormat _tmp6_ = 0; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *params; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.specified_format; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp6_; +#line 1101 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8974 "Photo.c" + } + default: + { +#line 1104 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:1104: get_export_format_for_parameters: unsupported export " \ +"format mode"); +#line 8980 "Photo.c" + } + } +#line 1107 "/home/jens/Source/shotwell/src/Photo.vala" + result = _result_; +#line 1107 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8987 "Photo.c" +} + + +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params) { + gchar* result = NULL; + gchar* _result_ = NULL; + ExportFormatParameters _tmp0_ = {0}; + ExportFormatMode _tmp1_ = 0; + const gchar* _tmp8_ = NULL; +#line 1110 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1110 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (params != NULL, NULL); +#line 1111 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = NULL; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *params; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.mode; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp1_) { +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_UNMODIFIED: +#line 9011 "Photo.c" + { + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_result_); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp4_; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 1116 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 9030 "Photo.c" + } +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_CURRENT: +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_SPECIFIED: +#line 9036 "Photo.c" + { + ExportFormatParameters _tmp5_ = {0}; + PhotoFileFormat _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *params; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_get_export_format_for_parameters (self, &_tmp5_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_export_basename (self, &_tmp6_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_result_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9053 "Photo.c" + } + default: + { +#line 1123 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:1123: get_export_basename_for_parameters: unsupported expor" \ +"t format mode"); +#line 9059 "Photo.c" + } + } +#line 1126 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _result_; +#line 1126 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp8_ != NULL, "result != null"); +#line 1127 "/home/jens/Source/shotwell/src/Photo.vala" + result = _result_; +#line 1127 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9070 "Photo.c" +} + + +ImportResult photo_prepare_for_import (PhotoImportParams* params) { + ImportResult result = 0; + GFile* file = NULL; + PhotoImportParams* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* info = NULL; + GFileInfo* _tmp7_ = NULL; + GFileType _tmp8_ = 0; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GTimeVal timestamp = {0}; + GFileInfo* _tmp19_ = NULL; + GTimeVal _tmp20_ = {0}; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + PhotoImportParams* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp32_ = NULL; + PhotoImportParams* _tmp33_ = NULL; + PhotoFileSnifferOptions _tmp34_ = 0; + PhotoFileInterrogator* _tmp35_ = NULL; + PhotoFileInterrogator* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; + DetectedPhotoInformation* detected = NULL; + PhotoFileInterrogator* _tmp44_ = NULL; + DetectedPhotoInformation* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + DetectedPhotoInformation* _tmp47_ = NULL; + PhotoImportParams* _tmp50_ = NULL; + PhotoFileSnifferOptions _tmp51_ = 0; + Orientation orientation = 0; + time_t exposure_time = 0; + gchar* title = NULL; + gchar* _tmp64_ = NULL; + gchar* comment = NULL; + gchar* _tmp65_ = NULL; + Rating rating = 0; + DetectedPhotoInformation* _tmp66_ = NULL; + PhotoMetadata* _tmp67_ = NULL; + gboolean _tmp90_ = FALSE; + gboolean _tmp91_ = FALSE; + DetectedPhotoInformation* _tmp92_ = NULL; + GdkColorspace _tmp93_ = 0; + PhotoImportParams* _tmp101_ = NULL; + PhotoRow* _tmp102_ = NULL; + PhotoImportParams* _tmp103_ = NULL; + PhotoRow* _tmp104_ = NULL; + BackingPhotoRow* _tmp105_ = NULL; + GFile* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + PhotoImportParams* _tmp108_ = NULL; + PhotoRow* _tmp109_ = NULL; + BackingPhotoRow* _tmp110_ = NULL; + DetectedPhotoInformation* _tmp111_ = NULL; + Dimensions _tmp112_ = {0}; + PhotoImportParams* _tmp113_ = NULL; + PhotoRow* _tmp114_ = NULL; + BackingPhotoRow* _tmp115_ = NULL; + GFileInfo* _tmp116_ = NULL; + gint64 _tmp117_ = 0LL; + PhotoImportParams* _tmp118_ = NULL; + PhotoRow* _tmp119_ = NULL; + BackingPhotoRow* _tmp120_ = NULL; + GTimeVal _tmp121_ = {0}; + glong _tmp122_ = 0L; + PhotoImportParams* _tmp123_ = NULL; + PhotoRow* _tmp124_ = NULL; + time_t _tmp125_ = 0; + PhotoImportParams* _tmp126_ = NULL; + PhotoRow* _tmp127_ = NULL; + Orientation _tmp128_ = 0; + PhotoImportParams* _tmp129_ = NULL; + PhotoRow* _tmp130_ = NULL; + BackingPhotoRow* _tmp131_ = NULL; + Orientation _tmp132_ = 0; + PhotoImportParams* _tmp133_ = NULL; + PhotoRow* _tmp134_ = NULL; + PhotoImportParams* _tmp135_ = NULL; + ImportID _tmp136_ = {0}; + PhotoImportParams* _tmp137_ = NULL; + PhotoRow* _tmp138_ = NULL; + PhotoImportParams* _tmp139_ = NULL; + PhotoRow* _tmp140_ = NULL; + PhotoImportParams* _tmp141_ = NULL; + PhotoRow* _tmp142_ = NULL; + DetectedPhotoInformation* _tmp143_ = NULL; + const gchar* _tmp144_ = NULL; + gchar* _tmp145_ = NULL; + PhotoImportParams* _tmp146_ = NULL; + PhotoRow* _tmp147_ = NULL; + DetectedPhotoInformation* _tmp148_ = NULL; + const gchar* _tmp149_ = NULL; + gchar* _tmp150_ = NULL; + PhotoImportParams* _tmp151_ = NULL; + PhotoRow* _tmp152_ = NULL; + DetectedPhotoInformation* _tmp153_ = NULL; + const gchar* _tmp154_ = NULL; + gchar* _tmp155_ = NULL; + PhotoImportParams* _tmp156_ = NULL; + PhotoRow* _tmp157_ = NULL; + PhotoImportParams* _tmp158_ = NULL; + PhotoRow* _tmp159_ = NULL; + PhotoImportParams* _tmp160_ = NULL; + PhotoRow* _tmp161_ = NULL; + BackingPhotoRow* _tmp162_ = NULL; + DetectedPhotoInformation* _tmp163_ = NULL; + PhotoFileFormat _tmp164_ = 0; + PhotoImportParams* _tmp165_ = NULL; + PhotoRow* _tmp166_ = NULL; + const gchar* _tmp167_ = NULL; + gchar* _tmp168_ = NULL; + PhotoImportParams* _tmp169_ = NULL; + PhotoRow* _tmp170_ = NULL; + const gchar* _tmp171_ = NULL; + gchar* _tmp172_ = NULL; + PhotoImportParams* _tmp173_ = NULL; + PhotoRow* _tmp174_ = NULL; + Rating _tmp175_ = 0; + PhotoImportParams* _tmp176_ = NULL; + Thumbnails* _tmp177_ = NULL; + GError * _inner_error_ = NULL; +#line 1142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (params), 0); +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = params; +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->file; +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 1148 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 9211 "Photo.c" + { + GFileInfo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_file_query_info (_tmp4_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp5_; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9225 "Photo.c" + goto __catch286_g_error; + } +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp3_; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp6_; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 9238 "Photo.c" + } + goto __finally286; + __catch286_g_error: + { + GError* err = NULL; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9258 "Photo.c" + } + __finally286: +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1149 "/home/jens/Source/shotwell/src/Photo.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 1149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 9273 "Photo.c" + } +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = info; +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_info_get_file_type (_tmp7_); +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != G_FILE_TYPE_REGULAR) { +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9289 "Photo.c" + } +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_is_file_image (_tmp9_); +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 9297 "Photo.c" + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = file; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1160: Not importing %s: Not an image file", _tmp13_); +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp13_); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_AN_IMAGE; +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9319 "Photo.c" + } +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_format_is_file_supported (_tmp14_); +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp15_) { +#line 9327 "Photo.c" + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = file; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1166: Not importing %s: Unsupported extension", _tmp18_); +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp18_); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9349 "Photo.c" + } +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = info; +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp19_, &_tmp20_); +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp20_; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->exif_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ != NULL) { +#line 9363 "Photo.c" + PhotoImportParams* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->thumbnail_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp26_ != NULL; +#line 9372 "Photo.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = FALSE; +#line 9376 "Photo.c" + } +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 9380 "Photo.c" + PhotoImportParams* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->full_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp28_ != NULL; +#line 9389 "Photo.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = FALSE; +#line 9393 "Photo.c" + } +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 9397 "Photo.c" + PhotoImportParams* _tmp29_ = NULL; + PhotoImportParams* _tmp30_ = NULL; + PhotoFileSnifferOptions _tmp31_ = 0; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = params; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = params; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->sniffer_options; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_->sniffer_options = _tmp31_ | PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5; +#line 9409 "Photo.c" + } +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = file; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = params; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->sniffer_options; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_file_interrogator_new (_tmp32_, _tmp34_); +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp35_; +#line 9421 "Photo.c" + { + PhotoFileInterrogator* _tmp36_ = NULL; +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = interrogator; +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp36_, &_inner_error_); +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9430 "Photo.c" + goto __catch287_g_error; + } + } + goto __finally287; + __catch287_g_error: + { + GError* err = NULL; + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GError* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = file; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = g_file_get_path (_tmp37_); +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->message; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1182: Unable to interrogate photo file %s: %s", _tmp39_, _tmp41_); +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp39_); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_DECODE_ERROR; +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9473 "Photo.c" + } + __finally287: +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1179 "/home/jens/Source/shotwell/src/Photo.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 1179 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 9490 "Photo.c" + } +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = interrogator; +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = photo_file_interrogator_get_is_photo_corrupted (_tmp42_); +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_AN_IMAGE; +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9508 "Photo.c" + } +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = interrogator; +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo_file_interrogator_get_detected_photo_information (_tmp44_); +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp45_; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = detected; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp47_ == NULL) { +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = TRUE; +#line 9522 "Photo.c" + } else { + DetectedPhotoInformation* _tmp48_ = NULL; + PhotoFileFormat _tmp49_ = 0; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = detected; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->file_format; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp49_ == PHOTO_FILE_FORMAT_UNKNOWN; +#line 9532 "Photo.c" + } +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_) { +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9548 "Photo.c" + } +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = params; +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->sniffer_options; +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp51_ & PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5) != 0) { +#line 9556 "Photo.c" + DetectedPhotoInformation* _tmp52_ = NULL; + PhotoImportParams* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + DetectedPhotoInformation* _tmp56_ = NULL; + PhotoImportParams* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + DetectedPhotoInformation* _tmp60_ = NULL; + PhotoImportParams* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = detected; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = params; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_->exif_md5; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = g_strdup (_tmp54_); +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp52_->exif_md5); +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_->exif_md5 = _tmp55_; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = detected; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = params; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_->thumbnail_md5; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = g_strdup (_tmp58_); +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp56_->thumbnail_md5); +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_->thumbnail_md5 = _tmp59_; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = params; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _tmp61_->full_md5; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = g_strdup (_tmp62_); +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp60_->md5); +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_->md5 = _tmp63_; +#line 9605 "Photo.c" + } +#line 1202 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = ORIENTATION_TOP_LEFT; +#line 1203 "/home/jens/Source/shotwell/src/Photo.vala" + exposure_time = (time_t) 0; +#line 1204 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = g_strdup (""); +#line 1204 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp64_; +#line 1205 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = g_strdup (""); +#line 1205 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp65_; +#line 1206 "/home/jens/Source/shotwell/src/Photo.vala" + rating = RATING_UNRATED; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = detected; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_->metadata; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_ != NULL) { +#line 9627 "Photo.c" + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp68_ = NULL; + PhotoMetadata* _tmp69_ = NULL; + MetadataDateTime* _tmp70_ = NULL; + MetadataDateTime* _tmp71_ = NULL; + DetectedPhotoInformation* _tmp74_ = NULL; + PhotoMetadata* _tmp75_ = NULL; + Orientation _tmp76_ = 0; + DetectedPhotoInformation* _tmp77_ = NULL; + PhotoMetadata* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + DetectedPhotoInformation* _tmp80_ = NULL; + PhotoMetadata* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + PhotoImportParams* _tmp83_ = NULL; + DetectedPhotoInformation* _tmp84_ = NULL; + PhotoMetadata* _tmp85_ = NULL; + GeeSet* _tmp86_ = NULL; + DetectedPhotoInformation* _tmp87_ = NULL; + PhotoMetadata* _tmp88_ = NULL; + Rating _tmp89_ = 0; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = detected; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->metadata; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo_metadata_get_exposure_date_time (_tmp69_); +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp70_; +#line 1215 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = date_time; +#line 1215 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp71_ != NULL) { +#line 9661 "Photo.c" + MetadataDateTime* _tmp72_ = NULL; + time_t _tmp73_ = 0; +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = date_time; +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = metadata_date_time_get_timestamp (_tmp72_); +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + exposure_time = _tmp73_; +#line 9670 "Photo.c" + } +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = detected; +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_->metadata; +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo_metadata_get_orientation (_tmp75_); +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp76_; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = detected; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _tmp77_->metadata; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp79_; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = detected; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_->metadata; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp82_; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = params; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = detected; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _tmp84_->metadata; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = photo_metadata_get_keywords (_tmp85_, NULL, NULL, NULL); +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp83_->keywords); +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_->keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = detected; +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tmp87_->metadata; +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = photo_metadata_get_rating (_tmp88_); +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + rating = _tmp89_; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 9722 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = detected; +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_->colorspace; +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp93_ != GDK_COLORSPACE_RGB) { +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = TRUE; +#line 9732 "Photo.c" + } else { + DetectedPhotoInformation* _tmp94_ = NULL; + gint _tmp95_ = 0; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = detected; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = _tmp94_->channels; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = _tmp95_ < 3; +#line 9742 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp91_) { +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = TRUE; +#line 9748 "Photo.c" + } else { + DetectedPhotoInformation* _tmp96_ = NULL; + gint _tmp97_ = 0; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = detected; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = _tmp96_->bits_per_channel; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp97_ != 8; +#line 9758 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp90_) { +#line 9762 "Photo.c" + GFile* _tmp98_ = NULL; + gchar* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = file; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = g_file_get_path (_tmp98_); +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = _tmp99_; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1229: Not importing %s: Unsupported color format", _tmp100_); +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp100_); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9792 "Photo.c" + } +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = params; +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = _tmp101_->row; +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp102_->photo_id, PHOTO_ID_INVALID); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = params; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->row; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _tmp104_->master; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = file; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = g_file_get_path (_tmp106_); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp105_->filepath); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_->filepath = _tmp107_; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = params; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = _tmp108_->row; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = _tmp109_->master; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = detected; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->image_dim; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_->dim = _tmp112_; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = params; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = _tmp113_->row; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = _tmp114_->master; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = info; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = g_file_info_get_size (_tmp116_); +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_->filesize = _tmp117_; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = params; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = _tmp118_->row; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_->master; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = timestamp; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = _tmp121_.tv_sec; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_->timestamp = (time_t) _tmp122_; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = params; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = _tmp123_->row; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = exposure_time; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_->exposure_time = _tmp125_; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = params; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = _tmp126_->row; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = orientation; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_->orientation = _tmp128_; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = params; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = _tmp129_->row; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = _tmp130_->master; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = orientation; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_->original_orientation = _tmp132_; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = params; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _tmp133_->row; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp135_ = params; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp136_ = _tmp135_->import_id; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_->import_id = _tmp136_; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp137_ = params; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp138_ = _tmp137_->row; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + event_id_init (&_tmp138_->event_id, EVENT_ID_INVALID); +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp139_ = params; +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_ = _tmp139_->row; +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp140_->transformations); +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_->transformations = NULL; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp141_ = params; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_ = _tmp141_->row; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp143_ = detected; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp144_ = _tmp143_->md5; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp145_ = g_strdup (_tmp144_); +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp142_->md5); +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_->md5 = _tmp145_; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp146_ = params; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_ = _tmp146_->row; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp148_ = detected; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp149_ = _tmp148_->thumbnail_md5; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp150_ = g_strdup (_tmp149_); +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp147_->thumbnail_md5); +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_->thumbnail_md5 = _tmp150_; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp151_ = params; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_ = _tmp151_->row; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp153_ = detected; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp154_ = _tmp153_->exif_md5; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp155_ = g_strdup (_tmp154_); +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp152_->exif_md5); +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_->exif_md5 = _tmp155_; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp156_ = params; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp157_ = _tmp156_->row; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp157_->time_created = (time_t) 0; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp158_ = params; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp159_ = _tmp158_->row; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp159_->flags = (guint64) 0; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp160_ = params; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp161_ = _tmp160_->row; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp162_ = _tmp161_->master; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp163_ = detected; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp164_ = _tmp163_->file_format; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp162_->file_format = _tmp164_; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp165_ = params; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp166_ = _tmp165_->row; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp167_ = title; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp168_ = g_strdup (_tmp167_); +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp166_->title); +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp166_->title = _tmp168_; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp169_ = params; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp170_ = _tmp169_->row; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp171_ = comment; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp172_ = g_strdup (_tmp171_); +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp170_->comment); +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp170_->comment = _tmp172_; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp173_ = params; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp174_ = _tmp173_->row; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp175_ = rating; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp174_->rating = _tmp175_; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp176_ = params; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp177_ = _tmp176_->thumbnails; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp177_ != NULL) { +#line 10004 "Photo.c" + PhotoFileReader* reader = NULL; + PhotoImportParams* _tmp178_ = NULL; + PhotoRow* _tmp179_ = NULL; + BackingPhotoRow* _tmp180_ = NULL; + PhotoFileFormat _tmp181_ = 0; + PhotoImportParams* _tmp182_ = NULL; + PhotoRow* _tmp183_ = NULL; + BackingPhotoRow* _tmp184_ = NULL; + const gchar* _tmp185_ = NULL; + PhotoFileReader* _tmp186_ = NULL; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp178_ = params; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp179_ = _tmp178_->row; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp180_ = _tmp179_->master; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp181_ = _tmp180_->file_format; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp182_ = params; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp183_ = _tmp182_->row; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp184_ = _tmp183_->master; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp185_ = _tmp184_->filepath; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp186_ = photo_file_format_create_reader (_tmp181_, _tmp185_); +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp186_; +#line 10035 "Photo.c" + { + PhotoImportParams* _tmp187_ = NULL; + Thumbnails* _tmp188_ = NULL; + PhotoFileReader* _tmp189_ = NULL; + PhotoImportParams* _tmp190_ = NULL; + PhotoRow* _tmp191_ = NULL; + Orientation _tmp192_ = 0; + PhotoImportParams* _tmp193_ = NULL; + PhotoRow* _tmp194_ = NULL; + BackingPhotoRow* _tmp195_ = NULL; + Dimensions _tmp196_ = {0}; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp187_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp188_ = _tmp187_->thumbnails; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp189_ = reader; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp190_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp191_ = _tmp190_->row; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp192_ = _tmp191_->orientation; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp193_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp194_ = _tmp193_->row; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp195_ = _tmp194_->master; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp196_ = _tmp195_->dim; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_generate_for_photo (_tmp188_, _tmp189_, _tmp192_, &_tmp196_, &_inner_error_); +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10071 "Photo.c" + goto __catch288_g_error; + } + } + goto __finally288; + __catch288_g_error: + { + GError* err = NULL; + GError* _tmp197_ = NULL; + ImportResult _tmp198_ = 0; +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp197_ = err; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp198_ = import_result_convert_error (_tmp197_, IMPORT_RESULT_FILE_ERROR); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp198_; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10109 "Photo.c" + } + __finally288: +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1261 "/home/jens/Source/shotwell/src/Photo.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 1261 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 10134 "Photo.c" + } +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 10138 "Photo.c" + } +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_SUCCESS; +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10156 "Photo.c" +} + + +void photo_create_pre_import (PhotoImportParams* params) { + GFile* file = NULL; + PhotoImportParams* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PhotoImportParams* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + PhotoImportParams* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + PhotoImportParams* _tmp9_ = NULL; + PhotoRow* _tmp10_ = NULL; + BackingPhotoRow* _tmp11_ = NULL; + PhotoImportParams* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + PhotoImportParams* _tmp15_ = NULL; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + PhotoImportParams* _tmp18_ = NULL; + PhotoRow* _tmp19_ = NULL; + PhotoImportParams* _tmp20_ = NULL; + PhotoRow* _tmp21_ = NULL; + PhotoImportParams* _tmp22_ = NULL; + PhotoRow* _tmp23_ = NULL; + BackingPhotoRow* _tmp24_ = NULL; + PhotoImportParams* _tmp25_ = NULL; + PhotoRow* _tmp26_ = NULL; + PhotoImportParams* _tmp27_ = NULL; + ImportID _tmp28_ = {0}; + PhotoImportParams* _tmp29_ = NULL; + PhotoRow* _tmp30_ = NULL; + PhotoImportParams* _tmp31_ = NULL; + PhotoRow* _tmp32_ = NULL; + PhotoImportParams* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + PhotoImportParams* _tmp35_ = NULL; + PhotoRow* _tmp36_ = NULL; + PhotoImportParams* _tmp37_ = NULL; + PhotoRow* _tmp38_ = NULL; + PhotoImportParams* _tmp39_ = NULL; + PhotoRow* _tmp40_ = NULL; + PhotoImportParams* _tmp41_ = NULL; + PhotoRow* _tmp42_ = NULL; + PhotoImportParams* _tmp43_ = NULL; + PhotoRow* _tmp44_ = NULL; + BackingPhotoRow* _tmp45_ = NULL; + PhotoImportParams* _tmp46_ = NULL; + PhotoRow* _tmp47_ = NULL; + PhotoImportParams* _tmp48_ = NULL; + PhotoRow* _tmp49_ = NULL; + PhotoImportParams* _tmp50_ = NULL; + PhotoRow* _tmp51_ = NULL; + PhotoFileInterrogator* interrogator = NULL; + PhotoImportParams* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + PhotoImportParams* _tmp54_ = NULL; + PhotoFileSnifferOptions _tmp55_ = 0; + PhotoFileInterrogator* _tmp56_ = NULL; + GError * _inner_error_ = NULL; +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_IMPORT_PARAMS (params)); +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = params; +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->file; +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = params; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->row; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp4_->photo_id, PHOTO_ID_INVALID); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = params; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->row; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->master; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_get_path (file); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_->filepath); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->filepath = _tmp8_; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = params; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->row; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->master; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_tmp11_->dim, 0, 0); +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = params; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->row; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->filesize = (gint64) 0; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = params; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->row; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_->timestamp = (time_t) 0; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = params; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->row; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->exposure_time = (time_t) 0; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = params; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->row; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_->orientation = ORIENTATION_TOP_LEFT; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = params; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_->row; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->master; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->original_orientation = ORIENTATION_TOP_LEFT; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = params; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->row; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = params; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->import_id; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_->import_id = _tmp28_; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = params; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->row; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + event_id_init (&_tmp30_->event_id, EVENT_ID_INVALID); +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = params; +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->row; +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp32_->transformations); +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_->transformations = NULL; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = params; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->row; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_->md5); +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_->md5 = NULL; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = params; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_->row; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp36_->thumbnail_md5); +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_->thumbnail_md5 = NULL; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = params; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->row; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp38_->exif_md5); +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_->exif_md5 = NULL; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = params; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_->row; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_->time_created = (time_t) 0; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = params; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->row; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_->flags = (guint64) 0; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = params; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->row; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->master; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_->file_format = PHOTO_FILE_FORMAT_JFIF; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = params; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_->row; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_->title); +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_->title = NULL; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = params; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->row; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp49_->comment); +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_->comment = NULL; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = params; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->row; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_->rating = RATING_UNRATED; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = params; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->file; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = params; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_->sniffer_options; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_file_interrogator_new (_tmp53_, _tmp55_); +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp56_; +#line 10395 "Photo.c" + { + DetectedPhotoInformation* detected = NULL; + DetectedPhotoInformation* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + gboolean _tmp59_ = FALSE; + DetectedPhotoInformation* _tmp60_ = NULL; +#line 1300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (interrogator, &_inner_error_); +#line 1300 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10406 "Photo.c" + goto __catch289_g_error; + } +#line 1301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_file_interrogator_get_detected_photo_information (interrogator); +#line 1301 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp57_; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp60_ != NULL) { +#line 10417 "Photo.c" + gboolean _tmp61_ = FALSE; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = photo_file_interrogator_get_is_photo_corrupted (interrogator); +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = !_tmp61_; +#line 10423 "Photo.c" + } else { +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = FALSE; +#line 10427 "Photo.c" + } +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_) { +#line 10431 "Photo.c" + DetectedPhotoInformation* _tmp62_ = NULL; + PhotoFileFormat _tmp63_ = 0; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = detected; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_->file_format; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp63_ != PHOTO_FILE_FORMAT_UNKNOWN; +#line 10440 "Photo.c" + } else { +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = FALSE; +#line 10444 "Photo.c" + } +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_) { +#line 10448 "Photo.c" + PhotoImportParams* _tmp64_ = NULL; + PhotoRow* _tmp65_ = NULL; + BackingPhotoRow* _tmp66_ = NULL; + DetectedPhotoInformation* _tmp67_ = NULL; + PhotoFileFormat _tmp68_ = 0; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = params; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = _tmp64_->row; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_->master; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = detected; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->file_format; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_->file_format = _tmp68_; +#line 10466 "Photo.c" + } +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 10470 "Photo.c" + } + goto __finally289; + __catch289_g_error: + { + GError* err = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + GError* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = g_file_get_path (file); +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = err; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->message; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:1305: Unable to interrogate photo file %s: %s", _tmp70_, _tmp72_); +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp70_); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 10498 "Photo.c" + } + __finally289: +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1299 "/home/jens/Source/shotwell/src/Photo.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 1299 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 10513 "Photo.c" + } +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 10519 "Photo.c" +} + + +BackingPhotoRow* photo_query_backing_photo_row (Photo* self, GFile* file, PhotoFileSnifferOptions options, DetectedPhotoInformation** detected, GError** error) { + DetectedPhotoInformation* _vala_detected = NULL; + BackingPhotoRow* result = NULL; + BackingPhotoRow* backing = NULL; + BackingPhotoRow* _tmp0_ = NULL; + GFileInfo* info = NULL; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp10_ = NULL; + PhotoFileSnifferOptions _tmp11_ = 0; + PhotoFileInterrogator* _tmp12_ = NULL; + PhotoFileInterrogator* _tmp13_ = NULL; + PhotoFileInterrogator* _tmp14_ = NULL; + DetectedPhotoInformation* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + DetectedPhotoInformation* _tmp17_ = NULL; + GTimeVal modification_time = {0}; + GFileInfo* _tmp22_ = NULL; + GTimeVal _tmp23_ = {0}; + BackingPhotoRow* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; + GTimeVal _tmp28_ = {0}; + glong _tmp29_ = 0L; + BackingPhotoRow* _tmp30_ = NULL; + GFileInfo* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + BackingPhotoRow* _tmp33_ = NULL; + DetectedPhotoInformation* _tmp34_ = NULL; + PhotoFileFormat _tmp35_ = 0; + BackingPhotoRow* _tmp36_ = NULL; + DetectedPhotoInformation* _tmp37_ = NULL; + Dimensions _tmp38_ = {0}; + Orientation _tmp39_ = 0; + DetectedPhotoInformation* _tmp40_ = NULL; + PhotoMetadata* _tmp41_ = NULL; + BackingPhotoRow* _tmp45_ = NULL; + GError * _inner_error_ = NULL; +#line 1309 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1309 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1311 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1311 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = NULL; +#line 1313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1313 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp0_; +#line 1315 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 10575 "Photo.c" + { + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_file_query_info (_tmp2_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10589 "Photo.c" + goto __catch290_g_error; + } +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp1_; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp4_; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 10602 "Photo.c" + } + goto __finally290; + __catch290_g_error: + { + GError* err = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = err; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->message; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:1320: Unable to read file information for %s: %s", _tmp7_, _tmp9_); +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10643 "Photo.c" + } else { +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10647 "Photo.c" + } +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10651 "Photo.c" + } + __finally290: +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 10664 "Photo.c" + } +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = file; +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = options; +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_file_interrogator_new (_tmp10_, _tmp11_); +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp12_; +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = interrogator; +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp13_, &_inner_error_); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 10690 "Photo.c" + } +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = interrogator; +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_interrogator_get_detected_photo_information (_tmp14_); +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = _tmp15_; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _vala_detected; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ == NULL) { +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = TRUE; +#line 10706 "Photo.c" + } else { + PhotoFileInterrogator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = interrogator; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo_file_interrogator_get_is_photo_corrupted (_tmp18_); +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp19_; +#line 10716 "Photo.c" + } +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 10720 "Photo.c" + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:1330: Photo update: %s no longer a recognized image", _tmp21_); +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10743 "Photo.c" + } else { +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10747 "Photo.c" + } +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10751 "Photo.c" + } +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = info; +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp22_, &_tmp23_); +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + modification_time = _tmp23_; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = backing; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = file; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = g_file_get_path (_tmp25_); +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp24_->filepath); +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->filepath = _tmp26_; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = backing; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = modification_time; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_.tv_sec; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_->timestamp = (time_t) _tmp29_; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = backing; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = info; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = g_file_info_get_size (_tmp31_); +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_->filesize = _tmp32_; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = backing; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _vala_detected; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->file_format; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_->file_format = _tmp35_; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = backing; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _vala_detected; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->image_dim; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_->dim = _tmp38_; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _vala_detected; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->metadata; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_ != NULL) { +#line 10807 "Photo.c" + DetectedPhotoInformation* _tmp42_ = NULL; + PhotoMetadata* _tmp43_ = NULL; + Orientation _tmp44_ = 0; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _vala_detected; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_->metadata; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = photo_metadata_get_orientation (_tmp43_); +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp44_; +#line 10819 "Photo.c" + } else { +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = ORIENTATION_TOP_LEFT; +#line 10823 "Photo.c" + } +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = backing; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_->original_orientation = _tmp39_; +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + result = backing; +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10839 "Photo.c" + } else { +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10843 "Photo.c" + } +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10847 "Photo.c" +} + + +static void _vala_array_add254 (gchar*** array, int* length, int* size, gchar* value) { +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10858 "Photo.c" + } +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10864 "Photo.c" +} + + +static void _vala_array_add255 (gchar*** array, int* length, int* size, gchar* value) { +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10875 "Photo.c" + } +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10881 "Photo.c" +} + + +static void _vala_array_add256 (gchar*** array, int* length, int* size, gchar* value) { +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10892 "Photo.c" + } +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10898 "Photo.c" +} + + +static void _vala_array_add257 (gchar*** array, int* length, int* size, gchar* value) { +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10909 "Photo.c" + } +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10915 "Photo.c" +} + + +static void _vala_array_add258 (gchar*** array, int* length, int* size, gchar* value) { +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10926 "Photo.c" + } +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10932 "Photo.c" +} + + +static void _vala_array_add259 (gchar*** array, int* length, int* size, gchar* value) { +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10943 "Photo.c" + } +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10949 "Photo.c" +} + + +static gpointer _media_metadata_ref0 (gpointer self) { +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? media_metadata_ref (self) : NULL; +#line 10956 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error) { + PhotoReimportMasterState* _vala_reimport_state = NULL; + gboolean result = FALSE; + GFile* file = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + GFile* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + DetectedPhotoInformation* _tmp13_ = NULL; + GdkColorspace _tmp14_ = 0; + PhotoRow* updated_row = NULL; + PhotoRow* _tmp22_ = NULL; + gchar** list = NULL; + gchar** _tmp27_ = NULL; + gint list_length1 = 0; + gint _list_size_ = 0; + PhotoRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + DetectedPhotoInformation* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + PhotoRow* _tmp34_ = NULL; + BackingPhotoRow* _tmp35_ = NULL; + Orientation _tmp36_ = 0; + BackingPhotoRow* _tmp37_ = NULL; + Orientation _tmp38_ = 0; + DetectedPhotoInformation* _tmp45_ = NULL; + PhotoMetadata* _tmp46_ = NULL; + PhotoRow* _tmp83_ = NULL; + BackingPhotoRow* _tmp84_ = NULL; + BackingPhotoRow* _tmp85_ = NULL; + PhotoRow* _tmp86_ = NULL; + DetectedPhotoInformation* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + PhotoRow* _tmp90_ = NULL; + DetectedPhotoInformation* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + PhotoRow* _tmp94_ = NULL; + DetectedPhotoInformation* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + PhotoMetadata* metadata = NULL; + DetectedPhotoInformation* _tmp98_ = NULL; + PhotoMetadata* _tmp99_ = NULL; + PhotoRow* _tmp122_ = NULL; + PhotoMetadata* _tmp123_ = NULL; + gchar** _tmp124_ = NULL; + gint _tmp124__length1 = 0; + PhotoReimportMasterStateImpl* _tmp125_ = NULL; + GError * _inner_error_ = NULL; +#line 1409 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1410 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 1410 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_reimport_state = NULL; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp3_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_query_backing_photo_row (self, _tmp4_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, &_tmp5_, &_inner_error_); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp5_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp6_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 11057 "Photo.c" + } +#line 1417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing; +#line 1417 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 11063 "Photo.c" + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1418: Unable to retrieve photo state from %s for reimport", _tmp10_); +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11089 "Photo.c" + } else { +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11093 "Photo.c" + } +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11097 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = detected; +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->colorspace; +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != GDK_COLORSPACE_RGB) { +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 11107 "Photo.c" + } else { + DetectedPhotoInformation* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = detected; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->channels; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp16_ < 3; +#line 11117 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 11123 "Photo.c" + } else { + DetectedPhotoInformation* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = detected; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->bits_per_channel; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp18_ != 8; +#line 11133 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 11137 "Photo.c" + GFile* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = file; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = g_file_get_path (_tmp19_); +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1426: Not re-importing %s: Unsupported color format", _tmp21_); +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11163 "Photo.c" + } else { +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11167 "Photo.c" + } +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11171 "Photo.c" + } +#line 1432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_row_new (); +#line 1432 "/home/jens/Source/shotwell/src/Photo.vala" + updated_row = _tmp22_; +#line 11177 "Photo.c" + { + PhotoRow* _tmp23_ = NULL; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->row; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 11184 "Photo.c" + { + PhotoRow* _tmp24_ = NULL; + PhotoRow* _tmp25_ = NULL; +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->row; +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _photo_row_ref0 (_tmp24_); +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + updated_row = _tmp25_; +#line 11196 "Photo.c" + } + __finally291: + { + PhotoRow* _tmp26_ = NULL; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->row; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 11205 "Photo.c" + } +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 11221 "Photo.c" + } + } +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_new0 (gchar*, 0 + 1); +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp27_; +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + list_length1 = 0; +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + _list_size_ = list_length1; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = updated_row; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->md5; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = detected; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->md5; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp29_, _tmp31_) != 0) { +#line 11242 "Photo.c" + gchar** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gchar* _tmp33_ = NULL; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = list; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32__length1 = list_length1; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = g_strdup ("metadata:md5"); +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add254 (&list, &list_length1, &_list_size_, _tmp33_); +#line 11254 "Photo.c" + } +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = updated_row; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->master; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_->original_orientation; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = backing; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->original_orientation; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp36_ != _tmp38_) { +#line 11268 "Photo.c" + gchar** _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gchar* _tmp40_ = NULL; + PhotoRow* _tmp41_ = NULL; + BackingPhotoRow* _tmp42_ = NULL; + BackingPhotoRow* _tmp43_ = NULL; + Orientation _tmp44_ = 0; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = list; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39__length1 = list_length1; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strdup ("image:orientation"); +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add255 (&list, &list_length1, &_list_size_, _tmp40_); +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = updated_row; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->master; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = backing; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->original_orientation; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_->original_orientation = _tmp44_; +#line 11294 "Photo.c" + } +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = detected; +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_->metadata; +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_ != NULL) { +#line 11302 "Photo.c" + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; + MetadataDateTime* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + MetadataDateTime* _tmp51_ = NULL; + PhotoRow* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + DetectedPhotoInformation* _tmp60_ = NULL; + PhotoMetadata* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + PhotoRow* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + DetectedPhotoInformation* _tmp69_ = NULL; + PhotoMetadata* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; + PhotoRow* _tmp76_ = NULL; + Rating _tmp77_ = 0; + DetectedPhotoInformation* _tmp78_ = NULL; + PhotoMetadata* _tmp79_ = NULL; + Rating _tmp80_ = 0; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = detected; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->metadata; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_metadata_get_exposure_date_time (_tmp48_); +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp49_; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = date_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_ != NULL) { +#line 11340 "Photo.c" + PhotoRow* _tmp52_ = NULL; + time_t _tmp53_ = 0; + MetadataDateTime* _tmp54_ = NULL; + time_t _tmp55_ = 0; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = updated_row; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->exposure_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = date_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = metadata_date_time_get_timestamp (_tmp54_); +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp53_ != _tmp55_; +#line 11355 "Photo.c" + } else { +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = FALSE; +#line 11359 "Photo.c" + } +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp50_) { +#line 11363 "Photo.c" + gchar** _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gchar* _tmp57_ = NULL; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = list; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56__length1 = list_length1; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = g_strdup ("metadata:exposure-time"); +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add256 (&list, &list_length1, &_list_size_, _tmp57_); +#line 11375 "Photo.c" + } +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = updated_row; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_->title; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_->metadata; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = g_strcmp0 (_tmp59_, _tmp63_) != 0; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp63_); +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp64_) { +#line 11395 "Photo.c" + gchar** _tmp65_ = NULL; + gint _tmp65__length1 = 0; + gchar* _tmp66_ = NULL; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = list; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65__length1 = list_length1; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = g_strdup ("metadata:name"); +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add257 (&list, &list_length1, &_list_size_, _tmp66_); +#line 11407 "Photo.c" + } +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = updated_row; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->comment; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = detected; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_->metadata; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = g_strcmp0 (_tmp68_, _tmp72_) != 0; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp72_); +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp73_) { +#line 11427 "Photo.c" + gchar** _tmp74_ = NULL; + gint _tmp74__length1 = 0; + gchar* _tmp75_ = NULL; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = list; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74__length1 = list_length1; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = g_strdup ("metadata:comment"); +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add258 (&list, &list_length1, &_list_size_, _tmp75_); +#line 11439 "Photo.c" + } +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = updated_row; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->rating; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = detected; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = _tmp78_->metadata; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = photo_metadata_get_rating (_tmp79_); +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp77_ != _tmp80_) { +#line 11453 "Photo.c" + gchar** _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gchar* _tmp82_ = NULL; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = list; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81__length1 = list_length1; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = g_strdup ("metadata:rating"); +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add259 (&list, &list_length1, &_list_size_, _tmp82_); +#line 11465 "Photo.c" + } +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 11469 "Photo.c" + } +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = updated_row; +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = backing; +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _backing_photo_row_ref0 (_tmp84_); +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp83_->master); +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_->master = _tmp85_; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = updated_row; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = detected; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tmp87_->md5; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = g_strdup (_tmp88_); +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp86_->md5); +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_->md5 = _tmp89_; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = updated_row; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = detected; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->exif_md5; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = g_strdup (_tmp92_); +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp90_->exif_md5); +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_->exif_md5 = _tmp93_; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = updated_row; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = detected; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = _tmp95_->thumbnail_md5; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = g_strdup (_tmp96_); +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp94_->thumbnail_md5); +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_->thumbnail_md5 = _tmp97_; +#line 1468 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = NULL; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = detected; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = _tmp98_->metadata; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp99_ != NULL) { +#line 11525 "Photo.c" + DetectedPhotoInformation* _tmp100_ = NULL; + PhotoMetadata* _tmp101_ = NULL; + PhotoMetadata* _tmp102_ = NULL; + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp103_ = NULL; + PhotoMetadata* _tmp104_ = NULL; + MetadataDateTime* _tmp105_ = NULL; + MetadataDateTime* _tmp106_ = NULL; + PhotoRow* _tmp110_ = NULL; + DetectedPhotoInformation* _tmp111_ = NULL; + PhotoMetadata* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + PhotoRow* _tmp114_ = NULL; + DetectedPhotoInformation* _tmp115_ = NULL; + PhotoMetadata* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; + PhotoRow* _tmp118_ = NULL; + DetectedPhotoInformation* _tmp119_ = NULL; + PhotoMetadata* _tmp120_ = NULL; + Rating _tmp121_ = 0; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = detected; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _tmp100_->metadata; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = _media_metadata_ref0 (_tmp101_); +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp102_; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = detected; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->metadata; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = photo_metadata_get_exposure_date_time (_tmp104_); +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp105_; +#line 1473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = date_time; +#line 1473 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp106_ != NULL) { +#line 11568 "Photo.c" + PhotoRow* _tmp107_ = NULL; + MetadataDateTime* _tmp108_ = NULL; + time_t _tmp109_ = 0; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = updated_row; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = date_time; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = metadata_date_time_get_timestamp (_tmp108_); +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_->exposure_time = _tmp109_; +#line 11580 "Photo.c" + } +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = updated_row; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = detected; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->metadata; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp110_->title); +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_->title = _tmp113_; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = updated_row; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = detected; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = _tmp115_->metadata; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp114_->comment); +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_->comment = _tmp117_; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = updated_row; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = detected; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_->metadata; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = photo_metadata_get_rating (_tmp120_); +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_->rating = _tmp121_; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 11618 "Photo.c" + } +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = updated_row; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = metadata; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = list; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124__length1 = list_length1; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = photo_reimport_master_state_impl_new (_tmp122_, _tmp123_, _tmp124_, _tmp124__length1); +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_reimport_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + list = (_vala_array_free (list, list_length1, (GDestroyNotify) g_free), NULL); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11652 "Photo.c" + } else { +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11656 "Photo.c" + } +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11660 "Photo.c" +} + + +static void photo_real_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata) { +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_apply_user_metadata_for_reimport'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11669 "Photo.c" +} + + +void photo_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata) { +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->apply_user_metadata_for_reimport (self, metadata); +#line 11678 "Photo.c" +} + + +static gpointer _photo_reimport_master_state_ref0 (gpointer self) { +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_master_state_ref (self) : NULL; +#line 11685 "Photo.c" +} + + +static void _vala_array_add260 (gchar*** array, int* length, int* size, gchar* value) { +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 11696 "Photo.c" + } +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 11702 "Photo.c" +} + + +static void _vala_array_add261 (gchar*** array, int* length, int* size, gchar* value) { +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 11713 "Photo.c" + } +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 11719 "Photo.c" +} + + +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error) { + PhotoReimportMasterStateImpl* reimport_state = NULL; + PhotoReimportMasterState* _tmp0_ = NULL; + PhotoReimportMasterStateImpl* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoTable* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + PhotoMetadata* _tmp20_ = NULL; + gboolean _tmp22_ = FALSE; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + PhotoMetadata* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp35_ = FALSE; + GError * _inner_error_ = NULL; +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_MASTER_STATE (state)); +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_reimport_master_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)); +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp1_; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_table_get_instance (); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = reimport_state->row; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_reimport (_tmp3_, _tmp4_, &_inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp3_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11768 "Photo.c" + } else { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1492 "/home/jens/Source/shotwell/src/Photo.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 1492 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11778 "Photo.c" + } + } + { + PhotoRow* _tmp5_ = NULL; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 11787 "Photo.c" + { + BackingPhotoRow* original_master = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoRow* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->master; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _backing_photo_row_ref0 (_tmp7_); +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + original_master = _tmp8_; +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = reimport_state->row; +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _photo_row_ref0 (_tmp9_); +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp10_; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = original_master; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _backing_photo_row_ref0 (_tmp12_); +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp11_->master); +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->master = _tmp13_; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = reimport_state->row; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_row_copy_from (_tmp15_, _tmp17_); +#line 1500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state->metadata_only; +#line 1500 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp18_) { +#line 1501 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 11845 "Photo.c" + } +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (original_master); +#line 11849 "Photo.c" + } + __finally292: + { + PhotoRow* _tmp19_ = NULL; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 11858 "Photo.c" + } +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11870 "Photo.c" + } else { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1494 "/home/jens/Source/shotwell/src/Photo.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 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11880 "Photo.c" + } + } + } +#line 1504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = reimport_state->metadata; +#line 1504 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_ != NULL) { +#line 11888 "Photo.c" + PhotoMetadata* _tmp21_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = reimport_state->metadata; +#line 1505 "/home/jens/Source/shotwell/src/Photo.vala" + photo_apply_user_metadata_for_reimport (self, _tmp21_); +#line 11894 "Photo.c" + } +#line 1507 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = reimport_state->metadata_only; +#line 1507 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp22_) { +#line 11900 "Photo.c" + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = reimport_state->alterations; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = reimport_state->alterations_length1; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = g_strdup ("image:master"); +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add260 (&reimport_state->alterations, &reimport_state->alterations_length1, &reimport_state->_alterations_size_, _tmp24_); +#line 1509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_is_master_baseline (self); +#line 1509 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_) { +#line 11917 "Photo.c" + gchar** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gchar* _tmp27_ = NULL; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = reimport_state->alterations; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26__length1 = reimport_state->alterations_length1; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_strdup ("image:baseline"); +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add261 (&reimport_state->alterations, &reimport_state->alterations_length1, &reimport_state->_alterations_size_, _tmp27_); +#line 11929 "Photo.c" + } + } +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = reimport_state->alterations; +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28__length1 = reimport_state->alterations_length1; +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28__length1 > 0) { +#line 11938 "Photo.c" + gchar** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + Alteration* _tmp30_ = NULL; + Alteration* _tmp31_ = NULL; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = reimport_state->alterations; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29__length1 = reimport_state->alterations_length1; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = alteration_new_from_array (_tmp29_, _tmp29__length1); +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp31_); +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp31_); +#line 11955 "Photo.c" + } +#line 1516 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = reimport_state->metadata; +#line 1516 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_master_reimported (self, _tmp32_); +#line 1518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_is_master_baseline (self); +#line 1518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_) { +#line 11965 "Photo.c" + PhotoMetadata* _tmp34_ = NULL; +#line 1519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = reimport_state->metadata; +#line 1519 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_reimported (self, _tmp34_); +#line 11971 "Photo.c" + } +#line 1521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_is_master_source (self); +#line 1521 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 11977 "Photo.c" + PhotoMetadata* _tmp36_ = NULL; +#line 1522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = reimport_state->metadata; +#line 1522 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_source_reimported (self, _tmp36_); +#line 11983 "Photo.c" + } +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 11987 "Photo.c" +} + + +static gboolean photo_verify_file_for_reimport (Photo* self, GFile* file, BackingPhotoRow** backing, DetectedPhotoInformation** detected, GError** error) { + BackingPhotoRow* _vala_backing = NULL; + DetectedPhotoInformation* _vala_detected = NULL; + gboolean result = FALSE; + BackingPhotoRow* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DetectedPhotoInformation* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + DetectedPhotoInformation* _tmp8_ = NULL; + GdkColorspace _tmp9_ = 0; + GError * _inner_error_ = NULL; +#line 1526 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1526 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_query_backing_photo_row (self, _tmp1_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp2_, &_inner_error_); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = _tmp2_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12026 "Photo.c" + } +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_backing = _tmp4_; +#line 1530 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _vala_backing; +#line 1530 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12048 "Photo.c" + } else { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12052 "Photo.c" + } +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12058 "Photo.c" + } else { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12062 "Photo.c" + } +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12066 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _vala_detected; +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->colorspace; +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ != GDK_COLORSPACE_RGB) { +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = TRUE; +#line 12076 "Photo.c" + } else { + DetectedPhotoInformation* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _vala_detected; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->channels; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp11_ < 3; +#line 12086 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 12092 "Photo.c" + } else { + DetectedPhotoInformation* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _vala_detected; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->bits_per_channel; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp13_ != 8; +#line 12102 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 12106 "Photo.c" + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1538: Not re-importing %s: Unsupported color format", _tmp16_); +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12128 "Photo.c" + } else { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12132 "Photo.c" + } +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12138 "Photo.c" + } else { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12142 "Photo.c" + } +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12146 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12156 "Photo.c" + } else { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12160 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12166 "Photo.c" + } else { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12170 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12174 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_editable (Photo* self, PhotoReimportEditableState** state, GError** error) { + PhotoReimportEditableState* _vala_state = NULL; + gboolean result = FALSE; + GFile* file = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + BackingPhotoRow* _tmp7_ = NULL; + DetectedPhotoInformation* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoReimportEditableStateImpl* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 1547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1548 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 1548 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 1550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_file (self); +#line 1550 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp0_; +#line 1551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1551 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12218 "Photo.c" + } else { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12222 "Photo.c" + } +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12226 "Photo.c" + } +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_verify_file_for_reimport (self, _tmp3_, &_tmp4_, &_tmp5_, &_inner_error_); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp4_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp5_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp6_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12254 "Photo.c" + } +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp2_) { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12270 "Photo.c" + } else { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12274 "Photo.c" + } +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12278 "Photo.c" + } +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = detected; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->metadata; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_reimport_editable_state_impl_new (_tmp7_, _tmp9_); +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12304 "Photo.c" + } else { +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12308 "Photo.c" + } +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12312 "Photo.c" +} + + +static gpointer _photo_reimport_editable_state_ref0 (gpointer self) { +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_editable_state_ref (self) : NULL; +#line 12319 "Photo.c" +} + + +void photo_finish_reimport_editable (Photo* self, PhotoReimportEditableState* state, GError** error) { + BackingPhotoID editable_id = {0}; + BackingPhotoID _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + PhotoReimportEditableStateImpl* reimport_state = NULL; + PhotoReimportEditableState* _tmp2_ = NULL; + PhotoReimportEditableStateImpl* _tmp3_ = NULL; + PhotoReimportEditableStateImpl* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PhotoReimportEditableStateImpl* _tmp21_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + gchar* list = NULL; + gchar* _tmp36_ = NULL; + PhotoReimportEditableStateImpl* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + const gchar* _tmp41_ = NULL; + Alteration* _tmp42_ = NULL; + Alteration* _tmp43_ = NULL; + PhotoReimportEditableStateImpl* _tmp44_ = NULL; + PhotoMetadata* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + gboolean _tmp49_ = FALSE; + GError * _inner_error_ = NULL; +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_EDITABLE_STATE (state)); +#line 1566 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_editable_id (self, &_tmp0_); +#line 1566 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp0_; +#line 1567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing_photo_id_is_invalid (&editable_id); +#line 1567 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 1568 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12360 "Photo.c" + } +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = state; +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_reimport_editable_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)); +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp3_; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = reimport_state; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->metadata_only; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp5_) { +#line 12374 "Photo.c" + BackingPhotoTable* _tmp6_ = NULL; + BackingPhotoTable* _tmp7_ = NULL; + PhotoReimportEditableStateImpl* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backing_photo_table_get_instance (); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = reimport_state; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->backing_state; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp7_, _tmp9_, &_inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp7_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12401 "Photo.c" + } else { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1573 "/home/jens/Source/shotwell/src/Photo.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 1573 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12411 "Photo.c" + } + } + { + PhotoRow* _tmp10_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 12420 "Photo.c" + { + PhotoReimportEditableStateImpl* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + PhotoReimportEditableStateImpl* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + Orientation _tmp16_ = 0; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = reimport_state; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->backing_state; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _backing_photo_row_ref0 (_tmp12_); +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp13_; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = reimport_state; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->backing_state; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->original_orientation; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp16_); +#line 1578 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 12448 "Photo.c" + } + __finally293: + { + PhotoRow* _tmp17_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 12457 "Photo.c" + } +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12469 "Photo.c" + } else { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1575 "/home/jens/Source/shotwell/src/Photo.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 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12479 "Photo.c" + } + } + } + } else { + PhotoReimportEditableStateImpl* _tmp18_ = NULL; + BackingPhotoRow* _tmp19_ = NULL; + Orientation _tmp20_ = 0; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->backing_state; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->original_orientation; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp20_); +#line 12495 "Photo.c" + } +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = reimport_state; +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->metadata; +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 12503 "Photo.c" + PhotoReimportEditableStateImpl* _tmp23_ = NULL; + PhotoMetadata* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + PhotoReimportEditableStateImpl* _tmp27_ = NULL; + PhotoMetadata* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + PhotoReimportEditableStateImpl* _tmp31_ = NULL; + PhotoMetadata* _tmp32_ = NULL; + Rating _tmp33_ = 0; + PhotoReimportEditableStateImpl* _tmp34_ = NULL; + PhotoMetadata* _tmp35_ = NULL; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = reimport_state; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->metadata; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp26_); +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp26_); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = reimport_state; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->metadata; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp30_); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp30_); +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = reimport_state; +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->metadata; +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_metadata_get_rating (_tmp32_); +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp33_); +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = reimport_state; +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->metadata; +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + photo_apply_user_metadata_for_reimport (self, _tmp35_); +#line 12555 "Photo.c" + } +#line 1591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_strdup ("metadata:name,image:orientation,metadata:rating,metadata:exposure-time"); +#line 1591 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp36_; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = reimport_state; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->metadata_only; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp38_) { +#line 12567 "Photo.c" + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = list; +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strconcat (_tmp39_, "image:editable,image:baseline", NULL); +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp40_; +#line 12578 "Photo.c" + } +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = list; +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = alteration_new_from_list (_tmp41_); +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_; +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp43_); +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp43_); +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = reimport_state; +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->metadata; +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_reimported (self, _tmp45_); +#line 1599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_is_editable_baseline (self); +#line 1599 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_) { +#line 12600 "Photo.c" + PhotoReimportEditableStateImpl* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = reimport_state; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->metadata; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_reimported (self, _tmp48_); +#line 12609 "Photo.c" + } +#line 1602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_is_editable_source (self); +#line 1602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 12615 "Photo.c" + PhotoReimportEditableStateImpl* _tmp50_ = NULL; + PhotoMetadata* _tmp51_ = NULL; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = reimport_state; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->metadata; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_source_reimported (self, _tmp51_); +#line 12624 "Photo.c" + } +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 12630 "Photo.c" +} + + +static gpointer _photo_reimport_raw_development_state_ref0 (gpointer self) { +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_raw_development_state_ref (self) : NULL; +#line 12637 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState** state, GError** error) { + PhotoReimportRawDevelopmentState* _vala_state = NULL; + gboolean result = FALSE; + GeeCollection* files = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + PhotoReimportRawDevelopmentStateImpl* reimport_state = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp2_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp18_ = NULL; + PhotoReimportRawDevelopmentState* _tmp19_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp20_ = NULL; + gint _tmp21_ = 0; + GError * _inner_error_ = NULL; +#line 1607 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1608 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 1608 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 1610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_raw_developer_files (self); +#line 1610 "/home/jens/Source/shotwell/src/Photo.vala" + files = _tmp0_; +#line 1611 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = files; +#line 1611 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12676 "Photo.c" + } else { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 12680 "Photo.c" + } +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12684 "Photo.c" + } +#line 1614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_reimport_raw_development_state_impl_new (); +#line 1614 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp2_; +#line 12690 "Photo.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = files; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _file_it = _tmp4_; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 12703 "Photo.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + gboolean _tmp9_ = FALSE; + GFile* _tmp10_ = NULL; + BackingPhotoRow* _tmp11_ = NULL; + DetectedPhotoInformation* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PhotoReimportRawDevelopmentStateImpl* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + DetectedPhotoInformation* _tmp16_ = NULL; + PhotoMetadata* _tmp17_ = NULL; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _file_it; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp6_) { +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 12728 "Photo.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _file_it; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + file = (GFile*) _tmp8_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = file; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_verify_file_for_reimport (self, _tmp10_, &_tmp11_, &_tmp12_, &_inner_error_); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp11_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp12_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp13_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_file_it); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12768 "Photo.c" + } +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 12780 "Photo.c" + } +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = reimport_state; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = backing; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = detected; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->metadata; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_add (_tmp14_, _tmp15_, _tmp17_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 12798 "Photo.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_file_it); +#line 12802 "Photo.c" + } +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state; +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _photo_reimport_raw_development_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState)); +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp19_; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = reimport_state; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_reimport_raw_development_state_impl_get_size (_tmp20_); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp21_ > 0; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12826 "Photo.c" + } else { +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 12830 "Photo.c" + } +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12834 "Photo.c" +} + + +void photo_finish_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState* state, GError** error) { + PhotoFileFormat _tmp0_ = 0; + PhotoReimportRawDevelopmentStateImpl* reimport_state = NULL; + PhotoReimportRawDevelopmentState* _tmp1_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp2_ = NULL; + gchar* list = NULL; + gchar* _tmp32_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + const gchar* _tmp37_ = NULL; + Alteration* _tmp38_ = NULL; + Alteration* _tmp39_ = NULL; + GError * _inner_error_ = NULL; +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE (state)); +#line 1631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 1631 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 1632 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12861 "Photo.c" + } +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = state; +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _photo_reimport_raw_development_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl)); +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp2_; +#line 12869 "Photo.c" + { + GeeIterator* _dev_it = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reimport_state; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->list; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _dev_it = _tmp5_; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 12885 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PhotoReimportRawDevelopmentStateImplDevToReimport* dev = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _dev_it; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 12901 "Photo.c" + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _dev_it; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + dev = (PhotoReimportRawDevelopmentStateImplDevToReimport*) _tmp9_; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = reimport_state; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->metadata_only; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 12915 "Photo.c" + BackingPhotoTable* _tmp12_ = NULL; + BackingPhotoTable* _tmp13_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = backing_photo_table_get_instance (); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dev; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->backing; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp13_, _tmp15_, &_inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12946 "Photo.c" + } else { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1638 "/home/jens/Source/shotwell/src/Photo.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 1638 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12960 "Photo.c" + } + } + { + PhotoRow* _tmp16_ = NULL; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 12969 "Photo.c" + { + gint _tmp17_ = 0; + RawDeveloper* _tmp18_ = NULL; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = raw_developer_as_array (&_tmp17_); +#line 12975 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp18_; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp17_; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp17_; d_it = d_it + 1) { +#line 12987 "Photo.c" + RawDeveloper d = 0; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 12991 "Photo.c" + { + BackingPhotoID id = {0}; + PhotoRow* _tmp19_ = NULL; + BackingPhotoID* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + RawDeveloper _tmp21_ = 0; + BackingPhotoID _tmp22_ = {0}; + BackingPhotoID _tmp23_ = {0}; + gint64 _tmp24_ = 0LL; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->development_ids; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20__length1 = _tmp19_->development_ids_length1; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = d; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp20_[_tmp21_]; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + id = _tmp22_; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = id; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.id; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ != BACKING_PHOTO_ID_INVALID) { +#line 13019 "Photo.c" + BackingPhotoRow* bpr = NULL; + BackingPhotoID _tmp25_ = {0}; + BackingPhotoRow* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = id; +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_backing_row (self, &_tmp25_); +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = _tmp26_; +#line 1646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = bpr; +#line 1646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp27_ != NULL) { +#line 13034 "Photo.c" + GeeHashMap* _tmp28_ = NULL; + RawDeveloper _tmp29_ = 0; + BackingPhotoRow* _tmp30_ = NULL; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->developments; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = d; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = bpr; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp29_), _tmp30_); +#line 13046 "Photo.c" + } +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 13050 "Photo.c" + } + } + } +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 13056 "Photo.c" + } + } + __finally294: + { + PhotoRow* _tmp31_ = NULL; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = self->row; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13066 "Photo.c" + } +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13082 "Photo.c" + } else { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1640 "/home/jens/Source/shotwell/src/Photo.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 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13096 "Photo.c" + } + } + } + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 13103 "Photo.c" + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 13107 "Photo.c" + } +#line 1654 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = g_strdup ("metadata:name,image:orientation,metadata:rating,metadata:exposure-time"); +#line 1654 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp32_; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = reimport_state; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->metadata_only; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp34_) { +#line 13119 "Photo.c" + const gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = list; +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_strconcat (_tmp35_, "image:editable,image:baseline", NULL); +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp36_; +#line 13130 "Photo.c" + } +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = list; +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = alteration_new_from_list (_tmp37_); +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp39_); +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp39_); +#line 1660 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 13148 "Photo.c" +} + + +static gchar* photo_real_get_typename (DataSource* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1663 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (PHOTO_TYPENAME); +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13164 "Photo.c" +} + + +static gint64 photo_real_get_instance_id (DataSource* base) { + Photo * self; + gint64 result = 0LL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 1667 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp0_); +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13183 "Photo.c" +} + + +static gchar* photo_real_get_source_id (DataSource* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1671 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_source_get_typename (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup_printf ("%s%016" G_GINT64_MODIFIER "x", _tmp1_, _tmp2_); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13213 "Photo.c" +} + + +void photo_set_master_timestamp (Photo* self, GFileInfo* info) { + GTimeVal modification = {0}; + GFileInfo* _tmp0_ = NULL; + GTimeVal _tmp1_ = {0}; + gboolean _tmp21_ = FALSE; + GError * _inner_error_ = NULL; +#line 1679 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1679 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = info; +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp0_, &_tmp1_); +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + modification = _tmp1_; +#line 13233 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 13241 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + time_t _tmp5_ = 0; + GTimeVal _tmp6_ = {0}; + glong _tmp7_ = 0L; + PhotoTable* _tmp9_ = NULL; + PhotoTable* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + GTimeVal _tmp13_ = {0}; + glong _tmp14_ = 0L; + PhotoRow* _tmp15_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + GTimeVal _tmp17_ = {0}; + glong _tmp18_ = 0L; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->timestamp; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = modification; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.tv_sec; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == ((time_t) _tmp7_)) { +#line 13270 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13277 "Photo.c" + } +#line 1685 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13281 "Photo.c" + } +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_table_get_instance (); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->photo_id; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = modification; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_.tv_sec; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_timestamp (_tmp10_, &_tmp12_, (time_t) _tmp14_, &_inner_error_); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp10_); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13301 "Photo.c" + goto __finally296; + } +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->master; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = modification; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.tv_sec; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->timestamp = (time_t) _tmp18_; +#line 13314 "Photo.c" + } + __finally296: + { + PhotoRow* _tmp19_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13323 "Photo.c" + } +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 13329 "Photo.c" + goto __catch295_database_error; + } +#line 1683 "/home/jens/Source/shotwell/src/Photo.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 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13338 "Photo.c" + } + } + } + goto __finally295; + __catch295_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 1691 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp20_); +#line 1693 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1693 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13359 "Photo.c" + } + __finally295: +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1682 "/home/jens/Source/shotwell/src/Photo.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 1682 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13370 "Photo.c" + } +#line 1696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_is_master_baseline (self); +#line 1696 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 13376 "Photo.c" + Alteration* _tmp22_ = NULL; + Alteration* _tmp23_ = NULL; +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = alteration_new_from_list ("metadata:master-timestamp,metadata:baseline-timestamp"); +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp23_); +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp23_); +#line 13387 "Photo.c" + } else { + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("metadata", "master-timestamp"); +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 13399 "Photo.c" + } +} + + +void photo_update_editable_modification_time (Photo* self, GFileInfo* info, GError** error) { + GTimeVal modification = {0}; + GFileInfo* _tmp0_ = NULL; + GTimeVal _tmp1_ = {0}; + gboolean altered = FALSE; + gboolean _tmp20_ = FALSE; + GError * _inner_error_ = NULL; +#line 1703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = info; +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp0_, &_tmp1_); +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + modification = _tmp1_; +#line 1706 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 13423 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 13430 "Photo.c" + { + gboolean _tmp3_ = FALSE; + PhotoRow* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = backing_photo_id_is_valid (&_tmp4_->editable_id); +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 13441 "Photo.c" + BackingPhotoRow* _tmp6_ = NULL; + time_t _tmp7_ = 0; + GTimeVal _tmp8_ = {0}; + glong _tmp9_ = 0L; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->editable; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->timestamp; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = modification; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.tv_sec; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp7_ != ((time_t) _tmp9_); +#line 13456 "Photo.c" + } else { +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = FALSE; +#line 13460 "Photo.c" + } +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_) { +#line 13464 "Photo.c" + BackingPhotoTable* _tmp10_ = NULL; + BackingPhotoTable* _tmp11_ = NULL; + PhotoRow* _tmp12_ = NULL; + BackingPhotoID _tmp13_ = {0}; + GTimeVal _tmp14_ = {0}; + glong _tmp15_ = 0L; + BackingPhotoRow* _tmp16_ = NULL; + GTimeVal _tmp17_ = {0}; + glong _tmp18_ = 0L; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = backing_photo_table_get_instance (); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->editable_id; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = modification; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.tv_sec; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update_timestamp (_tmp11_, &_tmp13_, (time_t) _tmp15_, &_inner_error_); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp11_); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13492 "Photo.c" + goto __finally297; + } +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->editable; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = modification; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.tv_sec; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->timestamp = (time_t) _tmp18_; +#line 1712 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 13505 "Photo.c" + } + } + __finally297: + { + PhotoRow* _tmp19_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13515 "Photo.c" + } +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13525 "Photo.c" + } else { +#line 1707 "/home/jens/Source/shotwell/src/Photo.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 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13533 "Photo.c" + } + } + } +#line 1716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = altered; +#line 1716 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 13541 "Photo.c" + Alteration* _tmp21_ = NULL; + Alteration* _tmp22_ = NULL; +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = alteration_new_from_list ("metadata:editable-timestamp,metadata:baseline-timestamp"); +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp22_); +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp22_); +#line 13552 "Photo.c" + } +} + + +void photo_update_many_editable_timestamps (GeeMap* map, GError** error) { + GError * _inner_error_ = NULL; +#line 1721 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1723 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 13563 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = map; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp5_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 13590 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + GeeMap* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _photo_it; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 13609 "Photo.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _photo_it; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp9_; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = map; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_map_get (_tmp11_, _tmp12_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = (GFileInfo*) _tmp13_; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable_modification_time (_tmp10_, _tmp14_, &_inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp14_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13643 "Photo.c" + } else { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 1725 "/home/jens/Source/shotwell/src/Photo.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 1725 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13655 "Photo.c" + } + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 13660 "Photo.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 13664 "Photo.c" + } +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13676 "Photo.c" + } else { +#line 1726 "/home/jens/Source/shotwell/src/Photo.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 1726 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13684 "Photo.c" + } + } +} + + +static PhotoFileFormat photo_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + Photo * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1729 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_file_format (self); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_can_write_image (_tmp1_); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 13704 "Photo.c" + PhotoFileFormat _tmp3_ = 0; +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_file_format (self); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 13710 "Photo.c" + } else { + PhotoFileFormat _tmp4_ = 0; +#line 1731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_get_system_default_format (); +#line 1731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 13717 "Photo.c" + } +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13723 "Photo.c" +} + + +static GdkPixbuf* photo_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Photo * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + Scaling _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 1734 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scale; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_best_fit (_tmp1_, TRUE, &_tmp2_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp2_, &_inner_error_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 13752 "Photo.c" + } +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13764 "Photo.c" +} + + +gboolean photo_is_file_image (GFile* file) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1738 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_is_file_supported (_tmp1_); +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 13783 "Photo.c" + } else { + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_is_extension_found (_tmp5_, PHOTO_IMAGE_EXTENSIONS, G_N_ELEMENTS (PHOTO_IMAGE_EXTENSIONS)); +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp6_; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 13801 "Photo.c" + } +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13807 "Photo.c" +} + + +static gboolean photo_is_extension_found (const gchar* basename, gchar** extensions, int extensions_length1) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 1746 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = basename; +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp1_; +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp2_; +#line 1749 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = ext; +#line 1749 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == NULL) { +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13849 "Photo.c" + } +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = ext; +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_utf8_strdown (_tmp4_, (gssize) -1); +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp5_; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = extensions; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6__length1 = extensions_length1; +#line 13863 "Photo.c" + { + gchar** extension_collection = NULL; + gint extension_collection_length1 = 0; + gint _extension_collection_size_ = 0; + gint extension_it = 0; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension_collection = _tmp6_; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension_collection_length1 = _tmp6__length1; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + for (extension_it = 0; extension_it < _tmp6__length1; extension_it = extension_it + 1) { +#line 13875 "Photo.c" + gchar* _tmp7_ = NULL; + gchar* extension = NULL; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (extension_collection[extension_it]); +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension = _tmp7_; +#line 13882 "Photo.c" + { + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = ext; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = extension; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp8_, _tmp9_) == 0) { +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (extension); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13902 "Photo.c" + } +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (extension); +#line 13906 "Photo.c" + } + } + } +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13918 "Photo.c" +} + + +gboolean photo_is_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format) { + gboolean result = FALSE; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 1767 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = thumbnail_md5; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = full_md5; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file_format; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_has_duplicate (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13956 "Photo.c" +} + + +PhotoID* photo_get_duplicate_ids (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, int* result_length1) { + PhotoID* result = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + gint _tmp6_ = 0; + PhotoID* _tmp7_ = NULL; + PhotoID* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + PhotoID* _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 1776 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = thumbnail_md5; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = full_md5; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file_format; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_duplicate_ids (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_, &_tmp6_); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8__length1 = _tmp6_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9__length1 = _tmp8__length1; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp9__length1; +#line 14004 "Photo.c" + } +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp9_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14010 "Photo.c" +} + + +gint64 photo_get_photo_key (DataSource* source) { + gint64 result = 0LL; + DataSource* _tmp0_ = NULL; + PhotoID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; +#line 1786 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_PHOTO, Photo), &_tmp1_); +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.id; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14031 "Photo.c" +} + + +static GFile* photo_real_get_file (MediaSource* base) { + Photo * self; + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1805 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14058 "Photo.c" +} + + +static void _vala_array_add262 (gchar*** array, int* length, int* size, gchar* value) { +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14069 "Photo.c" + } +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14075 "Photo.c" +} + + +static void _vala_array_add263 (gchar*** array, int* length, int* size, gchar* value) { +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14086 "Photo.c" + } +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14092 "Photo.c" +} + + +static void _vala_array_add264 (gchar*** array, int* length, int* size, gchar* value) { +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14103 "Photo.c" + } +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14109 "Photo.c" +} + + +static void _vala_array_add265 (gchar*** array, int* length, int* size, gchar* value) { +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14120 "Photo.c" + } +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14126 "Photo.c" +} + + +void photo_set_master_file (Photo* self, GFile* file) { + gchar* filepath = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean altered = FALSE; + gboolean is_baseline = FALSE; + gboolean is_source = FALSE; + gboolean name_changed = FALSE; + GFile* old_file = NULL; + gboolean _tmp41_ = FALSE; + GError * _inner_error_ = NULL; +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + filepath = _tmp1_; +#line 1814 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 1815 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = FALSE; +#line 1816 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = FALSE; +#line 1817 "/home/jens/Source/shotwell/src/Photo.vala" + name_changed = FALSE; +#line 1818 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = NULL; +#line 14161 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 14169 "Photo.c" + { + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 14177 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->master; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = _tmp6_; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_file; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_file_equal (_tmp7_, _tmp8_); +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 14203 "Photo.c" + PhotoTable* _tmp10_ = NULL; + PhotoTable* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + PhotoBackingReaders* _tmp20_ = NULL; + PhotoRow* _tmp21_ = NULL; + BackingPhotoRow* _tmp22_ = NULL; + PhotoFileFormat _tmp23_ = 0; + const gchar* _tmp24_ = NULL; + PhotoFileReader* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + PhotoRow* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_table_get_instance (); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp12_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = filepath; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_filepath (_tmp11_, &_tmp12_, _tmp13_, &_inner_error_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp11_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14240 "Photo.c" + goto __finally300; + } +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = filepath; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp15_->filepath); +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_->filepath = _tmp17_; +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = file; +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = g_file_get_basename (_tmp18_); +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp19_; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->readers; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->row; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->master; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_->file_format; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = filepath; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_file_format_create_reader (_tmp23_, _tmp24_); +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp20_->master); +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_->master = _tmp25_; +#line 1830 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 1831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_is_master_baseline (self); +#line 1831 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = _tmp26_; +#line 1832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo_is_master_source (self); +#line 1832 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = _tmp27_; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->title; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = is_string_empty (_tmp30_); +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 14297 "Photo.c" + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = old_file; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = g_file_get_basename (_tmp32_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = file; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_file_get_basename (_tmp35_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = g_strcmp0 (_tmp34_, _tmp37_) != 0; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_); +#line 14322 "Photo.c" + } else { +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = FALSE; +#line 14326 "Photo.c" + } +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + name_changed = _tmp28_; +#line 14330 "Photo.c" + } + } + __finally300: + { + PhotoBackingReaders* _tmp38_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = self->priv->readers; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 14340 "Photo.c" + } +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14344 "Photo.c" + goto __finally299; + } + } + } + __finally299: + { + PhotoRow* _tmp39_ = NULL; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = self->row; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 14356 "Photo.c" + } +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 14362 "Photo.c" + goto __catch298_database_error; + } +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1820 "/home/jens/Source/shotwell/src/Photo.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 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14375 "Photo.c" + } + } + } + goto __finally298; + __catch298_database_error: + { + GError* err = NULL; + GError* _tmp40_ = NULL; +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 1839 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp40_); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 14394 "Photo.c" + } + __finally298: +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1819 "/home/jens/Source/shotwell/src/Photo.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 1819 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14409 "Photo.c" + } +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = altered; +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 14415 "Photo.c" + GFile* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp45_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gchar** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gchar* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; + gboolean _tmp51_ = FALSE; + gboolean _tmp54_ = FALSE; + gchar** _tmp57_ = NULL; + gint _tmp57__length1 = 0; + Alteration* _tmp58_ = NULL; + Alteration* _tmp59_ = NULL; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = old_file; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = file; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_notify_master_replaced (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp42_, _tmp43_); +#line 1845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = is_baseline; +#line 1845 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 1846 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 14445 "Photo.c" + } +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = g_new0 (gchar*, 0 + 1); +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp45_; +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = alteration_list; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46__length1 = alteration_list_length1; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = g_strdup ("backing:master"); +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add262 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp47_); +#line 1853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = name_changed; +#line 1853 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp48_) { +#line 14467 "Photo.c" + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gchar* _tmp50_ = NULL; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = alteration_list; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49__length1 = alteration_list_length1; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = g_strdup ("metadata:name"); +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add263 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp50_); +#line 14479 "Photo.c" + } +#line 1856 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = is_source; +#line 1856 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_) { +#line 14485 "Photo.c" + gchar** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gchar* _tmp53_ = NULL; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = alteration_list; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52__length1 = alteration_list_length1; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = g_strdup ("backing:source"); +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add264 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp53_); +#line 14497 "Photo.c" + } +#line 1859 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = is_baseline; +#line 1859 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 14503 "Photo.c" + gchar** _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gchar* _tmp56_ = NULL; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = alteration_list; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55__length1 = alteration_list_length1; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = g_strdup ("backing:baseline"); +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add265 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp56_); +#line 14515 "Photo.c" + } +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = alteration_list; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57__length1 = alteration_list_length1; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = alteration_new_from_array (_tmp57_, _tmp57__length1); +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp59_); +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp59_); +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 14531 "Photo.c" + } +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 14537 "Photo.c" +} + + +static void _vala_array_add266 (gchar*** array, int* length, int* size, gchar* value) { +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14548 "Photo.c" + } +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14554 "Photo.c" +} + + +static void _vala_array_add267 (gchar*** array, int* length, int* size, gchar* value) { +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14565 "Photo.c" + } +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14571 "Photo.c" +} + + +static void _vala_array_add268 (gchar*** array, int* length, int* size, gchar* value) { +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14582 "Photo.c" + } +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14588 "Photo.c" +} + + +void photo_set_editable_file (Photo* self, GFile* file) { + gchar* filepath = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean altered = FALSE; + gboolean is_baseline = FALSE; + gboolean is_source = FALSE; + GFile* old_file = NULL; + gboolean _tmp34_ = FALSE; + GError * _inner_error_ = NULL; +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + filepath = _tmp1_; +#line 1871 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 1872 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = FALSE; +#line 1873 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = FALSE; +#line 1874 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = NULL; +#line 14620 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 14628 "Photo.c" + { + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 14636 "Photo.c" + { + GFile* _tmp4_ = NULL; + PhotoBackingReaders* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFile* _tmp12_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->editable; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 14650 "Photo.c" + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->editable; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp9_; +#line 14664 "Photo.c" + } else { +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = NULL; +#line 14670 "Photo.c" + } +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _g_object_ref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = _tmp10_; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = old_file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 14682 "Photo.c" + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = old_file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_equal (_tmp13_, _tmp14_); +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = !_tmp15_; +#line 14694 "Photo.c" + } else { +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 14698 "Photo.c" + } +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 14702 "Photo.c" + BackingPhotoTable* _tmp16_ = NULL; + BackingPhotoTable* _tmp17_ = NULL; + PhotoRow* _tmp18_ = NULL; + BackingPhotoID _tmp19_ = {0}; + const gchar* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + PhotoBackingReaders* _tmp24_ = NULL; + BackingPhotoRow* _tmp25_ = NULL; + PhotoFileFormat _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + PhotoFileReader* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = backing_photo_table_get_instance (); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->editable_id; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = filepath; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_set_filepath (_tmp17_, &_tmp19_, _tmp20_, &_inner_error_); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp17_); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 14736 "Photo.c" + goto __finally303; + } +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->editable; +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = filepath; +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_->filepath); +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_->filepath = _tmp23_; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->readers; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->editable; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->file_format; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = filepath; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_create_reader (_tmp26_, _tmp27_); +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp24_->editable); +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->editable = _tmp28_; +#line 1885 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 1886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_is_editable_baseline (self); +#line 1886 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = _tmp29_; +#line 1887 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_is_editable_source (self); +#line 1887 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = _tmp30_; +#line 14773 "Photo.c" + } +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 14777 "Photo.c" + } + __finally303: + { + PhotoBackingReaders* _tmp31_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = self->priv->readers; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 14786 "Photo.c" + } +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14790 "Photo.c" + goto __finally302; + } + } + } + __finally302: + { + PhotoRow* _tmp32_ = NULL; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->row; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 14802 "Photo.c" + } +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 14808 "Photo.c" + goto __catch301_database_error; + } +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1876 "/home/jens/Source/shotwell/src/Photo.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 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14821 "Photo.c" + } + } + } + goto __finally301; + __catch301_database_error: + { + GError* err = NULL; + GError* _tmp33_ = NULL; +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = err; +#line 1892 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp33_); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 14840 "Photo.c" + } + __finally301: +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1875 "/home/jens/Source/shotwell/src/Photo.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 1875 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14855 "Photo.c" + } +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = altered; +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp34_) { +#line 14861 "Photo.c" + GFile* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp38_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gchar** _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + gboolean _tmp44_ = FALSE; + gchar** _tmp47_ = NULL; + gint _tmp47__length1 = 0; + Alteration* _tmp48_ = NULL; + Alteration* _tmp49_ = NULL; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = old_file; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = file; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp35_, _tmp36_); +#line 1898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = is_baseline; +#line 1898 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_) { +#line 1899 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 14890 "Photo.c" + } +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = g_new0 (gchar*, 0 + 1); +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp38_; +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = alteration_list; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39__length1 = alteration_list_length1; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strdup ("backing:editable"); +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add266 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp40_); +#line 1904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = is_baseline; +#line 1904 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 14912 "Photo.c" + gchar** _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gchar* _tmp43_ = NULL; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = alteration_list; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42__length1 = alteration_list_length1; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = g_strdup ("backing:baseline"); +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add267 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp43_); +#line 14924 "Photo.c" + } +#line 1907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = is_source; +#line 1907 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 14930 "Photo.c" + gchar** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gchar* _tmp46_ = NULL; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = alteration_list; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45__length1 = alteration_list_length1; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = g_strdup ("backing:source"); +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add268 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp46_); +#line 14942 "Photo.c" + } +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = alteration_list; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47__length1 = alteration_list_length1; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = alteration_new_from_array (_tmp47_, _tmp47__length1); +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp49_); +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp49_); +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 14958 "Photo.c" + } +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 14964 "Photo.c" +} + + +void photo_set_many_editable_file (GeeMap* map, GError** error) { + GeeMapIterator* map_iter = NULL; + GeeMap* _tmp0_ = NULL; + GeeMapIterator* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 1915 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1916 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = map; +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_map_iterator (_tmp0_); +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + map_iter = _tmp1_; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 14985 "Photo.c" + GeeMapIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeMapIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + GeeMapIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map_iter; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_map_iterator_next (_tmp2_); +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 15002 "Photo.c" + } +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map_iter; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_map_iterator_get_key (_tmp4_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = (Photo*) _tmp5_; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map_iter; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_map_iterator_get_value (_tmp7_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = (GFile*) _tmp8_; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_editable_file (_tmp6_, _tmp9_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 15022 "Photo.c" + } +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15036 "Photo.c" + } else { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 1922 "/home/jens/Source/shotwell/src/Photo.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 1922 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15046 "Photo.c" + } + } +#line 1915 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 15051 "Photo.c" +} + + +GFile* photo_get_actual_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1927 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_baseline_reader (self); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15077 "Photo.c" +} + + +static GFile* photo_real_get_master_file (MediaSource* base) { + Photo * self; + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1931 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15104 "Photo.c" +} + + +GFile* photo_get_editable_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1935 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 1936 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 15124 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reader; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 15135 "Photo.c" + } else { +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 15141 "Photo.c" + } +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15149 "Photo.c" +} + + +GeeCollection* photo_get_raw_developer_files (Photo* self) { + GeeCollection* result = NULL; + PhotoFileFormat _tmp0_ = 0; + GeeArrayList* ret = NULL; + GeeArrayList* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 1941 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1942 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 1942 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 1943 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1943 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15169 "Photo.c" + } +#line 1945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1945 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp1_; +#line 15175 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15182 "Photo.c" + { + { + GeeIterator* _row_it = NULL; + GeeHashMap* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MAP, GeeMap)); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp8_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 15210 "Photo.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _row_it; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 15229 "Photo.c" + } +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _row_it; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp12_; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = ret; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = row; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->filepath; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp17_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 15253 "Photo.c" + } +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 15257 "Photo.c" + } + } + __finally304: + { + PhotoRow* _tmp18_ = NULL; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15267 "Photo.c" + } +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 1946 "/home/jens/Source/shotwell/src/Photo.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 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 15279 "Photo.c" + } + } +#line 1951 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (ret, GEE_TYPE_COLLECTION, GeeCollection); +#line 1951 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15286 "Photo.c" +} + + +GFile* photo_get_source_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1954 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15312 "Photo.c" +} + + +PhotoFileFormat photo_get_file_format (Photo* self) { + PhotoFileFormat result = 0; + GError * _inner_error_ = NULL; +#line 1958 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 15321 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15328 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->file_format; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15338 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15345 "Photo.c" + } +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15349 "Photo.c" + } + __finally305: + { + PhotoRow* _tmp4_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15358 "Photo.c" + } +#line 1959 "/home/jens/Source/shotwell/src/Photo.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 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15366 "Photo.c" + } +} + + +PhotoFileFormat photo_get_best_export_file_format (Photo* self) { + PhotoFileFormat result = 0; + PhotoFileFormat file_format = 0; + PhotoFileFormat _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1964 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 1965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_file_format (self); +#line 1965 "/home/jens/Source/shotwell/src/Photo.vala" + file_format = _tmp0_; +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_can_write (_tmp1_); +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp2_) { +#line 15389 "Photo.c" + PhotoFileFormat _tmp3_ = 0; +#line 1967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_get_system_default_format (); +#line 1967 "/home/jens/Source/shotwell/src/Photo.vala" + file_format = _tmp3_; +#line 15395 "Photo.c" + } +#line 1969 "/home/jens/Source/shotwell/src/Photo.vala" + result = file_format; +#line 1969 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15401 "Photo.c" +} + + +PhotoFileFormat photo_get_master_file_format (Photo* self) { + PhotoFileFormat result = 0; + GError * _inner_error_ = NULL; +#line 1972 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 15410 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15417 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 15430 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15437 "Photo.c" + } +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15441 "Photo.c" + } + __finally306: + { + PhotoRow* _tmp5_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15450 "Photo.c" + } +#line 1973 "/home/jens/Source/shotwell/src/Photo.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 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15458 "Photo.c" + } +} + + +static time_t photo_real_get_timestamp (MediaSource* base) { + Photo * self; + time_t result = 0; + GError * _inner_error_ = NULL; +#line 1978 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15469 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15476 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + time_t _tmp2_ = 0; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->timestamp; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15486 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15493 "Photo.c" + } +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15497 "Photo.c" + } + __finally307: + { + PhotoRow* _tmp4_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15506 "Photo.c" + } +#line 1979 "/home/jens/Source/shotwell/src/Photo.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 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15514 "Photo.c" + } +} + + +void photo_get_photo_id (Photo* self, PhotoID* result) { + GError * _inner_error_ = NULL; +#line 1984 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 15523 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15530 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + PhotoID _tmp2_ = {0}; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->photo_id; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15540 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15547 "Photo.c" + } +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15551 "Photo.c" + } + __finally308: + { + PhotoRow* _tmp4_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15560 "Photo.c" + } +#line 1985 "/home/jens/Source/shotwell/src/Photo.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 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15568 "Photo.c" + } +} + + +static inline void photo_real_get_event_id (MediaSource* base, EventID* result) { + Photo * self; + PhotoRow* _tmp0_ = NULL; + EventID _tmp1_ = {0}; +#line 1991 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->event_id; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp1_; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15587 "Photo.c" +} + + +inline gint64 photo_get_raw_event_id (Photo* self) { + gint64 result = 0LL; + PhotoRow* _tmp0_ = NULL; + EventID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; +#line 1996 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0LL); +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->event_id; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.id; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15608 "Photo.c" +} + + +static void photo_real_get_import_id (MediaSource* base, ImportID* result) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2000 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15617 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15624 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->import_id; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15634 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15641 "Photo.c" + } +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15645 "Photo.c" + } + __finally309: + { + PhotoRow* _tmp4_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15654 "Photo.c" + } +#line 2001 "/home/jens/Source/shotwell/src/Photo.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 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15662 "Photo.c" + } +} + + +void photo_get_editable_id (Photo* self, BackingPhotoID* result) { + GError * _inner_error_ = NULL; +#line 2006 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 15671 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15678 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoID _tmp2_ = {0}; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable_id; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15688 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15695 "Photo.c" + } +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15699 "Photo.c" + } + __finally310: + { + PhotoRow* _tmp4_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15708 "Photo.c" + } +#line 2007 "/home/jens/Source/shotwell/src/Photo.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 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15716 "Photo.c" + } +} + + +static gchar* photo_real_get_master_md5 (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2012 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15727 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15734 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->md5; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 15747 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15754 "Photo.c" + } +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15758 "Photo.c" + } + __finally311: + { + PhotoRow* _tmp5_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15767 "Photo.c" + } +#line 2013 "/home/jens/Source/shotwell/src/Photo.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 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 15775 "Photo.c" + } +} + + +guint64 photo_get_flags (Photo* self) { + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2020 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 15785 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15792 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15802 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15809 "Photo.c" + } +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15813 "Photo.c" + } + __finally312: + { + PhotoRow* _tmp4_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15822 "Photo.c" + } +#line 2021 "/home/jens/Source/shotwell/src/Photo.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 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 15830 "Photo.c" + } +} + + +static void photo_notify_flags_altered (Photo* self, Alteration* additional_alteration) { + Alteration* alteration = NULL; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; + Alteration* _tmp5_ = NULL; +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration)); +#line 2027 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flags"); +#line 2027 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = _tmp0_; +#line 2028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = additional_alteration; +#line 2028 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 15852 "Photo.c" + Alteration* _tmp2_ = NULL; + Alteration* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = alteration; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = additional_alteration; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = alteration_compress (_tmp2_, _tmp3_); +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = _tmp4_; +#line 15866 "Photo.c" + } +#line 2031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration; +#line 2031 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp5_); +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 15874 "Photo.c" +} + + +guint64 photo_replace_flags (Photo* self, guint64 flags, Alteration* additional_alteration) { + guint64 result = 0ULL; + gboolean committed = FALSE; + gboolean _tmp10_ = FALSE; + guint64 _tmp12_ = 0ULL; + GError * _inner_error_ = NULL; +#line 2034 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2034 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 15888 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15895 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; + guint64 _tmp4_ = 0ULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp3_); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = flags; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_table_replace_flags (_tmp2_, &_tmp3_, _tmp4_); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp5_; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2038 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = committed; +#line 2038 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 15921 "Photo.c" + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = flags; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->flags = _tmp8_; +#line 15930 "Photo.c" + } + } + __finally313: + { + PhotoRow* _tmp9_ = NULL; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15940 "Photo.c" + } +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2036 "/home/jens/Source/shotwell/src/Photo.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 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 15950 "Photo.c" + } + } +#line 2042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = committed; +#line 2042 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 15957 "Photo.c" + Alteration* _tmp11_ = NULL; +#line 2043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = additional_alteration; +#line 2043 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp11_); +#line 15963 "Photo.c" + } +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = flags; +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp12_; +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15971 "Photo.c" +} + + +gboolean photo_is_flag_set (Photo* self, guint64 mask) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2048 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 15980 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15987 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + gboolean _tmp4_ = FALSE; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_is_flag_set (_tmp2_, _tmp3_); +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 16003 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16010 "Photo.c" + } +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16014 "Photo.c" + } + __finally314: + { + PhotoRow* _tmp6_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16023 "Photo.c" + } +#line 2049 "/home/jens/Source/shotwell/src/Photo.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 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 16031 "Photo.c" + } +} + + +guint64 photo_add_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2054 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2054 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2055 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2057 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16050 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16057 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_add_flags (_tmp2_, _tmp3_); +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp4_; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16084 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2062 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2062 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16109 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16118 "Photo.c" + } + } + } + __finally315: + { + PhotoRow* _tmp16_ = NULL; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16129 "Photo.c" + } +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2058 "/home/jens/Source/shotwell/src/Photo.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 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16139 "Photo.c" + } + } +#line 2067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2067 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16146 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2068 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16152 "Photo.c" + } +#line 2070 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2070 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16158 "Photo.c" +} + + +guint64 photo_remove_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2073 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2073 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2074 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2076 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16176 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16183 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_remove_flags (_tmp2_, _tmp3_); +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp4_; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16210 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2081 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16235 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16244 "Photo.c" + } + } + } + __finally316: + { + PhotoRow* _tmp16_ = NULL; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16255 "Photo.c" + } +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2077 "/home/jens/Source/shotwell/src/Photo.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 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16265 "Photo.c" + } + } +#line 2086 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2086 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16272 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2087 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2087 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16278 "Photo.c" + } +#line 2089 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2089 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16284 "Photo.c" +} + + +guint64 photo_add_remove_flags (Photo* self, guint64 add, guint64 remove, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2093 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2095 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16302 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16309 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = add; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = remove; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (_tmp2_ | _tmp3_) & (~_tmp4_); +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16336 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2100 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16361 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16370 "Photo.c" + } + } + } + __finally317: + { + PhotoRow* _tmp16_ = NULL; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16381 "Photo.c" + } +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2096 "/home/jens/Source/shotwell/src/Photo.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 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16391 "Photo.c" + } + } +#line 2105 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2105 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16398 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2106 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16404 "Photo.c" + } +#line 2108 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2108 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16410 "Photo.c" +} + + +void photo_add_remove_many_flags (GeeCollection* add, guint64 add_mask, Alteration* additional_add_alteration, GeeCollection* remove, guint64 remove_mask, Alteration* additional_remove_alteration, GError** error) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((add == NULL) || GEE_IS_COLLECTION (add)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_add_alteration == NULL) || IS_ALTERATION (additional_add_alteration)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((remove == NULL) || GEE_IS_COLLECTION (remove)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_remove_alteration == NULL) || IS_ALTERATION (additional_remove_alteration)); +#line 2114 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 2116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = add; +#line 2116 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 16432 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = add; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp2_; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 16445 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; + Alteration* _tmp9_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_it; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 16462 "Photo.c" + } +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_it; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp6_; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = add_mask; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = additional_add_alteration; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (_tmp7_, _tmp8_, _tmp9_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 16480 "Photo.c" + } +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 16484 "Photo.c" + } + } +#line 2121 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = remove; +#line 2121 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ != NULL) { +#line 16491 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = remove; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp12_; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 16504 "Photo.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; + Alteration* _tmp19_ = NULL; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _photo_it; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp14_) { +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 16521 "Photo.c" + } +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_it; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp16_; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = remove_mask; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = additional_remove_alteration; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (_tmp17_, _tmp18_, _tmp19_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 16539 "Photo.c" + } +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 16543 "Photo.c" + } + } +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16556 "Photo.c" + } else { +#line 2126 "/home/jens/Source/shotwell/src/Photo.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 2126 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16564 "Photo.c" + } + } +} + + +guint64 photo_toggle_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp16_ = FALSE; + GError * _inner_error_ = NULL; +#line 2129 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2129 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2130 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2132 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16584 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16591 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + PhotoRow* _tmp4_ = NULL; + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp2_ ^ _tmp3_; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->flags; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = flags; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != _tmp6_) { +#line 16615 "Photo.c" + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoID _tmp9_ = {0}; + guint64 _tmp10_ = 0ULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp9_); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = flags; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_replace_flags (_tmp8_, &_tmp9_, _tmp10_); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp11_; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2137 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2137 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 16640 "Photo.c" + PhotoRow* _tmp13_ = NULL; + guint64 _tmp14_ = 0ULL; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = flags; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_->flags = _tmp14_; +#line 16649 "Photo.c" + } + } + } + __finally318: + { + PhotoRow* _tmp15_ = NULL; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16660 "Photo.c" + } +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2133 "/home/jens/Source/shotwell/src/Photo.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 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16670 "Photo.c" + } + } +#line 2142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = committed; +#line 2142 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 16677 "Photo.c" + Alteration* _tmp17_ = NULL; +#line 2143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = additional_alteration; +#line 2143 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp17_); +#line 16683 "Photo.c" + } +#line 2145 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2145 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16689 "Photo.c" +} + + +gboolean photo_is_master_metadata_dirty (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2148 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 16698 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16705 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->metadata_dirty; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 16715 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16722 "Photo.c" + } +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16726 "Photo.c" + } + __finally319: + { + PhotoRow* _tmp4_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16735 "Photo.c" + } +#line 2149 "/home/jens/Source/shotwell/src/Photo.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 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 16743 "Photo.c" + } +} + + +void photo_set_master_metadata_dirty (Photo* self, gboolean dirty, GError** error) { + gboolean committed = FALSE; + gboolean _tmp11_ = FALSE; + GError * _inner_error_ = NULL; +#line 2154 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2155 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16756 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16763 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->metadata_dirty; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dirty; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp3_) { +#line 16776 "Photo.c" + PhotoTable* _tmp4_ = NULL; + PhotoTable* _tmp5_ = NULL; + PhotoID _tmp6_ = {0}; + gboolean _tmp7_ = FALSE; + PhotoRow* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_table_get_instance (); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp6_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dirty; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_metadata_dirty (_tmp5_, &_tmp6_, _tmp7_, &_inner_error_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp5_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 16797 "Photo.c" + goto __finally320; + } +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = dirty; +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_->metadata_dirty = _tmp9_; +#line 2160 "/home/jens/Source/shotwell/src/Photo.vala" + committed = TRUE; +#line 16808 "Photo.c" + } + } + __finally320: + { + PhotoRow* _tmp10_ = NULL; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16818 "Photo.c" + } +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16828 "Photo.c" + } else { +#line 2156 "/home/jens/Source/shotwell/src/Photo.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 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16836 "Photo.c" + } + } + } +#line 2164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = committed; +#line 2164 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 16844 "Photo.c" + Alteration* _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = alteration_new ("metadata", "master-dirty"); +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp13_); +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp13_); +#line 16855 "Photo.c" + } +} + + +static Rating photo_real_get_rating (MediaSource* base) { + Photo * self; + Rating result = 0; + GError * _inner_error_ = NULL; +#line 2168 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 16866 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16873 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 16883 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16890 "Photo.c" + } +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16894 "Photo.c" + } + __finally321: + { + PhotoRow* _tmp4_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16903 "Photo.c" + } +#line 2169 "/home/jens/Source/shotwell/src/Photo.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 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 16911 "Photo.c" + } +} + + +static void photo_real_set_rating (MediaSource* base, Rating rating) { + Photo * self; + gboolean committed = FALSE; + gboolean _tmp16_ = FALSE; + GError * _inner_error_ = NULL; +#line 2174 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2175 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16925 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16932 "Photo.c" + { + gboolean _tmp1_ = FALSE; + Rating _tmp2_ = 0; + PhotoRow* _tmp3_ = NULL; + Rating _tmp4_ = 0; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp4_) { +#line 16946 "Photo.c" + Rating _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = rating_is_valid (_tmp5_); +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 16955 "Photo.c" + } else { +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 16959 "Photo.c" + } +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 16963 "Photo.c" + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoID _tmp9_ = {0}; + Rating _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp9_); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = rating; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_set_rating (_tmp8_, &_tmp9_, _tmp10_); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp11_; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2180 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2180 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 16988 "Photo.c" + PhotoRow* _tmp13_ = NULL; + Rating _tmp14_ = 0; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = rating; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_->rating = _tmp14_; +#line 16997 "Photo.c" + } + } + } + __finally322: + { + PhotoRow* _tmp15_ = NULL; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17008 "Photo.c" + } +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2177 "/home/jens/Source/shotwell/src/Photo.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 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17018 "Photo.c" + } + } +#line 2185 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = committed; +#line 2185 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 17025 "Photo.c" + Alteration* _tmp17_ = NULL; + Alteration* _tmp18_ = NULL; +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = alteration_new ("metadata", "rating"); +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp18_); +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp18_); +#line 17036 "Photo.c" + } +} + + +static void photo_real_increase_rating (MediaSource* base) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2189 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17046 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17053 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = rating_increase (_tmp2_); +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 17066 "Photo.c" + } + __finally323: + { + PhotoRow* _tmp4_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17075 "Photo.c" + } +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2190 "/home/jens/Source/shotwell/src/Photo.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 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17085 "Photo.c" + } + } +} + + +static void photo_real_decrease_rating (MediaSource* base) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2195 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17096 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17103 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = rating_decrease (_tmp2_); +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 17116 "Photo.c" + } + __finally324: + { + PhotoRow* _tmp4_ = NULL; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17125 "Photo.c" + } +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2196 "/home/jens/Source/shotwell/src/Photo.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 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17135 "Photo.c" + } + } +} + + +static void photo_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2201 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2201 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((sources == NULL) || IS_SOURCE_COLLECTION (sources)); +#line 17148 "Photo.c" + { + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoID _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp2_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = backlinks; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_backlinks (_tmp1_, &_tmp2_, _tmp3_, &_inner_error_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 17170 "Photo.c" + goto __catch325_database_error; + } +#line 2206 "/home/jens/Source/shotwell/src/Photo.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 2206 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17179 "Photo.c" + } + { + PhotoRow* _tmp4_ = NULL; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17187 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backlinks; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_->backlinks); +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_->backlinks = _tmp7_; +#line 17202 "Photo.c" + } + __finally326: + { + PhotoRow* _tmp8_ = NULL; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17211 "Photo.c" + } +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 17217 "Photo.c" + goto __catch325_database_error; + } +#line 2207 "/home/jens/Source/shotwell/src/Photo.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 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17226 "Photo.c" + } + } + } + goto __finally325; + __catch325_database_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = err; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->message; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2211: Unable to update link state for %s: %s", _tmp10_, _tmp12_); +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17256 "Photo.c" + } + __finally325: +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2205 "/home/jens/Source/shotwell/src/Photo.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 2205 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17267 "Photo.c" + } +} + + +static gboolean photo_real_set_event_id (MediaSource* base, EventID* event_id) { + Photo * self; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2219 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2219 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 17280 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17287 "Photo.c" + { + gboolean committed = FALSE; + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + EventID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *event_id; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_set_event (_tmp2_, &_tmp4_, &_tmp5_); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp7_; +#line 2223 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = committed; +#line 2223 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 17320 "Photo.c" + PhotoRow* _tmp9_ = NULL; + EventID _tmp10_ = {0}; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = *event_id; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_->event_id = _tmp10_; +#line 17329 "Photo.c" + } +#line 2226 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 17333 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17340 "Photo.c" + } +#line 2226 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17344 "Photo.c" + } + __finally327: + { + PhotoRow* _tmp12_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17353 "Photo.c" + } +#line 2220 "/home/jens/Source/shotwell/src/Photo.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 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 17361 "Photo.c" + } +} + + +static gchar* photo_real_to_string (DataObject* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PhotoID _tmp10_ = {0}; + gint64 _tmp11_ = 0LL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 2230 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_is_master_baseline (self); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 17387 "Photo.c" + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_actual_file (self); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_strconcat (" (", _tmp5_, NULL); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_strconcat (_tmp7_, ")", NULL); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp8_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 17419 "Photo.c" + } else { + gchar* _tmp9_ = NULL; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup (""); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp9_; +#line 17428 "Photo.c" + } +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.id; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp11_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_get_master_reader (self); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = g_strdup_printf ("[%s] %s%s", _tmp13_, _tmp17_, _tmp0_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp15_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp13_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp19_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17462 "Photo.c" +} + + +static gboolean photo_real_equals (DataSource* base, DataSource* source) { + Photo * self; + gboolean result = FALSE; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + DataSource* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 2235 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2235 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((source == NULL) || IS_DATA_SOURCE (source), FALSE); +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 2238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 2238 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 17489 "Photo.c" + PhotoID photo_id = {0}; + PhotoID _tmp3_ = {0}; + PhotoID other_photo_id = {0}; + Photo* _tmp4_ = NULL; + PhotoID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + Photo* _tmp7_ = NULL; +#line 2239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp3_); +#line 2239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp3_; +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (_tmp4_, &_tmp5_); +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + other_photo_id = _tmp5_; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + if (self != _tmp7_) { +#line 17511 "Photo.c" + PhotoID _tmp8_ = {0}; + gint64 _tmp9_ = 0LL; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_id; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.id; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp9_ != PHOTO_ID_INVALID; +#line 17520 "Photo.c" + } else { +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 17524 "Photo.c" + } +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 17528 "Photo.c" + PhotoID _tmp10_ = {0}; + gint64 _tmp11_ = 0LL; + PhotoID _tmp12_ = {0}; + gint64 _tmp13_ = 0LL; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = other_photo_id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp11_ != _tmp13_, "photo_id.id != other_photo_id.id"); +#line 17543 "Photo.c" + } + } +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = DATA_SOURCE_CLASS (photo_parent_class)->equals (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_DATA_SOURCE, DataSource), _tmp14_); +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17556 "Photo.c" +} + + +static void photo_file_exif_updated (Photo* self) { + GFile* file = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* info = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp7_ = NULL; + GTimeVal _tmp8_ = {0}; + PhotoFileInterrogator* interrogator = NULL; + PhotoFileInterrogator* _tmp9_ = NULL; + DetectedPhotoInformation* detected = NULL; + DetectedPhotoInformation* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + DetectedPhotoInformation* _tmp16_ = NULL; + gboolean success = FALSE; + gboolean _tmp37_ = FALSE; + GError * _inner_error_ = NULL; +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2252 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp0_; +#line 2254 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 17584 "Photo.c" + { + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_query_info (file, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp2_; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17595 "Photo.c" + goto __catch328_g_error; + } +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp1_; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp3_; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 17608 "Photo.c" + } + goto __finally328; + __catch328_g_error: + { + GError* err = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = err->message; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:2259: Unable to read file information for %s: %s", _tmp5_, _tmp6_); +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17633 "Photo.c" + } + __finally328: +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2255 "/home/jens/Source/shotwell/src/Photo.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 2255 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17648 "Photo.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = info; +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp7_, &_tmp8_); +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp8_; +#line 2265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_interrogator_new (file, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL); +#line 2265 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp9_; +#line 17660 "Photo.c" + { +#line 2267 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (interrogator, &_inner_error_); +#line 2267 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17666 "Photo.c" + goto __catch329_g_error; + } + } + goto __finally329; + __catch329_g_error: + { + GError* err = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = g_file_get_path (file); +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = err; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->message; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2269: Unable to interrogate photo file %s: %s", _tmp11_, _tmp13_); +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp11_); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17696 "Photo.c" + } + __finally329: +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2266 "/home/jens/Source/shotwell/src/Photo.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 2266 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17713 "Photo.c" + } +#line 2272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_file_interrogator_get_detected_photo_information (interrogator); +#line 2272 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp14_; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = detected; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ == NULL) { +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = TRUE; +#line 17725 "Photo.c" + } else { + gboolean _tmp17_ = FALSE; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_interrogator_get_is_photo_corrupted (interrogator); +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp17_; +#line 17732 "Photo.c" + } +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 17736 "Photo.c" + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:2274: file_exif_updated: %s no longer an image", _tmp19_); +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp19_); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17757 "Photo.c" + } + { + PhotoRow* _tmp20_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17765 "Photo.c" + { + PhotoTable* _tmp21_ = NULL; + PhotoTable* _tmp22_ = NULL; + PhotoID _tmp23_ = {0}; + GFileInfo* _tmp24_ = NULL; + gint64 _tmp25_ = 0LL; + GTimeVal _tmp26_ = {0}; + glong _tmp27_ = 0L; + DetectedPhotoInformation* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + DetectedPhotoInformation* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + DetectedPhotoInformation* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_table_get_instance (); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp23_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = info; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_file_info_get_size (_tmp24_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = timestamp; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.tv_sec; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->exif_md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->thumbnail_md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_master_exif_updated (_tmp22_, &_tmp23_, _tmp25_, _tmp27_, _tmp29_, _tmp31_, _tmp33_, _tmp34_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + success = _tmp35_; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp22_); +#line 17816 "Photo.c" + } + __finally330: + { + PhotoRow* _tmp36_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->row; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17825 "Photo.c" + } +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2280 "/home/jens/Source/shotwell/src/Photo.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 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17843 "Photo.c" + } + } +#line 2285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = success; +#line 2285 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_) { +#line 17850 "Photo.c" + Alteration* _tmp38_ = NULL; + Alteration* _tmp39_ = NULL; +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = alteration_new_from_list ("metadata:exif,metadata:md5"); +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp39_); +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp39_); +#line 17861 "Photo.c" + } +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 17871 "Photo.c" +} + + +static guint64 photo_real_get_filesize (MediaSource* base) { + Photo * self; + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2291 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17881 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17888 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->filesize; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp2_; +#line 17898 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17905 "Photo.c" + } +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17909 "Photo.c" + } + __finally331: + { + PhotoRow* _tmp4_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17918 "Photo.c" + } +#line 2292 "/home/jens/Source/shotwell/src/Photo.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 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 17926 "Photo.c" + } +} + + +static guint64 photo_real_get_master_filesize (MediaSource* base) { + Photo * self; + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2297 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17937 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17944 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->filesize; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp3_; +#line 17957 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17964 "Photo.c" + } +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17968 "Photo.c" + } + __finally332: + { + PhotoRow* _tmp5_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17977 "Photo.c" + } +#line 2298 "/home/jens/Source/shotwell/src/Photo.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 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 17985 "Photo.c" + } +} + + +guint64 photo_get_editable_filesize (Photo* self) { + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2303 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 17995 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18002 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->editable; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->filesize; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp2_; +#line 18012 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18019 "Photo.c" + } +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18023 "Photo.c" + } + __finally333: + { + PhotoRow* _tmp4_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18032 "Photo.c" + } +#line 2304 "/home/jens/Source/shotwell/src/Photo.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 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 18040 "Photo.c" + } +} + + +static time_t photo_real_get_exposure_time (Dateable* base) { + Photo * self; + time_t result = 0; + time_t _tmp0_ = 0; +#line 2309 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->cached_exposure_time; +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18057 "Photo.c" +} + + +static gchar* photo_real_get_basename (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2313 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18067 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18074 "Photo.c" + { + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->file_title; +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 18084 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18091 "Photo.c" + } +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18095 "Photo.c" + } + __finally334: + { + PhotoRow* _tmp4_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18104 "Photo.c" + } +#line 2314 "/home/jens/Source/shotwell/src/Photo.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 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18112 "Photo.c" + } +} + + +static gchar* photo_real_get_title (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2319 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18123 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18130 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->title; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 18143 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18150 "Photo.c" + } +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18154 "Photo.c" + } + __finally335: + { + PhotoRow* _tmp5_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18163 "Photo.c" + } +#line 2320 "/home/jens/Source/shotwell/src/Photo.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 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18171 "Photo.c" + } +} + + +static gchar* photo_real_get_comment (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2325 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18182 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18189 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->comment; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 18202 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18209 "Photo.c" + } +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18213 "Photo.c" + } + __finally336: + { + PhotoRow* _tmp5_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18222 "Photo.c" + } +#line 2326 "/home/jens/Source/shotwell/src/Photo.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 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18230 "Photo.c" + } +} + + +static void photo_real_set_title (MediaSource* base, const gchar* title) { + Photo * self; + gchar* new_title = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean committed = FALSE; + gboolean _tmp18_ = FALSE; + GError * _inner_error_ = NULL; +#line 2331 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = title; +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_prep_title (_tmp0_); +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + new_title = _tmp1_; +#line 2334 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 18253 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18260 "Photo.c" + { + const gchar* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_title; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->title; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp3_, _tmp5_) == 0) { +#line 18280 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18287 "Photo.c" + } +#line 2337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 2337 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18293 "Photo.c" + } +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->photo_id; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_title; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_set_title (_tmp8_, &_tmp10_, _tmp11_); +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2340 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 18315 "Photo.c" + PhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_title; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp14_->title); +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->title = _tmp16_; +#line 18329 "Photo.c" + } + } + __finally337: + { + PhotoRow* _tmp17_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18339 "Photo.c" + } +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 2335 "/home/jens/Source/shotwell/src/Photo.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 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18351 "Photo.c" + } + } +#line 2344 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = committed; +#line 2344 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 18358 "Photo.c" + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_new ("metadata", "name"); +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp20_); +#line 18369 "Photo.c" + } +#line 2331 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 18373 "Photo.c" +} + + +static gboolean photo_real_set_comment (MediaSource* base, const gchar* comment) { + Photo * self; + gboolean result = FALSE; + gchar* new_comment = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean committed = FALSE; + gboolean _tmp18_ = FALSE; + GError * _inner_error_ = NULL; +#line 2348 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = comment; +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_prep_comment (_tmp0_); +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + new_comment = _tmp1_; +#line 2351 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 18396 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18403 "Photo.c" + { + const gchar* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_comment; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->comment; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp3_, _tmp5_) == 0) { +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 18425 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18432 "Photo.c" + } +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18438 "Photo.c" + } +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->photo_id; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_comment; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_set_comment (_tmp8_, &_tmp10_, _tmp11_); +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2357 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 18460 "Photo.c" + PhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_comment; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp14_->comment); +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->comment = _tmp16_; +#line 18474 "Photo.c" + } + } + __finally338: + { + PhotoRow* _tmp17_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18484 "Photo.c" + } +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2352 "/home/jens/Source/shotwell/src/Photo.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 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 18496 "Photo.c" + } + } +#line 2361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = committed; +#line 2361 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 18503 "Photo.c" + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_new ("metadata", "comment"); +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp20_); +#line 18514 "Photo.c" + } +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18522 "Photo.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? g_error_copy (self) : NULL; +#line 18529 "Photo.c" +} + + +void photo_set_import_id (Photo* self, ImportID* import_id) { + GError* dberr = NULL; + GError* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (import_id != NULL); +#line 2368 "/home/jens/Source/shotwell/src/Photo.vala" + dberr = NULL; +#line 18543 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18550 "Photo.c" + { + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + ImportID _tmp5_ = {0}; + PhotoRow* _tmp7_ = NULL; + ImportID _tmp8_ = {0}; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *import_id; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_import_id (_tmp2_, &_tmp4_, &_tmp5_, &_inner_error_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 18578 "Photo.c" + goto __catch340_database_error; + } + { + PhotoRow* _tmp6_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18587 "Photo.c" + } +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2371 "/home/jens/Source/shotwell/src/Photo.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 2371 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18597 "Photo.c" + } +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *import_id; +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->import_id = _tmp8_; +#line 18605 "Photo.c" + } + goto __finally340; + __catch340_database_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = err; +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _g_error_copy0 (_tmp9_); +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + dberr = _tmp10_; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 18627 "Photo.c" + } + __finally340: +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 18632 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18639 "Photo.c" + } +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2370 "/home/jens/Source/shotwell/src/Photo.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 2370 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18649 "Photo.c" + } + } + __finally339: + { + PhotoRow* _tmp12_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18659 "Photo.c" + } +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2369 "/home/jens/Source/shotwell/src/Photo.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 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18671 "Photo.c" + } + } +#line 2378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = dberr; +#line 2378 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 18678 "Photo.c" + Alteration* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = alteration_new ("metadata", "import-id"); +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp15_); +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp15_); +#line 18689 "Photo.c" + } else { + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = dberr; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->message; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2381: Unable to write import ID for %s: %s", _tmp17_, _tmp19_); +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 18707 "Photo.c" + } +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 18711 "Photo.c" +} + + +void photo_set_title_persistent (Photo* self, const gchar* title, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileMetadataWriter* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + const gchar* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2385 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2385 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 18748 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2389: No photo file writer available for %s", _tmp6_); +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2391 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = title; +#line 2391 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 2393 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2393 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18771 "Photo.c" + } +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18787 "Photo.c" + } +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = title; +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp10_, _tmp11_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = source; +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_reader_create_metadata_writer (_tmp12_, &_inner_error_); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp13_; +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18811 "Photo.c" + } +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp16_, "Photo.set_persistent_title"); +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 18823 "Photo.c" + { + PhotoFileMetadataWriter* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = writer; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp17_, _tmp18_, &_inner_error_); +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 18835 "Photo.c" + goto __finally341; + } + } + __finally341: + { + PhotoFileReader* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = source; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp21_); +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp21_); +#line 18854 "Photo.c" + } +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18868 "Photo.c" + } +#line 2407 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = title; +#line 2407 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp22_); +#line 2409 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 18882 "Photo.c" +} + + +void photo_set_comment_persistent (Photo* self, const gchar* comment, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileMetadataWriter* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + const gchar* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2413 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 18919 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2417: No photo file writer available for %s", _tmp6_); +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = comment; +#line 2419 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 2421 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2421 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18942 "Photo.c" + } +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18958 "Photo.c" + } +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = comment; +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp10_, _tmp11_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = source; +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_reader_create_metadata_writer (_tmp12_, &_inner_error_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp13_; +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18982 "Photo.c" + } +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp16_, "Photo.set_persistent_comment"); +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 18994 "Photo.c" + { + PhotoFileMetadataWriter* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = writer; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp17_, _tmp18_, &_inner_error_); +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19006 "Photo.c" + goto __finally342; + } + } + __finally342: + { + PhotoFileReader* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = source; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp21_); +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp21_); +#line 19025 "Photo.c" + } +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19039 "Photo.c" + } +#line 2435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = comment; +#line 2435 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp22_); +#line 2437 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 19053 "Photo.c" +} + + +static void photo_real_set_exposure_time (Dateable* base, time_t time) { + Photo * self; + gboolean committed = FALSE; + gboolean _tmp12_ = FALSE; + GError * _inner_error_ = NULL; +#line 2440 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 19064 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19071 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + time_t _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = time; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_set_exposure_time (_tmp2_, &_tmp4_, _tmp5_); +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp6_; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = committed; +#line 2444 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 19100 "Photo.c" + PhotoRow* _tmp8_ = NULL; + time_t _tmp9_ = 0; + time_t _tmp10_ = 0; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = time; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_->exposure_time = _tmp9_; +#line 2446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = time; +#line 2446 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->cached_exposure_time = _tmp10_; +#line 19114 "Photo.c" + } + } + __finally343: + { + PhotoRow* _tmp11_ = NULL; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19124 "Photo.c" + } +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2442 "/home/jens/Source/shotwell/src/Photo.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 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19134 "Photo.c" + } + } +#line 2450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 19141 "Photo.c" + Alteration* _tmp13_ = NULL; + Alteration* _tmp14_ = NULL; +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = alteration_new ("metadata", "exposure-time"); +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp14_); +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp14_); +#line 19152 "Photo.c" + } +} + + +void photo_set_exposure_time_persistent (Photo* self, time_t time, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + time_t _tmp11_ = 0; + MetadataDateTime* _tmp12_ = NULL; + MetadataDateTime* _tmp13_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileMetadataWriter* _tmp15_ = NULL; + PhotoFileReader* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + time_t _tmp24_ = 0; + GError * _inner_error_ = NULL; +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2455 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 19192 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2459: No photo file writer available for %s", _tmp6_); +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2461 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = time; +#line 2461 "/home/jens/Source/shotwell/src/Photo.vala" + dateable_set_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATEABLE, Dateable), _tmp7_); +#line 2463 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2463 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19215 "Photo.c" + } +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19231 "Photo.c" + } +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = time; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata_date_time_new (_tmp11_); +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp10_, _tmp13_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp13_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_reader_create_metadata_writer (_tmp14_, &_inner_error_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp15_; +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19261 "Photo.c" + } +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = source; +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp18_, "Photo.set_exposure_time_persistent"); +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp18_); +#line 19273 "Photo.c" + { + PhotoFileMetadataWriter* _tmp19_ = NULL; + PhotoMetadata* _tmp20_ = NULL; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = writer; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = metadata; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp19_, _tmp20_, &_inner_error_); +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19285 "Photo.c" + goto __finally344; + } + } + __finally344: + { + PhotoFileReader* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = source; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp23_); +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp23_); +#line 19304 "Photo.c" + } +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19318 "Photo.c" + } +#line 2477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = time; +#line 2477 "/home/jens/Source/shotwell/src/Photo.vala" + dateable_set_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATEABLE, Dateable), _tmp24_); +#line 2479 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 19332 "Photo.c" +} + + +/** + * @brief Returns the width and height of the Photo after various + * arbitrary stages of the pipeline have been applied in + * the same order they're applied in get_pixbuf_with_options. + * With no argument passed, it works exactly like the + * previous incarnation did. + * + * @param disallowed_steps Which pipeline steps should NOT + * be taken into account when computing image dimensions + * (matching the convention set by get_pixbuf_with_options()). + * Pipeline steps that do not affect the image geometry are + * ignored. + */ +static void photo_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result) { + Photo * self; + Dimensions returned_dims = {0}; + Dimensions _tmp0_ = {0}; + PhotoException _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + PhotoException _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + PhotoException _tmp22_ = 0; + gboolean _tmp23_ = FALSE; +#line 2495 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2497 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 2497 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims = _tmp0_; +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = disallowed_steps; +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_exception_allows (_tmp1_, PHOTO_EXCEPTION_ORIENTATION); +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 19371 "Photo.c" + Orientation ori_tmp = 0; + Orientation _tmp3_ = 0; + Orientation _tmp4_ = 0; +#line 2501 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_orientation (self); +#line 2501 "/home/jens/Source/shotwell/src/Photo.vala" + ori_tmp = _tmp3_; +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = ori_tmp; +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp4_) { +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_LEFT_TOP: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_RIGHT_TOP: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 19391 "Photo.c" + { + gint width_tmp = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = returned_dims; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.width; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + width_tmp = _tmp6_; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = returned_dims; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_.height; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.width = _tmp8_; +#line 2513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = width_tmp; +#line 2513 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.height = _tmp9_; +#line 2514 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19417 "Photo.c" + } + default: + { +#line 2518 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19423 "Photo.c" + } + } + } +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = disallowed_steps; +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_exception_allows (_tmp10_, PHOTO_EXCEPTION_STRAIGHTEN); +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 19433 "Photo.c" + gdouble x_size = 0.0; + gdouble y_size = 0.0; + gdouble angle = 0.0; + gdouble _tmp12_ = 0.0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gdouble _tmp17_ = 0.0; + gdouble _tmp18_ = 0.0; + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; + gdouble _tmp21_ = 0.0; +#line 2525 "/home/jens/Source/shotwell/src/Photo.vala" + angle = 0.0; +#line 2527 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_straighten (self, &_tmp12_); +#line 2527 "/home/jens/Source/shotwell/src/Photo.vala" + angle = _tmp12_; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = returned_dims; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_.width; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = returned_dims; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_.height; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = angle; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + compute_arb_rotated_size ((gdouble) _tmp14_, (gdouble) _tmp16_, _tmp17_, &_tmp18_, &_tmp19_); +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + x_size = _tmp18_; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + y_size = _tmp19_; +#line 2531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = x_size; +#line 2531 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.width = (gint) _tmp20_; +#line 2532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = y_size; +#line 2532 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.height = (gint) _tmp21_; +#line 19477 "Photo.c" + } +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = disallowed_steps; +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_exception_allows (_tmp22_, PHOTO_EXCEPTION_CROP); +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 19485 "Photo.c" + Box crop = {0}; + PhotoException _tmp24_ = 0; + Box _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = disallowed_steps; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_crop (self, &_tmp25_, _tmp24_); +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp25_; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 19498 "Photo.c" + Dimensions _tmp27_ = {0}; +#line 2539 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp27_); +#line 2539 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims = _tmp27_; +#line 19504 "Photo.c" + } + } +#line 2542 "/home/jens/Source/shotwell/src/Photo.vala" + *result = returned_dims; +#line 2542 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19511 "Photo.c" +} + + +static void photo_locked_create_adjustments_from_data (Photo* self) { + PixelTransformationBundle* _tmp0_ = NULL; + KeyValueMap* map = NULL; + KeyValueMap* _tmp1_ = NULL; + KeyValueMap* _tmp2_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; + PixelTransformer* _tmp7_ = NULL; +#line 2546 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp0_; +#line 2549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_transformation (self, "adjustments"); +#line 2549 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp1_; +#line 2550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2550 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 19538 "Photo.c" + PixelTransformationBundle* _tmp3_ = NULL; +#line 2551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->adjustments; +#line 2551 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformation_bundle_set_to_identity (_tmp3_); +#line 19544 "Photo.c" + } else { + PixelTransformationBundle* _tmp4_ = NULL; + KeyValueMap* _tmp5_ = NULL; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->adjustments; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = map; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformation_bundle_load (_tmp4_, _tmp5_); +#line 19554 "Photo.c" + } +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->adjustments; +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = pixel_transformation_bundle_generate_transformer (_tmp6_); +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp7_; +#line 2546 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 19566 "Photo.c" +} + + +PixelTransformationBundle* photo_get_color_adjustments (Photo* self) { + PixelTransformationBundle* result = NULL; + GError * _inner_error_ = NULL; +#line 2559 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 19575 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19582 "Photo.c" + { + PixelTransformationBundle* _tmp1_ = NULL; + PixelTransformationBundle* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; +#line 2561 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->adjustments; +#line 2561 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2562 "/home/jens/Source/shotwell/src/Photo.vala" + photo_locked_create_adjustments_from_data (self); +#line 19593 "Photo.c" + } +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->adjustments; +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_copy (_tmp2_); +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 19601 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19608 "Photo.c" + } +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19612 "Photo.c" + } + __finally345: + { + PhotoRow* _tmp5_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19621 "Photo.c" + } +#line 2560 "/home/jens/Source/shotwell/src/Photo.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 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 19629 "Photo.c" + } +} + + +PixelTransformer* photo_get_pixel_transformer (Photo* self) { + PixelTransformer* result = NULL; + GError * _inner_error_ = NULL; +#line 2568 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 19639 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19646 "Photo.c" + { + PixelTransformer* _tmp1_ = NULL; + PixelTransformer* _tmp2_ = NULL; + PixelTransformer* _tmp3_ = NULL; +#line 2570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->transformer; +#line 2570 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2571 "/home/jens/Source/shotwell/src/Photo.vala" + photo_locked_create_adjustments_from_data (self); +#line 19657 "Photo.c" + } +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformer_copy (_tmp2_); +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 19665 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19672 "Photo.c" + } +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19676 "Photo.c" + } + __finally346: + { + PhotoRow* _tmp5_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19685 "Photo.c" + } +#line 2569 "/home/jens/Source/shotwell/src/Photo.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 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 19693 "Photo.c" + } +} + + +gboolean photo_has_color_adjustments (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2577 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "adjustments"); +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19709 "Photo.c" +} + + +PixelTransformation* photo_get_color_adjustment (Photo* self, PixelTransformationType type) { + PixelTransformation* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; + PixelTransformation* _tmp4_ = NULL; +#line 2581 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_color_adjustments (self); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = type; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_get_transformation (_tmp1_, _tmp2_); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp1_); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19738 "Photo.c" +} + + +void photo_set_color_adjustments (Photo* self, PixelTransformationBundle* new_adjustments) { + PixelTransformationBundle* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + KeyValueMap* map = NULL; + PixelTransformationBundle* _tmp8_ = NULL; + KeyValueMap* _tmp9_ = NULL; + gboolean committed = FALSE; + gboolean _tmp39_ = FALSE; + GError * _inner_error_ = NULL; +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (new_adjustments)); +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = new_adjustments; +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = pixel_transformation_bundle_is_identity (_tmp0_); +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 19761 "Photo.c" + gboolean _result_ = FALSE; + gboolean _tmp5_ = FALSE; + { + PhotoRow* _tmp2_ = NULL; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19770 "Photo.c" + { + gboolean _tmp3_ = FALSE; +#line 2591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_remove_transformation (self, "adjustments"); +#line 2591 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp3_; +#line 2592 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2592 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 2593 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2593 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 19785 "Photo.c" + } + __finally347: + { + PhotoRow* _tmp4_ = NULL; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19794 "Photo.c" + } +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2590 "/home/jens/Source/shotwell/src/Photo.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 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19804 "Photo.c" + } + } +#line 2596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _result_; +#line 2596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 19811 "Photo.c" + Alteration* _tmp6_ = NULL; + Alteration* _tmp7_ = NULL; +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = alteration_new ("image", "color-adjustments"); +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp7_); +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp7_); +#line 19822 "Photo.c" + } +#line 2599 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19826 "Photo.c" + } +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = new_adjustments; +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = pixel_transformation_bundle_save (_tmp8_, "adjustments"); +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp9_; +#line 19834 "Photo.c" + { + PhotoRow* _tmp10_ = NULL; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19841 "Photo.c" + { + gboolean _tmp11_ = FALSE; + PixelTransformer* _tmp12_ = NULL; + KeyValueMap* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->transformer; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ == NULL) { +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 19853 "Photo.c" + } else { + PixelTransformationBundle* _tmp13_ = NULL; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->adjustments; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_ == NULL; +#line 19860 "Photo.c" + } +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 19864 "Photo.c" + PixelTransformationBundle* _tmp14_ = NULL; + PixelTransformationBundle* _tmp15_ = NULL; + PixelTransformationBundle* _tmp16_ = NULL; + PixelTransformer* _tmp17_ = NULL; +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = new_adjustments; +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = pixel_transformation_bundle_copy (_tmp14_); +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp15_; +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = new_adjustments; +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = pixel_transformation_bundle_generate_transformer (_tmp16_); +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp17_; +#line 19885 "Photo.c" + } else { + PixelTransformationBundle* _tmp34_ = NULL; + PixelTransformationBundle* _tmp35_ = NULL; + { + GeeIterator* _transformation_it = NULL; + PixelTransformationBundle* _tmp18_ = NULL; + GeeIterable* _tmp19_ = NULL; + GeeIterable* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = new_adjustments; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = pixel_transformation_bundle_get_transformations (_tmp18_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterable_iterator (_tmp20_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp20_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _transformation_it = _tmp22_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 19912 "Photo.c" + GeeIterator* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; + PixelTransformer* _tmp27_ = NULL; + PixelTransformationBundle* _tmp28_ = NULL; + PixelTransformation* _tmp29_ = NULL; + PixelTransformationType _tmp30_ = 0; + PixelTransformation* _tmp31_ = NULL; + PixelTransformation* _tmp32_ = NULL; + PixelTransformation* _tmp33_ = NULL; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _transformation_it; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterator_next (_tmp23_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp24_) { +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19933 "Photo.c" + } +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _transformation_it; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = gee_iterator_get (_tmp25_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + transformation = (PixelTransformation*) _tmp26_; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = self->priv->transformer; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->adjustments; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = transformation; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = pixel_transformation_get_transformation_type (_tmp29_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = pixel_transformation_bundle_get_transformation (_tmp28_, _tmp30_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = transformation; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformer_replace_transformation (_tmp27_, _tmp32_, _tmp33_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_unref0 (_tmp32_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_unref0 (transformation); +#line 19961 "Photo.c" + } +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_transformation_it); +#line 19965 "Photo.c" + } +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = new_adjustments; +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = pixel_transformation_bundle_copy (_tmp34_); +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp35_; +#line 19975 "Photo.c" + } +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = map; +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_set_transformation (self, _tmp36_); +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp37_; +#line 19983 "Photo.c" + } + __finally348: + { + PhotoRow* _tmp38_ = NULL; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = self->row; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19992 "Photo.c" + } +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2606 "/home/jens/Source/shotwell/src/Photo.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 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20004 "Photo.c" + } + } +#line 2625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = committed; +#line 2625 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_) { +#line 20011 "Photo.c" + Alteration* _tmp40_ = NULL; + Alteration* _tmp41_ = NULL; +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = alteration_new ("image", "color-adjustments"); +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_; +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp41_); +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp41_); +#line 20022 "Photo.c" + } +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 20026 "Photo.c" +} + + +static PhotoMetadata* photo_real_get_metadata (PhotoSource* base) { + Photo * self; + PhotoMetadata* result = NULL; + GError * _inner_error_ = NULL; +#line 2630 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 20036 "Photo.c" + { + PhotoMetadata* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + PhotoMetadata* _tmp5_ = NULL; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_source_reader (self); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_reader_read_metadata (_tmp2_, &_inner_error_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp2_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 20058 "Photo.c" + goto __catch349_g_error; + } +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp0_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp0_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20071 "Photo.c" + } + goto __finally349; + __catch349_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = err; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->message; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2634: Unable to load metadata: %s", _tmp7_); +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20095 "Photo.c" + } + __finally349: +#line 2631 "/home/jens/Source/shotwell/src/Photo.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 2631 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20104 "Photo.c" +} + + +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error) { + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + PhotoMetadata* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 2640 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_reader (self); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_reader_read_metadata (_tmp2_, &_inner_error_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp2_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20137 "Photo.c" + } +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp0_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp0_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20149 "Photo.c" +} + + +PhotoMetadata* photo_get_editable_metadata (Photo* self, GError** error) { + PhotoMetadata* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 2644 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 2645 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 20170 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reader; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_reader_read_metadata (_tmp3_, &_inner_error_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20191 "Photo.c" + } + } else { +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 20198 "Photo.c" + } +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20206 "Photo.c" +} + + +gboolean photo_persist_master_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportMasterState** state, GError** error) { + PhotoReimportMasterState* _vala_state = NULL; + gboolean result = FALSE; + PhotoFileReader* master_reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoFileMetadataWriter* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileMetadataWriter* _tmp6_ = NULL; + PhotoFileMetadataWriter* _tmp7_ = NULL; + PhotoFileMetadataWriter* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + PhotoReimportMasterState* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PhotoReimportMasterState* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 2653 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2653 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (metadata), FALSE); +#line 2655 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 2655 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 2657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 2657 "/home/jens/Source/shotwell/src/Photo.vala" + master_reader = _tmp0_; +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = master_reader; +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20257 "Photo.c" + } else { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20261 "Photo.c" + } +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20265 "Photo.c" + } +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = master_reader; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_reader_create_metadata_writer (_tmp5_, &_inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp6_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20281 "Photo.c" + } +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp4_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = NULL; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = metadata; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp8_, _tmp9_, &_inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp8_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20305 "Photo.c" + } +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_prepare_for_reimport_master (self, &_tmp11_, &_inner_error_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp11_; +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp12_; +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20325 "Photo.c" + } +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20339 "Photo.c" + } else { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20343 "Photo.c" + } +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20347 "Photo.c" + } +#line 2667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _vala_state; +#line 2667 "/home/jens/Source/shotwell/src/Photo.vala" + G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)->metadata_only = TRUE; +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20363 "Photo.c" + } else { +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20367 "Photo.c" + } +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20371 "Photo.c" +} + + +void photo_finish_update_master_metadata (Photo* self, PhotoReimportMasterState* state, GError** error) { + PhotoReimportMasterState* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 2672 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2672 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_MASTER_STATE (state)); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + photo_finish_reimport_master (self, _tmp0_, &_inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20394 "Photo.c" + } else { +#line 2673 "/home/jens/Source/shotwell/src/Photo.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 2673 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20402 "Photo.c" + } + } +} + + +gboolean photo_persist_editable_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportEditableState** state, GError** error) { + PhotoReimportEditableState* _vala_state = NULL; + gboolean result = FALSE; + PhotoFileReader* editable_reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + PhotoFileMetadataWriter* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + PhotoFileMetadataWriter* _tmp7_ = NULL; + PhotoFileMetadataWriter* _tmp8_ = NULL; + PhotoFileMetadataWriter* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + PhotoReimportEditableState* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PhotoReimportEditableState* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 2676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (metadata), FALSE); +#line 2678 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 2678 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 2680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 2680 "/home/jens/Source/shotwell/src/Photo.vala" + editable_reader = _tmp0_; +#line 2681 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = editable_reader; +#line 2681 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20452 "Photo.c" + } else { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20456 "Photo.c" + } +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20460 "Photo.c" + } +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = editable_reader; +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_can_write_metadata (_tmp3_); +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20478 "Photo.c" + } else { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20482 "Photo.c" + } +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20486 "Photo.c" + } +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = editable_reader; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_file_reader_create_metadata_writer (_tmp6_, &_inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp7_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20502 "Photo.c" + } +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp5_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = NULL; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp9_, _tmp10_, &_inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp9_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20526 "Photo.c" + } +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_prepare_for_reimport_editable (self, &_tmp12_, &_inner_error_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp12_; +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_; +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20546 "Photo.c" + } +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20560 "Photo.c" + } else { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20564 "Photo.c" + } +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20568 "Photo.c" + } +#line 2692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _vala_state; +#line 2692 "/home/jens/Source/shotwell/src/Photo.vala" + G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)->metadata_only = TRUE; +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20584 "Photo.c" + } else { +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20588 "Photo.c" + } +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20592 "Photo.c" +} + + +void photo_finish_update_editable_metadata (Photo* self, PhotoReimportEditableState* state, GError** error) { + PhotoReimportEditableState* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 2697 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2697 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_EDITABLE_STATE (state)); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + photo_finish_reimport_editable (self, _tmp0_, &_inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20615 "Photo.c" + } else { +#line 2698 "/home/jens/Source/shotwell/src/Photo.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 2698 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20623 "Photo.c" + } + } +} + + +void photo_get_raw_dimensions (Photo* self, Dimensions* result) { + GError * _inner_error_ = NULL; +#line 2703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 20633 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20640 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->dim; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 20650 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20657 "Photo.c" + } +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20661 "Photo.c" + } + __finally350: + { + PhotoRow* _tmp4_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20670 "Photo.c" + } +#line 2704 "/home/jens/Source/shotwell/src/Photo.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 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20678 "Photo.c" + } +} + + +gboolean photo_has_transformations (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2709 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 20688 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20695 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoRow* _tmp2_ = NULL; + Orientation _tmp3_ = 0; + BackingPhotoRow* _tmp4_ = NULL; + Orientation _tmp5_ = 0; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->orientation; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->backing_photo_row; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->original_orientation; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != _tmp5_) { +#line 2712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = TRUE; +#line 20714 "Photo.c" + } else { + PhotoRow* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->transformations; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_ != NULL; +#line 20724 "Photo.c" + } +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 20728 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20735 "Photo.c" + } +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20739 "Photo.c" + } + __finally351: + { + PhotoRow* _tmp9_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20748 "Photo.c" + } +#line 2710 "/home/jens/Source/shotwell/src/Photo.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 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20756 "Photo.c" + } +} + + +gboolean photo_only_metadata_changed (Photo* self) { + gboolean result = FALSE; + MetadataDateTime* date_time = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2718 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = NULL; +#line 2720 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 2720 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp0_; +#line 2721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 2721 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 20780 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_exposure_date_time (_tmp2_); +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp3_; +#line 20791 "Photo.c" + } + { + PhotoRow* _tmp4_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20799 "Photo.c" + { + gboolean _tmp5_ = FALSE; + PhotoRow* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->transformations; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 20810 "Photo.c" + gboolean _tmp8_ = FALSE; + PhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; + BackingPhotoRow* _tmp11_ = NULL; + Orientation _tmp12_ = 0; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->orientation; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->backing_photo_row; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->original_orientation; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ != _tmp12_) { +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = TRUE; +#line 20828 "Photo.c" + } else { + gboolean _tmp13_ = FALSE; + MetadataDateTime* _tmp14_ = NULL; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = date_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 20836 "Photo.c" + PhotoRow* _tmp15_ = NULL; + time_t _tmp16_ = 0; + MetadataDateTime* _tmp17_ = NULL; + time_t _tmp18_ = 0; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->exposure_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = date_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata_date_time_get_timestamp (_tmp17_); +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp16_ != _tmp18_; +#line 20851 "Photo.c" + } else { +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = FALSE; +#line 20855 "Photo.c" + } +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp13_; +#line 20859 "Photo.c" + } +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp8_; +#line 20863 "Photo.c" + } else { +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = FALSE; +#line 20867 "Photo.c" + } +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 20871 "Photo.c" + { + PhotoRow* _tmp19_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20878 "Photo.c" + } +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20886 "Photo.c" + } + __finally352: + { + PhotoRow* _tmp20_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20895 "Photo.c" + } +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2724 "/home/jens/Source/shotwell/src/Photo.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 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20907 "Photo.c" + } +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 20913 "Photo.c" +} + + +gboolean photo_has_alterations (Photo* self) { + gboolean result = FALSE; + MetadataDateTime* date_time = NULL; + gchar* title = NULL; + gchar* comment = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + MetadataDateTime* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2732 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = NULL; +#line 2733 "/home/jens/Source/shotwell/src/Photo.vala" + title = NULL; +#line 2734 "/home/jens/Source/shotwell/src/Photo.vala" + comment = NULL; +#line 2736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 2736 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp0_; +#line 2737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 2737 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 20943 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoMetadata* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_exposure_date_time (_tmp2_); +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp3_; +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = metadata; +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp5_; +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = metadata; +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp7_; +#line 20974 "Photo.c" + } +#line 2744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = date_time; +#line 2744 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ == NULL) { +#line 20980 "Photo.c" + { + PhotoRow* _tmp9_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20987 "Photo.c" + { + BackingPhotoRow* _tmp10_ = NULL; + time_t _tmp11_ = 0; + PhotoRow* _tmp12_ = NULL; + time_t _tmp13_ = 0; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->backing_photo_row; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->timestamp; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->exposure_time; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != _tmp13_) { +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 21005 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21012 "Photo.c" + } +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21024 "Photo.c" + } + } + __finally353: + { + PhotoRow* _tmp15_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21034 "Photo.c" + } +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2746 "/home/jens/Source/shotwell/src/Photo.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 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21052 "Photo.c" + } + } + } + { + PhotoRow* _tmp16_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21062 "Photo.c" + { + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + PhotoRow* _tmp21_ = NULL; + GeeHashMap* _tmp22_ = NULL; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->row; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->transformations; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = TRUE; +#line 21078 "Photo.c" + } else { + PhotoRow* _tmp23_ = NULL; + Orientation _tmp24_ = 0; + BackingPhotoRow* _tmp25_ = NULL; + Orientation _tmp26_ = 0; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->row; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->orientation; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->backing_photo_row; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->original_orientation; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp24_ != _tmp26_; +#line 21094 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 21100 "Photo.c" + } else { + gboolean _tmp27_ = FALSE; + MetadataDateTime* _tmp28_ = NULL; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = date_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_ != NULL) { +#line 21108 "Photo.c" + PhotoRow* _tmp29_ = NULL; + time_t _tmp30_ = 0; + MetadataDateTime* _tmp31_ = NULL; + time_t _tmp32_ = 0; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->exposure_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = date_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = metadata_date_time_get_timestamp (_tmp31_); +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp30_ != _tmp32_; +#line 21123 "Photo.c" + } else { +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = FALSE; +#line 21127 "Photo.c" + } +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp27_; +#line 21131 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = TRUE; +#line 21137 "Photo.c" + } else { + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = comment; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = g_strcmp0 (_tmp34_, _tmp35_) != 0; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_); +#line 21152 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = TRUE; +#line 21158 "Photo.c" + } else { + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = title; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strcmp0 (_tmp37_, _tmp38_) != 0; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 21173 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp17_; +#line 21177 "Photo.c" + { + PhotoRow* _tmp39_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21184 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21196 "Photo.c" + } + __finally354: + { + PhotoRow* _tmp40_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21205 "Photo.c" + } +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2755 "/home/jens/Source/shotwell/src/Photo.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 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21221 "Photo.c" + } +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 21231 "Photo.c" +} + + +PhotoTransformationState* photo_save_transformation_state (Photo* self) { + PhotoTransformationState* result = NULL; + GError * _inner_error_ = NULL; +#line 2765 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 21240 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21247 "Photo.c" + { + PixelTransformer* _tmp1_ = NULL; + PixelTransformer* _tmp2_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; + PhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; + PhotoRow* _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp13_ = NULL; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 21262 "Photo.c" + PixelTransformer* _tmp3_ = NULL; + PixelTransformer* _tmp4_ = NULL; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->transformer; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixel_transformer_copy (_tmp3_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 21273 "Photo.c" + } else { +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 21279 "Photo.c" + } +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->adjustments; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 21285 "Photo.c" + PixelTransformationBundle* _tmp7_ = NULL; + PixelTransformationBundle* _tmp8_ = NULL; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->adjustments; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = pixel_transformation_bundle_copy (_tmp7_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp8_; +#line 21296 "Photo.c" + } else { +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = NULL; +#line 21302 "Photo.c" + } +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->orientation; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->transformations; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_photo_transformation_state_impl_new (self, _tmp10_, _tmp12_, _tmp1_, _tmp5_); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 21320 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21327 "Photo.c" + } +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21331 "Photo.c" + } + __finally355: + { + PhotoRow* _tmp15_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21340 "Photo.c" + } +#line 2766 "/home/jens/Source/shotwell/src/Photo.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 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 21348 "Photo.c" + } +} + + +static gpointer _pixel_transformer_ref0 (gpointer self) { +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? pixel_transformer_ref (self) : NULL; +#line 21356 "Photo.c" +} + + +static gpointer _pixel_transformation_bundle_ref0 (gpointer self) { +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? pixel_transformation_bundle_ref (self) : NULL; +#line 21363 "Photo.c" +} + + +gboolean photo_load_transformation_state (Photo* self, PhotoTransformationState* state) { + gboolean result = FALSE; + PhotoPhotoTransformationStateImpl* state_impl = NULL; + PhotoTransformationState* _tmp0_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp1_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp2_ = NULL; + Orientation saved_orientation = 0; + PhotoPhotoTransformationStateImpl* _tmp3_ = NULL; + Orientation _tmp4_ = 0; + GeeHashMap* saved_transformations = NULL; + PhotoPhotoTransformationStateImpl* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + PixelTransformer* saved_transformer = NULL; + PhotoPhotoTransformationStateImpl* _tmp7_ = NULL; + PixelTransformer* _tmp8_ = NULL; + PixelTransformationBundle* saved_adjustments = NULL; + PhotoPhotoTransformationStateImpl* _tmp9_ = NULL; + PixelTransformationBundle* _tmp10_ = NULL; + gboolean committed = FALSE; + gboolean _tmp30_ = FALSE; + GError * _inner_error_ = NULL; +#line 2774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_TRANSFORMATION_STATE (state), FALSE); +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL) ? ((PhotoPhotoTransformationStateImpl*) _tmp0_) : NULL); +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + state_impl = _tmp1_; +#line 2776 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = state_impl; +#line 2776 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21408 "Photo.c" + } +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = state_impl; +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_photo_transformation_state_impl_get_orientation (_tmp3_); +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + saved_orientation = _tmp4_; +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = state_impl; +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_photo_transformation_state_impl_get_transformations (_tmp5_); +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + saved_transformations = _tmp6_; +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = state_impl; +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_photo_transformation_state_impl_get_transformer (_tmp7_); +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + saved_transformer = _tmp8_; +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = state_impl; +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_photo_transformation_state_impl_get_color_adjustments (_tmp9_); +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + saved_adjustments = _tmp10_; +#line 21434 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21441 "Photo.c" + { + PhotoTable* _tmp12_ = NULL; + PhotoTable* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + PhotoID _tmp15_ = {0}; + Orientation _tmp16_ = 0; + GeeHashMap* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_get_instance (); +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->photo_id; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = saved_orientation; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = saved_transformations; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_table_set_transformation_state (_tmp13_, &_tmp15_, _tmp16_, _tmp17_); +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp18_; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 2788 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = committed; +#line 2788 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_) { +#line 21473 "Photo.c" + PhotoRow* _tmp20_ = NULL; + Orientation _tmp21_ = 0; + PhotoRow* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + GeeHashMap* _tmp24_ = NULL; + PixelTransformer* _tmp25_ = NULL; + PixelTransformer* _tmp26_ = NULL; + PixelTransformationBundle* _tmp27_ = NULL; + PixelTransformationBundle* _tmp28_ = NULL; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = saved_orientation; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_->orientation = _tmp21_; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = self->row; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = saved_transformations; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp22_->transformations); +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_->transformations = _tmp24_; +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = saved_transformer; +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _pixel_transformer_ref0 (_tmp25_); +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp26_; +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = saved_adjustments; +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _pixel_transformation_bundle_ref0 (_tmp27_); +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp28_; +#line 21515 "Photo.c" + } + } + __finally356: + { + PhotoRow* _tmp29_ = NULL; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21525 "Photo.c" + } +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (saved_adjustments); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (saved_transformer); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (saved_transformations); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2785 "/home/jens/Source/shotwell/src/Photo.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 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21543 "Photo.c" + } + } +#line 2796 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = committed; +#line 2796 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_) { +#line 21550 "Photo.c" + Alteration* _tmp31_ = NULL; + Alteration* _tmp32_ = NULL; +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = alteration_new ("image", "transformation-state"); +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp32_); +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp32_); +#line 21561 "Photo.c" + } +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (saved_adjustments); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (saved_transformer); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (saved_transformations); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21575 "Photo.c" +} + + +void photo_remove_all_transformations (Photo* self) { +#line 2802 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2803 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, TRUE); +#line 21584 "Photo.c" +} + + +static void photo_internal_remove_all_transformations (Photo* self, gboolean notify) { + gboolean is_altered = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + GError * _inner_error_ = NULL; +#line 2806 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2807 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = FALSE; +#line 21597 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21604 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + PhotoRow* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + Orientation _tmp8_ = 0; + BackingPhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_table_remove_all_transformations (_tmp2_, &_tmp4_); +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = _tmp5_; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_->transformations); +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->transformations = NULL; +#line 2812 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2812 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 2813 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2813 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->orientation; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->backing_photo_row; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->original_orientation; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != _tmp10_) { +#line 21654 "Photo.c" + PhotoTable* _tmp11_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + PhotoID _tmp14_ = {0}; + BackingPhotoRow* _tmp15_ = NULL; + Orientation _tmp16_ = 0; + PhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + Orientation _tmp19_ = 0; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_get_instance (); +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo_id; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->backing_photo_row; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->original_orientation; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_orientation (_tmp12_, &_tmp14_, _tmp16_); +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp12_); +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->backing_photo_row; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->original_orientation; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_->orientation = _tmp19_; +#line 2819 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = TRUE; +#line 21690 "Photo.c" + } + } + __finally357: + { + PhotoRow* _tmp20_ = NULL; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21700 "Photo.c" + } +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2808 "/home/jens/Source/shotwell/src/Photo.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 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 21710 "Photo.c" + } + } +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = is_altered; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 21717 "Photo.c" + gboolean _tmp23_ = FALSE; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = notify; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp23_; +#line 21723 "Photo.c" + } else { +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = FALSE; +#line 21727 "Photo.c" + } +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 21731 "Photo.c" + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("image", "revert"); +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 21742 "Photo.c" + } +} + + +Orientation photo_get_original_orientation (Photo* self) { + Orientation result = 0; + GError * _inner_error_ = NULL; +#line 2827 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 21752 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21759 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->original_orientation; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 21769 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21776 "Photo.c" + } +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21780 "Photo.c" + } + __finally358: + { + PhotoRow* _tmp4_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21789 "Photo.c" + } +#line 2828 "/home/jens/Source/shotwell/src/Photo.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 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 21797 "Photo.c" + } +} + + +Orientation photo_get_orientation (Photo* self) { + Orientation result = 0; + GError * _inner_error_ = NULL; +#line 2833 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 21807 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21814 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->orientation; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 21824 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21831 "Photo.c" + } +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21835 "Photo.c" + } + __finally359: + { + PhotoRow* _tmp4_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21844 "Photo.c" + } +#line 2834 "/home/jens/Source/shotwell/src/Photo.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 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 21852 "Photo.c" + } +} + + +gboolean photo_set_orientation (Photo* self, Orientation orientation) { + gboolean result = FALSE; + gboolean committed = FALSE; + gboolean _tmp14_ = FALSE; + GError * _inner_error_ = NULL; +#line 2839 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2840 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 21866 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21873 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; + Orientation _tmp3_ = 0; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->orientation; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = orientation; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp3_) { +#line 21886 "Photo.c" + PhotoTable* _tmp4_ = NULL; + PhotoTable* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + PhotoID _tmp7_ = {0}; + Orientation _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_table_get_instance (); +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->photo_id; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = orientation; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_table_set_orientation (_tmp5_, &_tmp7_, _tmp8_); +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp9_; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp5_); +#line 2844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = committed; +#line 2844 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 21914 "Photo.c" + PhotoRow* _tmp11_ = NULL; + Orientation _tmp12_ = 0; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = orientation; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->orientation = _tmp12_; +#line 21923 "Photo.c" + } + } + } + __finally360: + { + PhotoRow* _tmp13_ = NULL; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21934 "Photo.c" + } +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2841 "/home/jens/Source/shotwell/src/Photo.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 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21944 "Photo.c" + } + } +#line 2849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = committed; +#line 2849 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 21951 "Photo.c" + Alteration* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = alteration_new ("image", "orientation"); +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp16_); +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp16_); +#line 21962 "Photo.c" + } +#line 2852 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2852 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21968 "Photo.c" +} + + +gboolean photo_check_can_rotate (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2855 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->can_rotate_now; +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21983 "Photo.c" +} + + +static void photo_real_rotate (Photo* self, Rotation rotation) { + GError * _inner_error_ = NULL; + { + PhotoRow* _tmp0_ = NULL; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21995 "Photo.c" + { + Orientation _tmp1_ = 0; + Rotation _tmp2_ = 0; + Orientation _tmp3_ = 0; +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotation; +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = orientation_perform (_tmp1_, _tmp2_); +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp3_); +#line 22008 "Photo.c" + } + __finally361: + { + PhotoRow* _tmp4_ = NULL; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22017 "Photo.c" + } +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2860 "/home/jens/Source/shotwell/src/Photo.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 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 22027 "Photo.c" + } + } +} + + +void photo_rotate (Photo* self, Rotation rotation) { +#line 2859 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2859 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->rotate (self, rotation); +#line 22038 "Photo.c" +} + + +static gboolean photo_has_transformation (Photo* self, const gchar* name) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2865 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2865 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 22049 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22056 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoRow* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->transformations; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 22067 "Photo.c" + PhotoRow* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->transformations; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = name; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_); +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_; +#line 22082 "Photo.c" + } else { +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 22086 "Photo.c" + } +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 22090 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22097 "Photo.c" + } +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22101 "Photo.c" + } + __finally362: + { + PhotoRow* _tmp9_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22110 "Photo.c" + } +#line 2866 "/home/jens/Source/shotwell/src/Photo.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 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22118 "Photo.c" + } +} + + +static KeyValueMap* photo_get_transformation (Photo* self, const gchar* name) { + KeyValueMap* result = NULL; + KeyValueMap* map = NULL; + GError * _inner_error_ = NULL; +#line 2874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 2875 "/home/jens/Source/shotwell/src/Photo.vala" + map = NULL; +#line 22133 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22140 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 22150 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + KeyValueMap* _tmp7_ = NULL; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->transformations; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = name; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + map = (KeyValueMap*) _tmp6_; +#line 2879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map; +#line 2879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ != NULL) { +#line 22172 "Photo.c" + KeyValueMap* _tmp8_ = NULL; + KeyValueMap* _tmp9_ = NULL; +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = map; +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = key_value_map_copy (_tmp8_); +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp9_; +#line 22183 "Photo.c" + } + } + } + __finally363: + { + PhotoRow* _tmp10_ = NULL; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22194 "Photo.c" + } +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2876 "/home/jens/Source/shotwell/src/Photo.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 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 22206 "Photo.c" + } + } +#line 2884 "/home/jens/Source/shotwell/src/Photo.vala" + result = map; +#line 2884 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22213 "Photo.c" +} + + +static gboolean photo_set_transformation (Photo* self, KeyValueMap* trans) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2887 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2887 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (trans), FALSE); +#line 22224 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22231 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PhotoRow* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + KeyValueMap* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + KeyValueMap* _tmp10_ = NULL; + PhotoTable* _tmp11_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + PhotoID _tmp14_ = {0}; + KeyValueMap* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 22254 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_->transformations); +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_->transformations = _tmp4_; +#line 22265 "Photo.c" + } +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->transformations; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = trans; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = key_value_map_get_group (_tmp7_); +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = trans; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, _tmp10_); +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_get_instance (); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo_id; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = trans; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_table_set_transformation (_tmp12_, &_tmp14_, _tmp15_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp12_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp17_; +#line 22301 "Photo.c" + { + PhotoRow* _tmp18_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22308 "Photo.c" + } +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22312 "Photo.c" + } + __finally364: + { + PhotoRow* _tmp19_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22321 "Photo.c" + } +#line 2888 "/home/jens/Source/shotwell/src/Photo.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 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22329 "Photo.c" + } +} + + +static gboolean photo_remove_transformation (Photo* self, const gchar* name) { + gboolean result = FALSE; + gboolean altered_cache = FALSE; + gboolean altered_persistent = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + GError * _inner_error_ = NULL; +#line 2898 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2898 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 22345 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22352 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoTable* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + PhotoID _tmp15_ = {0}; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 22368 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PhotoRow* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->transformations; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = name; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, NULL); +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + altered_cache = _tmp6_; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->transformations; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_MAP, GeeMap)); +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ == 0) { +#line 22397 "Photo.c" + PhotoRow* _tmp11_ = NULL; +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_->transformations); +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->transformations = NULL; +#line 22405 "Photo.c" + } + } else { +#line 2906 "/home/jens/Source/shotwell/src/Photo.vala" + altered_cache = FALSE; +#line 22410 "Photo.c" + } +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_get_instance (); +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->photo_id; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = name; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_table_remove_transformation (_tmp13_, &_tmp15_, _tmp16_); +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + altered_persistent = _tmp17_; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 22428 "Photo.c" + } + __finally365: + { + PhotoRow* _tmp18_ = NULL; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22437 "Photo.c" + } +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2900 "/home/jens/Source/shotwell/src/Photo.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 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22447 "Photo.c" + } + } +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = altered_cache; +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 22456 "Photo.c" + } else { +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = altered_persistent; +#line 22460 "Photo.c" + } +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp19_; +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22466 "Photo.c" +} + + +gboolean photo_has_crop (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2916 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "crop"); +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22481 "Photo.c" +} + + +gboolean photo_get_raw_crop (Photo* self, Box* crop) { + Box _vala_crop = {0}; + gboolean result = FALSE; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint left = 0; + KeyValueMap* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint top = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint right = 0; + KeyValueMap* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint bottom = 0; + KeyValueMap* _tmp8_ = NULL; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 2921 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2922 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, 0, 0, 0, 0); +#line 2924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "crop"); +#line 2924 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2925 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2925 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22531 "Photo.c" + } +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22535 "Photo.c" + } +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = key_value_map_get_int (_tmp2_, "left", -1); +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + left = _tmp3_; +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "top", -1); +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + top = _tmp5_; +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = map; +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = key_value_map_get_int (_tmp6_, "right", -1); +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + right = _tmp7_; +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = map; +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = key_value_map_get_int (_tmp8_, "bottom", -1); +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + bottom = _tmp9_; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = left; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == -1) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 22567 "Photo.c" + } else { + gint _tmp14_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = top; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp14_ == -1; +#line 22574 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 22580 "Photo.c" + } else { + gint _tmp15_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = right; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp15_ == -1; +#line 22587 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = TRUE; +#line 22593 "Photo.c" + } else { + gint _tmp16_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = bottom; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp16_ == -1; +#line 22600 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22612 "Photo.c" + } +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22616 "Photo.c" + } +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = left; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = top; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = right; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = bottom; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, _tmp17_, _tmp18_, _tmp19_, _tmp20_); +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22636 "Photo.c" + } +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22640 "Photo.c" +} + + +static void photo_set_raw_crop (Photo* self, Box* crop) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + Box _tmp2_ = {0}; + gint _tmp3_ = 0; + KeyValueMap* _tmp4_ = NULL; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + KeyValueMap* _tmp7_ = NULL; + Box _tmp8_ = {0}; + gint _tmp9_ = 0; + KeyValueMap* _tmp10_ = NULL; + Box _tmp11_ = {0}; + gint _tmp12_ = 0; + KeyValueMap* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (crop != NULL); +#line 2943 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = key_value_map_new ("crop"); +#line 2943 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *crop; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.left; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp1_, "left", _tmp3_); +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *crop; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.top; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp4_, "top", _tmp6_); +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *crop; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.right; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp7_, "right", _tmp9_); +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = map; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = *crop; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_.bottom; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp10_, "bottom", _tmp12_); +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = map; +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_set_transformation (self, _tmp13_); +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 22707 "Photo.c" + Alteration* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = alteration_new ("image", "crop"); +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp16_); +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp16_); +#line 22718 "Photo.c" + } +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 22722 "Photo.c" +} + + +static gboolean photo_get_raw_straighten (Photo* self, gdouble* angle) { + gdouble _vala_angle = 0.0; + gboolean result = FALSE; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + KeyValueMap* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; +#line 2953 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2954 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "straighten"); +#line 2954 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2955 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2956 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_angle = 0.0; +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + if (angle) { +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + *angle = _vala_angle; +#line 22754 "Photo.c" + } +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22758 "Photo.c" + } +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = key_value_map_get_double (_tmp2_, "angle", 0.0); +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_angle = _tmp3_; +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + if (angle) { +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + *angle = _vala_angle; +#line 22774 "Photo.c" + } +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22778 "Photo.c" +} + + +static void photo_set_raw_straighten (Photo* self, gdouble theta) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + KeyValueMap* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2966 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = key_value_map_new ("straighten"); +#line 2967 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = theta; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_double (_tmp1_, "angle", _tmp2_); +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = map; +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_set_transformation (self, _tmp3_); +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 22807 "Photo.c" + Alteration* _tmp5_ = NULL; + Alteration* _tmp6_ = NULL; +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration_new ("image", "straighten"); +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp6_); +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp6_); +#line 22818 "Photo.c" + } +#line 2966 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 22822 "Photo.c" +} + + +static EditingToolsRedeyeInstance* photo_get_raw_redeye_instances (Photo* self, int* result_length1) { + EditingToolsRedeyeInstance* result = NULL; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint num_points = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + EditingToolsRedeyeInstance* res = NULL; + gint _tmp7_ = 0; + EditingToolsRedeyeInstance* _tmp8_ = NULL; + gint res_length1 = 0; + gint _res_size_ = 0; + GdkPoint default_point = {0}; + GdkPoint _tmp9_ = {0}; + EditingToolsRedeyeInstance* _tmp47_ = NULL; + gint _tmp47__length1 = 0; +#line 2976 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "redeye"); +#line 2977 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2978 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 22854 "Photo.c" + EditingToolsRedeyeInstance* _tmp2_ = NULL; + EditingToolsRedeyeInstance* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_new0 (EditingToolsRedeyeInstance, 0); +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3__length1 = 0; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp3__length1; +#line 22868 "Photo.c" + } +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22876 "Photo.c" + } +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "num_points", -1); +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp5_; +#line 2982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = num_points; +#line 2982 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp6_ > 0, "num_points > 0"); +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = num_points; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_new0 (EditingToolsRedeyeInstance, _tmp7_); +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + res = _tmp8_; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + res_length1 = _tmp7_; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _res_size_ = res_length1; +#line 2986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_.x = 0; +#line 2986 "/home/jens/Source/shotwell/src/Photo.vala" + default_point = _tmp9_; +#line 2987 "/home/jens/Source/shotwell/src/Photo.vala" + default_point.x = -1; +#line 2988 "/home/jens/Source/shotwell/src/Photo.vala" + default_point.y = -1; +#line 22906 "Photo.c" + { + gint i = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + i = 0; +#line 22911 "Photo.c" + { + gboolean _tmp10_ = FALSE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = TRUE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 22918 "Photo.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gchar* center_key = NULL; + gint _tmp14_ = 0; + gchar* _tmp15_ = NULL; + gchar* radius_key = NULL; + gint _tmp16_ = 0; + gchar* _tmp17_ = NULL; + EditingToolsRedeyeInstance* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + KeyValueMap* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GdkPoint _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + EditingToolsRedeyeInstance* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + EditingToolsRedeyeInstance _tmp26_ = {0}; + GdkPoint _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkPoint _tmp29_ = {0}; + gint _tmp30_ = 0; + EditingToolsRedeyeInstance* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + EditingToolsRedeyeInstance _tmp33_ = {0}; + GdkPoint _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkPoint _tmp36_ = {0}; + gint _tmp37_ = 0; + EditingToolsRedeyeInstance* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + KeyValueMap* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gint _tmp42_ = 0; + EditingToolsRedeyeInstance* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + EditingToolsRedeyeInstance _tmp45_ = {0}; + gint _tmp46_ = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 22963 "Photo.c" + gint _tmp11_ = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = i; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + i = _tmp11_ + 1; +#line 22969 "Photo.c" + } +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = FALSE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = i; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = num_points; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 22981 "Photo.c" + } +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = i; +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_strdup_printf ("center%d", _tmp14_); +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + center_key = _tmp15_; +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = i; +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strdup_printf ("radius%d", _tmp16_); +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + radius_key = _tmp17_; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = res; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18__length1 = res_length1; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = i; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = map; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = center_key; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = default_point; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_get_point (_tmp20_, _tmp21_, &_tmp22_, &_tmp23_); +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_[_tmp19_].center = _tmp23_; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = res; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24__length1 = res_length1; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = i; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp24_[_tmp25_]; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.center; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.x; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = default_point; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_.x; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp28_ != _tmp30_, "res[i].center.x != default_point.x"); +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = res; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31__length1 = res_length1; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = i; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.center; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_.y; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = default_point; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_.y; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp35_ != _tmp37_, "res[i].center.y != default_point.y"); +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = res; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38__length1 = res_length1; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = i; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = map; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = radius_key; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = key_value_map_get_int (_tmp40_, _tmp41_, -1); +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_[_tmp39_].radius = _tmp42_; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = res; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43__length1 = res_length1; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = i; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_.radius; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp46_ != -1, "res[i].radius != -1"); +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (radius_key); +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (center_key); +#line 23077 "Photo.c" + } + } + } +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = res; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47__length1 = res_length1; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp47__length1; +#line 23089 "Photo.c" + } +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp47_; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23097 "Photo.c" +} + + +gboolean photo_has_redeye_transformations (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 3005 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "redeye"); +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23112 "Photo.c" +} + + +void photo_add_redeye_instance (Photo* self, EditingToolsRedeyeInstance* redeye) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint num_points = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gchar* radius_key = NULL; + gint _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* center_key = NULL; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; + KeyValueMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + EditingToolsRedeyeInstance _tmp14_ = {0}; + gint _tmp15_ = 0; + KeyValueMap* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + EditingToolsRedeyeInstance _tmp18_ = {0}; + GdkPoint _tmp19_ = {0}; + KeyValueMap* _tmp20_ = NULL; + gint _tmp21_ = 0; + KeyValueMap* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (redeye != NULL); +#line 3011 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "redeye"); +#line 3011 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 3012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 3012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 23155 "Photo.c" + KeyValueMap* _tmp2_ = NULL; + KeyValueMap* _tmp3_ = NULL; +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = key_value_map_new ("redeye"); +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp2_; +#line 3014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = map; +#line 3014 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp3_, "num_points", 0); +#line 23168 "Photo.c" + } +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "num_points", -1); +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp5_; +#line 3018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = num_points; +#line 3018 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp6_ >= 0, "num_points >= 0"); +#line 3020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = num_points; +#line 3020 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp7_ + 1; +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = num_points; +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup_printf ("radius%d", _tmp8_ - 1); +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + radius_key = _tmp9_; +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = num_points; +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = g_strdup_printf ("center%d", _tmp10_ - 1); +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + center_key = _tmp11_; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = map; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = radius_key; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = *redeye; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.radius; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp12_, _tmp13_, _tmp15_); +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = map; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = center_key; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = *redeye; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.center; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_point (_tmp16_, _tmp17_, &_tmp19_); +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = map; +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = num_points; +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp20_, "num_points", _tmp21_); +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = map; +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_set_transformation (self, _tmp22_); +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 23228 "Photo.c" + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("image", "redeye"); +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 23239 "Photo.c" + } +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (center_key); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (radius_key); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 23247 "Photo.c" +} + + +static gboolean photo_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport) { + Dimensions _vala_scaled_image = {0}; + Dimensions _vala_scaled_to_viewport = {0}; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 23260 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 23267 "Photo.c" + { + Scaling _tmp1_ = {0}; + PhotoException _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + Dimensions _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = exceptions; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_locked_calculate_pixbuf_dimensions (self, &_tmp1_, _tmp2_, &_tmp3_, &_tmp4_); +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp3_; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp4_; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 23286 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 23293 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23299 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23305 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23309 "Photo.c" + } + __finally366: + { + PhotoRow* _tmp7_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 23318 "Photo.c" + } +#line 3047 "/home/jens/Source/shotwell/src/Photo.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 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 23326 "Photo.c" + } +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23332 "Photo.c" + } +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23338 "Photo.c" + } +} + + +static gboolean photo_locked_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport) { + Dimensions _vala_scaled_image = {0}; + Dimensions _vala_scaled_to_viewport = {0}; + gboolean result = FALSE; + Dimensions raw = {0}; + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Orientation orientation = 0; + Orientation _tmp4_ = 0; + PhotoException _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp53_ = FALSE; + Dimensions _tmp54_ = {0}; + gint _tmp55_ = 0; + Dimensions _tmp56_ = {0}; + gint _tmp57_ = 0; + gboolean _tmp63_ = FALSE; + gboolean _tmp64_ = FALSE; +#line 3055 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3055 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 3057 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 3057 "/home/jens/Source/shotwell/src/Photo.vala" + raw = _tmp0_; +#line 3059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scaling_is_unscaled (scaling); +#line 3059 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 23374 "Photo.c" + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; +#line 3060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = raw; +#line 3060 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp2_; +#line 3061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = raw; +#line 3061 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp3_; +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23391 "Photo.c" + } +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23397 "Photo.c" + } +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23401 "Photo.c" + } +#line 3066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_orientation (self); +#line 3066 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp4_; +#line 3071 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_vala_scaled_image, 0, 0); +#line 3072 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_vala_scaled_to_viewport, 0, 0); +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = exceptions; +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_exception_allows (_tmp5_, PHOTO_EXCEPTION_CROP); +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 23417 "Photo.c" + Box crop = {0}; + Box _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_get_raw_crop (self, &_tmp7_); +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp7_; +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 23427 "Photo.c" + Dimensions rotated_raw = {0}; + Dimensions _tmp9_ = {0}; + PhotoException _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + Box scaled_crop = {0}; + Dimensions _tmp19_ = {0}; + Dimensions _tmp20_ = {0}; + Box _tmp21_ = {0}; + Dimensions _tmp22_ = {0}; + gboolean _tmp23_ = FALSE; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Dimensions _tmp30_ = {0}; + Dimensions _tmp31_ = {0}; + Dimensions _tmp32_ = {0}; + PhotoException _tmp33_ = 0; + gboolean _tmp34_ = FALSE; +#line 3079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = raw; +#line 3079 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp9_; +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = exceptions; +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_exception_allows (_tmp10_, PHOTO_EXCEPTION_ORIENTATION); +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 23455 "Photo.c" + Orientation _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + Box _tmp14_ = {0}; + Box _tmp15_ = {0}; + Orientation _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + Dimensions _tmp18_ = {0}; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = orientation; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = raw; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = crop; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_box (_tmp12_, &_tmp13_, &_tmp14_, &_tmp15_); +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp15_; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = orientation; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = raw; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp16_, &_tmp17_, &_tmp18_); +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp18_; +#line 23481 "Photo.c" + } +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp19_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp19_, &_tmp20_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_scaled (&crop, &_tmp20_, &_tmp21_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_crop = _tmp21_; +#line 3089 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&scaled_crop, &_tmp22_); +#line 3089 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp22_; +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = box_get_width (&crop); +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = box_get_width (&scaled_crop); +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ <= _tmp25_) { +#line 23501 "Photo.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = box_get_height (&crop); +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = box_get_height (&scaled_crop); +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp26_ <= _tmp27_; +#line 23510 "Photo.c" + } else { +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = FALSE; +#line 23514 "Photo.c" + } +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 23518 "Photo.c" + Dimensions _tmp28_ = {0}; + Dimensions _tmp29_ = {0}; +#line 3094 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = raw; +#line 3094 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp28_; +#line 3095 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp29_); +#line 3095 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp29_; +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23535 "Photo.c" + } +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23541 "Photo.c" + } +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23545 "Photo.c" + } +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp30_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&scaled_crop, &_tmp31_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_get_scaled_similar (&rotated_raw, &_tmp30_, &_tmp31_, &_tmp32_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp32_; +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = exceptions; +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo_exception_allows (_tmp33_, PHOTO_EXCEPTION_ORIENTATION); +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp34_) { +#line 23561 "Photo.c" + Orientation _tmp35_ = 0; + Dimensions _tmp36_ = {0}; + Dimensions _tmp37_ = {0}; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = orientation; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _vala_scaled_image; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_dimensions (_tmp35_, &_tmp36_, &_tmp37_); +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp37_; +#line 23573 "Photo.c" + } + } + } +#line 3112 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = dimensions_has_area (&_vala_scaled_image); +#line 3112 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp38_) { +#line 23581 "Photo.c" + Dimensions rotated_raw = {0}; + Dimensions _tmp39_ = {0}; + PhotoException _tmp40_ = 0; + gboolean _tmp41_ = FALSE; + Dimensions _tmp45_ = {0}; + Dimensions _tmp46_ = {0}; + Dimensions _tmp47_ = {0}; + PhotoException _tmp48_ = 0; + gboolean _tmp49_ = FALSE; +#line 3114 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = raw; +#line 3114 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp39_; +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = exceptions; +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_exception_allows (_tmp40_, PHOTO_EXCEPTION_ORIENTATION); +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 23601 "Photo.c" + Orientation _tmp42_ = 0; + Dimensions _tmp43_ = {0}; + Dimensions _tmp44_ = {0}; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = orientation; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = raw; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp42_, &_tmp43_, &_tmp44_); +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp44_; +#line 23613 "Photo.c" + } +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = rotated_raw; +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp45_, &_tmp46_); +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp46_; +#line 3119 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _vala_scaled_image; +#line 3119 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp47_; +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = exceptions; +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_exception_allows (_tmp48_, PHOTO_EXCEPTION_ORIENTATION); +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 23631 "Photo.c" + Orientation _tmp50_ = 0; + Dimensions _tmp51_ = {0}; + Dimensions _tmp52_ = {0}; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = orientation; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _vala_scaled_image; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_dimensions (_tmp50_, &_tmp51_, &_tmp52_); +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp52_; +#line 23643 "Photo.c" + } + } +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _vala_scaled_image; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_.width; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = raw; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tmp56_.width; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_ >= _tmp57_) { +#line 23656 "Photo.c" + Dimensions _tmp58_ = {0}; + gint _tmp59_ = 0; + Dimensions _tmp60_ = {0}; + gint _tmp61_ = 0; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _vala_scaled_image; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_.height; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = raw; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_.height; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp59_ >= _tmp61_; +#line 23671 "Photo.c" + } else { +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 23675 "Photo.c" + } +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp53_) { +#line 23679 "Photo.c" + Dimensions _tmp62_ = {0}; +#line 3128 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = raw; +#line 3128 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp62_; +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23691 "Photo.c" + } +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23697 "Photo.c" + } +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23701 "Photo.c" + } +#line 3133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = dimensions_has_area (&_vala_scaled_image); +#line 3133 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp63_, "scaled_image.has_area()"); +#line 3134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = dimensions_has_area (&_vala_scaled_to_viewport); +#line 3134 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp64_, "scaled_to_viewport.has_area()"); +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23717 "Photo.c" + } +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23723 "Photo.c" + } +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23727 "Photo.c" +} + + +static GdkPixbuf* photo_load_raw_pixbuf (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + PhotoFileReader* loader = NULL; + BackingFetchMode _tmp0_ = 0; + PhotoFileReader* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Dimensions scaled_image = {0}; + Dimensions scaled_to_viewport = {0}; + gboolean is_scaled = FALSE; + Scaling _tmp7_ = {0}; + PhotoException _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + GdkPixbuf* pixbuf = NULL; + PhotoFileReader* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; + gboolean _tmp23_ = FALSE; + GError * _inner_error_ = NULL; +#line 3142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = fetch_mode; +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_backing_reader (self, _tmp0_); +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + loader = _tmp1_; +#line 3148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = scaling_is_unscaled (scaling); +#line 3148 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 23769 "Photo.c" + GdkPixbuf* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = loader; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_reader_unscaled_read (_tmp4_, &_inner_error_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp5_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23788 "Photo.c" + } +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp3_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = NULL; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp6_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23802 "Photo.c" + } +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = *scaling; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = exceptions; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_calculate_pixbuf_dimensions (self, &_tmp7_, _tmp8_, &_tmp9_, &_tmp10_); +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_image = _tmp9_; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp10_; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + is_scaled = _tmp11_; +#line 3160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = is_scaled; +#line 3160 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp12_) { +#line 23820 "Photo.c" + GdkPixbuf* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = loader; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_reader_unscaled_read (_tmp14_, &_inner_error_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp15_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23839 "Photo.c" + } +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp13_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = NULL; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp16_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp13_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23853 "Photo.c" + } +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = loader; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp18_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = scaled_image; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_reader_scaled_read (_tmp17_, &_tmp18_, &_tmp19_, &_inner_error_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp20_; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23873 "Photo.c" + } +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = pixbuf; +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp21_, &_tmp22_); +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = dimensions_approx_equals (&scaled_image, &_tmp22_, PHOTO_SCALING_FUDGE); +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp23_, "scaled_image.approx_equals(Dimensions.for_pixbuf(pixbuf), SCALING_FUDGE)"); +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23889 "Photo.c" +} + + +GdkPixbuf* photo_get_master_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 3183 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3183 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotate; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_untransformed_pixbuf (self, &_tmp1_, _tmp2_, BACKING_FETCH_MODE_MASTER, &_inner_error_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23919 "Photo.c" + } +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23931 "Photo.c" +} + + +GdkPixbuf* photo_get_unmodified_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 3188 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3188 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotate; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_untransformed_pixbuf (self, &_tmp1_, _tmp2_, BACKING_FETCH_MODE_UNMODIFIED, &_inner_error_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23961 "Photo.c" + } +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23973 "Photo.c" +} + + +static GdkPixbuf* photo_get_untransformed_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + Dimensions scaled_image = {0}; + Dimensions scaled_to_viewport = {0}; + Orientation original_orientation = 0; + GdkPixbuf* pixbuf = NULL; + Scaling _tmp6_ = {0}; + BackingFetchMode _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GError * _inner_error_ = NULL; +#line 3193 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3193 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 23992 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 23999 "Photo.c" + { + Scaling _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + Orientation _tmp4_ = 0; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + photo_calculate_pixbuf_dimensions (self, &_tmp1_, PHOTO_EXCEPTION_NONE, &_tmp2_, &_tmp3_); +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_image = _tmp2_; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp3_; +#line 3210 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_original_orientation (self); +#line 3210 "/home/jens/Source/shotwell/src/Photo.vala" + original_orientation = _tmp4_; +#line 24017 "Photo.c" + } + __finally367: + { + PhotoRow* _tmp5_ = NULL; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 24026 "Photo.c" + } +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24034 "Photo.c" + } + } +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = *scaling; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = fetch_mode; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_load_raw_pixbuf (self, &_tmp6_, PHOTO_EXCEPTION_NONE, _tmp7_, &_inner_error_); +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp8_; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24051 "Photo.c" + } +#line 3220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = rotate; +#line 3220 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_) { +#line 24057 "Photo.c" + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = pixbuf; +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = orientation_rotate_pixbuf (original_orientation, _tmp10_); +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp11_; +#line 24068 "Photo.c" + } +#line 3230 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3230 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24074 "Photo.c" +} + + +static GdkPixbuf* photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error) { + Photo * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 3233 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 3233 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_pixbuf_with_options (self, &_tmp1_, PHOTO_EXCEPTION_NONE, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24102 "Photo.c" + } +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24114 "Photo.c" +} + + +/** + * One-stop shopping for the source pixbuf cache. + * + * The source pixbuf cache holds untransformed, unscaled (full-sized) pixbufs of Photo objects. + * These can be rather large and shouldn't be held in memory for too long, nor should many be + * allowed to stack up. + * + * If locate is non-null, a source pixbuf is returned for the Photo. If keep is true, the + * pixbuf is stored in the cache. (Thus, passing a Photo w/ keep == false will drop the cached + * pixbuf.) If Photo is non-null but keep is false, null is returned. + * + * Whether locate is null or not, the cache is walked in its entirety, dropping expired pixbufs + * and dropping excessive pixbufs from the LRU. Locating a Photo "touches" the pixbuf, i.e. + * it moves to the head of the LRU. + */ +static gpointer _photo_cached_pixbuf_ref0 (gpointer self) { +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_cached_pixbuf_ref (self) : NULL; +#line 24136 "Photo.c" +} + + +static gboolean _photo_trim_source_pixbuf_cache_gsource_func (gpointer self) { + gboolean result; + result = photo_trim_source_pixbuf_cache (); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24145 "Photo.c" +} + + +static GdkPixbuf* photo_run_source_pixbuf_cache (Photo* locate, gboolean keep, GError** error) { + GdkPixbuf* result = NULL; + GError * _inner_error_ = NULL; +#line 3252 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((locate == NULL) || IS_PHOTO (locate), NULL); +#line 24154 "Photo.c" + { + GeeLinkedList* _tmp0_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&__lock_photo_source_pixbuf_cache); +#line 24161 "Photo.c" + { + PhotoCachedPixbuf* found = NULL; + gdouble min_elapsed = 0.0; + gint count = 0; + GeeIterator* iter = NULL; + GeeLinkedList* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + PhotoCachedPixbuf* _tmp31_ = NULL; + gboolean _tmp43_ = FALSE; + PhotoCachedPixbuf* _tmp44_ = NULL; + guint _tmp59_ = 0U; + GeeLinkedList* _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + GdkPixbuf* _tmp69_ = NULL; + PhotoCachedPixbuf* _tmp70_ = NULL; + GdkPixbuf* _tmp73_ = NULL; +#line 3254 "/home/jens/Source/shotwell/src/Photo.vala" + found = NULL; +#line 3258 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = DBL_MAX; +#line 3259 "/home/jens/Source/shotwell/src/Photo.vala" + count = 0; +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_source_pixbuf_cache; +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + iter = _tmp2_; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 24195 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PhotoCachedPixbuf* cached_pixbuf = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + gdouble elapsed = 0.0; + PhotoCachedPixbuf* _tmp7_ = NULL; + GTimer* _tmp8_ = NULL; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gboolean _tmp11_ = FALSE; + Photo* _tmp12_ = NULL; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = iter; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 24216 "Photo.c" + } +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = iter; +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + cached_pixbuf = (PhotoCachedPixbuf*) _tmp6_; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = cached_pixbuf; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->last_touched; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_timer_elapsed (_tmp8_, NULL); +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = trunc (_tmp9_); +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + elapsed = _tmp10_ + 1; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = locate; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 24238 "Photo.c" + PhotoCachedPixbuf* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = cached_pixbuf; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = locate; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource)); +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp16_; +#line 24253 "Photo.c" + } else { +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 24257 "Photo.c" + } +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 24261 "Photo.c" + GeeIterator* _tmp17_ = NULL; + PhotoCachedPixbuf* _tmp18_ = NULL; + PhotoCachedPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 3268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = iter; +#line 3268 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp17_); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = cached_pixbuf; +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _photo_cached_pixbuf_ref0 (_tmp18_); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + found = _tmp19_; +#line 3272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = count; +#line 3272 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp20_ + 1; +#line 24282 "Photo.c" + } else { + gdouble _tmp21_ = 0.0; +#line 3273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = elapsed; +#line 3273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_ >= ((gdouble) PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC)) { +#line 24289 "Photo.c" + GeeIterator* _tmp22_ = NULL; +#line 3274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = iter; +#line 3274 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp22_); +#line 24295 "Photo.c" + } else { + gint _tmp23_ = 0; +#line 3275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = count; +#line 3275 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_ >= PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT) { +#line 24302 "Photo.c" + GeeIterator* _tmp24_ = NULL; +#line 3276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = iter; +#line 3276 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp24_); +#line 24308 "Photo.c" + } else { + gdouble _tmp25_ = 0.0; + gdouble _tmp26_ = 0.0; + gdouble _tmp27_ = 0.0; + gint _tmp28_ = 0; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = elapsed; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = min_elapsed; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = MIN (_tmp25_, _tmp26_); +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = _tmp27_; +#line 3281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = count; +#line 3281 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp28_ + 1; +#line 24326 "Photo.c" + } + } + } +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (cached_pixbuf); +#line 24332 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = found; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_ == NULL) { +#line 24338 "Photo.c" + Photo* _tmp32_ = NULL; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = locate; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp32_ != NULL; +#line 24344 "Photo.c" + } else { +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = FALSE; +#line 24348 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_) { +#line 24352 "Photo.c" + gboolean _tmp33_ = FALSE; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = keep; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp33_; +#line 24358 "Photo.c" + } else { +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = FALSE; +#line 24362 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 24366 "Photo.c" + GdkPixbuf* _tmp34_ = NULL; + Photo* _tmp35_ = NULL; + Scaling _tmp36_ = {0}; + GdkPixbuf* _tmp37_ = NULL; + Photo* _tmp38_ = NULL; + PhotoCachedPixbuf* _tmp39_ = NULL; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = locate; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp36_); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_load_raw_pixbuf (_tmp35_, &_tmp36_, PHOTO_EXCEPTION_ALL, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp37_; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (iter); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 24387 "Photo.c" + goto __finally368; + } +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = locate; +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_cached_pixbuf_new (_tmp38_, _tmp34_); +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + found = _tmp39_; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp34_); +#line 24400 "Photo.c" + } else { + PhotoCachedPixbuf* _tmp40_ = NULL; +#line 3289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = found; +#line 3289 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_ != NULL) { +#line 24407 "Photo.c" + PhotoCachedPixbuf* _tmp41_ = NULL; + GTimer* _tmp42_ = NULL; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = found; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->last_touched; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + g_timer_start (_tmp42_); +#line 24416 "Photo.c" + } + } +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = found; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_ != NULL) { +#line 24423 "Photo.c" + gboolean _tmp45_ = FALSE; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = keep; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp45_; +#line 24429 "Photo.c" + } else { +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = FALSE; +#line 24433 "Photo.c" + } +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 24437 "Photo.c" + GeeLinkedList* _tmp46_ = NULL; + PhotoCachedPixbuf* _tmp47_ = NULL; + PhotoCachedPixbuf* _tmp48_ = NULL; + GTimer* _tmp49_ = NULL; + gdouble _tmp50_ = 0.0; + gdouble _tmp51_ = 0.0; + gdouble _tmp52_ = 0.0; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_source_pixbuf_cache; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = found; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp47_); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = found; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->last_touched; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = g_timer_elapsed (_tmp49_, NULL); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = min_elapsed; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = MIN (_tmp50_, _tmp51_); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = _tmp52_; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 24465 "Photo.c" + GeeLinkedList* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + GeeLinkedList* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + PhotoCachedPixbuf* _tmp58_ = NULL; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = photo_source_pixbuf_cache; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp55_ > PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT)) { +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 24482 "Photo.c" + } +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_source_pixbuf_cache; +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = gee_deque_poll_tail (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_DEQUE, GeeDeque)); +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = (PhotoCachedPixbuf*) _tmp57_; +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (_tmp58_); +#line 24492 "Photo.c" + } + } +#line 3310 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = photo_discard_source_id; +#line 3310 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_ != ((guint) 0)) { +#line 24499 "Photo.c" + guint _tmp60_ = 0U; +#line 3311 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = photo_discard_source_id; +#line 3311 "/home/jens/Source/shotwell/src/Photo.vala" + g_source_remove (_tmp60_); +#line 3312 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = (guint) 0; +#line 24507 "Photo.c" + } +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = photo_source_pixbuf_cache; +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ > PHOTO_SOURCE_PIXBUF_MIN_LRU_COUNT) { +#line 24517 "Photo.c" + gdouble _tmp64_ = 0.0; + guint retry_sec = 0U; + gdouble _tmp65_ = 0.0; + gdouble _tmp66_ = 0.0; + guint _tmp67_ = 0U; + guint _tmp68_ = 0U; +#line 3317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = min_elapsed; +#line 3317 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp64_ >= 0.0, "min_elapsed >= 0.0"); +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = min_elapsed; +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = trunc (_tmp65_); +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + retry_sec = PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC - ((guint) _tmp66_); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = retry_sec; +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = g_timeout_add_seconds_full (G_PRIORITY_LOW, _tmp67_, _photo_trim_source_pixbuf_cache_gsource_func, NULL, NULL); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = _tmp68_; +#line 24540 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = found; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_ != NULL) { +#line 24546 "Photo.c" + PhotoCachedPixbuf* _tmp71_ = NULL; + GdkPixbuf* _tmp72_ = NULL; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = found; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->pixbuf; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp72_; +#line 24555 "Photo.c" + } else { +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = NULL; +#line 24559 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _g_object_ref0 (_tmp69_); +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp73_; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (iter); +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 24569 "Photo.c" + { + GeeLinkedList* _tmp74_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&__lock_photo_source_pixbuf_cache); +#line 24576 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24580 "Photo.c" + } + __finally368: + { + GeeLinkedList* _tmp75_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&__lock_photo_source_pixbuf_cache); +#line 24589 "Photo.c" + } +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24595 "Photo.c" + } +} + + +static gboolean photo_trim_source_pixbuf_cache (void) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_run_source_pixbuf_cache (NULL, FALSE, &_inner_error_); +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24614 "Photo.c" + goto __catch369_g_error; + } + } + goto __finally369; + __catch369_g_error: + { + GError* err = NULL; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 24628 "Photo.c" + } + __finally369: +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3329 "/home/jens/Source/shotwell/src/Photo.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 3329 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 24639 "Photo.c" + } +#line 3334 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3334 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24645 "Photo.c" +} + + +/** + * @brief Get a copy of what's in the cache. + * + * @return A copy of the Pixbuf with the image data from unmodified_precached. + */ +GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3342 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_run_source_pixbuf_cache (self, TRUE, &_inner_error_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp1_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24675 "Photo.c" + } +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp0_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gdk_pixbuf_copy (_tmp3_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24695 "Photo.c" +} + + +/** + * @brief Discards the cached version of the unmodified image. + */ +void photo_discard_prefetched (Photo* self) { + GError * _inner_error_ = NULL; +#line 3349 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 24706 "Photo.c" + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_run_source_pixbuf_cache (self, FALSE, &_inner_error_); +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24718 "Photo.c" + goto __catch370_g_error; + } + } + goto __finally370; + __catch370_g_error: + { + GError* err = NULL; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 24732 "Photo.c" + } + __finally370: +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3350 "/home/jens/Source/shotwell/src/Photo.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 3350 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 24743 "Photo.c" + } +} + + +/** + * @brief Returns a fully transformed and scaled pixbuf. Transformations may be excluded via + * the mask. If the image is smaller than the scaling, it will be returned in its actual size. + * The caller is responsible for scaling thereafter. + * + * @param scaling A scaling object that describes the size the output pixbuf should be. + * @param exceptions The parts of the pipeline that should be skipped; defaults to NONE if + * left unset. + * @param fetch_mode The fetch mode; if left unset, defaults to BASELINE so that + * we get the image exactly as it is in the file. + */ +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean is_scaled = FALSE; + gboolean is_cropped = FALSE; + gboolean is_straightened = FALSE; + Dimensions scaled_to_viewport = {0}; + Dimensions original = {0}; + Dimensions scaled = {0}; + EditingToolsRedeyeInstance* redeye_instances = NULL; + gint redeye_instances_length1 = 0; + gint _redeye_instances_size_ = 0; + Box crop = {0}; + gdouble straightening_angle = 0.0; + PixelTransformer* transformer = NULL; + Orientation orientation = 0; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp33_ = NULL; + PhotoException _tmp34_ = 0; + gboolean _tmp35_ = FALSE; + PhotoException _tmp40_ = 0; + gboolean _tmp41_ = FALSE; + PhotoException _tmp46_ = 0; + gboolean _tmp47_ = FALSE; + PhotoException _tmp85_ = 0; + gboolean _tmp86_ = FALSE; + gboolean _tmp89_ = FALSE; + PhotoException _tmp96_ = 0; + gboolean _tmp97_ = FALSE; + gboolean _tmp101_ = FALSE; + gboolean _tmp102_ = FALSE; + GError * _inner_error_ = NULL; +#line 3367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_develop_raw_photos_to_files (); +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 24805 "Photo.c" + PhotoFileFormat _tmp5_ = 0; +#line 3381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_master_file_format (self); +#line 3381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp5_ == PHOTO_FILE_FORMAT_RAW; +#line 24811 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = FALSE; +#line 24815 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 24819 "Photo.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + BackingFetchMode _tmp8_ = 0; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = fetch_mode; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ == BACKING_FETCH_MODE_BASELINE) { +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = TRUE; +#line 24829 "Photo.c" + } else { + BackingFetchMode _tmp9_ = 0; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = fetch_mode; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp9_ == BACKING_FETCH_MODE_UNMODIFIED; +#line 24836 "Photo.c" + } +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 24842 "Photo.c" + } else { + BackingFetchMode _tmp10_ = 0; +#line 3383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = fetch_mode; +#line 3383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp10_ == BACKING_FETCH_MODE_SOURCE; +#line 24849 "Photo.c" + } +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 24853 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 24857 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 24861 "Photo.c" + RawDeveloper _tmp11_ = 0; + gboolean _tmp12_ = FALSE; +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_raw_developer (self); +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_is_raw_developer_complete (self, _tmp11_); +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = !_tmp12_; +#line 24870 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 24874 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 24878 "Photo.c" + RawDeveloper _tmp13_ = 0; +#line 3385 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_raw_developer (self); +#line 3385 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_developer (self, _tmp13_); +#line 24884 "Photo.c" + } +#line 3390 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&original, 0, 0); +#line 3391 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&scaled, 0, 0); +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = NULL; +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances_length1 = 0; +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + _redeye_instances_size_ = redeye_instances_length1; +#line 3395 "/home/jens/Source/shotwell/src/Photo.vala" + transformer = NULL; +#line 24898 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 24905 "Photo.c" + { + Dimensions _tmp15_ = {0}; + PhotoException _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + Dimensions _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + Dimensions _tmp20_ = {0}; + Dimensions _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; + gint _tmp23_ = 0; + EditingToolsRedeyeInstance* _tmp24_ = NULL; + Box _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; + gdouble _tmp27_ = 0.0; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + Orientation _tmp31_ = 0; +#line 3399 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_ALL, &_tmp15_); +#line 3399 "/home/jens/Source/shotwell/src/Photo.vala" + original = _tmp15_; +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = exceptions; +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp16_, &_tmp17_); +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp17_, &_tmp18_); +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + scaled = _tmp18_; +#line 3401 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = scaled; +#line 3401 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp19_; +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp20_); +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = scaled; +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = dimensions_equals (&_tmp20_, &_tmp21_); +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + is_scaled = !_tmp22_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_redeye_instances (self, &_tmp23_); +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = _tmp24_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances_length1 = _tmp23_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + _redeye_instances_size_ = redeye_instances_length1; +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_raw_crop (self, &_tmp25_); +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp25_; +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + is_cropped = _tmp26_; +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_get_raw_straighten (self, &_tmp27_); +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + straightening_angle = _tmp27_; +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + is_straightened = _tmp28_; +#line 3411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_has_color_adjustments (self); +#line 3411 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 24973 "Photo.c" + PixelTransformer* _tmp30_ = NULL; +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_get_pixel_transformer (self); +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + transformer = _tmp30_; +#line 24981 "Photo.c" + } +#line 3414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo_get_orientation (self); +#line 3414 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp31_; +#line 24987 "Photo.c" + } + __finally371: + { + PhotoRow* _tmp32_ = NULL; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->row; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 24996 "Photo.c" + } +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 25008 "Photo.c" + } + } +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_get_prefetched_copy (self, &_inner_error_); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp33_; +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 25025 "Photo.c" + } +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = exceptions; +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_exception_allows (_tmp34_, PHOTO_EXCEPTION_REDEYE); +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 25033 "Photo.c" + EditingToolsRedeyeInstance* _tmp36_ = NULL; + gint _tmp36__length1 = 0; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = redeye_instances; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36__length1 = redeye_instances_length1; +#line 25040 "Photo.c" + { + EditingToolsRedeyeInstance* instance_collection = NULL; + gint instance_collection_length1 = 0; + gint _instance_collection_size_ = 0; + gint instance_it = 0; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance_collection = _tmp36_; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance_collection_length1 = _tmp36__length1; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + for (instance_it = 0; instance_it < _tmp36__length1; instance_it = instance_it + 1) { +#line 25052 "Photo.c" + EditingToolsRedeyeInstance instance = {0}; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance = instance_collection[instance_it]; +#line 25056 "Photo.c" + { + GdkPixbuf* _tmp37_ = NULL; + EditingToolsRedeyeInstance _tmp38_ = {0}; + GdkPixbuf* _tmp39_ = NULL; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = pixbuf; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = instance; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_do_redeye (self, _tmp37_, &_tmp38_); +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp39_; +#line 25071 "Photo.c" + } + } + } + } +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = exceptions; +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_exception_allows (_tmp40_, PHOTO_EXCEPTION_STRAIGHTEN); +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 25082 "Photo.c" + gboolean _tmp42_ = FALSE; +#line 3446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = is_straightened; +#line 3446 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 25088 "Photo.c" + GdkPixbuf* _tmp43_ = NULL; + gdouble _tmp44_ = 0.0; + GdkPixbuf* _tmp45_ = NULL; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = pixbuf; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = straightening_angle; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = rotate_arb (_tmp43_, _tmp44_); +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp45_; +#line 25102 "Photo.c" + } + } +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = exceptions; +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo_exception_allows (_tmp46_, PHOTO_EXCEPTION_CROP); +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp47_) { +#line 25111 "Photo.c" + gboolean _tmp48_ = FALSE; +#line 3460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = is_cropped; +#line 3460 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp48_) { +#line 25117 "Photo.c" + Box _tmp49_ = {0}; + gint _tmp50_ = 0; + GdkPixbuf* _tmp51_ = NULL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + Box _tmp55_ = {0}; + gint _tmp56_ = 0; + GdkPixbuf* _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + Box _tmp61_ = {0}; + gint _tmp62_ = 0; + Box _tmp63_ = {0}; + gint _tmp64_ = 0; + GdkPixbuf* _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + Box _tmp69_ = {0}; + gint _tmp70_ = 0; + Box _tmp71_ = {0}; + gint _tmp72_ = 0; + GdkPixbuf* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; + GdkPixbuf* _tmp77_ = NULL; + Box _tmp78_ = {0}; + gint _tmp79_ = 0; + Box _tmp80_ = {0}; + gint _tmp81_ = 0; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + GdkPixbuf* _tmp84_ = NULL; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = crop; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_.left; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = pixbuf; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = gdk_pixbuf_get_width (_tmp51_); +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = CLAMP (_tmp50_, 0, _tmp53_ - 2); +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + crop.left = _tmp54_; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = crop; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_.top; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = pixbuf; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gdk_pixbuf_get_height (_tmp57_); +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = CLAMP (_tmp56_, 0, _tmp59_ - 2); +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + crop.top = _tmp60_; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = crop; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _tmp61_.right; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = crop; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp63_.left; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = pixbuf; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = gdk_pixbuf_get_width (_tmp65_); +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = CLAMP (_tmp62_, _tmp64_ + 1, _tmp67_ - 1); +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + crop.right = _tmp68_; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = crop; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_.bottom; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = crop; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_.top; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = pixbuf; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gdk_pixbuf_get_height (_tmp73_); +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = CLAMP (_tmp70_, _tmp72_ + 1, _tmp75_ - 1); +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + crop.bottom = _tmp76_; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = pixbuf; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = crop; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = _tmp78_.left; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = crop; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_.top; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = box_get_width (&crop); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = box_get_height (&crop); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = gdk_pixbuf_new_subpixbuf (_tmp77_, _tmp79_, _tmp81_, _tmp82_, _tmp83_); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp84_; +#line 25238 "Photo.c" + } + } +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = exceptions; +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = photo_exception_allows (_tmp85_, PHOTO_EXCEPTION_ORIENTATION); +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_) { +#line 25247 "Photo.c" + GdkPixbuf* _tmp87_ = NULL; + GdkPixbuf* _tmp88_ = NULL; +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = pixbuf; +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = orientation_rotate_pixbuf (orientation, _tmp87_); +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp88_; +#line 25258 "Photo.c" + } +#line 3492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = is_scaled; +#line 3492 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp89_) { +#line 25264 "Photo.c" + GdkPixbuf* _tmp90_ = NULL; + Dimensions _tmp91_ = {0}; + gint _tmp92_ = 0; + Dimensions _tmp93_ = {0}; + gint _tmp94_ = 0; + GdkPixbuf* _tmp95_ = NULL; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = pixbuf; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = scaled_to_viewport; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_.width; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = scaled_to_viewport; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _tmp93_.height; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = gdk_pixbuf_scale_simple (_tmp90_, _tmp92_, _tmp94_, GDK_INTERP_BILINEAR); +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp95_; +#line 25287 "Photo.c" + } +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = exceptions; +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = photo_exception_allows (_tmp96_, PHOTO_EXCEPTION_ADJUST); +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp97_) { +#line 25295 "Photo.c" + PixelTransformer* _tmp98_ = NULL; +#line 3508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = transformer; +#line 3508 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_ != NULL) { +#line 25301 "Photo.c" + PixelTransformer* _tmp99_ = NULL; + GdkPixbuf* _tmp100_ = NULL; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = transformer; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = pixbuf; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformer_transform_pixbuf (_tmp99_, _tmp100_, NULL); +#line 25310 "Photo.c" + } + } +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = is_scaled; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp102_) { +#line 25317 "Photo.c" + gboolean _tmp103_ = FALSE; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = is_straightened; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = !_tmp103_; +#line 25323 "Photo.c" + } else { +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = FALSE; +#line 25327 "Photo.c" + } +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp101_) { +#line 25331 "Photo.c" + GdkPixbuf* _tmp104_ = NULL; + Dimensions _tmp105_ = {0}; + gboolean _tmp106_ = FALSE; +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = pixbuf; +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp104_, &_tmp105_); +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = dimensions_approx_equals (&scaled_to_viewport, &_tmp105_, PHOTO_SCALING_FUDGE); +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp106_, "scaled_to_viewport.approx_equals(Dimensions.for_pixbuf(pixbuf), SCALING_FUDGE)"); +#line 25343 "Photo.c" + } +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25353 "Photo.c" +} + + +static gboolean photo_real_has_user_generated_metadata (Photo* self) { +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_has_user_generated_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25362 "Photo.c" +} + + +gboolean photo_has_user_generated_metadata (Photo* self) { +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + return PHOTO_GET_CLASS (self)->has_user_generated_metadata (self); +#line 25371 "Photo.c" +} + + +static void photo_real_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata) { +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_set_user_metadata_for_export'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 25380 "Photo.c" +} + + +void photo_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata) { +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->set_user_metadata_for_export (self, metadata); +#line 25389 "Photo.c" +} + + +gchar* photo_get_export_basename (Photo* self, PhotoFileFormat* file_format) { + gchar* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; +#line 3546 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file_format; +#line 3547 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 25402 "Photo.c" + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_get_properties (*_tmp1_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_format_properties_convert_file_extension (_tmp3_, _tmp5_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_get_basename (_tmp7_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp5_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp9_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25440 "Photo.c" + } else { + PhotoFileFormat _tmp10_ = 0; + gboolean _tmp11_ = FALSE; +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_file_format (self); +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_file_format_can_write (_tmp10_); +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 25450 "Photo.c" + PhotoFileFormat _tmp12_ = 0; + PhotoFileFormatProperties* _tmp13_ = NULL; + PhotoFileFormatProperties* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_file_format (self); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_format_get_properties (_tmp12_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_properties_convert_file_extension (_tmp14_, _tmp16_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = g_file_get_basename (_tmp18_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp18_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp14_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp20_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25488 "Photo.c" + } else { + PhotoFileFormat _tmp21_ = 0; + PhotoFileFormatProperties* _tmp22_ = NULL; + PhotoFileFormatProperties* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_get_system_default_format (); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_format_get_properties (_tmp21_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_file_format_properties_convert_file_extension (_tmp23_, _tmp25_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = g_file_get_basename (_tmp27_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp27_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp25_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp23_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp29_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25527 "Photo.c" + } + } +} + + +static gboolean photo_export_fullsized_backing (Photo* self, GFile* file, gboolean export_metadata, GError** error) { + gboolean result = FALSE; + PhotoFileReader* export_reader = NULL; + gboolean is_master = FALSE; + PhotoFileReader* _tmp29_ = NULL; + PhotoFileFormatProperties* format_properties = NULL; + PhotoFileReader* _tmp30_ = NULL; + PhotoFileFormat _tmp31_ = 0; + PhotoFileFormatProperties* _tmp32_ = NULL; + GFile* dest_file = NULL; + PhotoFileFormatProperties* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp36_ = NULL; + PhotoFileFormat _tmp37_ = 0; + GFile* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + PhotoFileMetadataWriter* _tmp41_ = NULL; + PhotoFileMetadataWriter* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + PhotoFileMetadataWriter* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + PhotoFileReader* _tmp48_ = NULL; + GFile* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + GFile* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + gboolean _tmp53_ = FALSE; + gboolean _tmp54_ = FALSE; + gboolean _tmp55_ = FALSE; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp65_ = NULL; + PhotoMetadata* _tmp66_ = NULL; + PhotoMetadata* _tmp67_ = NULL; + PhotoFileMetadataWriter* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + time_t _tmp74_ = 0; + gboolean _tmp80_ = FALSE; + PhotoFileMetadataWriter* _tmp97_ = NULL; + PhotoMetadata* _tmp98_ = NULL; + GError * _inner_error_ = NULL; +#line 3560 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3560 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 3563 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = NULL; +#line 3564 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = TRUE; +#line 25589 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 25596 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoBackingReaders* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->readers; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->editable; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 25607 "Photo.c" + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileFormat _tmp6_ = 0; + gboolean _tmp7_ = FALSE; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_file_format_can_write_metadata (_tmp6_); +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_; +#line 25622 "Photo.c" + } else { +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 25626 "Photo.c" + } +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 25630 "Photo.c" + PhotoBackingReaders* _tmp8_ = NULL; + PhotoFileReader* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->editable; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _photo_file_adapter_ref0 (_tmp9_); +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp10_; +#line 3568 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = FALSE; +#line 25646 "Photo.c" + } else { + gboolean _tmp11_ = FALSE; + PhotoBackingReaders* _tmp12_ = NULL; + PhotoFileReader* _tmp13_ = NULL; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->developer; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ != NULL) { +#line 25657 "Photo.c" + PhotoBackingReaders* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; + PhotoFileFormat _tmp16_ = 0; + gboolean _tmp17_ = FALSE; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->readers; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->developer; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_can_write_metadata (_tmp16_); +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp17_; +#line 25672 "Photo.c" + } else { +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 25676 "Photo.c" + } +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 25680 "Photo.c" + PhotoBackingReaders* _tmp18_ = NULL; + PhotoFileReader* _tmp19_ = NULL; + PhotoFileReader* _tmp20_ = NULL; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->readers; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->developer; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _photo_file_adapter_ref0 (_tmp19_); +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp20_; +#line 3571 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = FALSE; +#line 25696 "Photo.c" + } else { + PhotoBackingReaders* _tmp21_ = NULL; + PhotoFileReader* _tmp22_ = NULL; + PhotoFileFormat _tmp23_ = 0; + gboolean _tmp24_ = FALSE; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->readers; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->master; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_file_format_can_write_metadata (_tmp23_); +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_) { +#line 25712 "Photo.c" + PhotoBackingReaders* _tmp25_ = NULL; + PhotoFileReader* _tmp26_ = NULL; + PhotoFileReader* _tmp27_ = NULL; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->readers; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->master; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _photo_file_adapter_ref0 (_tmp26_); +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp27_; +#line 25726 "Photo.c" + } + } + } + } + __finally372: + { + PhotoBackingReaders* _tmp28_ = NULL; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->readers; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 25738 "Photo.c" + } +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25748 "Photo.c" + } + } +#line 3577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = export_reader; +#line 3577 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_ == NULL) { +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25761 "Photo.c" + } +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = export_reader; +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_file_format_get_properties (_tmp31_); +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + format_properties = _tmp32_; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = format_properties; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = file; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_file_format_properties_convert_file_extension (_tmp33_, _tmp34_); +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + dest_file = _tmp35_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = export_reader; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = dest_file; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = g_file_get_path (_tmp38_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_file_format_create_metadata_writer (_tmp37_, _tmp40_, &_inner_error_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp40_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp42_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25809 "Photo.c" + } +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = writer; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3589: Exporting full-sized copy of %s to %s", _tmp44_, _tmp47_); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp44_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = export_reader; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = dest_file; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_copy (_tmp50_, _tmp51_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_TARGET_DEFAULT_PERMS, NULL, NULL, NULL, &_inner_error_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp50_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25853 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_has_alterations (self); +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp57_) { +#line 25859 "Photo.c" + gboolean _tmp58_ = FALSE; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = is_master; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp58_; +#line 25865 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = FALSE; +#line 25869 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp56_) { +#line 25873 "Photo.c" + gboolean _tmp59_ = FALSE; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = photo_has_user_generated_metadata (self); +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = !_tmp59_; +#line 25879 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = FALSE; +#line 25883 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_) { +#line 25887 "Photo.c" + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp61_ == NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp61_); +#line 25898 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = FALSE; +#line 25902 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 25906 "Photo.c" + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp63_ == NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp63_); +#line 25917 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 25921 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp53_) { +#line 25925 "Photo.c" + gboolean _tmp64_ = FALSE; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = export_metadata; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = _tmp64_; +#line 25931 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = FALSE; +#line 25935 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp52_) { +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25951 "Photo.c" + } +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = export_reader; +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = photo_file_reader_read_metadata (_tmp65_, &_inner_error_); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp66_; +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25973 "Photo.c" + } +#line 3602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = metadata; +#line 3602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_ == NULL) { +#line 25979 "Photo.c" + PhotoFileReader* _tmp68_ = NULL; + PhotoFileFormat _tmp69_ = 0; + PhotoMetadata* _tmp70_ = NULL; +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = export_reader; +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo_file_format_create_metadata (_tmp69_); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp70_; +#line 25993 "Photo.c" + } +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = writer; +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _tmp72_; +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3605: Updating metadata of %s", _tmp73_); +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp73_); +#line 3607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp74_ != ((time_t) 0)) { +#line 26009 "Photo.c" + PhotoMetadata* _tmp75_ = NULL; + time_t _tmp76_ = 0; + MetadataDateTime* _tmp77_ = NULL; + MetadataDateTime* _tmp78_ = NULL; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = metadata; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = metadata_date_time_new (_tmp76_); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _tmp77_; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp75_, _tmp78_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp78_); +#line 26026 "Photo.c" + } else { + PhotoMetadata* _tmp79_ = NULL; +#line 3610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = metadata; +#line 3610 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp79_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 26033 "Photo.c" + } +#line 3612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = export_metadata; +#line 3612 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp80_) { +#line 26039 "Photo.c" + PhotoMetadata* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + PhotoMetadata* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + PhotoMetadata* _tmp87_ = NULL; + Dimensions _tmp88_ = {0}; + PhotoMetadata* _tmp89_ = NULL; + Orientation _tmp90_ = 0; + PhotoMetadata* _tmp91_ = NULL; + Orientation _tmp92_ = 0; + Orientation _tmp93_ = 0; + PhotoMetadata* _tmp95_ = NULL; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = metadata; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _tmp82_; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp81_, _tmp83_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp83_); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = metadata; +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_; +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp84_, _tmp86_); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp86_); +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = metadata; +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp88_); +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp87_, &_tmp88_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = metadata; +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = photo_get_orientation (self); +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp89_, _tmp90_); +#line 3618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = metadata; +#line 3618 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_software (_tmp91_, RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = photo_get_orientation (self); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = photo_get_original_orientation (self); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp92_ != _tmp93_) { +#line 26096 "Photo.c" + PhotoMetadata* _tmp94_ = NULL; +#line 3621 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = metadata; +#line 3621 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_exif_thumbnail (_tmp94_); +#line 26102 "Photo.c" + } +#line 3623 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = metadata; +#line 3623 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_user_metadata_for_export (self, _tmp95_); +#line 26108 "Photo.c" + } else { + PhotoMetadata* _tmp96_ = NULL; +#line 3627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = metadata; +#line 3627 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_clear (_tmp96_); +#line 26115 "Photo.c" + } +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = writer; +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = metadata; +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp97_, _tmp98_, &_inner_error_); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 26139 "Photo.c" + } +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 26155 "Photo.c" +} + + +gboolean photo_is_export_required (Photo* self, Scaling* scaling, PhotoFileFormat export_format) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 3637 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3637 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = scaling_is_unscaled (scaling); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = TRUE; +#line 26175 "Photo.c" + } else { + gboolean _tmp4_ = FALSE; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_has_alterations (self); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp4_; +#line 26182 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = TRUE; +#line 26188 "Photo.c" + } else { + gboolean _tmp5_ = FALSE; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_has_user_generated_metadata (self); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp5_; +#line 26195 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 26201 "Photo.c" + } else { + PhotoFileFormat _tmp6_ = 0; + PhotoFileFormat _tmp7_ = 0; +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = export_format; +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_file_format (self); +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp6_ != _tmp7_; +#line 26211 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 26217 "Photo.c" +} + + +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error) { + gboolean _tmp0_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp18_ = NULL; + PhotoMetadata* _tmp19_ = NULL; + PhotoFileFormat _tmp22_ = 0; + gboolean _tmp23_ = FALSE; + PhotoFileWriter* writer = NULL; + PhotoFileFormat _tmp25_ = 0; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + PhotoFileWriter* _tmp29_ = NULL; + PhotoFileWriter* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + PhotoFileWriter* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + PhotoFileFormat _tmp36_ = 0; + GEnumValue* _tmp37_; + GdkPixbuf* pixbuf = NULL; + gboolean _tmp38_ = FALSE; + PhotoFileFormat _tmp39_ = 0; + PhotoFileWriter* _tmp49_ = NULL; + GdkPixbuf* _tmp50_ = NULL; + JpegQuality _tmp51_ = 0; + PhotoFileWriter* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + gboolean _tmp75_ = FALSE; + PhotoFileFormat _tmp76_ = 0; + PhotoFileMetadataWriter* _tmp86_ = NULL; + PhotoFileFormat _tmp87_ = 0; + GFile* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + PhotoFileMetadataWriter* _tmp91_ = NULL; + PhotoFileMetadataWriter* _tmp92_ = NULL; + PhotoFileMetadataWriter* _tmp93_ = NULL; + PhotoFileMetadataWriter* _tmp94_ = NULL; + PhotoMetadata* _tmp95_ = NULL; + GError * _inner_error_ = NULL; +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (dest_file)); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (scaling != NULL); +#line 3647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = direct_copy_unmodified; +#line 3647 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 26279 "Photo.c" + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dest_file; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_copy (_tmp2_, _tmp3_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_TARGET_DEFAULT_PERMS, NULL, NULL, NULL, &_inner_error_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp2_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26299 "Photo.c" + } +#line 3650 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26303 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = scaling_is_unscaled (scaling); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 26309 "Photo.c" + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_has_alterations (self); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = TRUE; +#line 26318 "Photo.c" + } else { + gboolean _tmp10_ = FALSE; +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_only_metadata_changed (self); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp10_; +#line 26325 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8_; +#line 26329 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 26333 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 26337 "Photo.c" + PhotoFileFormat _tmp11_ = 0; + PhotoFileFormat _tmp12_ = 0; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = export_format; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_file_format (self); +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp11_ == _tmp12_; +#line 26346 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = FALSE; +#line 26350 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 26354 "Photo.c" + PhotoFileFormat _tmp13_ = 0; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_file_format (self); +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp13_ == PHOTO_FILE_FORMAT_JFIF; +#line 26360 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = FALSE; +#line 26364 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 26368 "Photo.c" + gboolean _tmp14_ = FALSE; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = dest_file; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = export_metadata; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_export_fullsized_backing (self, _tmp15_, _tmp16_, &_inner_error_); +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp17_; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26387 "Photo.c" + } +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 3660 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26393 "Photo.c" + } + } +#line 3666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 3666 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp18_; +#line 3667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = metadata; +#line 3667 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ == NULL) { +#line 26404 "Photo.c" + PhotoFileFormat _tmp20_ = 0; + PhotoMetadata* _tmp21_ = NULL; +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = export_format; +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_create_metadata (_tmp20_); +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp21_; +#line 26415 "Photo.c" + } +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = export_format; +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_file_format_can_write (_tmp22_); +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp23_) { +#line 26423 "Photo.c" + PhotoFileFormat _tmp24_ = 0; +#line 3671 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_file_format_get_system_default_format (); +#line 3671 "/home/jens/Source/shotwell/src/Photo.vala" + export_format = _tmp24_; +#line 26429 "Photo.c" + } +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = export_format; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dest_file; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_file_format_create_writer (_tmp25_, _tmp28_, &_inner_error_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp28_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp30_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26455 "Photo.c" + } +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = writer; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = export_format; +#line 3676 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), _tmp36_); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3675: Saving transformed version of %s to %s in file format" \ +" %s", _tmp32_, _tmp35_, (_tmp37_ != NULL) ? _tmp37_->value_name : NULL); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp35_); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp32_); +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_get_file_format (self); +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ == PHOTO_FILE_FORMAT_JFIF) { +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = TRUE; +#line 26483 "Photo.c" + } else { + PhotoFileFormat _tmp40_ = 0; +#line 3683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_get_file_format (self); +#line 3683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp40_ == PHOTO_FILE_FORMAT_RAW; +#line 26490 "Photo.c" + } +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_) { +#line 26494 "Photo.c" + GdkPixbuf* _tmp41_ = NULL; + Scaling _tmp42_ = {0}; + GdkPixbuf* _tmp43_ = NULL; + GdkPixbuf* _tmp44_ = NULL; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = *scaling; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = photo_get_pixbuf_with_options (self, &_tmp42_, PHOTO_EXCEPTION_ORIENTATION, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp43_; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26517 "Photo.c" + } +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp41_; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = NULL; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp44_; +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp41_); +#line 26529 "Photo.c" + } else { + GdkPixbuf* _tmp45_ = NULL; + Scaling _tmp46_ = {0}; + GdkPixbuf* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = *scaling; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo_get_pixbuf_with_options (self, &_tmp46_, PHOTO_EXCEPTION_NONE, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp47_; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26553 "Photo.c" + } +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp45_; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = NULL; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp48_; +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp45_); +#line 26565 "Photo.c" + } +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = writer; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = pixbuf; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = quality; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp49_, _tmp50_, _tmp51_, &_inner_error_); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26587 "Photo.c" + } +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = writer; +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_; +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3694: Setting EXIF for %s", _tmp54_); +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp54_); +#line 3697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = export_metadata; +#line 3697 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_) { +#line 26603 "Photo.c" + PhotoMetadata* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + PhotoMetadata* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + PhotoMetadata* _tmp62_ = NULL; + time_t _tmp63_ = 0; + PhotoMetadata* _tmp69_ = NULL; + PhotoMetadata* _tmp70_ = NULL; + PhotoMetadata* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = metadata; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp56_, _tmp58_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp58_); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = metadata; +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp59_, _tmp61_); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp61_); +#line 3701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = metadata; +#line 3701 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_software (_tmp62_, RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 3703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3703 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ != ((time_t) 0)) { +#line 26644 "Photo.c" + PhotoMetadata* _tmp64_ = NULL; + time_t _tmp65_ = 0; + MetadataDateTime* _tmp66_ = NULL; + MetadataDateTime* _tmp67_ = NULL; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = metadata; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = metadata_date_time_new (_tmp65_); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp64_, _tmp67_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp67_); +#line 26661 "Photo.c" + } else { + PhotoMetadata* _tmp68_ = NULL; +#line 3706 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = metadata; +#line 3706 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp68_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 26668 "Photo.c" + } +#line 3708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = metadata; +#line 3708 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_tag (_tmp69_, "Exif.Iop.RelatedImageWidth"); +#line 3709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = metadata; +#line 3709 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_tag (_tmp70_, "Exif.Iop.RelatedImageHeight"); +#line 3710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = metadata; +#line 3710 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_exif_thumbnail (_tmp71_); +#line 3712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo_has_user_generated_metadata (self); +#line 3712 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp72_) { +#line 26686 "Photo.c" + PhotoMetadata* _tmp73_ = NULL; +#line 3713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = metadata; +#line 3713 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_user_metadata_for_export (self, _tmp73_); +#line 26692 "Photo.c" + } + } else { + PhotoMetadata* _tmp74_ = NULL; +#line 3717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = metadata; +#line 3717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_clear (_tmp74_); +#line 26700 "Photo.c" + } +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo_get_file_format (self); +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp76_ == PHOTO_FILE_FORMAT_JFIF) { +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = TRUE; +#line 26708 "Photo.c" + } else { + PhotoFileFormat _tmp77_ = 0; +#line 3725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = photo_get_file_format (self); +#line 3725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp77_ == PHOTO_FILE_FORMAT_RAW; +#line 26715 "Photo.c" + } +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp75_) { +#line 26719 "Photo.c" + PhotoMetadata* _tmp78_ = NULL; + Dimensions _tmp79_ = {0}; + PhotoMetadata* _tmp80_ = NULL; + Orientation _tmp81_ = 0; +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = metadata; +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_ORIENTATION, &_tmp79_); +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp78_, &_tmp79_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = metadata; +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = photo_get_orientation (self); +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp80_, _tmp81_); +#line 26736 "Photo.c" + } else { + PhotoMetadata* _tmp82_ = NULL; + GdkPixbuf* _tmp83_ = NULL; + Dimensions _tmp84_ = {0}; + PhotoMetadata* _tmp85_ = NULL; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = metadata; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = pixbuf; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp83_, &_tmp84_); +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp82_, &_tmp84_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = metadata; +#line 3731 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp85_, ORIENTATION_TOP_LEFT); +#line 26754 "Photo.c" + } +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = export_format; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = dest_file; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = g_file_get_path (_tmp88_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = photo_file_format_create_metadata_writer (_tmp87_, _tmp90_, &_inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp90_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp92_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26784 "Photo.c" + } +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp86_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = NULL; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _tmp93_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = metadata; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp94_, _tmp95_, &_inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp94_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp86_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26812 "Photo.c" + } +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp86_); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 26822 "Photo.c" +} + + +static GFile* photo_generate_new_editable_file (Photo* self, PhotoFileFormat* file_format, GError** error) { + PhotoFileFormat _vala_file_format = 0; + GFile* result = NULL; + GFile* backing = NULL; + PhotoFileFormat _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + const gchar* _tmp12_ = NULL; + gchar* editable_basename = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gboolean collision = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + GError * _inner_error_ = NULL; +#line 3737 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 26856 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 26863 "Photo.c" + { + PhotoFileFormat _tmp1_ = 0; + GFile* _tmp2_ = NULL; +#line 3740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_file_format (self); +#line 3740 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_file_format = _tmp1_; +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp2_; +#line 26877 "Photo.c" + } + __finally373: + { + PhotoRow* _tmp3_ = NULL; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 26886 "Photo.c" + } +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 26896 "Photo.c" + } + } +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _vala_file_format; +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_format_can_write (_tmp4_); +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp5_) { +#line 26905 "Photo.c" + PhotoFileFormat _tmp6_ = 0; +#line 3745 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_format_get_system_default_format (); +#line 3745 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_file_format = _tmp6_; +#line 26911 "Photo.c" + } +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_file_get_basename (backing); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + disassemble_filename (_tmp8_, &_tmp9_, &_tmp10_); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp9_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp10_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp8_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = ext; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ == NULL) { +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 26935 "Photo.c" + } else { + PhotoFileFormat _tmp13_ = 0; + PhotoFileFormatProperties* _tmp14_ = NULL; + PhotoFileFormatProperties* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _vala_file_format; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_file_format_get_properties (_tmp13_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = ext; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_properties_is_recognized_extension (_tmp15_, _tmp16_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = !_tmp17_; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp15_); +#line 26956 "Photo.c" + } +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 26960 "Photo.c" + PhotoFileFormat _tmp18_ = 0; + PhotoFileFormatProperties* _tmp19_ = NULL; + PhotoFileFormatProperties* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _vala_file_format; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo_file_format_get_properties (_tmp18_); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_properties_get_default_extension (_tmp20_); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp21_; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp20_); +#line 26979 "Photo.c" + } +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = name; +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _ ("modified"); +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = ext; +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_strdup_printf ("%s_%s.%s", _tmp22_, _tmp23_, _tmp24_); +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + editable_basename = _tmp25_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_file_get_parent (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = generate_unique_file (_tmp28_, editable_basename, &_tmp29_, &_inner_error_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + collision = _tmp29_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp28_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp31_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (editable_basename); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 27019 "Photo.c" + } +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp26_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = NULL; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp32_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp26_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (editable_basename); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + if (file_format) { +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + *file_format = _vala_file_format; +#line 27041 "Photo.c" + } +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27045 "Photo.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 27052 "Photo.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_list_free (self); +#line 27061 "Photo.c" +} + + +static gboolean photo_launch_editor (GFile* file, PhotoFileFormat file_format, GError** error) { + gboolean result = FALSE; + gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + gchar* commandline = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GAppInfo* app = NULL; + GList* files = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GAppInfo* _tmp17_ = NULL; + gchar** argv = NULL; + gchar** _tmp22_ = NULL; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GPid child_pid = 0; + gboolean _tmp31_ = FALSE; + gchar** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GPid _tmp33_ = 0; + gboolean _tmp34_ = FALSE; + GError * _inner_error_ = NULL; +#line 3759 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == PHOTO_FILE_FORMAT_RAW) { +#line 27105 "Photo.c" + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = config_facade_get_instance (); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 27121 "Photo.c" + } else { + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = config_facade_get_instance (); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp7_; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 27138 "Photo.c" + } +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_strdup (_tmp0_); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + commandline = _tmp8_; +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = commandline; +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = is_string_empty (_tmp9_); +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27158 "Photo.c" + } + { + GAppInfo* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GAppInfo* _tmp13_ = NULL; + GAppInfo* _tmp14_ = NULL; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = commandline; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_app_info_create_from_commandline (_tmp12_, "", G_APP_INFO_CREATE_NONE, &_inner_error_); +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27173 "Photo.c" + goto __catch374_g_error; + } +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp11_; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = NULL; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + app = _tmp14_; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_); +#line 27186 "Photo.c" + } + goto __finally374; + __catch374_g_error: + { + GError* er = NULL; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + er = _inner_error_; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3771 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3771 "/home/jens/Source/shotwell/src/Photo.vala" + app = NULL; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (er); +#line 27202 "Photo.c" + } + __finally374: +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27217 "Photo.c" + } +#line 3774 "/home/jens/Source/shotwell/src/Photo.vala" + files = NULL; +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = file; +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + files = g_list_insert (files, _tmp16_, -1); +#line 3777 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = app; +#line 3777 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ != NULL) { +#line 27231 "Photo.c" + gboolean _tmp18_ = FALSE; + GAppInfo* _tmp19_ = NULL; + GList* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = app; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = files; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_app_info_launch (_tmp19_, _tmp20_, NULL, &_inner_error_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp21_; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27258 "Photo.c" + } +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp18_; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27272 "Photo.c" + } +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = g_new0 (gchar*, 2 + 1); +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + argv = _tmp22_; +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + argv_length1 = 2; +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + _argv_size_ = argv_length1; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = argv; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = argv_length1; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = commandline; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp23_[0]); +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_[0] = _tmp25_; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp23_[0]; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = argv; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27__length1 = argv_length1; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = file; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp27_[1]); +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_[1] = _tmp29_; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp27_[1]; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = argv; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32__length1 = argv_length1; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = g_spawn_async ("/", _tmp32_, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &_tmp33_, &_inner_error_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + child_pid = _tmp33_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp34_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27336 "Photo.c" + } +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp31_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27352 "Photo.c" +} + + +void photo_open_with_raw_external_editor (Photo* self, GError** error) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 3796 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_master_file_format (self); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + photo_launch_editor (_tmp1_, _tmp2_, &_inner_error_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27379 "Photo.c" + } +} + + +void photo_open_with_external_editor (Photo* self, GError** error) { + GFile* current_editable_file = NULL; + GFile* create_editable_file = NULL; + PhotoFileFormat editable_file_format = 0; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GFile* _tmp17_ = NULL; + gboolean _tmp25_ = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp44_ = NULL; + GFileMonitor* _tmp45_ = NULL; + GFile* _tmp47_ = NULL; + PhotoFileFormat _tmp48_ = 0; + GError * _inner_error_ = NULL; +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3802 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = NULL; +#line 3803 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = NULL; +#line 27404 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 27411 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp6_ = NULL; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 27422 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = _tmp5_; +#line 27436 "Photo.c" + } +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = current_editable_file; +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ == NULL) { +#line 27442 "Photo.c" + GFile* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_generate_new_editable_file (self, &_tmp8_, &_inner_error_); +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file_format = _tmp8_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp9_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27455 "Photo.c" + goto __finally375; + } +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp7_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = NULL; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = _tmp10_; +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 27468 "Photo.c" + } else { + PhotoBackingReaders* _tmp11_ = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->readers; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->editable; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file_format = _tmp13_; +#line 27481 "Photo.c" + } + } + __finally375: + { + PhotoBackingReaders* _tmp14_ = NULL; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->readers; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 27491 "Photo.c" + } +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27503 "Photo.c" + } + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = create_editable_file; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ == NULL) { +#line 27510 "Photo.c" + GFile* _tmp18_ = NULL; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = current_editable_file; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp18_ != NULL; +#line 27516 "Photo.c" + } else { +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = FALSE; +#line 27520 "Photo.c" + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 27524 "Photo.c" + gboolean _tmp19_ = FALSE; + GFile* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = current_editable_file; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_file_query_exists (_tmp20_, NULL); +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp21_) { +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 27536 "Photo.c" + } else { + gboolean _tmp22_ = FALSE; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_has_transformations (self); +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp22_; +#line 27543 "Photo.c" + } +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 27547 "Photo.c" + } else { +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = FALSE; +#line 27551 "Photo.c" + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 27555 "Photo.c" + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = current_editable_file; +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = _tmp24_; +#line 27566 "Photo.c" + } +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = create_editable_file; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ != NULL) { +#line 27572 "Photo.c" + PhotoFileFormat _tmp27_ = 0; + gboolean _tmp28_ = FALSE; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = editable_file_format; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_can_write (_tmp27_); +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp28_; +#line 27581 "Photo.c" + } else { +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = FALSE; +#line 27585 "Photo.c" + } +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_) { +#line 27589 "Photo.c" + PhotoFileFormat _tmp40_ = 0; + GFile* _tmp41_ = NULL; + GFile* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; +#line 3823 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 27596 "Photo.c" + { + GFile* _tmp29_ = NULL; + Scaling _tmp30_ = {0}; + PhotoFileFormat _tmp31_ = 0; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = create_editable_file; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp30_); +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = editable_file_format; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + photo_export (self, _tmp29_, &_tmp30_, JPEG_QUALITY_MAXIMUM, _tmp31_, FALSE, TRUE, &_inner_error_); +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27611 "Photo.c" + goto __catch376_g_error; + } + } + goto __finally376; + __catch376_g_error: + { + GError* err = NULL; + GError* _tmp38_ = NULL; + GError* _tmp39_ = NULL; +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 27625 "Photo.c" + { + GFile* _tmp32_ = NULL; +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = create_editable_file; +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_delete (_tmp32_, NULL, &_inner_error_); +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27634 "Photo.c" + goto __catch377_g_error; + } + } + goto __finally377; + __catch377_g_error: + { + GError* delete_err = NULL; + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + delete_err = _inner_error_; +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = create_editable_file; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = delete_err; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->message; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:3834: Unable to delete editable file %s after export error:" \ +" %s", _tmp35_, _tmp37_); +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp35_); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (delete_err); +#line 27667 "Photo.c" + } + __finally377: +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3830 "/home/jens/Source/shotwell/src/Photo.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 3830 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27686 "Photo.c" + } +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = err; +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _g_error_copy0 (_tmp38_); +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = _tmp39_; +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 27696 "Photo.c" + goto __finally376; + } + __finally376: +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27710 "Photo.c" + } +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = editable_file_format; +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = create_editable_file; +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + photo_attach_editable (self, _tmp40_, _tmp41_, &_inner_error_); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27728 "Photo.c" + } +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = create_editable_file; +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _g_object_ref0 (_tmp42_); +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = _tmp43_; +#line 27738 "Photo.c" + } +#line 3847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = current_editable_file; +#line 3847 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp44_ != NULL, "current_editable_file != null"); +#line 3850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = self->priv->editable_monitor; +#line 3850 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_ == NULL) { +#line 27748 "Photo.c" + GFile* _tmp46_ = NULL; +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = current_editable_file; +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + photo_start_monitoring_editable (self, _tmp46_, &_inner_error_); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27764 "Photo.c" + } + } +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = current_editable_file; +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = photo_get_file_format (self); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + photo_launch_editor (_tmp47_, _tmp48_, &_inner_error_); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27783 "Photo.c" + } +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 27789 "Photo.c" +} + + +void photo_revert_to_master (Photo* self, gboolean notify) { + gboolean _tmp0_ = FALSE; +#line 3856 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = notify; +#line 3857 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, TRUE, TRUE, _tmp0_); +#line 27801 "Photo.c" +} + + +static void _photo_on_editable_file_changed_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) { +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_editable_file_changed ((Photo*) self, file, other_file, event_type); +#line 27808 "Photo.c" +} + + +static void photo_start_monitoring_editable (Photo* self, GFile* file, GError** error) { + GFile* _tmp0_ = NULL; + GFileMonitor* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileMonitor* _tmp3_ = NULL; + GFileMonitor* _tmp4_ = NULL; + GFileMonitor* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 3861 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 3864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 3864 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp0_, "Photo.start_monitoring_editable"); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_file_monitor (_tmp2_, G_FILE_MONITOR_NONE, NULL, &_inner_error_); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27842 "Photo.c" + } +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp1_; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = _tmp4_; +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->editable_monitor; +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect_object (_tmp5_, "changed", (GCallback) _photo_on_editable_file_changed_g_file_monitor_changed, self, 0); +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 27858 "Photo.c" +} + + +static void photo_halt_monitoring_editable (Photo* self) { + GFileMonitor* _tmp0_ = NULL; + GFile* file = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileMonitor* _tmp4_ = NULL; + guint _tmp5_ = 0U; + GFileMonitor* _tmp6_ = NULL; +#line 3870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->editable_monitor; +#line 3871 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 3872 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27878 "Photo.c" + } +#line 3875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_editable_file (self); +#line 3875 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp1_; +#line 3876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 3876 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 27888 "Photo.c" + GFile* _tmp3_ = NULL; +#line 3877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 3877 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp3_); +#line 27894 "Photo.c" + } +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->editable_monitor; +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("changed", g_file_monitor_get_type (), &_tmp5_, NULL, FALSE); +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _photo_on_editable_file_changed_g_file_monitor_changed, self); +#line 3880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->editable_monitor; +#line 3880 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_monitor_cancel (_tmp6_); +#line 3881 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 3881 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = NULL; +#line 3870 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 27912 "Photo.c" +} + + +static void photo_attach_editable (Photo* self, PhotoFileFormat file_format, GFile* file, GError** error) { + PhotoFileFormat _tmp0_ = 0; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3884 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3884 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 3889 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file_format; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_create_reader (_tmp0_, _tmp3_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, FALSE, _tmp5_, &_inner_error_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27954 "Photo.c" + } +} + + +static void photo_update_editable_attributes (Photo* self, GError** error) { + GError * _inner_error_ = NULL; +#line 3893 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, TRUE, NULL, &_inner_error_); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27971 "Photo.c" + } +} + + +void photo_reimport_editable (Photo* self, GError** error) { + GError * _inner_error_ = NULL; +#line 3897 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, FALSE, NULL, &_inner_error_); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27988 "Photo.c" + } +} + + +static void _vala_array_add269 (gchar*** array, int* length, int* size, gchar* value) { +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28000 "Photo.c" + } +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28006 "Photo.c" +} + + +static void _vala_array_add270 (gchar*** array, int* length, int* size, gchar* value) { +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28017 "Photo.c" + } +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28023 "Photo.c" +} + + +static void _vala_array_add271 (gchar*** array, int* length, int* size, gchar* value) { +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28034 "Photo.c" + } +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28040 "Photo.c" +} + + +static void _vala_array_add272 (gchar*** array, int* length, int* size, gchar* value) { +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28051 "Photo.c" + } +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28057 "Photo.c" +} + + +static void _vala_array_add273 (gchar*** array, int* length, int* size, gchar* value) { +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28068 "Photo.c" + } +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28074 "Photo.c" +} + + +static void _vala_array_add274 (gchar*** array, int* length, int* size, gchar* value) { +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28085 "Photo.c" + } +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28091 "Photo.c" +} + + +static void photo_update_editable (Photo* self, gboolean only_attributes, PhotoFileReader* new_reader, GError** error) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + PhotoFileReader* old_reader = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + PhotoFileReader* _tmp7_ = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + gboolean timestamp_changed = FALSE; + gboolean filesize_changed = FALSE; + gboolean is_new_editable = FALSE; + BackingPhotoID editable_id = {0}; + BackingPhotoID _tmp11_ = {0}; + GFile* file = NULL; + PhotoFileReader* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + GFile* _tmp14_ = NULL; + DetectedPhotoInformation* _tmp15_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gboolean _tmp35_ = FALSE; + PhotoFileReader* _tmp94_ = NULL; + gboolean _tmp100_ = FALSE; + gboolean _tmp101_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp112_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gboolean _tmp113_ = FALSE; + gboolean _tmp121_ = FALSE; + gboolean _tmp122_ = FALSE; + gchar** _tmp131_ = NULL; + gint _tmp131__length1 = 0; + GError * _inner_error_ = NULL; +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_reader == NULL) || IS_PHOTO_FILE_READER (new_reader)); +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = only_attributes; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 28142 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_reader; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_ == NULL; +#line 28148 "Photo.c" + } else { +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 28152 "Photo.c" + } +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 28158 "Photo.c" + } else { + gboolean _tmp4_ = FALSE; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = only_attributes; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = !_tmp4_; +#line 28165 "Photo.c" + } +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp0_, "(only_attributes && new_reader == null) || (!only_attributes)"); +#line 3907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_editable_reader (self); +#line 3907 "/home/jens/Source/shotwell/src/Photo.vala" + old_reader = _tmp5_; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = new_reader; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp7_; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ == NULL) { +#line 28179 "Photo.c" + PhotoFileReader* _tmp8_ = NULL; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_reader; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8_; +#line 28185 "Photo.c" + } +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _photo_file_adapter_ref0 (_tmp6_); +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp9_; +#line 3910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = reader; +#line 3910 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ == NULL) { +#line 3911 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28203 "Photo.c" + } +#line 3916 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = FALSE; +#line 3917 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = FALSE; +#line 3918 "/home/jens/Source/shotwell/src/Photo.vala" + is_new_editable = FALSE; +#line 3920 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_editable_id (self, &_tmp11_); +#line 3920 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp11_; +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = reader; +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp13_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_query_backing_photo_row (self, _tmp14_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp15_, &_inner_error_); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp15_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp16_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28245 "Photo.c" + } +#line 3928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = backing_photo_id_is_invalid (&editable_id); +#line 3928 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 28251 "Photo.c" + BackingPhotoRow* _tmp18_ = NULL; +#line 3930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = backing; +#line 3930 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ != NULL) { +#line 28257 "Photo.c" + BackingPhotoTable* _tmp19_ = NULL; + BackingPhotoTable* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = backing_photo_table_get_instance (); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = backing; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp20_, _tmp21_, &_inner_error_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp20_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28287 "Photo.c" + } + { + PhotoRow* _tmp22_ = NULL; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = self->row; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28295 "Photo.c" + { + PhotoTable* _tmp23_ = NULL; + PhotoTable* _tmp24_ = NULL; + PhotoRow* _tmp25_ = NULL; + BackingPhotoRow* _tmp26_ = NULL; + BackingPhotoID _tmp27_ = {0}; + BackingPhotoRow* _tmp28_ = NULL; + BackingPhotoRow* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + Orientation _tmp33_ = 0; +#line 3933 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = TRUE; +#line 3934 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = TRUE; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_table_get_instance (); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->row; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = backing; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->id; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_attach_editable (_tmp24_, _tmp25_, &_tmp27_, &_inner_error_); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp24_); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28328 "Photo.c" + goto __finally378; + } +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = backing; +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _backing_photo_row_ref0 (_tmp28_); +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp29_; +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = self->priv->editable; +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _backing_photo_row_ref0 (_tmp30_); +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp31_; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->backing_photo_row; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->original_orientation; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp33_); +#line 28353 "Photo.c" + } + __finally378: + { + PhotoRow* _tmp34_ = NULL; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28362 "Photo.c" + } +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28380 "Photo.c" + } + } + } +#line 3942 "/home/jens/Source/shotwell/src/Photo.vala" + is_new_editable = TRUE; +#line 28386 "Photo.c" + } +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = only_attributes; +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 28392 "Photo.c" + gboolean _tmp36_ = FALSE; + GFileInfo* info = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp45_ = NULL; + GTimeVal _tmp46_ = {0}; + BackingPhotoTable* _tmp47_ = NULL; + BackingPhotoTable* _tmp48_ = NULL; + BackingPhotoID _tmp49_ = {0}; + GTimeVal _tmp50_ = {0}; + glong _tmp51_ = 0L; + GFileInfo* _tmp52_ = NULL; + gint64 _tmp53_ = 0LL; +#line 3947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = backing_photo_id_is_valid (&editable_id); +#line 3947 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp36_, "editable_id.is_valid()"); +#line 28409 "Photo.c" + { + GFileInfo* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + GFileInfo* _tmp39_ = NULL; + GFileInfo* _tmp40_ = NULL; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = file; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = g_file_query_filesystem_info (_tmp38_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, NULL, &_inner_error_); +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp39_; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28423 "Photo.c" + goto __catch379_g_error; + } +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp37_; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = NULL; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp40_; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp37_); +#line 28436 "Photo.c" + } + goto __finally379; + __catch379_g_error: + { + GError* err = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + GError* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = err; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->message; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:3953: Unable to read editable filesystem info for %s: %s", _tmp42_, _tmp44_); +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp42_); +#line 3954 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28480 "Photo.c" + } + __finally379: +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28501 "Photo.c" + } +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = info; +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp45_, &_tmp46_); +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp46_; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = backing_photo_table_get_instance (); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = editable_id; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = timestamp; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_.tv_sec; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = info; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = g_file_info_get_size (_tmp52_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update_attributes (_tmp48_, &_tmp49_, (time_t) _tmp51_, _tmp53_, &_inner_error_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp48_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28545 "Photo.c" + } + { + PhotoRow* _tmp54_ = NULL; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = self->row; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28553 "Photo.c" + { + BackingPhotoRow* _tmp55_ = NULL; + time_t _tmp56_ = 0; + GTimeVal _tmp57_ = {0}; + glong _tmp58_ = 0L; + BackingPhotoRow* _tmp59_ = NULL; + gint64 _tmp60_ = 0LL; + GFileInfo* _tmp61_ = NULL; + gint64 _tmp62_ = 0LL; + BackingPhotoRow* _tmp63_ = NULL; + GTimeVal _tmp64_ = {0}; + glong _tmp65_ = 0L; + BackingPhotoRow* _tmp66_ = NULL; + GFileInfo* _tmp67_ = NULL; + gint64 _tmp68_ = 0LL; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = self->priv->editable; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_->timestamp; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = timestamp; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_.tv_sec; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = _tmp56_ != ((time_t) _tmp58_); +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->editable; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp59_->filesize; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = info; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = g_file_info_get_size (_tmp61_); +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = _tmp60_ != _tmp62_; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = self->priv->editable; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = timestamp; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = _tmp64_.tv_sec; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_->timestamp = (time_t) _tmp65_; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->priv->editable; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = info; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = g_file_info_get_size (_tmp67_); +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_->filesize = _tmp68_; +#line 28605 "Photo.c" + } + __finally380: + { + PhotoRow* _tmp69_ = NULL; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = self->row; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28614 "Photo.c" + } +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28634 "Photo.c" + } + } +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 28639 "Photo.c" + } else { + gboolean _tmp70_ = FALSE; + gboolean _tmp71_ = FALSE; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = backing_photo_id_is_valid (&editable_id); +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp71_) { +#line 28647 "Photo.c" + gboolean _tmp72_ = FALSE; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = is_new_editable; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = !_tmp72_; +#line 28653 "Photo.c" + } else { +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = FALSE; +#line 28657 "Photo.c" + } +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_) { +#line 28661 "Photo.c" + BackingPhotoRow* _tmp73_ = NULL; + BackingPhotoID _tmp74_ = {0}; + BackingPhotoTable* _tmp75_ = NULL; + BackingPhotoTable* _tmp76_ = NULL; + BackingPhotoRow* _tmp77_ = NULL; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = backing; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = editable_id; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_->id = _tmp74_; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = backing_photo_table_get_instance (); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = _tmp75_; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = backing; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp76_, _tmp77_, &_inner_error_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp76_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28699 "Photo.c" + } + { + PhotoRow* _tmp78_ = NULL; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = self->row; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28707 "Photo.c" + { + BackingPhotoRow* _tmp79_ = NULL; + time_t _tmp80_ = 0; + BackingPhotoRow* _tmp81_ = NULL; + time_t _tmp82_ = 0; + BackingPhotoRow* _tmp83_ = NULL; + gint64 _tmp84_ = 0LL; + BackingPhotoRow* _tmp85_ = NULL; + gint64 _tmp86_ = 0LL; + BackingPhotoRow* _tmp87_ = NULL; + BackingPhotoRow* _tmp88_ = NULL; + BackingPhotoRow* _tmp89_ = NULL; + BackingPhotoRow* _tmp90_ = NULL; + BackingPhotoRow* _tmp91_ = NULL; + Orientation _tmp92_ = 0; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = self->priv->editable; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = _tmp79_->timestamp; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = backing; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = _tmp81_->timestamp; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = _tmp80_ != _tmp82_; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = self->priv->editable; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = _tmp83_->filesize; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = backing; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_->filesize; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = _tmp84_ != _tmp86_; +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = backing; +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _backing_photo_row_ref0 (_tmp87_); +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp88_; +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = self->priv->editable; +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _backing_photo_row_ref0 (_tmp89_); +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp90_; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = self->backing_photo_row; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->original_orientation; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp92_); +#line 28765 "Photo.c" + } + __finally381: + { + PhotoRow* _tmp93_ = NULL; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = self->row; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28774 "Photo.c" + } +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28792 "Photo.c" + } + } + } + } +#line 3991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = new_reader; +#line 3991 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp94_ != NULL) { +#line 28801 "Photo.c" + { + PhotoBackingReaders* _tmp95_ = NULL; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = self->priv->readers; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 28808 "Photo.c" + { + PhotoBackingReaders* _tmp96_ = NULL; + PhotoFileReader* _tmp97_ = NULL; + PhotoFileReader* _tmp98_ = NULL; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = self->priv->readers; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = new_reader; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = _photo_file_adapter_ref0 (_tmp97_); +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp96_->editable); +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_->editable = _tmp98_; +#line 28823 "Photo.c" + } + __finally382: + { + PhotoBackingReaders* _tmp99_ = NULL; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = self->priv->readers; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 28832 "Photo.c" + } +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28850 "Photo.c" + } + } + } +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = only_attributes; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp101_) { +#line 28858 "Photo.c" + PhotoFileReader* _tmp102_ = NULL; + PhotoFileReader* _tmp103_ = NULL; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = reader; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = old_reader; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = _tmp102_ != _tmp103_; +#line 28867 "Photo.c" + } else { +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = FALSE; +#line 28871 "Photo.c" + } +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp100_) { +#line 28875 "Photo.c" + GFile* _tmp104_ = NULL; + PhotoFileReader* _tmp105_ = NULL; + GFile* _tmp108_ = NULL; + PhotoFileReader* _tmp109_ = NULL; +#line 3998 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = old_reader; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp105_ != NULL) { +#line 28886 "Photo.c" + PhotoFileReader* _tmp106_ = NULL; + GFile* _tmp107_ = NULL; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = old_reader; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp107_; +#line 28897 "Photo.c" + } else { +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = NULL; +#line 28903 "Photo.c" + } +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = new_reader; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp109_ != NULL) { +#line 28909 "Photo.c" + PhotoFileReader* _tmp110_ = NULL; + GFile* _tmp111_ = NULL; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = new_reader; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = _tmp111_; +#line 28920 "Photo.c" + } else { +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = NULL; +#line 28926 "Photo.c" + } +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp104_, _tmp108_); +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 28934 "Photo.c" + } +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = g_new0 (gchar*, 0 + 1); +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp112_; +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 4004 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = timestamp_changed; +#line 4004 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp113_) { +#line 28948 "Photo.c" + gchar** _tmp114_ = NULL; + gint _tmp114__length1 = 0; + gchar* _tmp115_ = NULL; + gchar** _tmp116_ = NULL; + gint _tmp116__length1 = 0; + gchar* _tmp117_ = NULL; + gboolean _tmp118_ = FALSE; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = alteration_list; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114__length1 = alteration_list_length1; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = g_strdup ("metadata:editable-timestamp"); +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add269 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp115_); +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = alteration_list; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116__length1 = alteration_list_length1; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = g_strdup ("metadata:baseline-timestamp"); +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add270 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp117_); +#line 4008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = photo_is_editable_source (self); +#line 4008 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp118_) { +#line 28976 "Photo.c" + gchar** _tmp119_ = NULL; + gint _tmp119__length1 = 0; + gchar* _tmp120_ = NULL; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = alteration_list; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119__length1 = alteration_list_length1; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = g_strdup ("metadata:source-timestamp"); +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add271 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp120_); +#line 28988 "Photo.c" + } + } +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = filesize_changed; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp122_) { +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = TRUE; +#line 28997 "Photo.c" + } else { + PhotoFileReader* _tmp123_ = NULL; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = new_reader; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = _tmp123_ != NULL; +#line 29004 "Photo.c" + } +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp121_) { +#line 29008 "Photo.c" + gchar** _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gchar* _tmp125_ = NULL; + gchar** _tmp126_ = NULL; + gint _tmp126__length1 = 0; + gchar* _tmp127_ = NULL; + gboolean _tmp128_ = FALSE; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = alteration_list; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124__length1 = alteration_list_length1; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = g_strdup ("image:editable"); +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add272 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp125_); +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = alteration_list; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126__length1 = alteration_list_length1; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = g_strdup ("image:baseline"); +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add273 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp127_); +#line 4016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = photo_is_editable_source (self); +#line 4016 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp128_) { +#line 29036 "Photo.c" + gchar** _tmp129_ = NULL; + gint _tmp129__length1 = 0; + gchar* _tmp130_ = NULL; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = alteration_list; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129__length1 = alteration_list_length1; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = g_strdup ("image:source"); +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add274 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp130_); +#line 29048 "Photo.c" + } + } +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = alteration_list; +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131__length1 = alteration_list_length1; +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp131__length1 > 0) { +#line 29057 "Photo.c" + gchar** _tmp132_ = NULL; + gint _tmp132__length1 = 0; + Alteration* _tmp133_ = NULL; + Alteration* _tmp134_ = NULL; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = alteration_list; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132__length1 = alteration_list_length1; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = alteration_new_from_array (_tmp132_, _tmp132__length1); +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _tmp133_; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp134_); +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp134_); +#line 29074 "Photo.c" + } +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 29088 "Photo.c" +} + + +static void photo_detach_editable (Photo* self, gboolean delete_editable, gboolean remove_transformations, gboolean notify) { + gboolean has_editable = FALSE; + GFile* editable_file = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; + GError * _inner_error_ = NULL; +#line 4024 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4025 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 4027 "/home/jens/Source/shotwell/src/Photo.vala" + has_editable = FALSE; +#line 4028 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file = NULL; +#line 29112 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 29119 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 29129 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + PhotoBackingReaders* _tmp6_ = NULL; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file = _tmp5_; +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp6_->editable); +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->editable = NULL; +#line 4033 "/home/jens/Source/shotwell/src/Photo.vala" + has_editable = TRUE; +#line 29152 "Photo.c" + } + } + __finally383: + { + PhotoBackingReaders* _tmp7_ = NULL; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29162 "Photo.c" + } +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4029 "/home/jens/Source/shotwell/src/Photo.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 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29174 "Photo.c" + } + } +#line 4037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = has_editable; +#line 4037 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 29181 "Photo.c" + BackingPhotoID editable_id = {0}; +#line 4038 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_id_init (&editable_id, BACKING_PHOTO_ID_INVALID); +#line 29185 "Photo.c" + { + { + PhotoRow* _tmp9_ = NULL; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 29193 "Photo.c" + { + PhotoRow* _tmp10_ = NULL; + BackingPhotoID _tmp11_ = {0}; + gboolean _tmp12_ = FALSE; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->editable_id; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp11_; +#line 4042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = backing_photo_id_is_valid (&editable_id); +#line 4042 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 29211 "Photo.c" + PhotoTable* _tmp13_ = NULL; + PhotoTable* _tmp14_ = NULL; + PhotoRow* _tmp15_ = NULL; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_table_get_instance (); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_detach_editable (_tmp14_, _tmp15_, &_inner_error_); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp14_); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29227 "Photo.c" + goto __finally385; + } + } +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _backing_photo_row_ref0 (_tmp17_); +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp18_; +#line 29241 "Photo.c" + } + __finally385: + { + PhotoRow* _tmp19_ = NULL; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 29250 "Photo.c" + } +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 29256 "Photo.c" + goto __catch384_database_error; + } +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4040 "/home/jens/Source/shotwell/src/Photo.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 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29267 "Photo.c" + } + } + } + goto __finally384; + __catch384_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->message; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4047: Unable to remove editable from PhotoTable: %s", _tmp21_); +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29289 "Photo.c" + } + __finally384: +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4039 "/home/jens/Source/shotwell/src/Photo.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 4039 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29302 "Photo.c" + } + { + gboolean _tmp22_ = FALSE; +#line 4051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = backing_photo_id_is_valid (&editable_id); +#line 4051 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 29310 "Photo.c" + BackingPhotoTable* _tmp23_ = NULL; + BackingPhotoTable* _tmp24_ = NULL; + BackingPhotoID _tmp25_ = {0}; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = backing_photo_table_get_instance (); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = editable_id; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp24_, &_tmp25_, &_inner_error_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp24_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 29328 "Photo.c" + goto __catch386_database_error; + } +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4052 "/home/jens/Source/shotwell/src/Photo.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 4052 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29339 "Photo.c" + } + } + } + goto __finally386; + __catch386_database_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = err; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->message; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4054: Unable to remove editable from BackingPhotoTable: %s", _tmp27_); +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29361 "Photo.c" + } + __finally386: +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4050 "/home/jens/Source/shotwell/src/Photo.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 4050 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29374 "Photo.c" + } + } +#line 4058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = remove_transformations; +#line 4058 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 4059 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 29383 "Photo.c" + } +#line 4061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = has_editable; +#line 4061 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 29389 "Photo.c" + GFile* _tmp30_ = NULL; +#line 4062 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 4063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = editable_file; +#line 4063 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp30_, NULL); +#line 29397 "Photo.c" + } +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = delete_editable; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_) { +#line 29403 "Photo.c" + GFile* _tmp33_ = NULL; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = editable_file; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp33_ != NULL; +#line 29409 "Photo.c" + } else { +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = FALSE; +#line 29413 "Photo.c" + } +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 29417 "Photo.c" + { + GFile* _tmp34_ = NULL; +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = editable_file; +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_trash (_tmp34_, NULL, &_inner_error_); +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29426 "Photo.c" + goto __catch387_g_error; + } + } + goto __finally387; + __catch387_g_error: + { + GError* err = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GError* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = editable_file; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_file_get_path (_tmp35_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->message; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4070: Unable to trash editable %s for %s: %s", _tmp37_, _tmp39_, _tmp41_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp39_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29467 "Photo.c" + } + __finally387: +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4067 "/home/jens/Source/shotwell/src/Photo.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 4067 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29480 "Photo.c" + } + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = has_editable; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = TRUE; +#line 29489 "Photo.c" + } else { + gboolean _tmp45_ = FALSE; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = remove_transformations; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp45_; +#line 29496 "Photo.c" + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 29500 "Photo.c" + gboolean _tmp46_ = FALSE; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = notify; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp46_; +#line 29506 "Photo.c" + } else { +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = FALSE; +#line 29510 "Photo.c" + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 29514 "Photo.c" + Alteration* _tmp47_ = NULL; + Alteration* _tmp48_ = NULL; +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = alteration_new ("image", "revert"); +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp48_); +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp48_); +#line 29525 "Photo.c" + } +#line 4024 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 29529 "Photo.c" +} + + +static void _photo_on_reimport_editable_one_shot_callback (gpointer self) { +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_reimport_editable ((Photo*) self); +#line 29536 "Photo.c" +} + + +static void _photo_on_update_editable_attributes_one_shot_callback (gpointer self) { +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_update_editable_attributes ((Photo*) self); +#line 29543 "Photo.c" +} + + +static void _photo_on_remove_editable_one_shot_callback (gpointer self) { +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_remove_editable ((Photo*) self); +#line 29550 "Photo.c" +} + + +static void photo_on_editable_file_changed (Photo* self, GFile* file, GFile* other_file, GFileMonitorEvent event) { + GFileMonitorEvent _tmp12_ = 0; + GEnumValue* _tmp13_; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GFileMonitorEvent _tmp17_ = 0; + GError * _inner_error_ = NULL; +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); +#line 29568 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 29575 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "readers.editable != null"); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_equal (_tmp3_, _tmp7_); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = !_tmp8_; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_) { +#line 29610 "Photo.c" + { + PhotoBackingReaders* _tmp10_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29617 "Photo.c" + } +#line 4088 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29621 "Photo.c" + } + } + __finally388: + { + PhotoBackingReaders* _tmp11_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29631 "Photo.c" + } +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4081 "/home/jens/Source/shotwell/src/Photo.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 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29641 "Photo.c" + } + } +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = event; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp12_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4092: EDITABLE %s: %s", (_tmp13_ != NULL) ? _tmp13_->value_name : NULL, _tmp16_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = event; +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp17_) { +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CHANGED: +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CREATED: +#line 29666 "Photo.c" + { + OneShotScheduler* _tmp18_ = NULL; + OneShotScheduler* _tmp20_ = NULL; +#line 4097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reimport_editable_scheduler; +#line 4097 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ == NULL) { +#line 29674 "Photo.c" + OneShotScheduler* _tmp19_ = NULL; +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = one_shot_scheduler_new ("Photo.reimport_editable", _photo_on_reimport_editable_one_shot_callback, self); +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->reimport_editable_scheduler); +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reimport_editable_scheduler = _tmp19_; +#line 29682 "Photo.c" + } +#line 4102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->reimport_editable_scheduler; +#line 4102 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp20_, (guint) 1000, TRUE); +#line 4103 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29690 "Photo.c" + } +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: +#line 29694 "Photo.c" + { + OneShotScheduler* _tmp21_ = NULL; + OneShotScheduler* _tmp23_ = NULL; +#line 4106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->update_editable_attributes_scheduler; +#line 4106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_ == NULL) { +#line 29702 "Photo.c" + OneShotScheduler* _tmp22_ = NULL; +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = one_shot_scheduler_new ("Photo.update_editable_attributes", _photo_on_update_editable_attributes_one_shot_callback, self); +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->update_editable_attributes_scheduler); +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->update_editable_attributes_scheduler = _tmp22_; +#line 29710 "Photo.c" + } +#line 4111 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->priv->update_editable_attributes_scheduler; +#line 4111 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp23_, (guint) 1000, TRUE); +#line 4112 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29718 "Photo.c" + } +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_DELETED: +#line 29722 "Photo.c" + { + OneShotScheduler* _tmp24_ = NULL; + OneShotScheduler* _tmp26_ = NULL; +#line 4115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->remove_editable_scheduler; +#line 4115 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ == NULL) { +#line 29730 "Photo.c" + OneShotScheduler* _tmp25_ = NULL; +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = one_shot_scheduler_new ("Photo.remove_editable", _photo_on_remove_editable_one_shot_callback, self); +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->remove_editable_scheduler); +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->remove_editable_scheduler = _tmp25_; +#line 29738 "Photo.c" + } +#line 4120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->priv->remove_editable_scheduler; +#line 4120 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp26_, (guint) 3000, TRUE); +#line 4121 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29746 "Photo.c" + } + default: +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: +#line 29751 "Photo.c" + { +#line 4126 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29755 "Photo.c" + } + } +#line 4131 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 29760 "Photo.c" +} + + +static void photo_on_reimport_editable (Photo* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4134 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4136 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4138: Reimporting editable for %s", _tmp1_); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 29780 "Photo.c" + { +#line 4140 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable (self, &_inner_error_); +#line 4140 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29786 "Photo.c" + goto __catch389_g_error; + } + } + goto __finally389; + __catch389_g_error: + { + GError* err = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->message; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4142: Unable to reimport photo %s changed by external edito" \ +"r: %s", _tmp3_, _tmp5_); +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29816 "Photo.c" + } + __finally389: +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4139 "/home/jens/Source/shotwell/src/Photo.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 4139 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29827 "Photo.c" + } +} + + +static void photo_on_update_editable_attributes (Photo* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4147 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4148: Updating editable attributes for %s", _tmp1_); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 29846 "Photo.c" + { +#line 4150 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable_attributes (self, &_inner_error_); +#line 4150 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29852 "Photo.c" + goto __catch390_g_error; + } + } + goto __finally390; + __catch390_g_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = err; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->message; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4152: Unable to update editable attributes: %s", _tmp3_); +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29874 "Photo.c" + } + __finally390: +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4149 "/home/jens/Source/shotwell/src/Photo.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 4149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29885 "Photo.c" + } +} + + +static void photo_on_remove_editable (Photo* self) { + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* file = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 4157 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 4158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = reader; +#line 4158 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 4159 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 4159 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29915 "Photo.c" + } +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp3_; +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_file_query_exists (_tmp4_, NULL); +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 29929 "Photo.c" + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4163: Not removing editable for %s: file exists", _tmp7_); +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29946 "Photo.c" + } +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4168: Removing editable for %s: file no longer exists", _tmp9_); +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 4169 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 29962 "Photo.c" +} + + +void photo_get_original_dimensions (Photo* self, Dimensions* result) { + Dimensions dim = {0}; + Dimensions _tmp0_ = {0}; + Orientation orientation = 0; + Orientation _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; +#line 4177 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4178 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 4178 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp0_; +#line 4179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 4179 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp1_; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = dim; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (orientation, &_tmp2_, &_tmp3_); +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp3_; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29991 "Photo.c" +} + + +void photo_get_master_dimensions (Photo* self, Dimensions* result) { + Orientation _tmp0_ = 0; + Dimensions _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; +#line 4185 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_original_orientation (self); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp1_); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp0_, &_tmp1_, &_tmp2_); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 30011 "Photo.c" +} + + +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions) { + Box _vala_crop = {0}; + gboolean result = FALSE; + Box raw = {0}; + Box _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Dimensions dim = {0}; + Dimensions _tmp2_ = {0}; + Orientation orientation = 0; + Orientation _tmp3_ = 0; + PhotoException _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 4190 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_raw_crop (self, &_tmp0_); +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + raw = _tmp0_; +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 4193 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, 0, 0, 0, 0); +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 30043 "Photo.c" + } +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30047 "Photo.c" + } +#line 4198 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_ORIENTATION, &_tmp2_); +#line 4198 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp2_; +#line 4199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_orientation (self); +#line 4199 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp3_; +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = exceptions; +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_exception_allows (_tmp4_, PHOTO_EXCEPTION_ORIENTATION); +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 30063 "Photo.c" + Orientation _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + Box _tmp8_ = {0}; + Box _tmp9_ = {0}; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = orientation; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dim; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = raw; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_box (_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_); +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_crop = _tmp9_; +#line 30078 "Photo.c" + } else { + Box _tmp10_ = {0}; +#line 4204 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = raw; +#line 4204 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_crop = _tmp10_; +#line 30085 "Photo.c" + } +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 30093 "Photo.c" + } +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30097 "Photo.c" +} + + +void photo_set_crop (Photo* self, Box* crop) { + Dimensions dim = {0}; + Dimensions _tmp0_ = {0}; + Orientation orientation = 0; + Orientation _tmp1_ = 0; + Box derotated = {0}; + Dimensions _tmp2_ = {0}; + Box _tmp3_ = {0}; + Box _tmp4_ = {0}; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Box _tmp10_ = {0}; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + Box _tmp17_ = {0}; + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + Box _tmp22_ = {0}; + gint _tmp23_ = 0; + Box _tmp24_ = {0}; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + Box _tmp29_ = {0}; +#line 4210 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4210 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (crop != NULL); +#line 4211 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_ORIENTATION, &_tmp0_); +#line 4211 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp0_; +#line 4212 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 4212 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp1_; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = dim; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = *crop; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_box (orientation, &_tmp2_, &_tmp3_, &_tmp4_); +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + derotated = _tmp4_; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = derotated; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.left; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dim; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_.width; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = CLAMP (_tmp6_, 0, _tmp8_ - 2); +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.left = _tmp9_; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = derotated; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.right; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = derotated; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.left; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dim; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.width; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = CLAMP (_tmp11_, _tmp13_, _tmp15_ - 1); +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.right = _tmp16_; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = derotated; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.top; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = dim; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_.height; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = CLAMP (_tmp18_, 0, _tmp20_ - 2); +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.top = _tmp21_; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = derotated; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.bottom; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = derotated; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.top; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dim; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.height; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = CLAMP (_tmp23_, _tmp25_, _tmp27_ - 1); +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.bottom = _tmp28_; +#line 4222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = derotated; +#line 4222 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_crop (self, &_tmp29_); +#line 30215 "Photo.c" +} + + +gboolean photo_get_straighten (Photo* self, gdouble* theta) { + gdouble _vala_theta = 0.0; + gboolean result = FALSE; + gdouble _tmp0_ = 0.0; + gboolean _tmp1_ = FALSE; +#line 4225 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_raw_straighten (self, &_tmp0_); +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_theta = _tmp0_; +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + if (theta) { +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + *theta = _vala_theta; +#line 30238 "Photo.c" + } +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30242 "Photo.c" + } +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + if (theta) { +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + *theta = _vala_theta; +#line 30250 "Photo.c" + } +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30254 "Photo.c" +} + + +void photo_set_straighten (Photo* self, gdouble theta) { + gdouble _tmp0_ = 0.0; +#line 4232 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4233 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = theta; +#line 4233 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_straighten (self, _tmp0_); +#line 30266 "Photo.c" +} + + +static GdkPixbuf* photo_do_redeye (Photo* self, GdkPixbuf* pixbuf, EditingToolsRedeyeInstance* inst) { + GdkPixbuf* result = NULL; + gdouble r = 0.0; + EditingToolsRedeyeInstance _tmp0_ = {0}; + gint _tmp1_ = 0; + gint* x_insets_first_quadrant = NULL; + EditingToolsRedeyeInstance _tmp2_ = {0}; + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint x_insets_first_quadrant_length1 = 0; + gint _x_insets_first_quadrant_size_ = 0; + gint i = 0; + gint x_bounds_min = 0; + EditingToolsRedeyeInstance _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + gint _tmp24_ = 0; + EditingToolsRedeyeInstance _tmp25_ = {0}; + gint _tmp26_ = 0; + gint x_bounds_max = 0; + EditingToolsRedeyeInstance _tmp27_ = {0}; + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; + EditingToolsRedeyeInstance _tmp30_ = {0}; + gint _tmp31_ = 0; + gint ymin = 0; + EditingToolsRedeyeInstance _tmp32_ = {0}; + GdkPoint _tmp33_ = {0}; + gint _tmp34_ = 0; + EditingToolsRedeyeInstance _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint ymax = 0; + EditingToolsRedeyeInstance _tmp40_ = {0}; + GdkPoint _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GdkPixbuf* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint inset_index = 0; + EditingToolsRedeyeInstance _tmp88_ = {0}; + GdkPoint _tmp89_ = {0}; + gint _tmp90_ = 0; + EditingToolsRedeyeInstance _tmp91_ = {0}; + GdkPoint _tmp92_ = {0}; + gint _tmp93_ = 0; + EditingToolsRedeyeInstance _tmp94_ = {0}; + gint _tmp95_ = 0; + gint* _tmp96_ = NULL; + gint _tmp96__length1 = 0; + GdkPixbuf* _tmp133_ = NULL; + GdkPixbuf* _tmp134_ = NULL; +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (inst != NULL, NULL); +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *inst; +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.radius; +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + r = (gdouble) _tmp1_; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *inst; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.radius; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_new0 (gint, _tmp3_ + 1); +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant = _tmp4_; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant_length1 = _tmp3_ + 1; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _x_insets_first_quadrant_size_ = x_insets_first_quadrant_length1; +#line 4249 "/home/jens/Source/shotwell/src/Photo.vala" + i = 0; +#line 30350 "Photo.c" + { + gdouble y = 0.0; + gdouble _tmp5_ = 0.0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = r; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + y = _tmp5_; +#line 30358 "Photo.c" + { + gboolean _tmp6_ = FALSE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30365 "Photo.c" + gdouble _tmp8_ = 0.0; + gdouble theta = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gint x = 0; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + EditingToolsRedeyeInstance _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp6_) { +#line 30385 "Photo.c" + gdouble _tmp7_ = 0.0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = y; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + y = _tmp7_ - 1.0; +#line 30391 "Photo.c" + } +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = y; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp8_ >= 0.0)) { +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30401 "Photo.c" + } +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = y; +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = r; +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = asin (_tmp9_ / _tmp10_); +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + theta = _tmp11_; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = r; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = theta; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = cos (_tmp13_); +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + x = (gint) ((_tmp12_ * _tmp14_) + 0.5); +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = x_insets_first_quadrant; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15__length1 = x_insets_first_quadrant_length1; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = i; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = *inst; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.radius; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = x; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_[_tmp16_] = _tmp18_ - _tmp19_; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp15_[_tmp16_]; +#line 4255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = i; +#line 4255 "/home/jens/Source/shotwell/src/Photo.vala" + i = _tmp21_ + 1; +#line 30439 "Photo.c" + } + } + } +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = *inst; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.center; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.x; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = *inst; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_.radius; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + x_bounds_min = _tmp24_ - _tmp26_; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = *inst; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.center; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_.x; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = *inst; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_.radius; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + x_bounds_max = _tmp29_ + _tmp31_; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = *inst; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_.center; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.y; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = *inst; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_.radius; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp34_ - _tmp36_; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = ymin; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_ < 0) { +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = 0; +#line 30485 "Photo.c" + } else { + gint _tmp39_ = 0; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = ymin; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp39_; +#line 30492 "Photo.c" + } +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp37_; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = *inst; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_.center; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_.y; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp42_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = ymax; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = pixbuf; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gdk_pixbuf_get_height (_tmp45_); +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_ > (_tmp47_ - 1)) { +#line 30514 "Photo.c" + GdkPixbuf* _tmp48_ = NULL; + gint _tmp49_ = 0; + gint _tmp50_ = 0; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = pixbuf; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = gdk_pixbuf_get_height (_tmp48_); +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp50_ - 1; +#line 30526 "Photo.c" + } else { + gint _tmp51_ = 0; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = ymax; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp51_; +#line 30533 "Photo.c" + } +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp43_; +#line 4267 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = 0; +#line 30539 "Photo.c" + { + gint y_it = 0; + gint _tmp52_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = ymin; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp52_; +#line 30547 "Photo.c" + { + gboolean _tmp53_ = FALSE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = TRUE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30554 "Photo.c" + gint _tmp55_ = 0; + gint _tmp56_ = 0; + gint xmin = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint xmax = 0; + gint _tmp64_ = 0; + gint* _tmp65_ = NULL; + gint _tmp65__length1 = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + GdkPixbuf* _tmp70_ = NULL; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp87_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp53_) { +#line 30579 "Photo.c" + gint _tmp54_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = y_it; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp54_ + 1; +#line 30585 "Photo.c" + } +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = y_it; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = ymax; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp55_ <= _tmp56_)) { +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30597 "Photo.c" + } +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = x_bounds_min; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = x_insets_first_quadrant; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58__length1 = x_insets_first_quadrant_length1; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = inset_index; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp58_[_tmp59_]; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp57_ + _tmp60_; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = xmin; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp62_ < 0) { +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = 0; +#line 30617 "Photo.c" + } else { + gint _tmp63_ = 0; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = xmin; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp63_; +#line 30624 "Photo.c" + } +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp61_; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = x_bounds_max; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = x_insets_first_quadrant; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65__length1 = x_insets_first_quadrant_length1; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = inset_index; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp65_[_tmp66_]; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp64_ - _tmp67_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = xmax; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = pixbuf; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = gdk_pixbuf_get_width (_tmp70_); +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp69_ > (_tmp72_ - 1)) { +#line 30650 "Photo.c" + GdkPixbuf* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = pixbuf; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gdk_pixbuf_get_width (_tmp73_); +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp75_ - 1; +#line 30662 "Photo.c" + } else { + gint _tmp76_ = 0; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = xmax; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp76_; +#line 30669 "Photo.c" + } +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp68_; +#line 30673 "Photo.c" + { + gint x_it = 0; + gint _tmp77_ = 0; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = xmin; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp77_; +#line 30681 "Photo.c" + { + gboolean _tmp78_ = FALSE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = TRUE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30688 "Photo.c" + gint _tmp80_ = 0; + gint _tmp81_ = 0; + GdkPixbuf* _tmp82_ = NULL; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + GdkPixbuf* _tmp85_ = NULL; + GdkPixbuf* _tmp86_ = NULL; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp78_) { +#line 30698 "Photo.c" + gint _tmp79_ = 0; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = x_it; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp79_ + 1; +#line 30704 "Photo.c" + } +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = FALSE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = x_it; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = xmax; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp80_ <= _tmp81_)) { +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30716 "Photo.c" + } +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = pixbuf; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = x_it; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = y_it; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = photo_red_reduce_pixel (self, _tmp82_, _tmp83_, _tmp84_); +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp86_); +#line 30730 "Photo.c" + } + } + } +#line 4277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = inset_index; +#line 4277 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp87_ + 1; +#line 30738 "Photo.c" + } + } + } +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = *inst; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = _tmp88_.center; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_.y; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp90_; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = *inst; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_.center; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_.y; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = *inst; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = _tmp94_.radius; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp93_ + _tmp95_; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = x_insets_first_quadrant; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96__length1 = x_insets_first_quadrant_length1; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp96__length1 - 1; +#line 30768 "Photo.c" + { + gint y_it = 0; + gint _tmp97_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = ymin; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp97_; +#line 30776 "Photo.c" + { + gboolean _tmp98_ = FALSE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = TRUE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30783 "Photo.c" + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gint xmin = 0; + gint _tmp102_ = 0; + gint* _tmp103_ = NULL; + gint _tmp103__length1 = 0; + gint _tmp104_ = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + gint xmax = 0; + gint _tmp109_ = 0; + gint* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + GdkPixbuf* _tmp115_ = NULL; + gint _tmp116_ = 0; + gint _tmp117_ = 0; + gint _tmp132_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp98_) { +#line 30808 "Photo.c" + gint _tmp99_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = y_it; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp99_ + 1; +#line 30814 "Photo.c" + } +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = FALSE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = y_it; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = ymax; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp100_ <= _tmp101_)) { +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30826 "Photo.c" + } +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = x_bounds_min; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = x_insets_first_quadrant; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103__length1 = x_insets_first_quadrant_length1; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = inset_index; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _tmp103_[_tmp104_]; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp102_ + _tmp105_; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = xmin; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp107_ < 0) { +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = 0; +#line 30846 "Photo.c" + } else { + gint _tmp108_ = 0; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = xmin; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = _tmp108_; +#line 30853 "Photo.c" + } +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp106_; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = x_bounds_max; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = x_insets_first_quadrant; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110__length1 = x_insets_first_quadrant_length1; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = inset_index; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp110_[_tmp111_]; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp109_ - _tmp112_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = xmax; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = pixbuf; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = gdk_pixbuf_get_width (_tmp115_); +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = _tmp116_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp114_ > (_tmp117_ - 1)) { +#line 30879 "Photo.c" + GdkPixbuf* _tmp118_ = NULL; + gint _tmp119_ = 0; + gint _tmp120_ = 0; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = pixbuf; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = gdk_pixbuf_get_width (_tmp118_); +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp120_ - 1; +#line 30891 "Photo.c" + } else { + gint _tmp121_ = 0; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = xmax; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp121_; +#line 30898 "Photo.c" + } +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp113_; +#line 30902 "Photo.c" + { + gint x_it = 0; + gint _tmp122_ = 0; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = xmin; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp122_; +#line 30910 "Photo.c" + { + gboolean _tmp123_ = FALSE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = TRUE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30917 "Photo.c" + gint _tmp125_ = 0; + gint _tmp126_ = 0; + GdkPixbuf* _tmp127_ = NULL; + gint _tmp128_ = 0; + gint _tmp129_ = 0; + GdkPixbuf* _tmp130_ = NULL; + GdkPixbuf* _tmp131_ = NULL; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp123_) { +#line 30927 "Photo.c" + gint _tmp124_ = 0; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = x_it; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp124_ + 1; +#line 30933 "Photo.c" + } +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = FALSE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = x_it; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = xmax; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp125_ <= _tmp126_)) { +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30945 "Photo.c" + } +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = pixbuf; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = x_it; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = y_it; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = photo_red_reduce_pixel (self, _tmp127_, _tmp128_, _tmp129_); +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = _tmp130_; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp131_); +#line 30959 "Photo.c" + } + } + } +#line 4294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = inset_index; +#line 4294 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp132_ - 1; +#line 30967 "Photo.c" + } + } + } +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = pixbuf; +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _g_object_ref0 (_tmp133_); +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp134_; +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant = (g_free (x_insets_first_quadrant), NULL); +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30981 "Photo.c" +} + + +static GdkPixbuf* photo_red_reduce_pixel (Photo* self, GdkPixbuf* pixbuf, gint x, gint y) { + GdkPixbuf* result = NULL; + gint px_start_byte_offset = 0; + gint _tmp0_ = 0; + GdkPixbuf* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + GdkPixbuf* _tmp33_ = NULL; + GdkPixbuf* _tmp34_ = NULL; +#line 4300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = y; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = pixbuf; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gdk_pixbuf_get_rowstride (_tmp1_); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = x; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixbuf; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gdk_pixbuf_get_n_channels (_tmp4_); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + px_start_byte_offset = (_tmp0_ * _tmp2_) + (_tmp3_ * _tmp5_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = x; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ >= 0) { +#line 31022 "Photo.c" + gint _tmp10_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = y; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp10_ >= 0; +#line 31028 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = FALSE; +#line 31032 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 31036 "Photo.c" + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = x; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = pixbuf; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gdk_pixbuf_get_width (_tmp12_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp11_ < _tmp14_; +#line 31051 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = FALSE; +#line 31055 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 31059 "Photo.c" + gint _tmp15_ = 0; + GdkPixbuf* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = y; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = pixbuf; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gdk_pixbuf_get_height (_tmp16_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp15_ < _tmp18_; +#line 31074 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 31078 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 31082 "Photo.c" + guchar* pixel_data = NULL; + GdkPixbuf* _tmp19_ = NULL; + guint8* _tmp20_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + guchar g = '\0'; + guchar* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + guchar _tmp23_ = '\0'; + guchar b = '\0'; + guchar* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + guchar _tmp26_ = '\0'; + guchar r = '\0'; + guchar _tmp27_ = '\0'; + guchar _tmp28_ = '\0'; + guchar* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + guchar _tmp31_ = '\0'; + guchar _tmp32_ = '\0'; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = pixbuf; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gdk_pixbuf_get_pixels (_tmp19_); +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_data = _tmp20_; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_data_length1 = -1; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_data_size_ = pixel_data_length1; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = pixel_data; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21__length1 = pixel_data_length1; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = px_start_byte_offset; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp21_[_tmp22_ + 1]; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + g = _tmp23_; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = pixel_data; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24__length1 = pixel_data_length1; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = px_start_byte_offset; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp24_[_tmp25_ + 2]; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + b = _tmp26_; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = b; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + r = (guchar) ((_tmp27_ + _tmp28_) / 2); +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = pixel_data; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29__length1 = pixel_data_length1; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = px_start_byte_offset; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = r; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_[_tmp30_] = _tmp31_; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp29_[_tmp30_]; +#line 31154 "Photo.c" + } +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = pixbuf; +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp34_; +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31164 "Photo.c" +} + + +void photo_unscaled_to_raw_point (Photo* self, GdkPoint* unscaled_point, GdkPoint* result) { + Orientation unscaled_orientation = 0; + Orientation _tmp0_ = 0; + Dimensions unscaled_dims = {0}; + Orientation _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + gint unscaled_x_offset_raw = 0; + gint unscaled_y_offset_raw = 0; + Box crop_box = {0}; + Box _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + GdkPoint derotated_point = {0}; + Orientation _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + GdkPoint _tmp12_ = {0}; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 4330 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4330 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (unscaled_point != NULL); +#line 4331 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_orientation (self); +#line 4331 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_orientation = _tmp0_; +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = unscaled_orientation; +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp2_); +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp1_, &_tmp2_, &_tmp3_); +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_dims = _tmp3_; +#line 4336 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_x_offset_raw = 0; +#line 4337 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_y_offset_raw = 0; +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_raw_crop (self, &_tmp4_); +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + crop_box = _tmp4_; +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 31215 "Photo.c" + Box _tmp6_ = {0}; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; + gint _tmp9_ = 0; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = crop_box; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.left; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_x_offset_raw = _tmp7_; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = crop_box; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.top; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_y_offset_raw = _tmp9_; +#line 31232 "Photo.c" + } +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = unscaled_orientation; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = unscaled_dims; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = *unscaled_point; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_point (_tmp10_, &_tmp11_, &_tmp12_, &_tmp13_); +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point = _tmp13_; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = derotated_point.x; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = unscaled_x_offset_raw; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point.x = _tmp14_ + _tmp15_; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = derotated_point.y; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = unscaled_y_offset_raw; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point.y = _tmp16_ + _tmp17_; +#line 4352 "/home/jens/Source/shotwell/src/Photo.vala" + *result = derotated_point; +#line 4352 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 31260 "Photo.c" +} + + +void photo_unscaled_to_raw_rect (Photo* self, GdkRectangle* unscaled_rect, GdkRectangle* result) { + GdkPoint upper_left = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint lower_right = {0}; + GdkPoint _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + GdkPoint _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + GdkPoint _tmp17_ = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkPoint _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkRectangle raw_rect = {0}; + GdkPoint _tmp36_ = {0}; + gint _tmp37_ = 0; + GdkPoint _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPoint _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkPoint _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkPoint _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkPoint _tmp46_ = {0}; + gint _tmp47_ = 0; +#line 4355 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4355 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (unscaled_rect != NULL); +#line 4356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_.x = 0; +#line 4356 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left = _tmp0_; +#line 4357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_.x = 0; +#line 4357 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right = _tmp1_; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *unscaled_rect; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.x; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.x = _tmp3_; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = *unscaled_rect; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_.y; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.y = _tmp5_; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = upper_left; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.x; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *unscaled_rect; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.width; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.x = _tmp7_ + _tmp9_; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = upper_left; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.y; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = *unscaled_rect; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.height; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.y = _tmp11_ + _tmp13_; +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = upper_left; +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + photo_unscaled_to_raw_point (self, &_tmp14_, &_tmp15_); +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left = _tmp15_; +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = lower_right; +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_unscaled_to_raw_point (self, &_tmp16_, &_tmp17_); +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right = _tmp17_; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = upper_left; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.x; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = lower_right; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_.x; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ > _tmp21_) { +#line 31372 "Photo.c" + gint temp = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = upper_left; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.x; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + temp = _tmp23_; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = lower_right; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.x; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.x = _tmp25_; +#line 4369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = temp; +#line 4369 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.x = _tmp26_; +#line 31395 "Photo.c" + } +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = upper_left; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.y; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = lower_right; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_.y; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_ > _tmp30_) { +#line 31407 "Photo.c" + gint temp = 0; + GdkPoint _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkPoint _tmp33_ = {0}; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = upper_left; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_.y; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + temp = _tmp32_; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = lower_right; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.y; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.y = _tmp34_; +#line 4374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = temp; +#line 4374 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.y = _tmp35_; +#line 31430 "Photo.c" + } +#line 4377 "/home/jens/Source/shotwell/src/Photo.vala" + memset (&raw_rect, 0, sizeof (GdkRectangle)); +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = upper_left; +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_.x; +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.x = _tmp37_; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = upper_left; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_.y; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.y = _tmp39_; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = lower_right; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_.x; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = upper_left; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_.x; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.width = _tmp41_ - _tmp43_; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = lower_right; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_.y; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = upper_left; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_.y; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.height = _tmp45_ - _tmp47_; +#line 4383 "/home/jens/Source/shotwell/src/Photo.vala" + *result = raw_rect; +#line 4383 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 31470 "Photo.c" +} + + +PixelTransformationBundle* photo_get_enhance_transformations (Photo* self) { + PixelTransformationBundle* result = NULL; + GdkPixbuf* pixbuf = NULL; + PixelTransformationBundle* transformations = NULL; + GdkPixbuf* _tmp4_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 4386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4387 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = NULL; +#line 31485 "Photo.c" + { + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_best_fit (360, FALSE, &_tmp1_); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_pixbuf_with_options (self, &_tmp1_, PHOTO_EXCEPTION_ALL, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 31499 "Photo.c" + goto __catch391_g_error; + } +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp3_; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 31512 "Photo.c" + } + goto __finally391; + __catch391_g_error: + { + GError* e = NULL; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4401 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4401: %s", "Photo: get_enhance_transformations: couldn't obtain pixbuf to build " "transform histogram"); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31532 "Photo.c" + } + __finally391: +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4393 "/home/jens/Source/shotwell/src/Photo.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 4393 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 31545 "Photo.c" + } +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixbuf; +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = auto_enhance_create_auto_enhance_adjustments (_tmp4_); +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + transformations = _tmp5_; +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + result = transformations; +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31559 "Photo.c" +} + + +gboolean photo_enhance (Photo* self) { + gboolean result = FALSE; + PixelTransformationBundle* transformations = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4421 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_enhance_transformations (self); +#line 4422 "/home/jens/Source/shotwell/src/Photo.vala" + transformations = _tmp0_; +#line 4424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = transformations; +#line 4424 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31585 "Photo.c" + } + { + PhotoRow* _tmp2_ = NULL; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 31593 "Photo.c" + { + PixelTransformationBundle* _tmp3_ = NULL; +#line 4431 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = transformations; +#line 4431 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_color_adjustments (self, _tmp3_); +#line 31600 "Photo.c" + } + __finally392: + { + PhotoRow* _tmp4_ = NULL; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 31609 "Photo.c" + } +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4430 "/home/jens/Source/shotwell/src/Photo.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 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 31621 "Photo.c" + } + } +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31630 "Photo.c" +} + + +gboolean photo_get_develop_raw_photos_to_files (void) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo__develop_raw_photos_to_files; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31643 "Photo.c" +} + + +void photo_set_develop_raw_photos_to_files (gboolean value) { + gboolean _tmp0_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = value; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + photo__develop_raw_photos_to_files = _tmp0_; +#line 31653 "Photo.c" +} + + +static void photo_real_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { +#line 358 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 358 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 31662 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 3); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 31681 "Photo.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 31687 "Photo.c" + } +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 31693 "Photo.c" +} + + +static void photo_real_raw_development_modified (Photo* self) { +} + + +static void photo_real_baseline_replaced (Photo* self) { +} + + +static void photo_real_master_reimported (Photo* self, PhotoMetadata* metadata) { +#line 376 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31708 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__MEDIA_METADATA) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__MEDIA_METADATA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 2); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 31727 "Photo.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 31733 "Photo.c" + } +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__MEDIA_METADATA) (marshal_data ? marshal_data : cc->callback); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, value_get_media_metadata (param_values + 1), data2); +#line 31739 "Photo.c" +} + + +static void photo_real_editable_reimported (Photo* self, PhotoMetadata* metadata) { +#line 380 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31746 "Photo.c" +} + + +static void photo_real_baseline_reimported (Photo* self, PhotoMetadata* metadata) { +#line 387 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31753 "Photo.c" +} + + +static void photo_real_source_reimported (Photo* self, PhotoMetadata* metadata) { +#line 394 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31760 "Photo.c" +} + + +static void _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced (Photo* _sender, gpointer self) { +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + photo_photo_transformation_state_impl_on_photo_baseline_replaced ((PhotoPhotoTransformationStateImpl*) self); +#line 31767 "Photo.c" +} + + +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_construct (GType object_type, Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments) { + PhotoPhotoTransformationStateImpl * self = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Orientation _tmp2_ = 0; + GeeHashMap* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + PixelTransformer* _tmp5_ = NULL; + PixelTransformer* _tmp6_ = NULL; + PixelTransformationBundle* _tmp7_ = NULL; + PixelTransformationBundle* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((transformations == NULL) || GEE_IS_HASH_MAP (transformations), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((transformer == NULL) || IS_PIXEL_TRANSFORMER (transformer), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((adjustments == NULL) || IS_PIXEL_TRANSFORMATION_BUNDLE (adjustments), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoPhotoTransformationStateImpl*) photo_transformation_state_construct (object_type); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = orientation; +#line 248 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->orientation = _tmp2_; +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = transformations; +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_photo_transformation_state_impl_copy_transformations (_tmp3_); +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->transformations); +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformations = _tmp4_; +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = transformer; +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _pixel_transformer_ref0 (_tmp5_); +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp6_; +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = adjustments; +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _pixel_transformation_bundle_ref0 (_tmp7_); +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp8_; +#line 253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 253 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect_object (_tmp9_, "baseline-replaced", (GCallback) _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced, self, 0); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 31835 "Photo.c" +} + + +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_new (Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments) { +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_photo_transformation_state_impl_construct (PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, photo, orientation, transformations, transformer, adjustments); +#line 31842 "Photo.c" +} + + +static Orientation photo_photo_transformation_state_impl_get_orientation (PhotoPhotoTransformationStateImpl* self) { + Orientation result = 0; + Orientation _tmp0_ = 0; +#line 260 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), 0); +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->orientation; +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31857 "Photo.c" +} + + +static GeeHashMap* photo_photo_transformation_state_impl_get_transformations (PhotoPhotoTransformationStateImpl* self) { + GeeHashMap* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->transformations; +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_photo_transformation_state_impl_copy_transformations (_tmp0_); +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31875 "Photo.c" +} + + +static PixelTransformer* photo_photo_transformation_state_impl_get_transformer (PhotoPhotoTransformationStateImpl* self) { + PixelTransformer* result = NULL; + PixelTransformer* _tmp0_ = NULL; + PixelTransformer* _tmp1_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->transformer; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 31889 "Photo.c" + PixelTransformer* _tmp2_ = NULL; + PixelTransformer* _tmp3_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformer_copy (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp0_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 31900 "Photo.c" + } else { +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp0_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 31906 "Photo.c" + } +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31912 "Photo.c" +} + + +static PixelTransformationBundle* photo_photo_transformation_state_impl_get_color_adjustments (PhotoPhotoTransformationStateImpl* self) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->adjustments; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 31926 "Photo.c" + PixelTransformationBundle* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->adjustments; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_copy (_tmp2_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp0_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 31937 "Photo.c" + } else { +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp0_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 31943 "Photo.c" + } +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31949 "Photo.c" +} + + +static GeeHashMap* photo_photo_transformation_state_impl_copy_transformations (GeeHashMap* original) { + GeeHashMap* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* clone = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((original == NULL) || GEE_IS_HASH_MAP (original), NULL); +#line 278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = original; +#line 278 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 279 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 279 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31968 "Photo.c" + } +#line 281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 281 "/home/jens/Source/shotwell/src/Photo.vala" + clone = _tmp1_; +#line 31974 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = original; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp5_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp7_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 32001 "Photo.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gchar* object = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GeeHashMap* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + KeyValueMap* _tmp17_ = NULL; + KeyValueMap* _tmp18_ = NULL; + KeyValueMap* _tmp19_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _object_it; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 32023 "Photo.c" + } +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _object_it; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + object = (gchar*) _tmp11_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = clone; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = object; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = original; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = object; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = (KeyValueMap*) _tmp16_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = key_value_map_copy (_tmp17_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp19_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (_tmp19_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (_tmp17_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (object); +#line 32055 "Photo.c" + } +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 32059 "Photo.c" + } +#line 285 "/home/jens/Source/shotwell/src/Photo.vala" + result = clone; +#line 285 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 32065 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_on_photo_baseline_replaced (PhotoPhotoTransformationStateImpl* self) { + gboolean _tmp0_ = FALSE; +#line 288 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self)); +#line 289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_transformation_state_is_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState)); +#line 289 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp0_) { +#line 290 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState), "broken"); +#line 32079 "Photo.c" + } +} + + +static void photo_photo_transformation_state_impl_class_init (PhotoPhotoTransformationStateImplClass * klass) { +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + photo_photo_transformation_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoPhotoTransformationStateImplPrivate)); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_photo_transformation_state_impl_finalize; +#line 32091 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_instance_init (PhotoPhotoTransformationStateImpl * self) { +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_PRIVATE (self); +#line 32098 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_finalize (GObject* obj) { + PhotoPhotoTransformationStateImpl * self; + Photo* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImpl); +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->photo; +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("baseline-replaced", TYPE_PHOTO, &_tmp1_, NULL, FALSE); +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced, self); +#line 238 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo); +#line 240 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->transformations); +#line 241 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 242 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_photo_transformation_state_impl_parent_class)->finalize (obj); +#line 32124 "Photo.c" +} + + +static GType photo_photo_transformation_state_impl_get_type (void) { + static volatile gsize photo_photo_transformation_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_photo_transformation_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoPhotoTransformationStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_photo_transformation_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoPhotoTransformationStateImpl), 0, (GInstanceInitFunc) photo_photo_transformation_state_impl_instance_init, NULL }; + GType photo_photo_transformation_state_impl_type_id; + photo_photo_transformation_state_impl_type_id = g_type_register_static (TYPE_PHOTO_TRANSFORMATION_STATE, "PhotoPhotoTransformationStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_photo_transformation_state_impl_type_id__volatile, photo_photo_transformation_state_impl_type_id); + } + return photo_photo_transformation_state_impl_type_id__volatile; +} + + +static PhotoBackingReaders* photo_backing_readers_construct (GType object_type) { + PhotoBackingReaders* self = NULL; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoBackingReaders*) g_type_create_instance (object_type); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32146 "Photo.c" +} + + +static PhotoBackingReaders* photo_backing_readers_new (void) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_backing_readers_construct (PHOTO_TYPE_BACKING_READERS); +#line 32153 "Photo.c" +} + + +static void photo_value_backing_readers_init (GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32160 "Photo.c" +} + + +static void photo_value_backing_readers_free_value (GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (value->data[0].v_pointer); +#line 32169 "Photo.c" + } +} + + +static void photo_value_backing_readers_copy_value (const GValue* src_value, GValue* dest_value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_backing_readers_ref (src_value->data[0].v_pointer); +#line 32179 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32183 "Photo.c" + } +} + + +static gpointer photo_value_backing_readers_peek_pointer (const GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32191 "Photo.c" +} + + +static gchar* photo_value_backing_readers_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32198 "Photo.c" + PhotoBackingReaders* object; + object = collect_values[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32205 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32209 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_backing_readers_ref (object); +#line 32213 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32217 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32221 "Photo.c" +} + + +static gchar* photo_value_backing_readers_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoBackingReaders** object_p; + object_p = collect_values[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32232 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32238 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32242 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_backing_readers_ref (value->data[0].v_pointer); +#line 32246 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32250 "Photo.c" +} + + +static GParamSpec* photo_param_spec_backing_readers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecBackingReaders* spec; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_BACKING_READERS), NULL); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32264 "Photo.c" +} + + +static gpointer photo_value_get_backing_readers (const GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS), NULL); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32273 "Photo.c" +} + + +static void photo_value_set_backing_readers (GValue* value, gpointer v_object) { + PhotoBackingReaders* old; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_ref (value->data[0].v_pointer); +#line 32293 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32297 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (old); +#line 32303 "Photo.c" + } +} + + +static void photo_value_take_backing_readers (GValue* value, gpointer v_object) { + PhotoBackingReaders* old; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32322 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32326 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (old); +#line 32332 "Photo.c" + } +} + + +static void photo_backing_readers_class_init (PhotoBackingReadersClass * klass) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_parent_class = g_type_class_peek_parent (klass); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoBackingReadersClass *) klass)->finalize = photo_backing_readers_finalize; +#line 32342 "Photo.c" +} + + +static void photo_backing_readers_instance_init (PhotoBackingReaders * self) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32349 "Photo.c" +} + + +static void photo_backing_readers_finalize (PhotoBackingReaders* obj) { + PhotoBackingReaders * self; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_BACKING_READERS, PhotoBackingReaders); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 295 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->master); +#line 296 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->developer); +#line 297 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->editable); +#line 32365 "Photo.c" +} + + +static GType photo_backing_readers_get_type (void) { + static volatile gsize photo_backing_readers_type_id__volatile = 0; + if (g_once_init_enter (&photo_backing_readers_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_backing_readers_init, photo_value_backing_readers_free_value, photo_value_backing_readers_copy_value, photo_value_backing_readers_peek_pointer, "p", photo_value_backing_readers_collect_value, "p", photo_value_backing_readers_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoBackingReadersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_backing_readers_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoBackingReaders), 0, (GInstanceInitFunc) photo_backing_readers_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_backing_readers_type_id; + photo_backing_readers_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoBackingReaders", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_backing_readers_type_id__volatile, photo_backing_readers_type_id); + } + return photo_backing_readers_type_id__volatile; +} + + +static gpointer photo_backing_readers_ref (gpointer instance) { + PhotoBackingReaders* self; + self = instance; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32390 "Photo.c" +} + + +static void photo_backing_readers_unref (gpointer instance) { + PhotoBackingReaders* self; + self = instance; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_BACKING_READERS_GET_CLASS (self)->finalize (self); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32403 "Photo.c" + } +} + + +static PhotoCachedPixbuf* photo_cached_pixbuf_construct (GType object_type, Photo* photo, GdkPixbuf* pixbuf) { + PhotoCachedPixbuf* self = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoCachedPixbuf*) g_type_create_instance (object_type); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->photo); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + self->photo = _tmp1_; +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = pixbuf; +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->pixbuf); +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + self->pixbuf = _tmp3_; +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32438 "Photo.c" +} + + +static PhotoCachedPixbuf* photo_cached_pixbuf_new (Photo* photo, GdkPixbuf* pixbuf) { +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_cached_pixbuf_construct (PHOTO_TYPE_CACHED_PIXBUF, photo, pixbuf); +#line 32445 "Photo.c" +} + + +static void photo_value_cached_pixbuf_init (GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32452 "Photo.c" +} + + +static void photo_value_cached_pixbuf_free_value (GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (value->data[0].v_pointer); +#line 32461 "Photo.c" + } +} + + +static void photo_value_cached_pixbuf_copy_value (const GValue* src_value, GValue* dest_value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_cached_pixbuf_ref (src_value->data[0].v_pointer); +#line 32471 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32475 "Photo.c" + } +} + + +static gpointer photo_value_cached_pixbuf_peek_pointer (const GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32483 "Photo.c" +} + + +static gchar* photo_value_cached_pixbuf_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32490 "Photo.c" + PhotoCachedPixbuf* object; + object = collect_values[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32497 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32501 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_cached_pixbuf_ref (object); +#line 32505 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32509 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32513 "Photo.c" +} + + +static gchar* photo_value_cached_pixbuf_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoCachedPixbuf** object_p; + object_p = collect_values[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32524 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32530 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32534 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_cached_pixbuf_ref (value->data[0].v_pointer); +#line 32538 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32542 "Photo.c" +} + + +static GParamSpec* photo_param_spec_cached_pixbuf (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecCachedPixbuf* spec; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_CACHED_PIXBUF), NULL); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32556 "Photo.c" +} + + +static gpointer photo_value_get_cached_pixbuf (const GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF), NULL); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32565 "Photo.c" +} + + +static void photo_value_set_cached_pixbuf (GValue* value, gpointer v_object) { + PhotoCachedPixbuf* old; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_ref (value->data[0].v_pointer); +#line 32585 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32589 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (old); +#line 32595 "Photo.c" + } +} + + +static void photo_value_take_cached_pixbuf (GValue* value, gpointer v_object) { + PhotoCachedPixbuf* old; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32614 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32618 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (old); +#line 32624 "Photo.c" + } +} + + +static void photo_cached_pixbuf_class_init (PhotoCachedPixbufClass * klass) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_parent_class = g_type_class_peek_parent (klass); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoCachedPixbufClass *) klass)->finalize = photo_cached_pixbuf_finalize; +#line 32634 "Photo.c" +} + + +static void photo_cached_pixbuf_instance_init (PhotoCachedPixbuf * self) { + GTimer* _tmp0_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_timer_new (); +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + self->last_touched = _tmp0_; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32646 "Photo.c" +} + + +static void photo_cached_pixbuf_finalize (PhotoCachedPixbuf* obj) { + PhotoCachedPixbuf * self; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbuf); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 301 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->photo); +#line 302 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->pixbuf); +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + _g_timer_destroy0 (self->last_touched); +#line 32662 "Photo.c" +} + + +static GType photo_cached_pixbuf_get_type (void) { + static volatile gsize photo_cached_pixbuf_type_id__volatile = 0; + if (g_once_init_enter (&photo_cached_pixbuf_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_cached_pixbuf_init, photo_value_cached_pixbuf_free_value, photo_value_cached_pixbuf_copy_value, photo_value_cached_pixbuf_peek_pointer, "p", photo_value_cached_pixbuf_collect_value, "p", photo_value_cached_pixbuf_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoCachedPixbufClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_cached_pixbuf_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoCachedPixbuf), 0, (GInstanceInitFunc) photo_cached_pixbuf_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_cached_pixbuf_type_id; + photo_cached_pixbuf_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoCachedPixbuf", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_cached_pixbuf_type_id__volatile, photo_cached_pixbuf_type_id); + } + return photo_cached_pixbuf_type_id__volatile; +} + + +static gpointer photo_cached_pixbuf_ref (gpointer instance) { + PhotoCachedPixbuf* self; + self = instance; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32687 "Photo.c" +} + + +static void photo_cached_pixbuf_unref (gpointer instance) { + PhotoCachedPixbuf* self; + self = instance; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CACHED_PIXBUF_GET_CLASS (self)->finalize (self); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32700 "Photo.c" + } +} + + +PhotoReimportMasterState* photo_reimport_master_state_construct (GType object_type) { + PhotoReimportMasterState* self = NULL; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportMasterState*) g_type_create_instance (object_type); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32711 "Photo.c" +} + + +static void photo_value_reimport_master_state_init (GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32718 "Photo.c" +} + + +static void photo_value_reimport_master_state_free_value (GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (value->data[0].v_pointer); +#line 32727 "Photo.c" + } +} + + +static void photo_value_reimport_master_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_master_state_ref (src_value->data[0].v_pointer); +#line 32737 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32741 "Photo.c" + } +} + + +static gpointer photo_value_reimport_master_state_peek_pointer (const GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32749 "Photo.c" +} + + +static gchar* photo_value_reimport_master_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32756 "Photo.c" + PhotoReimportMasterState* object; + object = collect_values[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32763 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32767 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_master_state_ref (object); +#line 32771 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32775 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32779 "Photo.c" +} + + +static gchar* photo_value_reimport_master_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportMasterState** object_p; + object_p = collect_values[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32790 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32796 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32800 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_master_state_ref (value->data[0].v_pointer); +#line 32804 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32808 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportMasterState* spec; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_MASTER_STATE), NULL); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32822 "Photo.c" +} + + +gpointer photo_value_get_reimport_master_state (const GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE), NULL); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32831 "Photo.c" +} + + +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object) { + PhotoReimportMasterState* old; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_ref (value->data[0].v_pointer); +#line 32851 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32855 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (old); +#line 32861 "Photo.c" + } +} + + +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object) { + PhotoReimportMasterState* old; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32880 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32884 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (old); +#line 32890 "Photo.c" + } +} + + +static void photo_reimport_master_state_class_init (PhotoReimportMasterStateClass * klass) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_parent_class = g_type_class_peek_parent (klass); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportMasterStateClass *) klass)->finalize = photo_reimport_master_state_finalize; +#line 32900 "Photo.c" +} + + +static void photo_reimport_master_state_instance_init (PhotoReimportMasterState * self) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32907 "Photo.c" +} + + +static void photo_reimport_master_state_finalize (PhotoReimportMasterState* obj) { + PhotoReimportMasterState * self; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 32917 "Photo.c" +} + + +GType photo_reimport_master_state_get_type (void) { + static volatile gsize photo_reimport_master_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_master_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_master_state_init, photo_value_reimport_master_state_free_value, photo_value_reimport_master_state_copy_value, photo_value_reimport_master_state_peek_pointer, "p", photo_value_reimport_master_state_collect_value, "p", photo_value_reimport_master_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportMasterStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_master_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportMasterState), 0, (GInstanceInitFunc) photo_reimport_master_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_master_state_type_id; + photo_reimport_master_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportMasterState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_master_state_type_id__volatile, photo_reimport_master_state_type_id); + } + return photo_reimport_master_state_type_id__volatile; +} + + +gpointer photo_reimport_master_state_ref (gpointer instance) { + PhotoReimportMasterState* self; + self = instance; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32942 "Photo.c" +} + + +void photo_reimport_master_state_unref (gpointer instance) { + PhotoReimportMasterState* self; + self = instance; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_MASTER_STATE_GET_CLASS (self)->finalize (self); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32955 "Photo.c" + } +} + + +static gchar** _vala_array_dup29 (gchar** self, int length) { + gchar** result; + int i; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + result = g_new0 (gchar*, length + 1); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + for (i = 0; i < length; i++) { +#line 32967 "Photo.c" + gchar* _tmp0_ = NULL; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (self[i]); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + result[i] = _tmp0_; +#line 32973 "Photo.c" + } +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 32977 "Photo.c" +} + + +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_construct (GType object_type, PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1) { + PhotoReimportMasterStateImpl* self = NULL; + PhotoRow* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportMasterStateImpl*) photo_reimport_master_state_construct (object_type); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_row_ref0 (_tmp0_); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp1_; +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = alterations; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4__length1 = alterations_length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = (_tmp4_ != NULL) ? _vala_array_dup29 (_tmp4_, _tmp4__length1) : ((gpointer) _tmp4_); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5__length1 = _tmp4__length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = (_vala_array_free (self->alterations, self->alterations_length1, (GDestroyNotify) g_free), NULL); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = _tmp5_; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations_length1 = _tmp5__length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->_alterations_size_ = self->alterations_length1; +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33031 "Photo.c" +} + + +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_new (PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1) { +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_master_state_impl_construct (PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, row, metadata, alterations, alterations_length1); +#line 33038 "Photo.c" +} + + +static void photo_reimport_master_state_impl_class_init (PhotoReimportMasterStateImplClass * klass) { +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportMasterStateClass *) klass)->finalize = photo_reimport_master_state_impl_finalize; +#line 33047 "Photo.c" +} + + +static void photo_reimport_master_state_impl_instance_init (PhotoReimportMasterStateImpl * self) { + PhotoRow* _tmp0_ = NULL; +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_row_new (); +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp0_; +#line 1355 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 33059 "Photo.c" +} + + +static void photo_reimport_master_state_impl_finalize (PhotoReimportMasterState* obj) { + PhotoReimportMasterStateImpl * self; +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl); +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1353 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1354 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = (_vala_array_free (self->alterations, self->alterations_length1, (GDestroyNotify) g_free), NULL); +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_MASTER_STATE_CLASS (photo_reimport_master_state_impl_parent_class)->finalize (obj); +#line 33075 "Photo.c" +} + + +static GType photo_reimport_master_state_impl_get_type (void) { + static volatile gsize photo_reimport_master_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_master_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportMasterStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_master_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportMasterStateImpl), 0, (GInstanceInitFunc) photo_reimport_master_state_impl_instance_init, NULL }; + GType photo_reimport_master_state_impl_type_id; + photo_reimport_master_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_MASTER_STATE, "PhotoReimportMasterStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_master_state_impl_type_id__volatile, photo_reimport_master_state_impl_type_id); + } + return photo_reimport_master_state_impl_type_id__volatile; +} + + +PhotoReimportEditableState* photo_reimport_editable_state_construct (GType object_type) { + PhotoReimportEditableState* self = NULL; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportEditableState*) g_type_create_instance (object_type); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33097 "Photo.c" +} + + +static void photo_value_reimport_editable_state_init (GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33104 "Photo.c" +} + + +static void photo_value_reimport_editable_state_free_value (GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (value->data[0].v_pointer); +#line 33113 "Photo.c" + } +} + + +static void photo_value_reimport_editable_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_editable_state_ref (src_value->data[0].v_pointer); +#line 33123 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33127 "Photo.c" + } +} + + +static gpointer photo_value_reimport_editable_state_peek_pointer (const GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33135 "Photo.c" +} + + +static gchar* photo_value_reimport_editable_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33142 "Photo.c" + PhotoReimportEditableState* object; + object = collect_values[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33149 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33153 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_editable_state_ref (object); +#line 33157 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33161 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33165 "Photo.c" +} + + +static gchar* photo_value_reimport_editable_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportEditableState** object_p; + object_p = collect_values[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33176 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33182 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33186 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_editable_state_ref (value->data[0].v_pointer); +#line 33190 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33194 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportEditableState* spec; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_EDITABLE_STATE), NULL); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33208 "Photo.c" +} + + +gpointer photo_value_get_reimport_editable_state (const GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE), NULL); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33217 "Photo.c" +} + + +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object) { + PhotoReimportEditableState* old; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_ref (value->data[0].v_pointer); +#line 33237 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33241 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (old); +#line 33247 "Photo.c" + } +} + + +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object) { + PhotoReimportEditableState* old; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33266 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33270 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (old); +#line 33276 "Photo.c" + } +} + + +static void photo_reimport_editable_state_class_init (PhotoReimportEditableStateClass * klass) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_parent_class = g_type_class_peek_parent (klass); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportEditableStateClass *) klass)->finalize = photo_reimport_editable_state_finalize; +#line 33286 "Photo.c" +} + + +static void photo_reimport_editable_state_instance_init (PhotoReimportEditableState * self) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33293 "Photo.c" +} + + +static void photo_reimport_editable_state_finalize (PhotoReimportEditableState* obj) { + PhotoReimportEditableState * self; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 33303 "Photo.c" +} + + +GType photo_reimport_editable_state_get_type (void) { + static volatile gsize photo_reimport_editable_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_editable_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_editable_state_init, photo_value_reimport_editable_state_free_value, photo_value_reimport_editable_state_copy_value, photo_value_reimport_editable_state_peek_pointer, "p", photo_value_reimport_editable_state_collect_value, "p", photo_value_reimport_editable_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportEditableStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_editable_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportEditableState), 0, (GInstanceInitFunc) photo_reimport_editable_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_editable_state_type_id; + photo_reimport_editable_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportEditableState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_editable_state_type_id__volatile, photo_reimport_editable_state_type_id); + } + return photo_reimport_editable_state_type_id__volatile; +} + + +gpointer photo_reimport_editable_state_ref (gpointer instance) { + PhotoReimportEditableState* self; + self = instance; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 33328 "Photo.c" +} + + +void photo_reimport_editable_state_unref (gpointer instance) { + PhotoReimportEditableState* self; + self = instance; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS (self)->finalize (self); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 33341 "Photo.c" + } +} + + +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_construct (GType object_type, BackingPhotoRow* backing_state, PhotoMetadata* metadata) { + PhotoReimportEditableStateImpl* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (backing_state), NULL); +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportEditableStateImpl*) photo_reimport_editable_state_construct (object_type); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_state; +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _backing_photo_row_ref0 (_tmp0_); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_state); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_state = _tmp1_; +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33376 "Photo.c" +} + + +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_new (BackingPhotoRow* backing_state, PhotoMetadata* metadata) { +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_editable_state_impl_construct (PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, backing_state, metadata); +#line 33383 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_class_init (PhotoReimportEditableStateImplClass * klass) { +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportEditableStateClass *) klass)->finalize = photo_reimport_editable_state_impl_finalize; +#line 33392 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_instance_init (PhotoReimportEditableStateImpl * self) { + BackingPhotoRow* _tmp0_ = NULL; +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_state = _tmp0_; +#line 1370 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 33404 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_finalize (PhotoReimportEditableState* obj) { + PhotoReimportEditableStateImpl * self; +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl); +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_state); +#line 1369 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_EDITABLE_STATE_CLASS (photo_reimport_editable_state_impl_parent_class)->finalize (obj); +#line 33418 "Photo.c" +} + + +static GType photo_reimport_editable_state_impl_get_type (void) { + static volatile gsize photo_reimport_editable_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_editable_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportEditableStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_editable_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportEditableStateImpl), 0, (GInstanceInitFunc) photo_reimport_editable_state_impl_instance_init, NULL }; + GType photo_reimport_editable_state_impl_type_id; + photo_reimport_editable_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_EDITABLE_STATE, "PhotoReimportEditableStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_editable_state_impl_type_id__volatile, photo_reimport_editable_state_impl_type_id); + } + return photo_reimport_editable_state_impl_type_id__volatile; +} + + +PhotoReimportRawDevelopmentState* photo_reimport_raw_development_state_construct (GType object_type) { + PhotoReimportRawDevelopmentState* self = NULL; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentState*) g_type_create_instance (object_type); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33440 "Photo.c" +} + + +static void photo_value_reimport_raw_development_state_init (GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33447 "Photo.c" +} + + +static void photo_value_reimport_raw_development_state_free_value (GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (value->data[0].v_pointer); +#line 33456 "Photo.c" + } +} + + +static void photo_value_reimport_raw_development_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_raw_development_state_ref (src_value->data[0].v_pointer); +#line 33466 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33470 "Photo.c" + } +} + + +static gpointer photo_value_reimport_raw_development_state_peek_pointer (const GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33478 "Photo.c" +} + + +static gchar* photo_value_reimport_raw_development_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33485 "Photo.c" + PhotoReimportRawDevelopmentState* object; + object = collect_values[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33492 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33496 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_raw_development_state_ref (object); +#line 33500 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33504 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33508 "Photo.c" +} + + +static gchar* photo_value_reimport_raw_development_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportRawDevelopmentState** object_p; + object_p = collect_values[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33519 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33525 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33529 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_raw_development_state_ref (value->data[0].v_pointer); +#line 33533 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33537 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportRawDevelopmentState* spec; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE), NULL); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33551 "Photo.c" +} + + +gpointer photo_value_get_reimport_raw_development_state (const GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE), NULL); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33560 "Photo.c" +} + + +void photo_value_set_reimport_raw_development_state (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentState* old; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_ref (value->data[0].v_pointer); +#line 33580 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33584 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (old); +#line 33590 "Photo.c" + } +} + + +void photo_value_take_reimport_raw_development_state (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentState* old; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33609 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33613 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (old); +#line 33619 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_class_init (PhotoReimportRawDevelopmentStateClass * klass) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_parent_class = g_type_class_peek_parent (klass); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateClass *) klass)->finalize = photo_reimport_raw_development_state_finalize; +#line 33629 "Photo.c" +} + + +static void photo_reimport_raw_development_state_instance_init (PhotoReimportRawDevelopmentState * self) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33636 "Photo.c" +} + + +static void photo_reimport_raw_development_state_finalize (PhotoReimportRawDevelopmentState* obj) { + PhotoReimportRawDevelopmentState * self; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 33646 "Photo.c" +} + + +GType photo_reimport_raw_development_state_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_raw_development_state_init, photo_value_reimport_raw_development_state_free_value, photo_value_reimport_raw_development_state_copy_value, photo_value_reimport_raw_development_state_peek_pointer, "p", photo_value_reimport_raw_development_state_collect_value, "p", photo_value_reimport_raw_development_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentState), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_raw_development_state_type_id; + photo_reimport_raw_development_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportRawDevelopmentState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_raw_development_state_type_id__volatile, photo_reimport_raw_development_state_type_id); + } + return photo_reimport_raw_development_state_type_id__volatile; +} + + +gpointer photo_reimport_raw_development_state_ref (gpointer instance) { + PhotoReimportRawDevelopmentState* self; + self = instance; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 33671 "Photo.c" +} + + +void photo_reimport_raw_development_state_unref (gpointer instance) { + PhotoReimportRawDevelopmentState* self; + self = instance; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS (self)->finalize (self); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 33684 "Photo.c" + } +} + + +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_construct (GType object_type) { + PhotoReimportRawDevelopmentStateImpl* self = NULL; +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentStateImpl*) photo_reimport_raw_development_state_construct (object_type); +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33695 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_new (void) { +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_raw_development_state_impl_construct (PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL); +#line 33702 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_add (PhotoReimportRawDevelopmentStateImpl* self, BackingPhotoRow* backing, PhotoMetadata* metadata) { + GeeCollection* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp3_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp4_ = NULL; +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (self)); +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (backing)); +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->list; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_reimport_raw_development_state_impl_dev_to_reimport_new (_tmp1_, _tmp2_); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp0_, _tmp4_); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (_tmp4_); +#line 33732 "Photo.c" +} + + +static gint photo_reimport_raw_development_state_impl_get_size (PhotoReimportRawDevelopmentStateImpl* self) { + gint result = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 1402 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (self), 0); +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->list; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 33753 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_construct (GType object_type, BackingPhotoRow* backing, PhotoMetadata* metadata) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (backing), NULL); +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentStateImplDevToReimport*) g_type_create_instance (object_type); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing; +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _backing_photo_row_ref0 (_tmp0_); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing = _tmp1_; +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33787 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_new (BackingPhotoRow* backing, PhotoMetadata* metadata) { +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_raw_development_state_impl_dev_to_reimport_construct (PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, backing, metadata); +#line 33794 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_init (GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33801 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_free_value (GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (value->data[0].v_pointer); +#line 33810 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (src_value->data[0].v_pointer); +#line 33820 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33824 "Photo.c" + } +} + + +static gpointer photo_reimport_raw_development_state_impl_value_dev_to_reimport_peek_pointer (const GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33832 "Photo.c" +} + + +static gchar* photo_reimport_raw_development_state_impl_value_dev_to_reimport_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33839 "Photo.c" + PhotoReimportRawDevelopmentStateImplDevToReimport* object; + object = collect_values[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33846 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33850 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (object); +#line 33854 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33858 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33862 "Photo.c" +} + + +static gchar* photo_reimport_raw_development_state_impl_value_dev_to_reimport_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportRawDevelopmentStateImplDevToReimport** object_p; + object_p = collect_values[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33873 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33879 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33883 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (value->data[0].v_pointer); +#line 33887 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33891 "Photo.c" +} + + +static GParamSpec* photo_reimport_raw_development_state_impl_param_spec_dev_to_reimport (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport* spec; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT), NULL); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33905 "Photo.c" +} + + +static gpointer photo_reimport_raw_development_state_impl_value_get_dev_to_reimport (const GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT), NULL); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33914 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_set_dev_to_reimport (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentStateImplDevToReimport* old; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_ref (value->data[0].v_pointer); +#line 33934 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33938 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (old); +#line 33944 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_value_take_dev_to_reimport (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentStateImplDevToReimport* old; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33963 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33967 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (old); +#line 33973 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_class_init (PhotoReimportRawDevelopmentStateImplDevToReimportClass * klass) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_parent_class = g_type_class_peek_parent (klass); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateImplDevToReimportClass *) klass)->finalize = photo_reimport_raw_development_state_impl_dev_to_reimport_finalize; +#line 33983 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_instance_init (PhotoReimportRawDevelopmentStateImplDevToReimport * self) { + BackingPhotoRow* _tmp0_ = NULL; +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing = _tmp0_; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33995 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_finalize (PhotoReimportRawDevelopmentStateImplDevToReimport* obj) { + PhotoReimportRawDevelopmentStateImplDevToReimport * self; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimport); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing); +#line 1384 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 34009 "Photo.c" +} + + +GType photo_reimport_raw_development_state_impl_dev_to_reimport_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_reimport_raw_development_state_impl_value_dev_to_reimport_init, photo_reimport_raw_development_state_impl_value_dev_to_reimport_free_value, photo_reimport_raw_development_state_impl_value_dev_to_reimport_copy_value, photo_reimport_raw_development_state_impl_value_dev_to_reimport_peek_pointer, "p", photo_reimport_raw_development_state_impl_value_dev_to_reimport_collect_value, "p", photo_reimport_raw_development_state_impl_value_dev_to_reimport_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateImplDevToReimportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentStateImplDevToReimport), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_raw_development_state_impl_dev_to_reimport_type_id; + photo_reimport_raw_development_state_impl_dev_to_reimport_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportRawDevelopmentStateImplDevToReimport", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile, photo_reimport_raw_development_state_impl_dev_to_reimport_type_id); + } + return photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile; +} + + +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_ref (gpointer instance) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self; + self = instance; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 34034 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_unref (gpointer instance) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self; + self = instance; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_GET_CLASS (self)->finalize (self); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 34047 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_class_init (PhotoReimportRawDevelopmentStateImplClass * klass) { +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateClass *) klass)->finalize = photo_reimport_raw_development_state_impl_finalize; +#line 34057 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_instance_init (PhotoReimportRawDevelopmentStateImpl * self) { + GeeArrayList* _tmp0_ = NULL; +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_array_list_new (PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, (GBoxedCopyFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_ref, photo_reimport_raw_development_state_impl_dev_to_reimport_unref, NULL, NULL, NULL); +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + self->list = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1393 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 34069 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_finalize (PhotoReimportRawDevelopmentState* obj) { + PhotoReimportRawDevelopmentStateImpl * self; +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl); +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->list); +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS (photo_reimport_raw_development_state_impl_parent_class)->finalize (obj); +#line 34081 "Photo.c" +} + + +static GType photo_reimport_raw_development_state_impl_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentStateImpl), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_impl_instance_init, NULL }; + GType photo_reimport_raw_development_state_impl_type_id; + photo_reimport_raw_development_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, "PhotoReimportRawDevelopmentStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_raw_development_state_impl_type_id__volatile, photo_reimport_raw_development_state_impl_type_id); + } + return photo_reimport_raw_development_state_impl_type_id__volatile; +} + + +static void photo_class_init (PhotoClass * klass) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + photo_parent_class = g_type_class_peek_parent (klass); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoPrivate)); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_replaced = photo_real_notify_editable_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_raw_development_modified = photo_real_notify_raw_development_modified; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_replaced = photo_real_notify_baseline_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_master_reimported = photo_real_notify_master_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_reimported = photo_real_notify_editable_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_source_reimported = photo_real_notify_source_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_reimported = photo_real_notify_baseline_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->internal_delete_backing = photo_real_internal_delete_backing; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_backing_files_state = photo_real_get_backing_files_state; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->apply_user_metadata_for_reimport = photo_real_apply_user_metadata_for_reimport; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_typename = photo_real_get_typename; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_instance_id = photo_real_get_instance_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_source_id = photo_real_get_source_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = photo_real_get_preferred_thumbnail_format; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = photo_real_create_thumbnail; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_file = photo_real_get_file; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_file = photo_real_get_master_file; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_timestamp = photo_real_get_timestamp; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_event_id = photo_real_get_event_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_import_id = photo_real_get_import_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_md5 = photo_real_get_master_md5; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_rating = photo_real_get_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_rating = photo_real_set_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->increase_rating = photo_real_increase_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->decrease_rating = photo_real_decrease_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->commit_backlinks = photo_real_commit_backlinks; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_event_id = photo_real_set_event_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataObjectClass *) klass)->to_string = photo_real_to_string; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->equals = photo_real_equals; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_filesize = photo_real_get_filesize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_filesize = photo_real_get_master_filesize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_exposure_time = photo_real_get_exposure_time; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_basename = photo_real_get_basename; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_title = photo_real_get_title; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_comment = photo_real_get_comment; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_title = photo_real_set_title; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_comment = photo_real_set_comment; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_dimensions = photo_real_get_dimensions; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoSourceClass *) klass)->get_metadata = photo_real_get_metadata; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->rotate = photo_real_rotate; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoSourceClass *) klass)->get_pixbuf = photo_real_get_pixbuf; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->has_user_generated_metadata = photo_real_has_user_generated_metadata; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->set_user_metadata_for_export = photo_real_set_user_metadata_for_export; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->editable_replaced = photo_real_editable_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->raw_development_modified = photo_real_raw_development_modified; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->baseline_replaced = photo_real_baseline_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->master_reimported = photo_real_master_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->editable_reimported = photo_real_editable_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->baseline_reimported = photo_real_baseline_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->source_reimported = photo_real_source_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_photo_get_property; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_photo_set_property; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_finalize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_replaced", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, editable_replaced), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, G_TYPE_FILE); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("raw_development_modified", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, raw_development_modified), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_replaced", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, baseline_replaced), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("master_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, master_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, editable_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, baseline_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("source_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, source_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&__lock_photo_source_pixbuf_cache); +#line 34224 "Photo.c" +} + + +static void photo_dateable_interface_init (DateableIface * iface) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + photo_dateable_parent_iface = g_type_interface_peek_parent (iface); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + iface->get_exposure_time = (time_t (*)(Dateable*)) photo_real_get_exposure_time; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_exposure_time = (void (*)(Dateable*, time_t)) photo_real_set_exposure_time; +#line 34235 "Photo.c" +} + + +static void photo_instance_init (Photo * self) { + BackingPhotoRow* _tmp0_ = NULL; + PhotoBackingReaders* _tmp1_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_GET_PRIVATE (self); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_row); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp0_; +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_readers); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_backing_readers_new (); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->readers = _tmp1_; +#line 334 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 335 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 337 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = NULL; +#line 338 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = NULL; +#line 339 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reimport_editable_scheduler = NULL; +#line 340 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->update_editable_attributes_scheduler = NULL; +#line 341 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->remove_editable_scheduler = NULL; +#line 343 "/home/jens/Source/shotwell/src/Photo.vala" + self->can_rotate_now = TRUE; +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_developments); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->developments = NULL; +#line 353 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = NULL; +#line 34278 "Photo.c" +} + + +static void photo_finalize (GObject* obj) { + Photo * self; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO, Photo); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_row); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_readers); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_backing_readers_unref0 (self->priv->readers); +#line 334 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 335 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 338 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 339 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->reimport_editable_scheduler); +#line 340 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->update_editable_attributes_scheduler); +#line 341 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->remove_editable_scheduler); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_developments); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->developments); +#line 353 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_parent_class)->finalize (obj); +#line 34318 "Photo.c" +} + + +GType photo_get_type (void) { + static volatile gsize photo_type_id__volatile = 0; + if (g_once_init_enter (&photo_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Photo), 0, (GInstanceInitFunc) photo_instance_init, NULL }; + static const GInterfaceInfo dateable_info = { (GInterfaceInitFunc) photo_dateable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType photo_type_id; + photo_type_id = g_type_register_static (TYPE_PHOTO_SOURCE, "Photo", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (photo_type_id, TYPE_DATEABLE, &dateable_info); + g_once_init_leave (&photo_type_id__volatile, photo_type_id); + } + return photo_type_id__volatile; +} + + +static void _vala_photo_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + Photo * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PHOTO, Photo); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + switch (property_id) { +#line 34341 "Photo.c" + default: +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34347 "Photo.c" + } +} + + +static void _vala_photo_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + Photo * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PHOTO, Photo); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + switch (property_id) { +#line 34357 "Photo.c" + default: +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34363 "Photo.c" + } +} + + +GType library_photo_source_collection_state_get_type (void) { + static volatile gsize library_photo_source_collection_state_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_collection_state_type_id__volatile)) { + static const GEnumValue values[] = {{LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN", "unknown"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE", "online"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE", "offline"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH", "trash"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE", "editable"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER", "developer"}, {0, NULL, NULL}}; + GType library_photo_source_collection_state_type_id; + library_photo_source_collection_state_type_id = g_enum_register_static ("LibraryPhotoSourceCollectionState", values); + g_once_init_leave (&library_photo_source_collection_state_type_id__volatile, library_photo_source_collection_state_type_id); + } + return library_photo_source_collection_state_type_id__volatile; +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34385 "Photo.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34394 "Photo.c" +} + + +static gint _int64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = int64_compare ((gint64*) a, (gint64*) b); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34403 "Photo.c" +} + + +static gint64* _int64_dup (gint64* self) { + gint64* dup; +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + dup = g_new0 (gint64, 1); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + memcpy (dup, self, sizeof (gint64)); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + return dup; +#line 34415 "Photo.c" +} + + +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = int64_equal ((gint64*) a, (gint64*) b); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34424 "Photo.c" +} + + +static gint64 _photo_get_photo_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = photo_get_photo_key (source); +#line 4488 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34433 "Photo.c" +} + + +static void _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_trashcan_contents_altered ((LibraryPhotoSourceCollection*) self, added, removed); +#line 34440 "Photo.c" +} + + +static void _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_offline_contents_altered ((LibraryPhotoSourceCollection*) self, added, removed); +#line 34447 "Photo.c" +} + + +LibraryPhotoSourceCollection* library_photo_source_collection_construct (GType object_type) { + LibraryPhotoSourceCollection* self = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; +#line 4488 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhotoSourceCollection*) media_source_collection_construct (object_type, "LibraryPhotoSourceCollection", _photo_get_photo_key_get_source_database_key, NULL); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered, self); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered, self); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp3_); +#line 4487 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 34477 "Photo.c" +} + + +LibraryPhotoSourceCollection* library_photo_source_collection_new (void) { +#line 4487 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_source_collection_construct (TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION); +#line 34484 "Photo.c" +} + + +static gboolean _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = library_photo_source_collection_check_if_trashed_photo ((LibraryPhotoSourceCollection*) self, source, alteration); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34493 "Photo.c" +} + + +static MediaSourceHoldingTank* library_photo_source_collection_real_create_trashcan (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + LibraryPhotoSourceHoldingTank* _tmp0_ = NULL; +#line 4494 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_holding_tank_new (self, _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep, self, _photo_get_photo_key_get_source_database_key, NULL); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34509 "Photo.c" +} + + +static gboolean _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = library_photo_source_collection_check_if_offline_photo ((LibraryPhotoSourceCollection*) self, source, alteration); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34518 "Photo.c" +} + + +static MediaSourceHoldingTank* library_photo_source_collection_real_create_offline_bin (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + LibraryPhotoSourceHoldingTank* _tmp0_ = NULL; +#line 4498 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_holding_tank_new (self, _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep, self, _photo_get_photo_key_get_source_database_key, NULL); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34534 "Photo.c" +} + + +static MediaMonitor* library_photo_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable) { + LibraryPhotoSourceCollection * self; + MediaMonitor* result = NULL; + Workers* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; + PhotoMonitor* _tmp2_ = NULL; +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_WORKERS (workers), NULL); +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = workers; +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = cancellable; +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_monitor_new (_tmp0_, _tmp1_); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_MONITOR, MediaMonitor); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34560 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 4506 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4506 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO); +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34578 "Photo.c" +} + + +static gchar* library_photo_source_collection_real_get_typename (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 4510 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (PHOTO_TYPENAME); +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34594 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4514 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4514 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_file_format_is_file_supported (_tmp0_); +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34615 "Photo.c" +} + + +static void _library_photo_source_collection_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_editable_replaced ((LibraryPhotoSourceCollection*) self, _sender, old_file, new_file); +#line 34622 "Photo.c" +} + + +static void _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self) { +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_raw_development_modified ((LibraryPhotoSourceCollection*) self, _sender); +#line 34629 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed) { + LibraryPhotoSourceCollection * self; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp75_ = NULL; + GeeIterable* _tmp153_ = NULL; + GeeIterable* _tmp154_ = NULL; +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 4520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4520 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 34649 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = added; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp2_; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34662 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GFile* editable = NULL; + LibraryPhoto* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + LibraryPhoto* _tmp28_ = NULL; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + gint64 _tmp33_ = 0LL; + gint64 _tmp34_ = 0LL; + LibraryPhoto* _tmp35_ = NULL; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoRow* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + gint64 editable_filesize = 0LL; + GeeMultiMap* _tmp43_ = NULL; + gint64 _tmp44_ = 0LL; + LibraryPhoto* _tmp45_ = NULL; + GeeHashMap* _tmp46_ = NULL; + LibraryPhoto* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + gint64 _tmp49_ = 0LL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp56_ = NULL; + GeeCollection* _tmp57_ = NULL; + GeeCollection* _tmp58_ = NULL; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _object_it; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34712 "Photo.c" + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _object_it; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp6_; +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = object; +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO, Photo)); +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp10_; +#line 4525 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = editable; +#line 4525 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 34736 "Photo.c" + GeeHashMap* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->by_editable_file; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = editable; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp14_); +#line 34748 "Photo.c" + } +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo; +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO, Photo), "editable-replaced", (GCallback) _library_photo_source_collection_on_editable_replaced_photo_editable_replaced, self); +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO, Photo)); +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp17_; +#line 4530 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = raw_list; +#line 4530 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ != NULL) { +#line 34764 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = raw_list; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp20_; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34777 "Photo.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GeeHashMap* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _f_it; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp22_) { +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34794 "Photo.c" + } +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _f_it; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp24_; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->by_raw_development_file; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = f; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp26_, _tmp27_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 34812 "Photo.c" + } +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 34816 "Photo.c" + } + } +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo; +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_PHOTO, Photo), "raw-development-modified", (GCallback) _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified, self); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_PHOTO, Photo)); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->filesize; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp31_); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp33_; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo)); +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_ != NULL; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp37_); +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_) { +#line 34849 "Photo.c" + LibraryPhoto* _tmp39_ = NULL; + BackingPhotoRow* _tmp40_ = NULL; + BackingPhotoRow* _tmp41_ = NULL; + gint64 _tmp42_ = 0LL; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PHOTO, Photo)); +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->filesize; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp42_; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp41_); +#line 34866 "Photo.c" + } else { +#line 4538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = (gint64) -1; +#line 34870 "Photo.c" + } +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp34_; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = self->priv->filesize_to_photo; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = master_filesize; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp43_, &_tmp44_, _tmp45_); +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = self->priv->photo_to_master_filesize; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = master_filesize; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp47_, &_tmp48_); +#line 4541 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = editable_filesize; +#line 4541 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_ >= ((gint64) 0)) { +#line 34894 "Photo.c" + GeeMultiMap* _tmp50_ = NULL; + gint64 _tmp51_ = 0LL; + LibraryPhoto* _tmp52_ = NULL; + GeeHashMap* _tmp53_ = NULL; + LibraryPhoto* _tmp54_ = NULL; + gint64 _tmp55_ = 0LL; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = self->priv->filesize_to_photo; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = editable_filesize; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = photo; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp50_, &_tmp51_, _tmp52_); +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = self->priv->photo_to_editable_filesize; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = photo; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = editable_filesize; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp54_, &_tmp55_); +#line 34917 "Photo.c" + } +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo; +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PHOTO, Photo)); +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp57_; +#line 4547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = raw_rows; +#line 4547 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_ != NULL) { +#line 34929 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = raw_rows; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp60_; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34942 "Photo.c" + GeeIterator* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp63_ = NULL; + gpointer _tmp64_ = NULL; + BackingPhotoRow* _tmp65_ = NULL; + gint64 _tmp66_ = 0LL; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _row_it; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = gee_iterator_next (_tmp61_); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp62_) { +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34958 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _row_it; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = gee_iterator_get (_tmp63_); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp64_; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = row; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_->filesize; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp66_ >= ((gint64) 0)) { +#line 34972 "Photo.c" + GeeMultiMap* _tmp67_ = NULL; + BackingPhotoRow* _tmp68_ = NULL; + gint64 _tmp69_ = 0LL; + LibraryPhoto* _tmp70_ = NULL; + GeeMultiMap* _tmp71_ = NULL; + LibraryPhoto* _tmp72_ = NULL; + BackingPhotoRow* _tmp73_ = NULL; + gint64 _tmp74_ = 0LL; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = self->priv->filesize_to_photo; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = row; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->filesize; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp67_, &_tmp69_, _tmp70_); +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->photo_to_raw_development_filesize; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = row; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = _tmp73_->filesize; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp71_, _tmp72_, &_tmp74_); +#line 35001 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35005 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35009 "Photo.c" + } + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 35022 "Photo.c" + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 35026 "Photo.c" + } + } +#line 4558 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = removed; +#line 4558 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp75_ != NULL) { +#line 35033 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp76_ = NULL; + GeeIterator* _tmp77_ = NULL; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = removed; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = gee_iterable_iterator (_tmp76_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp77_; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35046 "Photo.c" + GeeIterator* _tmp78_ = NULL; + gboolean _tmp79_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp80_ = NULL; + gpointer _tmp81_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp82_ = NULL; + LibraryPhoto* _tmp83_ = NULL; + GFile* editable = NULL; + LibraryPhoto* _tmp84_ = NULL; + GFile* _tmp85_ = NULL; + GFile* _tmp86_ = NULL; + LibraryPhoto* _tmp94_ = NULL; + guint _tmp95_ = 0U; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp96_ = NULL; + GeeCollection* _tmp97_ = NULL; + GeeCollection* _tmp98_ = NULL; + LibraryPhoto* _tmp107_ = NULL; + guint _tmp108_ = 0U; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp109_ = NULL; + BackingPhotoRow* _tmp110_ = NULL; + BackingPhotoRow* _tmp111_ = NULL; + gint64 _tmp112_ = 0LL; + gint64 _tmp113_ = 0LL; + gint64 _tmp114_ = 0LL; + LibraryPhoto* _tmp115_ = NULL; + BackingPhotoRow* _tmp116_ = NULL; + BackingPhotoRow* _tmp117_ = NULL; + gboolean _tmp118_ = FALSE; + gint64 editable_filesize = 0LL; + GeeMultiMap* _tmp123_ = NULL; + gint64 _tmp124_ = 0LL; + LibraryPhoto* _tmp125_ = NULL; + GeeHashMap* _tmp126_ = NULL; + LibraryPhoto* _tmp127_ = NULL; + gint64 _tmp128_ = 0LL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp134_ = NULL; + GeeCollection* _tmp135_ = NULL; + GeeCollection* _tmp136_ = NULL; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _object_it; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = gee_iterator_next (_tmp78_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp79_) { +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35097 "Photo.c" + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = _object_it; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = gee_iterator_get (_tmp80_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp81_; +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = object; +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp83_; +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = photo; +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, TYPE_PHOTO, Photo)); +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp85_; +#line 4563 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = editable; +#line 4563 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_ != NULL) { +#line 35121 "Photo.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp87_ = NULL; + LibraryPhoto* _tmp88_ = NULL; + GFile* _tmp89_ = NULL; + GFile* _tmp90_ = NULL; + gboolean _tmp91_ = FALSE; + gboolean _tmp92_ = FALSE; + gboolean _tmp93_ = FALSE; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = self->priv->by_editable_file; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = photo; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_PHOTO, Photo)); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp90_, NULL); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp90_); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + is_removed = _tmp92_; +#line 4565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = is_removed; +#line 4565 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp93_, "is_removed"); +#line 35150 "Photo.c" + } +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = photo; +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("editable-replaced", TYPE_PHOTO, &_tmp95_, NULL, FALSE); +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp95_, 0, NULL, (GCallback) _library_photo_source_collection_on_editable_replaced_photo_editable_replaced, self); +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = photo; +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, TYPE_PHOTO, Photo)); +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp97_; +#line 4570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = raw_list; +#line 4570 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_ != NULL) { +#line 35168 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp99_ = NULL; + GeeIterator* _tmp100_ = NULL; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = raw_list; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp100_; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35181 "Photo.c" + GeeIterator* _tmp101_ = NULL; + gboolean _tmp102_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp103_ = NULL; + gpointer _tmp104_ = NULL; + GeeHashMap* _tmp105_ = NULL; + GFile* _tmp106_ = NULL; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _f_it; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = gee_iterator_next (_tmp101_); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp102_) { +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35197 "Photo.c" + } +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = _f_it; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = gee_iterator_get (_tmp103_); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp104_; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = self->priv->by_raw_development_file; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = f; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp106_, NULL); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 35213 "Photo.c" + } +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 35217 "Photo.c" + } + } +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = photo; +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("raw-development-modified", TYPE_PHOTO, &_tmp108_, NULL, FALSE); +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp108_, 0, NULL, (GCallback) _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified, self); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = photo; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, TYPE_PHOTO, Photo)); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = _tmp110_; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->filesize; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp112_; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp111_); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp113_; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = photo; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, TYPE_PHOTO, Photo)); +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = _tmp116_; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = _tmp117_ != NULL; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp117_); +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp118_) { +#line 35252 "Photo.c" + LibraryPhoto* _tmp119_ = NULL; + BackingPhotoRow* _tmp120_ = NULL; + BackingPhotoRow* _tmp121_ = NULL; + gint64 _tmp122_ = 0LL; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = photo; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp119_, TYPE_PHOTO, Photo)); +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = _tmp120_; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = _tmp121_->filesize; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = _tmp122_; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp121_); +#line 35269 "Photo.c" + } else { +#line 4578 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = (gint64) -1; +#line 35273 "Photo.c" + } +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp114_; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = self->priv->filesize_to_photo; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = master_filesize; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = photo; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp123_, &_tmp124_, _tmp125_); +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = self->priv->photo_to_master_filesize; +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = photo; +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp127_, NULL); +#line 4581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = editable_filesize; +#line 4581 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp128_ >= ((gint64) 0)) { +#line 35295 "Photo.c" + GeeMultiMap* _tmp129_ = NULL; + gint64 _tmp130_ = 0LL; + LibraryPhoto* _tmp131_ = NULL; + GeeHashMap* _tmp132_ = NULL; + LibraryPhoto* _tmp133_ = NULL; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = self->priv->filesize_to_photo; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = editable_filesize; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = photo; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp129_, &_tmp130_, _tmp131_); +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = self->priv->photo_to_editable_filesize; +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = photo; +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp132_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp133_, NULL); +#line 35315 "Photo.c" + } +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = photo; +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp135_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp134_, TYPE_PHOTO, Photo)); +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp135_; +#line 4587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp136_ = raw_rows; +#line 4587 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp136_ != NULL) { +#line 35327 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp137_ = NULL; + GeeIterator* _tmp138_ = NULL; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp137_ = raw_rows; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp138_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp137_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp138_; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35340 "Photo.c" + GeeIterator* _tmp139_ = NULL; + gboolean _tmp140_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp141_ = NULL; + gpointer _tmp142_ = NULL; + BackingPhotoRow* _tmp143_ = NULL; + gint64 _tmp144_ = 0LL; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp139_ = _row_it; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_ = gee_iterator_next (_tmp139_); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp140_) { +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35356 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp141_ = _row_it; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_ = gee_iterator_get (_tmp141_); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp142_; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp143_ = row; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp144_ = _tmp143_->filesize; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp144_ >= ((gint64) 0)) { +#line 35370 "Photo.c" + GeeMultiMap* _tmp145_ = NULL; + BackingPhotoRow* _tmp146_ = NULL; + gint64 _tmp147_ = 0LL; + LibraryPhoto* _tmp148_ = NULL; + GeeMultiMap* _tmp149_ = NULL; + LibraryPhoto* _tmp150_ = NULL; + BackingPhotoRow* _tmp151_ = NULL; + gint64 _tmp152_ = 0LL; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp145_ = self->priv->filesize_to_photo; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp146_ = row; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_ = _tmp146_->filesize; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp148_ = photo; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp145_, &_tmp147_, _tmp148_); +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp149_ = self->priv->photo_to_raw_development_filesize; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp150_ = photo; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp151_ = row; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_ = _tmp151_->filesize; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp149_, _tmp150_, &_tmp152_); +#line 35399 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35403 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35407 "Photo.c" + } + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 35420 "Photo.c" + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 35424 "Photo.c" + } + } +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp153_ = added; +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp154_ = removed; +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp153_, _tmp154_); +#line 35433 "Photo.c" +} + + +static void library_photo_source_collection_on_editable_replaced (LibraryPhotoSourceCollection* self, Photo* photo, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp5_ = NULL; +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 4602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = old_file; +#line 4602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 35452 "Photo.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->by_editable_file; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = old_file; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, NULL); +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + is_removed = _tmp3_; +#line 4604 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = is_removed; +#line 4604 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp4_, "is_removed"); +#line 35470 "Photo.c" + } +#line 4607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = new_file; +#line 4607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != NULL) { +#line 35476 "Photo.c" + GeeHashMap* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->by_editable_file; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = new_file; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 35488 "Photo.c" + } +} + + +static void library_photo_source_collection_on_raw_development_modified (LibraryPhotoSourceCollection* self, Photo* _photo) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp35_ = NULL; + GeeCollection* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 4613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 4613 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 4614 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4614 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 35527 "Photo.c" + } +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->photo_to_raw_development_filesize; +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_multi_map_contains (_tmp3_, _tmp4_); +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 35537 "Photo.c" + GeeMultiMap* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; + { + GeeIterator* _s_it = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->photo_to_raw_development_filesize; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_multi_map_get (_tmp6_, _tmp7_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _s_it = _tmp11_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35566 "Photo.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gint64 s = 0LL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + gint64* _tmp16_ = NULL; + gint64 _tmp17_ = 0LL; + GeeMultiMap* _tmp18_ = NULL; + gint64 _tmp19_ = 0LL; + LibraryPhoto* _tmp20_ = NULL; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _s_it; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp13_) { +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35585 "Photo.c" + } +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _s_it; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = (gint64*) _tmp15_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = *_tmp16_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + s = _tmp17_; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->filesize_to_photo; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = s; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp18_, &_tmp19_, _tmp20_); +#line 35607 "Photo.c" + } +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_s_it); +#line 35611 "Photo.c" + } +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->photo_to_raw_development_filesize; +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo; +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp21_, _tmp22_); +#line 35619 "Photo.c" + } +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo; +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO, Photo)); +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp24_; +#line 4625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = raw_list; +#line 4625 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_ != NULL) { +#line 35631 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = raw_list; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp27_; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35644 "Photo.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + GeeHashMap* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + LibraryPhoto* _tmp34_ = NULL; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _f_it; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp29_) { +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35661 "Photo.c" + } +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _f_it; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp31_; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->by_raw_development_file; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = f; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp33_, _tmp34_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 35679 "Photo.c" + } +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 35683 "Photo.c" + } + } +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo)); +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp36_; +#line 4630 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = raw_rows; +#line 4630 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_ != NULL) { +#line 35696 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp38_ = NULL; + GeeIterator* _tmp39_ = NULL; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = raw_rows; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp39_; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35709 "Photo.c" + GeeIterator* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp42_ = NULL; + gpointer _tmp43_ = NULL; + BackingPhotoRow* _tmp44_ = NULL; + gint64 _tmp45_ = 0LL; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _row_it; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = gee_iterator_next (_tmp40_); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp41_) { +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35725 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _row_it; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = gee_iterator_get (_tmp42_); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp43_; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = row; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->filesize; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_ > ((gint64) 0)) { +#line 35739 "Photo.c" + GeeMultiMap* _tmp46_ = NULL; + BackingPhotoRow* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + LibraryPhoto* _tmp49_ = NULL; + GeeMultiMap* _tmp50_ = NULL; + LibraryPhoto* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + gint64 _tmp53_ = 0LL; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = self->priv->filesize_to_photo; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = row; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->filesize; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp46_, &_tmp48_, _tmp49_); +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = self->priv->photo_to_raw_development_filesize; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = photo; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = row; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->filesize; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp50_, _tmp51_, &_tmp53_); +#line 35768 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35772 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35776 "Photo.c" + } + } +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 35785 "Photo.c" +} + + +static gpointer __int64_dup0 (gpointer self) { +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? _int64_dup (self) : NULL; +#line 35792 "Photo.c" +} + + +static void library_photo_source_collection_real_items_altered (DataCollection* base, GeeMap* items) { + LibraryPhotoSourceCollection * self; + GeeMap* _tmp72_ = NULL; +#line 4640 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4640 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 35803 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = items; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp5_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35830 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + Alteration* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _object_it; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35854 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _object_it; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp9_; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = items; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = object; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = (Alteration*) _tmp12_; +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = object; +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp14_; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = alteration; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = alteration_has_detail (_tmp16_, "image", "master"); +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = TRUE; +#line 35884 "Photo.c" + } else { + Alteration* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = alteration; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_has_detail (_tmp18_, "image", "editable"); +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 35894 "Photo.c" + } +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 35898 "Photo.c" + gint64 old_master_filesize = 0LL; + GeeHashMap* _tmp20_ = NULL; + LibraryPhoto* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + gint64* _tmp23_ = NULL; + gint64 _tmp24_ = 0LL; + gint64* _tmp25_ = NULL; + GeeHashMap* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gint64 old_editable_filesize = 0LL; + GeeHashMap* _tmp34_ = NULL; + LibraryPhoto* _tmp35_ = NULL; + GeeMultiMap* _tmp36_ = NULL; + gint64 _tmp37_ = 0LL; + LibraryPhoto* _tmp38_ = NULL; + gint64 _tmp39_ = 0LL; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp45_ = NULL; + BackingPhotoRow* _tmp46_ = NULL; + BackingPhotoRow* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + gint64 _tmp49_ = 0LL; + gint64 _tmp50_ = 0LL; + LibraryPhoto* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + BackingPhotoRow* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; + gint64 editable_filesize = 0LL; + GeeHashMap* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; + gint64 _tmp61_ = 0LL; + GeeMultiMap* _tmp62_ = NULL; + gint64 _tmp63_ = 0LL; + LibraryPhoto* _tmp64_ = NULL; + gint64 _tmp65_ = 0LL; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->photo_to_master_filesize; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp21_); +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = (gint64*) _tmp22_; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = *_tmp23_; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp23_); +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + old_master_filesize = _tmp24_; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->priv->photo_to_editable_filesize; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_); +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 35957 "Photo.c" + GeeHashMap* _tmp29_ = NULL; + LibraryPhoto* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->priv->photo_to_editable_filesize; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp30_); +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = (gint64*) _tmp31_; +#line 35971 "Photo.c" + } else { + gint64 _tmp32_ = 0LL; + gint64* _tmp33_ = NULL; +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = (gint64) -1; +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = __int64_dup0 (&_tmp32_); +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp33_; +#line 35983 "Photo.c" + } +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + old_editable_filesize = *_tmp25_; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->priv->photo_to_master_filesize; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, NULL); +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->priv->filesize_to_photo; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = old_master_filesize; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp36_, &_tmp37_, _tmp38_); +#line 4654 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = old_editable_filesize; +#line 4654 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ >= ((gint64) 0)) { +#line 36005 "Photo.c" + GeeHashMap* _tmp40_ = NULL; + LibraryPhoto* _tmp41_ = NULL; + GeeMultiMap* _tmp42_ = NULL; + gint64 _tmp43_ = 0LL; + LibraryPhoto* _tmp44_ = NULL; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->photo_to_editable_filesize; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp41_, NULL); +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = self->priv->filesize_to_photo; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = old_editable_filesize; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = photo; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp42_, &_tmp43_, _tmp44_); +#line 36025 "Photo.c" + } +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PHOTO, Photo)); +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->filesize; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp47_); +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp49_; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = photo; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PHOTO, Photo)); +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_ != NULL; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp53_); +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 36053 "Photo.c" + LibraryPhoto* _tmp55_ = NULL; + BackingPhotoRow* _tmp56_ = NULL; + BackingPhotoRow* _tmp57_ = NULL; + gint64 _tmp58_ = 0LL; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = photo; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, TYPE_PHOTO, Photo)); +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tmp56_; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_->filesize; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp58_; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp57_); +#line 36070 "Photo.c" + } else { +#line 4662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = (gint64) -1; +#line 36074 "Photo.c" + } +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp50_; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->photo_to_master_filesize; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = photo; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = master_filesize; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_, &_tmp61_); +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = self->priv->filesize_to_photo; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = master_filesize; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = photo; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp62_, &_tmp63_, _tmp64_); +#line 4665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = editable_filesize; +#line 4665 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp65_ >= ((gint64) 0)) { +#line 36098 "Photo.c" + GeeHashMap* _tmp66_ = NULL; + LibraryPhoto* _tmp67_ = NULL; + gint64 _tmp68_ = 0LL; + GeeMultiMap* _tmp69_ = NULL; + gint64 _tmp70_ = 0LL; + LibraryPhoto* _tmp71_ = NULL; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->priv->photo_to_editable_filesize; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = photo; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = editable_filesize; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp67_, &_tmp68_); +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = self->priv->filesize_to_photo; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = editable_filesize; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = photo; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp69_, &_tmp70_, _tmp71_); +#line 36121 "Photo.c" + } +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 36125 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 36133 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 36137 "Photo.c" + } +#line 4672 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = items; +#line 4672 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->items_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp72_); +#line 36143 "Photo.c" +} + + +static void library_photo_source_collection_real_postprocess_imported_media (MediaSourceCollection* base, GeeCollection* media_sources) { + LibraryPhotoSourceCollection * self; + GeeHashMultiMap* map = NULL; + GeeHashMultiMap* _tmp0_ = NULL; + GeeCollection* _tmp97_ = NULL; +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (media_sources)); +#line 4677 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 4677 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 36160 "Photo.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_sources; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp2_; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36173 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + PhotoMetadata* metadata = NULL; + LibraryPhoto* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + HierarchicalTagIndex* global_index = NULL; + HierarchicalTagIndex* _tmp11_ = NULL; + HierarchicalTagIndex* htag_index = NULL; + PhotoMetadata* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + LibraryPhoto* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + PhotoMetadata* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_it; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36204 "Photo.c" + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _media_it; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp6_; +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media; +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp10_; +#line 4683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = hierarchical_tag_index_get_global_index (); +#line 4683 "/home/jens/Source/shotwell/src/Photo.vala" + global_index = _tmp11_; +#line 4690 "/home/jens/Source/shotwell/src/Photo.vala" + htag_index = NULL; +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata; +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_has_hierarchical_keywords (_tmp12_); +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 36236 "Photo.c" + PhotoMetadata* _tmp14_ = NULL; + GeeSet* _tmp15_ = NULL; + GeeSet* _tmp16_ = NULL; + HierarchicalTagIndex* _tmp17_ = NULL; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = metadata; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_metadata_get_hierarchical_keywords (_tmp14_); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = hierarchical_tag_utilities_process_hierarchical_import_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (htag_index); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + htag_index = _tmp17_; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 36255 "Photo.c" + } +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = library_photo_get_import_keywords (_tmp18_); +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_ != NULL; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp20_); +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 36269 "Photo.c" + { + GeeIterator* _keyword_it = NULL; + LibraryPhoto* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeIterator* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = library_photo_get_import_keywords (_tmp22_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp24_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _keyword_it = _tmp26_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36293 "Photo.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + HierarchicalTagIndex* _tmp32_ = NULL; + gchar* name = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + HierarchicalTagIndex* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + const gchar* _tmp49_ = NULL; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _keyword_it; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp28_) { +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36316 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _keyword_it; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + keyword = (gchar*) _tmp30_; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = htag_index; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_ != NULL) { +#line 36328 "Photo.c" + HierarchicalTagIndex* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = htag_index; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = keyword; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = hierarchical_tag_index_is_tag_in_index (_tmp33_, _tmp34_); +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp35_; +#line 36340 "Photo.c" + } else { +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = FALSE; +#line 36344 "Photo.c" + } +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 4699 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 4699 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 36352 "Photo.c" + } +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = keyword; +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = tag_prep_tag_name (_tmp36_); +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp37_; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = global_index; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = name; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = hierarchical_tag_index_is_tag_in_index (_tmp38_, _tmp39_); +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_) { +#line 36368 "Photo.c" + gchar* most_derived_path = NULL; + HierarchicalTagIndex* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + GeeHashMultiMap* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + Tag* _tmp46_ = NULL; + Tag* _tmp47_ = NULL; + LibraryPhoto* _tmp48_ = NULL; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = global_index; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = name; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = hierarchical_tag_index_get_path_for_name (_tmp41_, _tmp42_); +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + most_derived_path = _tmp43_; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = map; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = most_derived_path; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = tag_for_path (_tmp45_); +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = photo; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp47_, _tmp48_); +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp47_); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (most_derived_path); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 36408 "Photo.c" + } +#line 4709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = name; +#line 4709 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_ != NULL) { +#line 36414 "Photo.c" + GeeHashMultiMap* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + Tag* _tmp52_ = NULL; + Tag* _tmp53_ = NULL; + LibraryPhoto* _tmp54_ = NULL; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = map; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = name; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = tag_for_path (_tmp51_); +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = photo; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp53_, _tmp54_); +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp53_); +#line 36434 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 36440 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_keyword_it); +#line 36444 "Photo.c" + } + } +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = metadata; +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_metadata_has_hierarchical_keywords (_tmp55_); +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp56_) { +#line 36453 "Photo.c" + { + GeeIterator* _path_it = NULL; + HierarchicalTagIndex* _tmp57_ = NULL; + GeeCollection* _tmp58_ = NULL; + GeeCollection* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; + GeeIterator* _tmp61_ = NULL; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = htag_index; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = hierarchical_tag_index_get_all_paths (_tmp57_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp59_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _path_it = _tmp61_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36477 "Photo.c" + GeeIterator* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp64_ = NULL; + gpointer _tmp65_ = NULL; + gchar* name = NULL; + const gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _path_it; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = gee_iterator_next (_tmp62_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp63_) { +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36495 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _path_it; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = gee_iterator_get (_tmp64_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + path = (gchar*) _tmp65_; +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = path; +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = tag_prep_tag_name (_tmp66_); +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp67_; +#line 4717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = name; +#line 4717 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp68_ != NULL) { +#line 36513 "Photo.c" + GeeHashMultiMap* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + Tag* _tmp71_ = NULL; + Tag* _tmp72_ = NULL; + LibraryPhoto* _tmp73_ = NULL; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = map; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = name; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = tag_for_path (_tmp70_); +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = photo; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp72_, _tmp73_); +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp72_); +#line 36533 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (path); +#line 36539 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_path_it); +#line 36543 "Photo.c" + } + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (htag_index); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (global_index); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 36556 "Photo.c" + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 36560 "Photo.c" + } + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp74_ = NULL; + GeeIterator* _tmp75_ = NULL; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = media_sources; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp75_; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36574 "Photo.c" + GeeIterator* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp78_ = NULL; + gpointer _tmp79_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp80_ = NULL; + LibraryPhoto* _tmp81_ = NULL; + LibraryPhoto* _tmp82_ = NULL; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = _media_it; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = gee_iterator_next (_tmp76_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp77_) { +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36592 "Photo.c" + } +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _media_it; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = gee_iterator_get (_tmp78_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp79_; +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = media; +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp81_; +#line 4725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = photo; +#line 4725 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_clear_import_keywords (_tmp82_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 36614 "Photo.c" + } +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 36618 "Photo.c" + } + { + GeeIterator* _tag_it = NULL; + GeeHashMultiMap* _tmp83_ = NULL; + GeeSet* _tmp84_ = NULL; + GeeSet* _tmp85_ = NULL; + GeeIterator* _tmp86_ = NULL; + GeeIterator* _tmp87_ = NULL; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = map; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = gee_multi_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _tmp84_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = _tmp86_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp85_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_it = _tmp87_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36643 "Photo.c" + GeeIterator* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp90_ = NULL; + gpointer _tmp91_ = NULL; + Tag* _tmp92_ = NULL; + GeeHashMultiMap* _tmp93_ = NULL; + Tag* _tmp94_ = NULL; + GeeCollection* _tmp95_ = NULL; + GeeCollection* _tmp96_ = NULL; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tag_it; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = gee_iterator_next (_tmp88_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp89_) { +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36662 "Photo.c" + } +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tag_it; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = gee_iterator_get (_tmp90_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp91_; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = tag; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = map; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = tag; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp94_); +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = _tmp95_; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach_many (_tmp92_, _tmp96_); +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp96_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 36686 "Photo.c" + } +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_it); +#line 36690 "Photo.c" + } +#line 4731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = media_sources; +#line 4731 "/home/jens/Source/shotwell/src/Photo.vala" + MEDIA_SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->postprocess_imported_media (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp97_); +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map); +#line 36698 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "master-reimported", _tmp0_, _tmp1_); +#line 36715 "Photo.c" +} + + +void library_photo_source_collection_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_master_reimported (self, photo, metadata); +#line 36724 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-reimported", _tmp0_, _tmp1_); +#line 36741 "Photo.c" +} + + +void library_photo_source_collection_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_editable_reimported (self, photo, metadata); +#line 36750 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "source-reimported", _tmp0_, _tmp1_); +#line 36767 "Photo.c" +} + + +void library_photo_source_collection_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_source_reimported (self, photo, metadata); +#line 36776 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-reimported", _tmp0_, _tmp1_); +#line 36793 "Photo.c" +} + + +void library_photo_source_collection_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_baseline_reimported (self, photo, metadata); +#line 36802 "Photo.c" +} + + +static MediaSource* library_photo_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id) { + LibraryPhotoSourceCollection * self; + MediaSource* result = NULL; + gint64 _tmp0_ = 0LL; + PhotoID _tmp1_ = {0}; + LibraryPhoto* _tmp2_ = NULL; +#line 4754 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = numeric_id; +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp1_, _tmp0_); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = library_photo_source_collection_fetch (self, &_tmp1_); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36824 "Photo.c" +} + + +static void library_photo_source_collection_on_trashcan_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = removed; +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 36843 "Photo.c" +} + + +static gboolean library_photo_source_collection_check_if_trashed_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36865 "Photo.c" +} + + +static void library_photo_source_collection_on_offline_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = removed; +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 36884 "Photo.c" +} + + +static gboolean library_photo_source_collection_check_if_offline_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_is_offline (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36906 "Photo.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 36929 "Photo.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 36937 "Photo.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 36949 "Photo.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 36973 "Photo.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 36979 "Photo.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 36983 "Photo.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 36987 "Photo.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 36999 "Photo.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 37009 "Photo.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 37015 "Photo.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 37029 "Photo.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 37039 "Photo.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 37045 "Photo.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 37054 "Photo.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 37074 "Photo.c" +} + + +static MediaSource* library_photo_source_collection_real_fetch_by_source_id (MediaSourceCollection* base, const gchar* source_id) { + LibraryPhotoSourceCollection * self; + MediaSource* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gchar* numeric_only = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + MediaSource* _tmp7_ = NULL; +#line 4778 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4778 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source_id; +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, PHOTO_TYPENAME); +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp1_, "source_id.has_prefix(Photo.TYPENAME)"); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = source_id; +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = strlen (PHOTO_TYPENAME); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = string_substring (_tmp2_, (glong) _tmp4_, (glong) -1); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + numeric_only = _tmp5_; +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = parse_int64 (numeric_only, 16); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_source_collection_fetch_by_numeric_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp6_); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (numeric_only); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37120 "Photo.c" +} + + +static GeeCollection* library_photo_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id) { + LibraryPhotoSourceCollection * self; + GeeCollection* result = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + EventID _tmp2_ = {0}; + GeeArrayList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 4785 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4785 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *event_id; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_table_get_event_source_ids (_tmp1_, &_tmp2_); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37152 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id) { + LibraryPhoto* result = NULL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; +#line 4789 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4789 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *photo_id; +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = database_source_collection_fetch_by_key (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), _tmp1_); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37175 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch_by_editable_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 4793 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4793 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->by_editable_file; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp2_; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37198 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch_by_raw_development_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 4797 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4797 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->by_raw_development_file; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp2_; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37221 "Photo.c" +} + + +static void library_photo_source_collection_compare_backing (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matches_development) { + LibraryPhoto* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + BackingPhotoRow* editable = NULL; + LibraryPhoto* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + BackingPhotoRow* _tmp11_ = NULL; + GeeCollection* development = NULL; + LibraryPhoto* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_master)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_editable)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_development)); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = info; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backing_photo_row_matches_file_info (_tmp2_, _tmp3_); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp2_); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 37269 "Photo.c" + GeeCollection* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = matches_master; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp6_, _tmp7_); +#line 37278 "Photo.c" + } +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo)); +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp9_; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = editable; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 37290 "Photo.c" + BackingPhotoRow* _tmp12_ = NULL; + GFileInfo* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = editable; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = info; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = backing_photo_row_matches_file_info (_tmp12_, _tmp13_); +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp14_; +#line 37302 "Photo.c" + } else { +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = FALSE; +#line 37306 "Photo.c" + } +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 37310 "Photo.c" + GeeCollection* _tmp15_ = NULL; + LibraryPhoto* _tmp16_ = NULL; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = matches_editable; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp15_, _tmp16_); +#line 37319 "Photo.c" + } +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo)); +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + development = _tmp18_; +#line 4812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = development; +#line 4812 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ != NULL) { +#line 37331 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = development; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp21_; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37344 "Photo.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + BackingPhotoRow* _tmp26_ = NULL; + GFileInfo* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _row_it; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp23_) { +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37361 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _row_it; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp25_; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = row; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = info; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = backing_photo_row_matches_file_info (_tmp26_, _tmp27_); +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 37377 "Photo.c" + GeeCollection* _tmp29_ = NULL; + LibraryPhoto* _tmp30_ = NULL; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = matches_development; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp29_, _tmp30_); +#line 4817 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 4817 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37390 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 37394 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 37398 "Photo.c" + } + } +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (development); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (editable); +#line 37405 "Photo.c" +} + + +void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matched_development) { +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_master)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_editable)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matched_development)); +#line 37420 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMultiMap* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->filesize_to_photo; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = info; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_info_get_size (_tmp1_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_multi_map_get (_tmp0_, &_tmp2_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp6_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37450 "Photo.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _photo_it; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp8_) { +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37469 "Photo.c" + } +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _photo_it; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (LibraryPhoto*) _tmp10_; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = info; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = matches_master; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = matches_editable; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = matched_development; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_compare_backing (self, _tmp11_, _tmp12_, _tmp13_, _tmp14_, _tmp15_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 37491 "Photo.c" + } +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 37495 "Photo.c" + } + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeIterator* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp17_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp19_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37517 "Photo.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; + GFileInfo* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + GeeCollection* _tmp28_ = NULL; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _media_it; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp21_) { +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37536 "Photo.c" + } +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _media_it; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp23_; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = media; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = info; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = matches_master; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = matches_editable; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = matched_development; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_compare_backing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_LIBRARY_PHOTO, LibraryPhoto), _tmp25_, _tmp26_, _tmp27_, _tmp28_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 37558 "Photo.c" + } +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 37562 "Photo.c" + } +} + + +void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize, PhotoID* result) { + PhotoID _tmp19_ = {0}; +#line 4834 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4834 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (basename != NULL); +#line 37573 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMultiMap* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->filesize_to_photo; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = filesize; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_multi_map_get (_tmp0_, &_tmp1_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp5_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37600 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _photo_it; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37621 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _photo_it; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (LibraryPhoto*) _tmp9_; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_file_get_basename (_tmp12_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = basename; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = utf8_ci_compare (_tmp13_, _tmp14_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_ == 0; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp12_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 37647 "Photo.c" + LibraryPhoto* _tmp17_ = NULL; + PhotoID _tmp18_ = {0}; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo), &_tmp18_); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp18_; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 37662 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 37666 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 37670 "Photo.c" + } +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp19_, PHOTO_ID_INVALID); +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp19_; +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 37678 "Photo.c" +} + + +gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + PhotoID _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 4844 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4844 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = basename; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = filesize; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_get_basename_filesize_duplicate (self, _tmp0_, _tmp1_, &_tmp2_); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_id_is_valid (&_tmp2_); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37704 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; +#line 4848 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4848 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_master_file (_tmp1_, _tmp2_); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4850 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 37739 "Photo.c" + MediaSourceHoldingTank* _tmp6_ = NULL; + LibraryPhotoSourceHoldingTank* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_source_holding_tank_fetch_by_backing_file (_tmp7_, _tmp8_); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp7_); +#line 37758 "Photo.c" + } +#line 4854 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4854 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37764 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5) { + LibraryPhoto* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 4857 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4857 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (md5 != NULL, NULL); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = md5; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_md5 (_tmp1_, _tmp2_); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37795 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; +#line 4861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_master_file (_tmp1_, _tmp2_); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4863 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4863 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 37830 "Photo.c" + MediaSourceHoldingTank* _tmp6_ = NULL; + LibraryPhotoSourceHoldingTank* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_source_holding_tank_fetch_by_backing_file (_tmp7_, _tmp8_); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp7_); +#line 37849 "Photo.c" + } +#line 4867 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4867 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37855 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5) { + LibraryPhoto* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 4870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (md5 != NULL, NULL); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = md5; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_md5 (_tmp1_, _tmp2_); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37886 "Photo.c" +} + + +gint library_photo_source_collection_get_offline_count (LibraryPhotoSourceCollection* self) { + gint result = 0; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 4874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), 0); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = source_holding_tank_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37912 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state) { + LibraryPhotoSourceCollectionState _vala_state = 0; + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + LibraryPhoto* _tmp16_ = NULL; +#line 4878 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4878 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_collection_fetch_by_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp0_); +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 4880 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 4881 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE; +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 37959 "Photo.c" + } +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37963 "Photo.c" + } +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = library_photo_source_collection_fetch_by_editable_file (self, _tmp3_); +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4887 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4887 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != NULL) { +#line 4888 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE; +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 37985 "Photo.c" + } +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37989 "Photo.c" + } +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = file; +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = library_photo_source_collection_fetch_by_raw_development_file (self, _tmp6_); +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp7_; +#line 4894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4894 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 4895 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER; +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38011 "Photo.c" + } +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38015 "Photo.c" + } +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = library_photo_source_collection_get_trashed_by_file (self, _tmp9_); +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp10_) : NULL; +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ == NULL) { +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp10_); +#line 38027 "Photo.c" + } +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp11_; +#line 4901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 4901 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 4902 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH; +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38045 "Photo.c" + } +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38049 "Photo.c" + } +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = file; +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = library_photo_source_collection_get_offline_by_file (self, _tmp13_); +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp14_) : NULL; +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_ == NULL) { +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp14_); +#line 38061 "Photo.c" + } +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp15_; +#line 4908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4908 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ != NULL) { +#line 4909 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE; +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38079 "Photo.c" + } +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38083 "Photo.c" + } +#line 4914 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN; +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38095 "Photo.c" + } +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38099 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_has_backlink (SourceCollection* base, SourceBacklink* backlink) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + SourceBacklink* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; + SourceBacklink* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + MediaSourceHoldingTank* _tmp7_ = NULL; + MediaSourceHoldingTank* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 4919 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4919 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backlink; +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->has_backlink (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp0_); +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 4921 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4921 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38132 "Photo.c" + } +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backlink; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = source_holding_tank_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp4_); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp3_); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 4924 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4924 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38152 "Photo.c" + } +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = backlink; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = source_holding_tank_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp9_); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp8_); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 4927 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4927 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38172 "Photo.c" + } +#line 4929 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4929 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38178 "Photo.c" +} + + +static void library_photo_source_collection_real_remove_backlink (SourceCollection* base, SourceBacklink* backlink) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; + MediaSourceHoldingTank* _tmp4_ = NULL; + SourceBacklink* _tmp5_ = NULL; + SourceBacklink* _tmp6_ = NULL; +#line 4932 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4932 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backlink; +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + source_holding_tank_remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp2_); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = backlink; +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + source_holding_tank_remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp5_); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp4_); +#line 4936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backlink; +#line 4936 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_); +#line 38219 "Photo.c" +} + + +static TransactionController* library_photo_source_collection_real_get_transaction_controller (MediaSourceCollection* base) { + TransactionController* result; + LibraryPhotoSourceCollection* self; + TransactionController* _tmp0_ = NULL; + TransactionController* _tmp2_ = NULL; +#line 4453 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->_transaction_controller; +#line 4454 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 38234 "Photo.c" + MediaSourceTransactionController* _tmp1_ = NULL; +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_transaction_controller_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->_transaction_controller = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TRANSACTION_CONTROLLER, TransactionController); +#line 38242 "Photo.c" + } +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->_transaction_controller; +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38250 "Photo.c" +} + + +static void library_photo_source_collection_real_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4475 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4475 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38259 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_MEDIA_METADATA) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_MEDIA_METADATA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 3); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 38278 "Photo.c" + } else { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 38284 "Photo.c" + } +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__OBJECT_MEDIA_METADATA) (marshal_data ? marshal_data : cc->callback); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, g_value_get_object (param_values + 1), value_get_media_metadata (param_values + 2), data2); +#line 38290 "Photo.c" +} + + +static void library_photo_source_collection_real_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4478 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4478 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38299 "Photo.c" +} + + +static void library_photo_source_collection_real_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4481 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4481 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38308 "Photo.c" +} + + +static void library_photo_source_collection_real_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4484 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4484 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38317 "Photo.c" +} + + +static void library_photo_source_collection_class_init (LibraryPhotoSourceCollectionClass * klass) { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->finalize = library_photo_source_collection_finalize; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoSourceCollectionPrivate)); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_trashcan = library_photo_source_collection_real_create_trashcan; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_offline_bin = library_photo_source_collection_real_create_offline_bin; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_media_monitor = library_photo_source_collection_real_create_media_monitor; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = library_photo_source_collection_real_holds_type_of_source; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->get_typename = library_photo_source_collection_real_get_typename; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->is_file_recognized = library_photo_source_collection_real_is_file_recognized; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = library_photo_source_collection_real_notify_contents_altered; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->items_altered = library_photo_source_collection_real_items_altered; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->postprocess_imported_media = library_photo_source_collection_real_postprocess_imported_media; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_master_reimported = library_photo_source_collection_real_notify_master_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_editable_reimported = library_photo_source_collection_real_notify_editable_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_source_reimported = library_photo_source_collection_real_notify_source_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_baseline_reimported = library_photo_source_collection_real_notify_baseline_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_numeric_id = library_photo_source_collection_real_fetch_by_numeric_id; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_source_id = library_photo_source_collection_real_fetch_by_source_id; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->get_event_source_ids = library_photo_source_collection_real_get_event_source_ids; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->has_backlink = library_photo_source_collection_real_has_backlink; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->remove_backlink = library_photo_source_collection_real_remove_backlink; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->master_reimported = library_photo_source_collection_real_master_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->editable_reimported = library_photo_source_collection_real_editable_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->baseline_reimported = library_photo_source_collection_real_baseline_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->source_reimported = library_photo_source_collection_real_source_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + MEDIA_SOURCE_COLLECTION_CLASS (klass)->get_transaction_controller = library_photo_source_collection_real_get_transaction_controller; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("master_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, master_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, editable_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, baseline_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("source_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, source_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 38382 "Photo.c" +} + + +static void library_photo_source_collection_instance_init (LibraryPhotoSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeTreeMultiMap* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + GeeTreeMultiMap* _tmp5_ = NULL; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 4461 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->_transaction_controller = NULL; +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->by_editable_file = _tmp0_; +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->by_raw_development_file = _tmp1_; +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_tree_multi_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _int64_compare_gcompare_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->filesize_to_photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_master_filesize = _tmp3_; +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL); +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_editable_filesize = _tmp4_; +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_tree_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_raw_development_filesize = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 38421 "Photo.c" +} + + +static void library_photo_source_collection_finalize (DataCollection* obj) { + LibraryPhotoSourceCollection * self; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4461 "/home/jens/Source/shotwell/src/Photo.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->by_editable_file); +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->by_raw_development_file); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->filesize_to_photo); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_master_filesize); +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_editable_filesize); +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_raw_development_filesize); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->finalize (obj); +#line 38445 "Photo.c" +} + + +GType library_photo_source_collection_get_type (void) { + static volatile gsize library_photo_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoSourceCollection), 0, (GInstanceInitFunc) library_photo_source_collection_instance_init, NULL }; + GType library_photo_source_collection_type_id; + library_photo_source_collection_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_COLLECTION, "LibraryPhotoSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&library_photo_source_collection_type_id__volatile, library_photo_source_collection_type_id); + } + return library_photo_source_collection_type_id__volatile; +} + + +static void _library_photo_generate_thumbnails_one_shot_callback (gpointer self) { +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_generate_thumbnails ((LibraryPhoto*) self); +#line 38464 "Photo.c" +} + + +static LibraryPhoto* library_photo_construct (GType object_type, PhotoRow* row) { + LibraryPhoto * self = NULL; + PhotoRow* _tmp0_ = NULL; + OneShotScheduler* _tmp1_ = NULL; + PhotoRow* _tmp2_ = NULL; + guint64 _tmp3_ = 0ULL; + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 4960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 4960 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhoto*) photo_construct (object_type, _tmp0_); +#line 4962 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4962 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = NULL; +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = one_shot_scheduler_new ("LibraryPhoto", _library_photo_generate_thumbnails_one_shot_callback, self); +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = _tmp1_; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = row; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->flags; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp3_ & (LIBRARY_PHOTO_FLAG_TRASH | LIBRARY_PHOTO_FLAG_OFFLINE)) != ((guint64) 0)) { +#line 38498 "Photo.c" + LibraryPhotoSourceCollection* _tmp4_ = NULL; + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = library_photo_global; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = row; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->backlinks; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_); +#line 38510 "Photo.c" + } +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = row; +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->flags; +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp8_ & (LIBRARY_PHOTO_FLAG_HIDDEN | LIBRARY_PHOTO_FLAG_FAVORITE)) != ((guint64) 0)) { +#line 38518 "Photo.c" + PhotoRow* _tmp9_ = NULL; + guint64 _tmp10_ = 0ULL; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = row; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->flags; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_upgrade_rating_flags (self, _tmp10_); +#line 38527 "Photo.c" + } +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 38531 "Photo.c" +} + + +static LibraryPhoto* library_photo_new (PhotoRow* row) { +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_construct (TYPE_LIBRARY_PHOTO, row); +#line 38538 "Photo.c" +} + + +static LibraryPhoto* library_photo_construct_from_import_params (GType object_type, PhotoImportParams* import_params) { + LibraryPhoto * self = NULL; + PhotoImportParams* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoImportParams* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + OneShotScheduler* _tmp5_ = NULL; + PhotoImportParams* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; + PhotoImportParams* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (import_params), NULL); +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = import_params; +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->row; +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhoto*) photo_construct (object_type, _tmp1_); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = import_params; +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->keywords; +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = _tmp4_; +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = one_shot_scheduler_new ("LibraryPhoto", _library_photo_generate_thumbnails_one_shot_callback, self); +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = _tmp5_; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = import_params; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->row; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->flags; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp8_ & (LIBRARY_PHOTO_FLAG_TRASH | LIBRARY_PHOTO_FLAG_OFFLINE)) != ((guint64) 0)) { +#line 38588 "Photo.c" + LibraryPhotoSourceCollection* _tmp9_ = NULL; + PhotoImportParams* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_global; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = import_params; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->row; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->backlinks; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp12_); +#line 38603 "Photo.c" + } +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = import_params; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->row; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->flags; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp15_ & (LIBRARY_PHOTO_FLAG_HIDDEN | LIBRARY_PHOTO_FLAG_FAVORITE)) != ((guint64) 0)) { +#line 38613 "Photo.c" + PhotoImportParams* _tmp16_ = NULL; + PhotoRow* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = import_params; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->row; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->flags; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_upgrade_rating_flags (self, _tmp18_); +#line 38625 "Photo.c" + } +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 38629 "Photo.c" +} + + +static LibraryPhoto* library_photo_new_from_import_params (PhotoImportParams* import_params) { +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_construct_from_import_params (TYPE_LIBRARY_PHOTO, import_params); +#line 38636 "Photo.c" +} + + +void library_photo_init (ProgressMonitor monitor, void* monitor_target) { + LibraryPhotoSourceCollection* _tmp0_ = NULL; + GeeArrayList* all = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* all_photos = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* trashed_photos = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* offline_photos = NULL; + GeeArrayList* _tmp7_ = NULL; + gint count = 0; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + LibraryPhotoSourceCollection* _tmp34_ = NULL; + GeeArrayList* _tmp35_ = NULL; + GeeCollection* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; + LibraryPhotoSourceCollection* _tmp38_ = NULL; + GeeArrayList* _tmp39_ = NULL; + LibraryPhotoSourceCollection* _tmp40_ = NULL; + GeeArrayList* _tmp41_ = NULL; +#line 4989 "/home/jens/Source/shotwell/src/Photo.vala" + photo_init_photo (); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_collection_new (); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + _data_collection_unref0 (library_photo_global); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_global = _tmp0_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_table_get_all (_tmp2_); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + all = _tmp4_; +#line 4996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4996 "/home/jens/Source/shotwell/src/Photo.vala" + all_photos = _tmp5_; +#line 4997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4997 "/home/jens/Source/shotwell/src/Photo.vala" + trashed_photos = _tmp6_; +#line 4998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4998 "/home/jens/Source/shotwell/src/Photo.vala" + offline_photos = _tmp7_; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = all; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp10_; +#line 38705 "Photo.c" + { + gint ctr = 0; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + ctr = 0; +#line 38710 "Photo.c" + { + gboolean _tmp11_ = FALSE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 38717 "Photo.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + PhotoRow* row = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + LibraryPhoto* photo = NULL; + PhotoRow* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + guint64 flags = 0ULL; + PhotoRow* _tmp20_ = NULL; + guint64 _tmp21_ = 0ULL; + guint64 _tmp22_ = 0ULL; + ProgressMonitor _tmp30_ = NULL; + void* _tmp30__target = NULL; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 38735 "Photo.c" + gint _tmp12_ = 0; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = ctr; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + ctr = _tmp12_ + 1; +#line 38741 "Photo.c" + } +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = ctr; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = count; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 38753 "Photo.c" + } +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = all; +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = ctr; +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp16_); +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + row = (PhotoRow*) _tmp17_; +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = row; +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = library_photo_new (_tmp18_); +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp19_; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = row; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->flags; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp21_; +#line 5005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = flags; +#line 5005 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp22_ & LIBRARY_PHOTO_FLAG_TRASH) != ((guint64) 0)) { +#line 38779 "Photo.c" + GeeArrayList* _tmp23_ = NULL; + LibraryPhoto* _tmp24_ = NULL; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = trashed_photos; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 38788 "Photo.c" + } else { + guint64 _tmp25_ = 0ULL; +#line 5007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = flags; +#line 5007 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp25_ & LIBRARY_PHOTO_FLAG_OFFLINE) != ((guint64) 0)) { +#line 38795 "Photo.c" + GeeArrayList* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = offline_photos; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp27_); +#line 38804 "Photo.c" + } else { + GeeArrayList* _tmp28_ = NULL; + LibraryPhoto* _tmp29_ = NULL; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = all_photos; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_); +#line 38814 "Photo.c" + } + } +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = monitor; +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30__target = monitor_target; +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_ != NULL) { +#line 38823 "Photo.c" + ProgressMonitor _tmp31_ = NULL; + void* _tmp31__target = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = monitor; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31__target = monitor_target; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = ctr; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = count; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ ((guint64) _tmp32_, (guint64) _tmp33_, TRUE, _tmp31__target); +#line 38838 "Photo.c" + } +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (row); +#line 38844 "Photo.c" + } + } + } +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = library_photo_global; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = all_photos; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp37_); +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = library_photo_global; +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = trashed_photos; +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_collection_add_many_to_trash (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = library_photo_global; +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = offline_photos; +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_collection_add_many_to_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (offline_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (trashed_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (all_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (all); +#line 38878 "Photo.c" +} + + +void library_photo_terminate (void) { +#line 5022 "/home/jens/Source/shotwell/src/Photo.vala" + photo_terminate_photo (); +#line 38885 "Photo.c" +} + + +ImportResult library_photo_import_create (PhotoImportParams* params, LibraryPhoto** photo) { + LibraryPhoto* _vala_photo = NULL; + ImportResult result = 0; + PhotoID photo_id = {0}; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoImportParams* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + PhotoID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + PhotoImportParams* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; +#line 5029 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (params), 0); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = params; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->row; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_add (_tmp1_, _tmp3_, &_tmp4_); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp5_; +#line 5032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_id_is_invalid (&photo_id); +#line 5032 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 5033 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 5033 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_photo = NULL; +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_DATABASE_ERROR; +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + if (photo) { +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + *photo = _vala_photo; +#line 38934 "Photo.c" + } else { +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 38938 "Photo.c" + } +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38942 "Photo.c" + } +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = params; +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = library_photo_new_from_import_params (_tmp7_); +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_photo = _tmp8_; +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_SUCCESS; +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + if (photo) { +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + *photo = _vala_photo; +#line 38958 "Photo.c" + } else { +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 38962 "Photo.c" + } +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38966 "Photo.c" +} + + +void library_photo_import_failed (LibraryPhoto* photo) { + GError * _inner_error_ = NULL; +#line 5044 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 38974 "Photo.c" + { + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO, Photo), &_tmp3_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove (_tmp1_, &_tmp3_, &_inner_error_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 38996 "Photo.c" + goto __catch393_database_error; + } +#line 5046 "/home/jens/Source/shotwell/src/Photo.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 5046 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39005 "Photo.c" + } + } + goto __finally393; + __catch393_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5048 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5048 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp4_); +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39023 "Photo.c" + } + __finally393: +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5045 "/home/jens/Source/shotwell/src/Photo.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 5045 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39034 "Photo.c" + } +} + + +static void library_photo_real_notify_master_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5052 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5052 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5053 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5053 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_master_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_master_reimported (_tmp1_, self, _tmp2_); +#line 39058 "Photo.c" +} + + +static void library_photo_real_notify_editable_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5058 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5058 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5059 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_editable_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_editable_reimported (_tmp1_, self, _tmp2_); +#line 39081 "Photo.c" +} + + +static void library_photo_real_notify_source_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5064 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5064 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5065 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5065 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_source_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_source_reimported (_tmp1_, self, _tmp2_); +#line 39104 "Photo.c" +} + + +static void library_photo_real_notify_baseline_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5070 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5070 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5071 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5071 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_baseline_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_baseline_reimported (_tmp1_, self, _tmp2_); +#line 39127 "Photo.c" +} + + +static void library_photo_generate_thumbnails (LibraryPhoto* self) { + GError * _inner_error_ = NULL; +#line 5076 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 39135 "Photo.c" + { +#line 5078 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_import_from_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TRUE, &_inner_error_); +#line 5078 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39141 "Photo.c" + goto __catch394_g_error; + } + } + goto __finally394; + __catch394_g_error: + { + GError* err = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = err; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->message; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:5080: Unable to generate thumbnails for %s: %s", _tmp1_, _tmp3_); +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39171 "Photo.c" + } + __finally394: +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5077 "/home/jens/Source/shotwell/src/Photo.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 5077 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39182 "Photo.c" + } +#line 5084 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 39186 "Photo.c" +} + + +GeeCollection* library_photo_get_import_keywords (LibraryPhoto* self) { + GeeCollection* result = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 5088 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (self), NULL); +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->import_keywords; +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39204 "Photo.c" +} + + +void library_photo_clear_import_keywords (LibraryPhoto* self) { +#line 5092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5093 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 5093 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = NULL; +#line 39215 "Photo.c" +} + + +static void library_photo_real_notify_altered (DataObject* base, Alteration* alteration) { + LibraryPhoto * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Alteration* _tmp5_ = NULL; +#line 5096 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5096 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->block_thumbnail_generation; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 39232 "Photo.c" + Alteration* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = alteration; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = alteration_has_subject (_tmp2_, "image"); +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 39241 "Photo.c" + } else { +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 39245 "Photo.c" + } +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 39249 "Photo.c" + OneShotScheduler* _tmp4_ = NULL; +#line 5099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->thumbnail_scheduler; +#line 5099 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_at_priority_idle (_tmp4_, G_PRIORITY_LOW); +#line 39255 "Photo.c" + } +#line 5101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration; +#line 5101 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_OBJECT_CLASS (library_photo_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_OBJECT, DataObject), _tmp5_); +#line 39261 "Photo.c" +} + + +static GdkPixbuf* library_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error) { + LibraryPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 5104 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5104 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), (gint) THUMBNAIL_CACHE_SIZE_BIG, &_inner_error_); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp0_; +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39286 "Photo.c" + } +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scaling_perform_on_pixbuf (scaling, pixbuf, GDK_INTERP_BILINEAR, TRUE); +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39296 "Photo.c" +} + + +static void library_photo_real_rotate (Photo* base, Rotation rotation) { + LibraryPhoto * self; + Rotation _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 5110 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5112 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = TRUE; +#line 5113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = rotation; +#line 5113 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5114 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = FALSE; +#line 39314 "Photo.c" + { + Rotation _tmp1_ = 0; +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rotation; +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39323 "Photo.c" + goto __catch395_g_error; + } + } + goto __finally395; + __catch395_g_error: + { + GError* err = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->message; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:5125: Unable to update thumbnails for %s: %s", _tmp3_, _tmp5_); +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39353 "Photo.c" + } + __finally395: +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5121 "/home/jens/Source/shotwell/src/Photo.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 5121 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39364 "Photo.c" + } +#line 5128 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 39368 "Photo.c" +} + + +static GdkPixbuf* library_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + LibraryPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 5132 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scale; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = thumbnail_cache_fetch (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39394 "Photo.c" + } +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39406 "Photo.c" +} + + +static void _library_photo_on_duplicate_progress_gfile_progress_callback (gint64 current_num_bytes, gint64 total_num_bytes, gpointer self) { +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_on_duplicate_progress ((LibraryPhoto*) self, current_num_bytes, total_num_bytes); +#line 39413 "Photo.c" +} + + +static void library_photo_duplicate_backing_photo (LibraryPhoto* self, BackingPhotoRow* backing, BackingPhotoID* result, GError** error) { + BackingPhotoID backing_id = {0}; + gboolean _tmp0_ = FALSE; + BackingPhotoRow* _tmp1_ = NULL; + GFile* file = NULL; + BackingPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GError * _inner_error_ = NULL; +#line 5138 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5138 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((backing == NULL) || IS_BACKING_PHOTO_ROW (backing)); +#line 5139 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_id_init (&backing_id, BACKING_PHOTO_ID_INVALID); +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 39440 "Photo.c" + } else { + BackingPhotoRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->filepath; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_ == NULL; +#line 39450 "Photo.c" + } +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 5141 "/home/jens/Source/shotwell/src/Photo.vala" + *result = backing_id; +#line 5141 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39458 "Photo.c" + } +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backing; +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->filepath; +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_file_new_for_path (_tmp5_); +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp6_; +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_query_exists (_tmp7_, NULL); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 39474 "Photo.c" + GFile* dupe_file = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* state = NULL; + GFile* _tmp11_ = NULL; + DetectedPhotoInformation* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = library_files_duplicate (_tmp9_, _library_photo_on_duplicate_progress_gfile_progress_callback, self, TRUE, &_inner_error_); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_file = _tmp10_; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39498 "Photo.c" + } +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = dupe_file; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_query_backing_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp11_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp12_, &_inner_error_); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp12_; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + state = _tmp13_; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39522 "Photo.c" + } +#line 5150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = state; +#line 5150 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 39528 "Photo.c" + BackingPhotoTable* _tmp15_ = NULL; + BackingPhotoTable* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + BackingPhotoID _tmp19_ = {0}; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = backing_photo_table_get_instance (); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = state; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp16_, _tmp17_, &_inner_error_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp16_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (state); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39558 "Photo.c" + } +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = state; +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->id; +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + backing_id = _tmp19_; +#line 39566 "Photo.c" + } +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (state); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 39574 "Photo.c" + } +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + *result = backing_id; +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39582 "Photo.c" +} + + +LibraryPhoto* library_photo_duplicate (LibraryPhoto* self, GError** error) { + LibraryPhoto* result = NULL; + GFile* dupe_file = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + BackingPhotoID dupe_editable_id = {0}; + BackingPhotoRow* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + BackingPhotoID _tmp6_ = {0}; + BackingPhotoID _tmp7_ = {0}; + BackingPhotoID dupe_raw_shotwell_id = {0}; + BackingPhotoRow* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; + BackingPhotoID _tmp10_ = {0}; + BackingPhotoID _tmp11_ = {0}; + BackingPhotoID dupe_raw_camera_id = {0}; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + BackingPhotoID _tmp14_ = {0}; + BackingPhotoID _tmp15_ = {0}; + BackingPhotoID dupe_raw_embedded_id = {0}; + BackingPhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoID _tmp18_ = {0}; + BackingPhotoID _tmp19_ = {0}; + PhotoID dupe_id = {0}; + PhotoTable* _tmp20_ = NULL; + PhotoTable* _tmp21_ = NULL; + PhotoID _tmp22_ = {0}; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + BackingPhotoID _tmp26_ = {0}; + BackingPhotoID _tmp27_ = {0}; + BackingPhotoID _tmp28_ = {0}; + BackingPhotoID _tmp29_ = {0}; + PhotoID _tmp30_ = {0}; + PhotoID _tmp31_ = {0}; + PhotoRow* dupe_row = NULL; + PhotoTable* _tmp32_ = NULL; + PhotoTable* _tmp33_ = NULL; + PhotoID _tmp34_ = {0}; + PhotoRow* _tmp35_ = NULL; + PhotoRow* _tmp36_ = NULL; + LibraryPhoto* dupe = NULL; + PhotoRow* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; + LibraryPhotoSourceCollection* _tmp40_ = NULL; + LibraryPhoto* _tmp41_ = NULL; + LibraryPhoto* _tmp42_ = NULL; + Event* _tmp43_ = NULL; + Event* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + GeeCollection* tags = NULL; + TagSourceCollection* _tmp50_ = NULL; + GeeList* _tmp51_ = NULL; + GeeCollection* _tmp52_ = NULL; + GError * _inner_error_ = NULL; +#line 5159 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (self), NULL); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = library_files_duplicate (_tmp1_, _library_photo_on_duplicate_progress_gfile_progress_callback, self, TRUE, &_inner_error_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_file = _tmp3_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39667 "Photo.c" + } +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp5_, &_tmp6_, &_inner_error_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp5_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_editable_id = _tmp7_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39689 "Photo.c" + } +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_SHOTWELL); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp9_, &_tmp10_, &_inner_error_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp9_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_shotwell_id = _tmp11_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39711 "Photo.c" + } +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_CAMERA); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp13_, &_tmp14_, &_inner_error_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp13_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_camera_id = _tmp15_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39733 "Photo.c" + } +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_EMBEDDED); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp17_, &_tmp18_, &_inner_error_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp17_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_embedded_id = _tmp19_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39755 "Photo.c" + } +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_table_get_instance (); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp22_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = dupe_file; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dupe_editable_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = dupe_raw_shotwell_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = dupe_raw_camera_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = dupe_raw_embedded_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_duplicate (_tmp21_, &_tmp22_, _tmp25_, &_tmp26_, &_tmp27_, &_tmp28_, &_tmp29_, &_tmp30_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp21_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_id = _tmp31_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_table_get_instance (); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = dupe_id; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_get_row (_tmp33_, &_tmp34_); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_row = _tmp36_; +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = dupe_row; +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = library_photo_new (_tmp37_); +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + dupe = _tmp38_; +#line 5181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = dupe; +#line 5181 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_duplicate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = library_photo_global; +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = dupe; +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_OBJECT, DataObject)); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = dupe; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_ != NULL; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp44_); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_) { +#line 39829 "Photo.c" + LibraryPhoto* _tmp46_ = NULL; + Event* _tmp47_ = NULL; + Event* _tmp48_ = NULL; + LibraryPhoto* _tmp49_ = NULL; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = dupe; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = dupe; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + event_attach (_tmp48_, G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp48_); +#line 39846 "Photo.c" + } +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = tag_global; +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = tag_source_collection_fetch_for_source (_tmp50_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection); +#line 5192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = tags; +#line 5192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp52_ != NULL) { +#line 39858 "Photo.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp53_ = NULL; + GeeIterator* _tmp54_ = NULL; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = tags; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_it = _tmp54_; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 39871 "Photo.c" + GeeIterator* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; + Tag* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tag_it; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = gee_iterator_next (_tmp55_); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp56_) { +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 39887 "Photo.c" + } +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tag_it; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gee_iterator_get (_tmp57_); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp58_; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = tag; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = dupe; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp59_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 39903 "Photo.c" + } +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_it); +#line 39907 "Photo.c" + } + } +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + result = dupe; +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (dupe_row); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39920 "Photo.c" +} + + +static void library_photo_on_duplicate_progress (LibraryPhoto* self, gint64 current, gint64 total) { +#line 5201 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5202 "/home/jens/Source/shotwell/src/Photo.vala" + spin_event_loop (); +#line 39929 "Photo.c" +} + + +static void library_photo_upgrade_rating_flags (LibraryPhoto* self, guint64 flags) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 5205 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = flags; +#line 5206 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp0_ & LIBRARY_PHOTO_FLAG_HIDDEN) != ((guint64) 0)) { +#line 5207 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), RATING_REJECTED); +#line 5208 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_HIDDEN, NULL); +#line 39946 "Photo.c" + } +#line 5211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = flags; +#line 5211 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp1_ & LIBRARY_PHOTO_FLAG_FAVORITE) != ((guint64) 0)) { +#line 5212 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), RATING_FIVE); +#line 5213 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FAVORITE, NULL); +#line 39956 "Photo.c" + } +} + + +static gboolean library_photo_real_is_trashed (MediaSource* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5218 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH); +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39973 "Photo.c" +} + + +static void library_photo_real_trash (MediaSource* base) { + LibraryPhoto * self; +#line 5222 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5223 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH, NULL); +#line 39983 "Photo.c" +} + + +static void library_photo_real_untrash (MediaSource* base) { + LibraryPhoto * self; +#line 5226 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5227 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH, NULL); +#line 39993 "Photo.c" +} + + +static gboolean library_photo_real_is_offline (Monitorable* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5230 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE); +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40009 "Photo.c" +} + + +static void library_photo_real_mark_offline (Monitorable* base) { + LibraryPhoto * self; +#line 5234 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5235 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE, NULL); +#line 40019 "Photo.c" +} + + +static void library_photo_real_mark_online (Monitorable* base) { + LibraryPhoto * self; +#line 5238 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE, NULL); +#line 40029 "Photo.c" +} + + +static gboolean library_photo_real_is_flagged (Flaggable* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5242 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED); +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40045 "Photo.c" +} + + +static void library_photo_real_mark_flagged (Flaggable* base) { + LibraryPhoto * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 5246 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED, _tmp1_); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp1_); +#line 40063 "Photo.c" +} + + +static void library_photo_real_mark_unflagged (Flaggable* base) { + LibraryPhoto * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 5250 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED, _tmp1_); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp1_); +#line 40081 "Photo.c" +} + + +static gboolean library_photo_real_internal_delete_backing (DataSource* base, GError** error) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GError * _inner_error_ = NULL; +#line 5254 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = DATA_SOURCE_CLASS (library_photo_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp1_; +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 40104 "Photo.c" + } +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp0_) { +#line 5258 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 5258 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40112 "Photo.c" + } +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_delete_original_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40120 "Photo.c" +} + + +static void library_photo_real_destroy (DataSource* base) { + LibraryPhoto * self; + PhotoID photo_id = {0}; + PhotoID _tmp0_ = {0}; + GError * _inner_error_ = NULL; +#line 5263 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5264 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp0_); +#line 5264 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp0_; +#line 5267 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_remove (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 40137 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_id; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove (_tmp2_, &_tmp3_, &_inner_error_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 40156 "Photo.c" + goto __catch396_database_error; + } +#line 5273 "/home/jens/Source/shotwell/src/Photo.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 5273 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40165 "Photo.c" + } + } + goto __finally396; + __catch396_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5275 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp4_); +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 40183 "Photo.c" + } + __finally396: +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5272 "/home/jens/Source/shotwell/src/Photo.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 5272 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40194 "Photo.c" + } +#line 5278 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_SOURCE_CLASS (library_photo_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_SOURCE, DataSource)); +#line 40198 "Photo.c" +} + + +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoID _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 5281 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = thumbnail_md5; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = full_md5; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file_format; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_get_nontrash_duplicate (_tmp0_, _tmp1_, _tmp2_, _tmp3_, &_tmp4_); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_id_is_valid (&_tmp4_); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40228 "Photo.c" +} + + +void library_photo_get_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, PhotoID* result) { + PhotoID* ids = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gint _tmp4_ = 0; + PhotoID* _tmp5_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gboolean _tmp6_ = FALSE; + PhotoID* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + PhotoID* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + PhotoID _tmp18_ = {0}; +#line 5286 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = thumbnail_md5; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = full_md5; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file_format; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_duplicate_ids (_tmp0_, _tmp1_, _tmp2_, _tmp3_, &_tmp4_); +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + ids = _tmp5_; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + ids_length1 = _tmp4_; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _ids_size_ = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = ids; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7__length1 = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 40274 "Photo.c" + } else { + PhotoID* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = ids; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8__length1 = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8__length1 == 0; +#line 40284 "Photo.c" + } +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 40288 "Photo.c" + PhotoID _tmp9_ = {0}; +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp9_, PHOTO_ID_INVALID); +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp9_; +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40298 "Photo.c" + } +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = ids; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10__length1 = ids_length1; +#line 40304 "Photo.c" + { + PhotoID* id_collection = NULL; + gint id_collection_length1 = 0; + gint _id_collection_size_ = 0; + gint id_it = 0; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id_collection = _tmp10_; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id_collection_length1 = _tmp10__length1; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + for (id_it = 0; id_it < _tmp10__length1; id_it = id_it + 1) { +#line 40316 "Photo.c" + PhotoID id = {0}; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id = id_collection[id_it]; +#line 40320 "Photo.c" + { + LibraryPhoto* photo = NULL; + LibraryPhotoSourceCollection* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + LibraryPhoto* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + LibraryPhoto* _tmp15_ = NULL; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = library_photo_global; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = id; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = library_photo_source_collection_fetch (_tmp11_, &_tmp12_); +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp13_; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_ != NULL) { +#line 40340 "Photo.c" + LibraryPhoto* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = !_tmp17_; +#line 40349 "Photo.c" + } else { +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = FALSE; +#line 40353 "Photo.c" + } +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + *result = id; +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40365 "Photo.c" + } +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 40369 "Photo.c" + } + } + } +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp18_, PHOTO_ID_INVALID); +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp18_; +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40381 "Photo.c" +} + + +static gboolean library_photo_real_has_user_generated_metadata (Photo* base) { + LibraryPhoto * self; + gboolean result = FALSE; + GeeList* tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + Rating _tmp11_ = 0; + PhotoMetadata* _tmp12_ = NULL; + Rating _tmp13_ = 0; + GeeSet* keywords = NULL; + PhotoMetadata* _tmp14_ = NULL; + GeeSet* _tmp15_ = NULL; + gint _tmp16_ = 0; + GeeList* _tmp17_ = NULL; + gint tags_count = 0; + gint _tmp21_ = 0; + GeeSet* _tmp22_ = NULL; + gint keywords_count = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gboolean _tmp28_ = FALSE; + GeeList* _tmp29_ = NULL; +#line 5302 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = tag_global; +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = tag_source_collection_fetch_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + tags = _tmp1_; +#line 5305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 5305 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp2_; +#line 5306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = metadata; +#line 5306 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == NULL) { +#line 40426 "Photo.c" + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GeeList* _tmp6_ = NULL; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = tags; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = TRUE; +#line 40436 "Photo.c" + } else { + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = tags; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp9_ > 0; +#line 40449 "Photo.c" + } +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = TRUE; +#line 40455 "Photo.c" + } else { + Rating _tmp10_ = 0; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp10_ != RATING_UNRATED; +#line 40462 "Photo.c" + } +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40472 "Photo.c" + } +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata; +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_get_rating (_tmp12_); +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != _tmp13_) { +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40490 "Photo.c" + } +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = metadata; +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_metadata_get_keywords (_tmp14_, NULL, NULL, NULL); +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + keywords = _tmp15_; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = tags; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ != NULL) { +#line 40502 "Photo.c" + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = tags; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp20_; +#line 40514 "Photo.c" + } else { +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = 0; +#line 40518 "Photo.c" + } +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + tags_count = _tmp16_; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = keywords; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 40526 "Photo.c" + GeeSet* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = keywords; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp25_; +#line 40538 "Photo.c" + } else { +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = 0; +#line 40542 "Photo.c" + } +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + keywords_count = _tmp21_; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = tags_count; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = keywords_count; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ != _tmp27_) { +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40562 "Photo.c" + } +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = tags; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_ != NULL) { +#line 40568 "Photo.c" + GeeSet* _tmp30_ = NULL; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = keywords; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp30_ != NULL; +#line 40574 "Photo.c" + } else { +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = FALSE; +#line 40578 "Photo.c" + } +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 40582 "Photo.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp31_ = NULL; + GeeList* _tmp32_ = NULL; + gint _tag_size = 0; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _tag_index = 0; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = tags; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _g_object_ref0 (_tmp31_); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_list = _tmp32_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tag_list; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_size = _tmp35_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = -1; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40610 "Photo.c" + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + Tag* tag = NULL; + GeeList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gpointer _tmp41_ = NULL; + GeeSet* _tmp42_ = NULL; + Tag* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; + gboolean _tmp49_ = FALSE; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = _tmp36_ + 1; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tag_size; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp37_ < _tmp38_)) { +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40638 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tag_list; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = gee_list_get (_tmp39_, _tmp40_); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp41_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = keywords; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = tag; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_OBJECT, DataObject)); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = g_utf8_normalize (_tmp45_, (gssize) -1, G_NORMALIZE_DEFAULT); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection), _tmp47_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = !_tmp48_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp45_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40684 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 40688 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 40692 "Photo.c" + } + } +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40705 "Photo.c" +} + + +static void library_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + GeeList* photo_tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + Rating _tmp23_ = 0; +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = tag_global; +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = tag_source_collection_fetch_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + photo_tags = _tmp1_; +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_tags; +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 40731 "Photo.c" + GeeCollection* string_tags = NULL; + GeeArrayList* _tmp3_ = NULL; + PhotoMetadata* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; +#line 5332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 5332 "/home/jens/Source/shotwell/src/Photo.vala" + string_tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 40740 "Photo.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _tag_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tag_index = 0; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_tags; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_list = _tmp5_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tag_list; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_size = _tmp8_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = -1; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40768 "Photo.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + Tag* tag = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = _tmp9_ + 1; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tag_size; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40792 "Photo.c" + } +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tag_list; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp14_; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = string_tags; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = tag; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject)); +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp15_, _tmp18_); +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp18_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 40816 "Photo.c" + } +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 40820 "Photo.c" + } +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = metadata; +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = string_tags; +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_keywords (_tmp19_, _tmp20_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (string_tags); +#line 40830 "Photo.c" + } else { + PhotoMetadata* _tmp21_ = NULL; +#line 5338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = metadata; +#line 5338 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_keywords (_tmp21_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 40837 "Photo.c" + } +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = metadata; +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_rating (_tmp22_, _tmp23_); +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_tags); +#line 40847 "Photo.c" +} + + +static void library_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + HierarchicalTagIndex* new_htag_index = NULL; + PhotoMetadata* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeCollection* keywords = NULL; + PhotoMetadata* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + HierarchicalTagIndex* _tmp39_ = NULL; +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 5344 "/home/jens/Source/shotwell/src/Photo.vala" + new_htag_index = NULL; +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_metadata_has_hierarchical_keywords (_tmp0_); +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 40873 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + HierarchicalTagIndex* _tmp5_ = NULL; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_hierarchical_keywords (_tmp2_); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = hierarchical_tag_utilities_process_hierarchical_import_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (new_htag_index); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + new_htag_index = _tmp5_; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 40892 "Photo.c" + } +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = metadata; +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_metadata_get_keywords (_tmp6_, NULL, NULL, NULL); +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection); +#line 5352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = keywords; +#line 5352 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 40904 "Photo.c" + { + GeeIterator* _keyword_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = keywords; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _keyword_it = _tmp10_; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40917 "Photo.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + HierarchicalTagIndex* _tmp16_ = NULL; + gchar* safe_keyword = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* promoted_keyword = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + TagSourceCollection* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + TagSourceCollection* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + const gchar* _tmp36_ = NULL; + Tag* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _keyword_it; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp12_) { +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40948 "Photo.c" + } +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _keyword_it; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + keyword = (gchar*) _tmp14_; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = new_htag_index; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ != NULL) { +#line 40960 "Photo.c" + HierarchicalTagIndex* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = new_htag_index; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = keyword; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = hierarchical_tag_index_is_tag_in_index (_tmp17_, _tmp18_); +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 40972 "Photo.c" + } else { +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = FALSE; +#line 40976 "Photo.c" + } +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 5355 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5355 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 40984 "Photo.c" + } +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = keyword; +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = hierarchical_tag_utilities_make_flat_tag_safe (_tmp20_); +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + safe_keyword = _tmp21_; +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = safe_keyword; +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp22_); +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + promoted_keyword = _tmp23_; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = tag_global; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = safe_keyword; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = tag_source_collection_exists (_tmp24_, _tmp25_, FALSE); +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 41006 "Photo.c" + const gchar* _tmp27_ = NULL; + Tag* _tmp28_ = NULL; + Tag* _tmp29_ = NULL; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = safe_keyword; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = tag_for_path (_tmp27_); +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp29_); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 41028 "Photo.c" + } +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = tag_global; +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = promoted_keyword; +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = tag_source_collection_exists (_tmp30_, _tmp31_, FALSE); +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_) { +#line 41038 "Photo.c" + const gchar* _tmp33_ = NULL; + Tag* _tmp34_ = NULL; + Tag* _tmp35_ = NULL; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = promoted_keyword; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = tag_for_path (_tmp33_); +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp35_); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 41060 "Photo.c" + } +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = keyword; +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = tag_for_path (_tmp36_); +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_; +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp38_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp38_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 41078 "Photo.c" + } +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_keyword_it); +#line 41082 "Photo.c" + } + } +#line 5375 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = new_htag_index; +#line 5375 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ != NULL) { +#line 41089 "Photo.c" + { + GeeIterator* _path_it = NULL; + HierarchicalTagIndex* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + GeeCollection* _tmp42_ = NULL; + GeeIterator* _tmp43_ = NULL; + GeeIterator* _tmp44_ = NULL; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = new_htag_index; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = hierarchical_tag_index_get_all_paths (_tmp40_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp42_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _path_it = _tmp44_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41113 "Photo.c" + GeeIterator* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + Tag* _tmp50_ = NULL; + Tag* _tmp51_ = NULL; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _path_it; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gee_iterator_next (_tmp45_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp46_) { +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41130 "Photo.c" + } +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _path_it; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = gee_iterator_get (_tmp47_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + path = (gchar*) _tmp48_; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = path; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = tag_for_path (_tmp49_); +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp51_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp51_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (path); +#line 41150 "Photo.c" + } +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_path_it); +#line 41154 "Photo.c" + } + } +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (new_htag_index); +#line 41161 "Photo.c" +} + + +static void library_photo_class_init (LibraryPhotoClass * klass) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_parent_class = g_type_class_peek_parent (klass); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoPrivate)); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_master_reimported = library_photo_real_notify_master_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_reimported = library_photo_real_notify_editable_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_source_reimported = library_photo_real_notify_source_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_reimported = library_photo_real_notify_baseline_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataObjectClass *) klass)->notify_altered = library_photo_real_notify_altered; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_preview_pixbuf = library_photo_real_get_preview_pixbuf; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->rotate = library_photo_real_rotate; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = library_photo_real_get_thumbnail; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->is_trashed = library_photo_real_is_trashed; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->trash = library_photo_real_trash; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->untrash = library_photo_real_untrash; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->is_offline = library_photo_real_is_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->mark_offline = library_photo_real_mark_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->mark_online = library_photo_real_mark_online; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->internal_delete_backing = library_photo_real_internal_delete_backing; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->destroy = library_photo_real_destroy; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->has_user_generated_metadata = library_photo_real_has_user_generated_metadata; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->set_user_metadata_for_export = library_photo_real_set_user_metadata_for_export; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->apply_user_metadata_for_reimport = library_photo_real_apply_user_metadata_for_reimport; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = library_photo_finalize; +#line 41210 "Photo.c" +} + + +static void library_photo_flaggable_interface_init (FlaggableIface * iface) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_flaggable_parent_iface = g_type_interface_peek_parent (iface); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->is_flagged = (gboolean (*)(Flaggable*)) library_photo_real_is_flagged; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_flagged = (void (*)(Flaggable*)) library_photo_real_mark_flagged; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_unflagged = (void (*)(Flaggable*)) library_photo_real_mark_unflagged; +#line 41223 "Photo.c" +} + + +static void library_photo_monitorable_interface_init (MonitorableIface * iface) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_monitorable_parent_iface = g_type_interface_peek_parent (iface); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->is_offline = (gboolean (*)(Monitorable*)) library_photo_real_is_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_offline = (void (*)(Monitorable*)) library_photo_real_mark_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_online = (void (*)(Monitorable*)) library_photo_real_mark_online; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_master_file = (void (*)(Monitorable*, GFile*)) photo_set_master_file; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_master_timestamp = (void (*)(Monitorable*, GFileInfo*)) photo_set_master_timestamp; +#line 41240 "Photo.c" +} + + +static void library_photo_instance_init (LibraryPhoto * self) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_GET_PRIVATE (self); +#line 4955 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = FALSE; +#line 4956 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = NULL; +#line 41251 "Photo.c" +} + + +static void library_photo_finalize (GObject* obj) { + LibraryPhoto * self; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4956 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4957 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (library_photo_parent_class)->finalize (obj); +#line 41265 "Photo.c" +} + + +GType library_photo_get_type (void) { + static volatile gsize library_photo_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhoto), 0, (GInstanceInitFunc) library_photo_instance_init, NULL }; + static const GInterfaceInfo flaggable_info = { (GInterfaceInitFunc) library_photo_flaggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo monitorable_info = { (GInterfaceInitFunc) library_photo_monitorable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType library_photo_type_id; + library_photo_type_id = g_type_register_static (TYPE_PHOTO, "LibraryPhoto", &g_define_type_info, 0); + g_type_add_interface_static (library_photo_type_id, TYPE_FLAGGABLE, &flaggable_info); + g_type_add_interface_static (library_photo_type_id, TYPE_MONITORABLE, &monitorable_info); + g_once_init_leave (&library_photo_type_id__volatile, library_photo_type_id); + } + return library_photo_type_id__volatile; +} + + +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_construct (GType object_type, LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { + LibraryPhotoSourceHoldingTank* self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + SourceHoldingTankCheckToKeep _tmp1_ = NULL; + void* _tmp1__target = NULL; + GetSourceDatabaseKey _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (sources), NULL); +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = sources; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = check_to_keep; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1__target = check_to_keep_target; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = get_key; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2__target = get_key_target; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhotoSourceHoldingTank*) media_source_holding_tank_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp1_, _tmp1__target, _tmp2_, _tmp2__target); +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 41308 "Photo.c" +} + + +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_new (LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_source_holding_tank_construct (TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, sources, check_to_keep, check_to_keep_target, get_key, get_key_target); +#line 41315 "Photo.c" +} + + +LibraryPhoto* library_photo_source_holding_tank_fetch_by_backing_file (LibraryPhotoSourceHoldingTank* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* ret = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; +#line 5398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self), NULL); +#line 5398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 5399 "/home/jens/Source/shotwell/src/Photo.vala" + ret = NULL; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->editable_file_map; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + ret = (LibraryPhoto*) _tmp2_; +#line 5401 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = ret; +#line 5401 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 5402 "/home/jens/Source/shotwell/src/Photo.vala" + result = ret; +#line 5402 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 41353 "Photo.c" + } +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->development_file_map; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp6_; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 41367 "Photo.c" +} + + +static void _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_on_editable_replaced ((LibraryPhotoSourceHoldingTank*) self, _sender, old_file, new_file); +#line 41374 "Photo.c" +} + + +static void _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self) { +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_on_raw_development_modified ((LibraryPhotoSourceHoldingTank*) self, _sender); +#line 41381 "Photo.c" +} + + +static void library_photo_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed) { + LibraryPhotoSourceHoldingTank * self; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp40_ = NULL; + GeeCollection* _tmp81_ = NULL; + GeeCollection* _tmp82_ = NULL; +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 5409 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 5409 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 41401 "Photo.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = added; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _source_it = _tmp2_; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41414 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GeeCollection* raw_files = NULL; + LibraryPhoto* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _source_it; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41441 "Photo.c" + } +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _source_it; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + source = (DataSource*) _tmp6_; +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = source; +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO, Photo)); +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_ != NULL; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_); +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 41467 "Photo.c" + GeeHashMap* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + GeeMultiMap* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->editable_file_map; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO, Photo)); +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, _tmp17_); +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reverse_editable_file_map; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo)); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp18_, _tmp19_, _tmp22_); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp22_); +#line 41506 "Photo.c" + } +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo; +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO, Photo)); +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + raw_files = _tmp24_; +#line 5421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = raw_files; +#line 5421 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_ != NULL) { +#line 41518 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = raw_files; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp27_; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41531 "Photo.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + GeeHashMap* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + LibraryPhoto* _tmp34_ = NULL; + GeeMultiMap* _tmp35_ = NULL; + LibraryPhoto* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _f_it; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp29_) { +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41551 "Photo.c" + } +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _f_it; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp31_; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->development_file_map; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = f; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp33_, _tmp34_); +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = self->priv->reverse_development_file_map; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = f; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp35_, _tmp36_, _tmp37_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41577 "Photo.c" + } +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41581 "Photo.c" + } + } +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo; +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PHOTO, Photo), "editable-replaced", (GCallback) _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced, self); +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo; +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PHOTO, Photo), "raw-development-modified", (GCallback) _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified, self); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_files); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (source); +#line 41598 "Photo.c" + } +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_source_it); +#line 41602 "Photo.c" + } + } +#line 5433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = removed; +#line 5433 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_ != NULL) { +#line 41609 "Photo.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp41_ = NULL; + GeeIterator* _tmp42_ = NULL; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = removed; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _source_it = _tmp42_; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41622 "Photo.c" + GeeIterator* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp45_ = NULL; + gpointer _tmp46_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp47_ = NULL; + LibraryPhoto* _tmp48_ = NULL; + GeeMultiMap* _tmp73_ = NULL; + LibraryPhoto* _tmp74_ = NULL; + GeeMultiMap* _tmp75_ = NULL; + LibraryPhoto* _tmp76_ = NULL; + LibraryPhoto* _tmp77_ = NULL; + guint _tmp78_ = 0U; + LibraryPhoto* _tmp79_ = NULL; + guint _tmp80_ = 0U; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _source_it; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = gee_iterator_next (_tmp43_); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp44_) { +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41647 "Photo.c" + } +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _source_it; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gee_iterator_get (_tmp45_); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + source = (DataSource*) _tmp46_; +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = source; +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp48_; +#line 41661 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp49_ = NULL; + LibraryPhoto* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + GeeCollection* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; + GeeIterator* _tmp54_ = NULL; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = self->priv->reverse_editable_file_map; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = photo; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = gee_multi_map_get (_tmp49_, _tmp50_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = _tmp51_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp52_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp54_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41688 "Photo.c" + GeeIterator* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; + GeeHashMap* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _f_it; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = gee_iterator_next (_tmp55_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp56_) { +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41704 "Photo.c" + } +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _f_it; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gee_iterator_get (_tmp57_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp58_; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->editable_file_map; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = f; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_, NULL); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41720 "Photo.c" + } +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41724 "Photo.c" + } + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp61_ = NULL; + LibraryPhoto* _tmp62_ = NULL; + GeeCollection* _tmp63_ = NULL; + GeeCollection* _tmp64_ = NULL; + GeeIterator* _tmp65_ = NULL; + GeeIterator* _tmp66_ = NULL; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = self->priv->reverse_development_file_map; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = photo; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = gee_multi_map_get (_tmp61_, _tmp62_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp63_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp64_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp66_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41752 "Photo.c" + GeeIterator* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp69_ = NULL; + gpointer _tmp70_ = NULL; + GeeHashMap* _tmp71_ = NULL; + GFile* _tmp72_ = NULL; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _f_it; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = gee_iterator_next (_tmp67_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp68_) { +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41768 "Photo.c" + } +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _f_it; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = gee_iterator_get (_tmp69_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp70_; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->development_file_map; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = f; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp72_, NULL); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41784 "Photo.c" + } +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41788 "Photo.c" + } +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = self->priv->reverse_editable_file_map; +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = photo; +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp73_, _tmp74_); +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = self->priv->reverse_development_file_map; +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo; +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp75_, _tmp76_); +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = photo; +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("editable-replaced", TYPE_PHOTO, &_tmp78_, NULL, FALSE); +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp78_, 0, NULL, (GCallback) _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced, self); +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = photo; +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("raw-development-modified", TYPE_PHOTO, &_tmp80_, NULL, FALSE); +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp80_, 0, NULL, (GCallback) _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified, self); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (source); +#line 41818 "Photo.c" + } +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_source_it); +#line 41822 "Photo.c" + } + } +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = added; +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = removed; +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_HOLDING_TANK_CLASS (library_photo_source_holding_tank_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp81_, _tmp82_); +#line 41831 "Photo.c" +} + + +static void library_photo_source_holding_tank_on_editable_replaced (LibraryPhotoSourceHoldingTank* self, Photo* _photo, GFile* old_file, GFile* new_file) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp9_ = NULL; + GeeMultiMap* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 5455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5455 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "photo != null"); +#line 5457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = old_file; +#line 5457 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 41867 "Photo.c" + GeeHashMap* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->editable_file_map; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = old_file; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, NULL); +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->reverse_editable_file_map; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_file; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp6_, _tmp7_, _tmp8_); +#line 41887 "Photo.c" + } +#line 5462 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = new_file; +#line 5462 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ != NULL) { +#line 41893 "Photo.c" + GeeHashMap* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->editable_file_map; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_file; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, _tmp12_); +#line 41905 "Photo.c" + } +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->reverse_editable_file_map; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_file; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp13_, _tmp14_, _tmp15_); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 41917 "Photo.c" +} + + +static void library_photo_source_holding_tank_on_raw_development_modified (LibraryPhotoSourceHoldingTank* self, Photo* _photo) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp20_ = NULL; + GeeCollection* _tmp21_ = NULL; + GeeCollection* _tmp22_ = NULL; +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self)); +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 5469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5469 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "photo != null"); +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->reverse_development_file_map; +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_multi_map_contains (_tmp3_, _tmp4_); +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 41955 "Photo.c" + GeeMultiMap* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->reverse_development_file_map; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_multi_map_get (_tmp6_, _tmp7_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp11_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41984 "Photo.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeHashMap* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _f_it; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp13_) { +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 42000 "Photo.c" + } +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _f_it; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp15_; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->development_file_map; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = f; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, NULL); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 42016 "Photo.c" + } +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 42020 "Photo.c" + } +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reverse_development_file_map; +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo; +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp18_, _tmp19_); +#line 42028 "Photo.c" + } +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo)); +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp21_; +#line 5480 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = raw_list; +#line 5480 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 42040 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp23_ = NULL; + GeeIterator* _tmp24_ = NULL; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = raw_list; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp24_; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 42053 "Photo.c" + GeeIterator* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp27_ = NULL; + gpointer _tmp28_ = NULL; + GeeHashMap* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; + GeeMultiMap* _tmp32_ = NULL; + LibraryPhoto* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _f_it; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = gee_iterator_next (_tmp25_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp26_) { +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 42073 "Photo.c" + } +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _f_it; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_iterator_get (_tmp27_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp28_; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->priv->development_file_map; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = f; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp30_, _tmp31_); +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->reverse_development_file_map; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = f; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp32_, _tmp33_, _tmp34_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 42099 "Photo.c" + } +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 42103 "Photo.c" + } + } +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 42110 "Photo.c" +} + + +static void library_photo_source_holding_tank_class_init (LibraryPhotoSourceHoldingTankClass * klass) { +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_parent_class = g_type_class_peek_parent (klass); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceHoldingTankClass *) klass)->finalize = library_photo_source_holding_tank_finalize; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoSourceHoldingTankPrivate)); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceHoldingTankClass *) klass)->notify_contents_altered = library_photo_source_holding_tank_real_notify_contents_altered; +#line 42123 "Photo.c" +} + + +static void library_photo_source_holding_tank_instance_init (LibraryPhotoSourceHoldingTank * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeHashMultiMap* _tmp2_ = NULL; + GeeHashMultiMap* _tmp3_ = NULL; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_PRIVATE (self); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_file_map = _tmp0_; +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->development_file_map = _tmp1_; +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_hash_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reverse_editable_file_map = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_hash_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reverse_development_file_map = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 42150 "Photo.c" +} + + +static void library_photo_source_holding_tank_finalize (SourceHoldingTank* obj) { + LibraryPhotoSourceHoldingTank * self; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_file_map); +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->development_file_map); +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->reverse_editable_file_map); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->reverse_development_file_map); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_HOLDING_TANK_CLASS (library_photo_source_holding_tank_parent_class)->finalize (obj); +#line 42168 "Photo.c" +} + + +GType library_photo_source_holding_tank_get_type (void) { + static volatile gsize library_photo_source_holding_tank_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_holding_tank_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoSourceHoldingTankClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_source_holding_tank_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoSourceHoldingTank), 0, (GInstanceInitFunc) library_photo_source_holding_tank_instance_init, NULL }; + GType library_photo_source_holding_tank_type_id; + library_photo_source_holding_tank_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_HOLDING_TANK, "LibraryPhotoSourceHoldingTank", &g_define_type_info, 0); + g_once_init_leave (&library_photo_source_holding_tank_type_id__volatile, library_photo_source_holding_tank_type_id); + } + return library_photo_source_holding_tank_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); +} + + + -- cgit v1.2.3