/* PhotoFileAdapter.c generated by valac 0.34.1, the Vala compiler * generated from PhotoFileAdapter.vala, do not modify */ /* Copyright 2016 Software Freedom Conservancy Inc. * * This software is licensed under the GNU Lesser General Public License * (version 2.1 or later). See the COPYING file in this distribution. */ /**/ /* PhotoFileAdapter*/ /**/ /* PhotoFileAdapter (and its immediate children, PhotoFileReader and PhotoFileWriter) are drivers*/ /* hiding details of reading and writing image files and their metadata. They should keep*/ /* minimal state beyond the filename, if any stat at all. In particular, they should avoid caching*/ /* values, especially the readers, as writers may be created at any time and invalidate that*/ /* information, unless the readers monitor the file for these changes.*/ /**/ /* PhotoFileAdapters should be entirely thread-safe. They are not, however, responsible for*/ /* atomicity on the filesystem.*/ /**/ #include #include #include #include #include #include #include #include #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; typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; #define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _ParamSpecPhotoFileAdapter ParamSpecPhotoFileAdapter; #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 _PhotoFileReaderPrivate PhotoFileReaderPrivate; #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_DIMENSIONS (dimensions_get_type ()) typedef struct _Dimensions Dimensions; #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 _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) #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; typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; #define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; struct _PhotoFileAdapter { GTypeInstance parent_instance; volatile int ref_count; PhotoFileAdapterPrivate * priv; }; struct _PhotoFileAdapterClass { GTypeClass parent_class; void (*finalize) (PhotoFileAdapter *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 _PhotoFileAdapterPrivate { gchar* filepath; PhotoFileFormat file_format; GFile* file; GRecMutex __lock_file; }; struct _ParamSpecPhotoFileAdapter { GParamSpec parent_instance; }; struct _Dimensions { gint width; gint height; }; struct _PhotoFileReader { PhotoFileAdapter parent_instance; PhotoFileReaderPrivate * priv; }; struct _PhotoFileReaderClass { PhotoFileAdapterClass parent_class; PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); }; 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; struct _PhotoFileWriter { PhotoFileAdapter parent_instance; PhotoFileWriterPrivate * priv; }; struct _PhotoFileWriterClass { PhotoFileAdapterClass parent_class; void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); }; struct _PhotoFileMetadataWriter { PhotoFileAdapter parent_instance; PhotoFileMetadataWriterPrivate * priv; }; struct _PhotoFileMetadataWriterClass { PhotoFileAdapterClass parent_class; void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); }; static gpointer photo_file_adapter_parent_class = NULL; static gpointer photo_file_reader_parent_class = NULL; static gpointer photo_file_writer_parent_class = NULL; static gpointer photo_file_metadata_writer_parent_class = NULL; 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_format_get_type (void) G_GNUC_CONST; #define PHOTO_FILE_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterPrivate)) enum { PHOTO_FILE_ADAPTER_DUMMY_PROPERTY }; PhotoFileAdapter* photo_file_adapter_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self); gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self); static void photo_file_adapter_finalize (PhotoFileAdapter* obj); GType photo_file_reader_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 dimensions_get_type (void) G_GNUC_CONST; Dimensions* dimensions_dup (const Dimensions* self); void dimensions_free (Dimensions* self); enum { PHOTO_FILE_READER_DUMMY_PROPERTY }; PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); GType photo_file_writer_get_type (void) G_GNUC_CONST; GQuark photo_format_error_quark (void); PhotoFileWriter* photo_file_reader_create_writer (PhotoFileReader* self, GError** error); PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error); PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error); PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); static PhotoMetadata* photo_file_reader_real_read_metadata (PhotoFileReader* self, GError** error); GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error); static GdkPixbuf* photo_file_reader_real_unscaled_read (PhotoFileReader* self, GError** error); GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); static GdkPixbuf* photo_file_reader_real_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); GType jpeg_quality_get_type (void) G_GNUC_CONST; enum { PHOTO_FILE_WRITER_DUMMY_PROPERTY }; PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); PhotoFileReader* photo_file_writer_create_reader (PhotoFileWriter* self); PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); static void photo_file_writer_real_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); enum { PHOTO_FILE_METADATA_WRITER_DUMMY_PROPERTY }; PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); PhotoFileReader* photo_file_metadata_writer_create_reader (PhotoFileMetadataWriter* self); void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); static void photo_file_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); PhotoFileAdapter* photo_file_adapter_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { PhotoFileAdapter* self = NULL; const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; PhotoFileFormat _tmp2_ = 0; #line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (filepath != NULL, NULL); #line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self = (PhotoFileAdapter*) g_type_create_instance (object_type); #line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = filepath; #line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = g_strdup (_tmp0_); #line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (self->priv->filepath); #line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->priv->filepath = _tmp1_; #line 27 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = file_format; #line 27 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->priv->file_format = _tmp2_; #line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return self; #line 282 "PhotoFileAdapter.c" } gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self) { gboolean result = FALSE; const gchar* _tmp0_ = NULL; gboolean _tmp1_ = FALSE; #line 30 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), FALSE); #line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = self->priv->filepath; #line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = g_file_test (_tmp0_, G_FILE_TEST_IS_REGULAR); #line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp1_; #line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 300 "PhotoFileAdapter.c" } gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self) { gchar* result = NULL; const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; #line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), NULL); #line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = self->priv->filepath; #line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = g_strdup (_tmp0_); #line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp1_; #line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 318 "PhotoFileAdapter.c" } static gpointer _g_object_ref0 (gpointer self) { #line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return self ? g_object_ref (self) : NULL; #line 325 "PhotoFileAdapter.c" } GFile* photo_file_adapter_get_file (PhotoFileAdapter* self) { GFile* result = NULL; GFile* _result_ = NULL; GError * _inner_error_ = NULL; #line 38 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), NULL); #line 335 "PhotoFileAdapter.c" { GFile* _tmp0_ = NULL; #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = self->priv->file; #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_rec_mutex_lock (&self->priv->__lock_file); #line 342 "PhotoFileAdapter.c" { GFile* _tmp1_ = NULL; GFile* _tmp4_ = NULL; GFile* _tmp5_ = NULL; #line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = self->priv->file; #line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (_tmp1_ == NULL) { #line 351 "PhotoFileAdapter.c" const gchar* _tmp2_ = NULL; GFile* _tmp3_ = NULL; #line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = self->priv->filepath; #line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = g_file_new_for_path (_tmp2_); #line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_object_unref0 (self->priv->file); #line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->priv->file = _tmp3_; #line 362 "PhotoFileAdapter.c" } #line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp4_ = self->priv->file; #line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp5_ = _g_object_ref0 (_tmp4_); #line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_object_unref0 (_result_); #line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _result_ = _tmp5_; #line 372 "PhotoFileAdapter.c" } __finally22: { GFile* _tmp6_ = NULL; #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp6_ = self->priv->file; #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_rec_mutex_unlock (&self->priv->__lock_file); #line 381 "PhotoFileAdapter.c" } #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_object_unref0 (_result_); #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_clear_error (&_inner_error_); #line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 393 "PhotoFileAdapter.c" } } #line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _result_; #line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 400 "PhotoFileAdapter.c" } PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self) { PhotoFileFormat result = 0; PhotoFileFormat _tmp0_ = 0; #line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), 0); #line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = self->priv->file_format; #line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp0_; #line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 415 "PhotoFileAdapter.c" } static void value_photo_file_adapter_init (GValue* value) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = NULL; #line 422 "PhotoFileAdapter.c" } static void value_photo_file_adapter_free_value (GValue* value) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (value->data[0].v_pointer) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_adapter_unref (value->data[0].v_pointer); #line 431 "PhotoFileAdapter.c" } } static void value_photo_file_adapter_copy_value (const GValue* src_value, GValue* dest_value) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (src_value->data[0].v_pointer) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" dest_value->data[0].v_pointer = photo_file_adapter_ref (src_value->data[0].v_pointer); #line 441 "PhotoFileAdapter.c" } else { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" dest_value->data[0].v_pointer = NULL; #line 445 "PhotoFileAdapter.c" } } static gpointer value_photo_file_adapter_peek_pointer (const GValue* value) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return value->data[0].v_pointer; #line 453 "PhotoFileAdapter.c" } static gchar* value_photo_file_adapter_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (collect_values[0].v_pointer) { #line 460 "PhotoFileAdapter.c" PhotoFileAdapter* object; object = collect_values[0].v_pointer; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (object->parent_instance.g_class == NULL) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 467 "PhotoFileAdapter.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 471 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = photo_file_adapter_ref (object); #line 475 "PhotoFileAdapter.c" } else { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = NULL; #line 479 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 483 "PhotoFileAdapter.c" } static gchar* value_photo_file_adapter_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { PhotoFileAdapter** object_p; object_p = collect_values[0].v_pointer; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (!object_p) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 494 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (!value->data[0].v_pointer) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" *object_p = NULL; #line 500 "PhotoFileAdapter.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" *object_p = value->data[0].v_pointer; #line 504 "PhotoFileAdapter.c" } else { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" *object_p = photo_file_adapter_ref (value->data[0].v_pointer); #line 508 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 512 "PhotoFileAdapter.c" } GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { ParamSpecPhotoFileAdapter* spec; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_ADAPTER), NULL); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return G_PARAM_SPEC (spec); #line 526 "PhotoFileAdapter.c" } gpointer value_get_photo_file_adapter (const GValue* value) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER), NULL); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return value->data[0].v_pointer; #line 535 "PhotoFileAdapter.c" } void value_set_photo_file_adapter (GValue* value, gpointer v_object) { PhotoFileAdapter* old; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER)); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" old = value->data[0].v_pointer; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (v_object) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_ADAPTER)); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = v_object; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_adapter_ref (value->data[0].v_pointer); #line 555 "PhotoFileAdapter.c" } else { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = NULL; #line 559 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (old) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_adapter_unref (old); #line 565 "PhotoFileAdapter.c" } } void value_take_photo_file_adapter (GValue* value, gpointer v_object) { PhotoFileAdapter* old; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER)); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" old = value->data[0].v_pointer; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (v_object) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_ADAPTER)); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = v_object; #line 584 "PhotoFileAdapter.c" } else { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" value->data[0].v_pointer = NULL; #line 588 "PhotoFileAdapter.c" } #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (old) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_adapter_unref (old); #line 594 "PhotoFileAdapter.c" } } static void photo_file_adapter_class_init (PhotoFileAdapterClass * klass) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_adapter_parent_class = g_type_class_peek_parent (klass); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileAdapterClass *) klass)->finalize = photo_file_adapter_finalize; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_type_class_add_private (klass, sizeof (PhotoFileAdapterPrivate)); #line 606 "PhotoFileAdapter.c" } static void photo_file_adapter_instance_init (PhotoFileAdapter * self) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->priv = PHOTO_FILE_ADAPTER_GET_PRIVATE (self); #line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_rec_mutex_init (&self->priv->__lock_file); #line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->priv->file = NULL; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self->ref_count = 1; #line 619 "PhotoFileAdapter.c" } static void photo_file_adapter_finalize (PhotoFileAdapter* obj) { PhotoFileAdapter * self; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_signal_handlers_destroy (self); #line 21 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (self->priv->filepath); #line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_rec_mutex_clear (&self->priv->__lock_file); #line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_object_unref0 (self->priv->file); #line 635 "PhotoFileAdapter.c" } GType photo_file_adapter_get_type (void) { static volatile gsize photo_file_adapter_type_id__volatile = 0; if (g_once_init_enter (&photo_file_adapter_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { value_photo_file_adapter_init, value_photo_file_adapter_free_value, value_photo_file_adapter_copy_value, value_photo_file_adapter_peek_pointer, "p", value_photo_file_adapter_collect_value, "p", value_photo_file_adapter_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (PhotoFileAdapterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_adapter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileAdapter), 0, (GInstanceInitFunc) photo_file_adapter_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_file_adapter_type_id; photo_file_adapter_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileAdapter", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&photo_file_adapter_type_id__volatile, photo_file_adapter_type_id); } return photo_file_adapter_type_id__volatile; } gpointer photo_file_adapter_ref (gpointer instance) { PhotoFileAdapter* self; self = instance; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_atomic_int_inc (&self->ref_count); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return instance; #line 660 "PhotoFileAdapter.c" } void photo_file_adapter_unref (gpointer instance) { PhotoFileAdapter* self; self = instance; #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" PHOTO_FILE_ADAPTER_GET_CLASS (self)->finalize (self); #line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_type_free_instance ((GTypeInstance *) self); #line 673 "PhotoFileAdapter.c" } } PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { PhotoFileReader* self = NULL; const gchar* _tmp0_ = NULL; PhotoFileFormat _tmp1_ = 0; #line 60 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (filepath != NULL, NULL); #line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = filepath; #line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = file_format; #line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self = (PhotoFileReader*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); #line 60 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return self; #line 692 "PhotoFileAdapter.c" } PhotoFileWriter* photo_file_reader_create_writer (PhotoFileReader* self, GError** error) { PhotoFileWriter* result = NULL; PhotoFileWriter* _tmp0_ = NULL; PhotoFileFormat _tmp1_ = 0; gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; PhotoFileWriter* _tmp4_ = NULL; PhotoFileWriter* _tmp5_ = NULL; PhotoFileWriter* _tmp6_ = NULL; GError * _inner_error_ = NULL; #line 64 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = _tmp2_; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp4_ = photo_file_format_create_writer (_tmp1_, _tmp3_, &_inner_error_); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp5_ = _tmp4_; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (_tmp3_); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = _tmp5_; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_propagate_error (error, _inner_error_); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 730 "PhotoFileAdapter.c" } else { #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_clear_error (&_inner_error_); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 738 "PhotoFileAdapter.c" } } #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp6_ = _tmp0_; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = NULL; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp6_; #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _photo_file_adapter_unref0 (_tmp0_); #line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 751 "PhotoFileAdapter.c" } PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error) { PhotoFileMetadataWriter* result = NULL; PhotoFileMetadataWriter* _tmp0_ = NULL; PhotoFileFormat _tmp1_ = 0; gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; PhotoFileMetadataWriter* _tmp4_ = NULL; PhotoFileMetadataWriter* _tmp5_ = NULL; PhotoFileMetadataWriter* _tmp6_ = NULL; GError * _inner_error_ = NULL; #line 68 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = _tmp2_; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp4_ = photo_file_format_create_metadata_writer (_tmp1_, _tmp3_, &_inner_error_); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp5_ = _tmp4_; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (_tmp3_); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = _tmp5_; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_propagate_error (error, _inner_error_); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 789 "PhotoFileAdapter.c" } else { #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_clear_error (&_inner_error_); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 797 "PhotoFileAdapter.c" } } #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp6_ = _tmp0_; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = NULL; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp6_; #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _photo_file_adapter_unref0 (_tmp0_); #line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 810 "PhotoFileAdapter.c" } static PhotoMetadata* photo_file_reader_real_read_metadata (PhotoFileReader* self, GError** error) { #line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_critical ("Type `%s' does not implement abstract method `photo_file_reader_read_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 819 "PhotoFileAdapter.c" } PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error) { #line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); #line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return PHOTO_FILE_READER_GET_CLASS (self)->read_metadata (self, error); #line 828 "PhotoFileAdapter.c" } static GdkPixbuf* photo_file_reader_real_unscaled_read (PhotoFileReader* self, GError** error) { #line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_critical ("Type `%s' does not implement abstract method `photo_file_reader_unscaled_read'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 837 "PhotoFileAdapter.c" } GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error) { #line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); #line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return PHOTO_FILE_READER_GET_CLASS (self)->unscaled_read (self, error); #line 846 "PhotoFileAdapter.c" } static GdkPixbuf* photo_file_reader_real_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error) { GdkPixbuf* result = NULL; GdkPixbuf* _tmp0_ = NULL; GdkPixbuf* _tmp1_ = NULL; Dimensions _tmp2_ = {0}; GdkPixbuf* _tmp3_ = NULL; GError * _inner_error_ = NULL; #line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (full != NULL, NULL); #line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (scaled != NULL, NULL); #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = photo_file_reader_unscaled_read (self, &_inner_error_); #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = _tmp1_; #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_propagate_error (error, _inner_error_); #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return NULL; #line 871 "PhotoFileAdapter.c" } #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = *scaled; #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = resize_pixbuf (_tmp0_, &_tmp2_, GDK_INTERP_BILINEAR); #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp3_; #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_object_unref0 (_tmp0_); #line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 883 "PhotoFileAdapter.c" } GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error) { #line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); #line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return PHOTO_FILE_READER_GET_CLASS (self)->scaled_read (self, full, scaled, error); #line 892 "PhotoFileAdapter.c" } static void photo_file_reader_class_init (PhotoFileReaderClass * klass) { #line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_reader_parent_class = g_type_class_peek_parent (klass); #line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileReaderClass *) klass)->read_metadata = photo_file_reader_real_read_metadata; #line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileReaderClass *) klass)->unscaled_read = photo_file_reader_real_unscaled_read; #line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileReaderClass *) klass)->scaled_read = photo_file_reader_real_scaled_read; #line 905 "PhotoFileAdapter.c" } static void photo_file_reader_instance_init (PhotoFileReader * self) { } GType photo_file_reader_get_type (void) { static volatile gsize photo_file_reader_type_id__volatile = 0; if (g_once_init_enter (&photo_file_reader_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (PhotoFileReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileReader), 0, (GInstanceInitFunc) photo_file_reader_instance_init, NULL }; GType photo_file_reader_type_id; photo_file_reader_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileReader", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&photo_file_reader_type_id__volatile, photo_file_reader_type_id); } return photo_file_reader_type_id__volatile; } PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { PhotoFileWriter* self = NULL; const gchar* _tmp0_ = NULL; PhotoFileFormat _tmp1_ = 0; #line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (filepath != NULL, NULL); #line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = filepath; #line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = file_format; #line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self = (PhotoFileWriter*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); #line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return self; #line 939 "PhotoFileAdapter.c" } PhotoFileReader* photo_file_writer_create_reader (PhotoFileWriter* self) { PhotoFileReader* result = NULL; PhotoFileFormat _tmp0_ = 0; gchar* _tmp1_ = NULL; gchar* _tmp2_ = NULL; PhotoFileReader* _tmp3_ = NULL; PhotoFileReader* _tmp4_ = NULL; #line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_WRITER (self), NULL); #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = _tmp1_; #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = photo_file_format_create_reader (_tmp0_, _tmp2_); #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp4_ = _tmp3_; #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (_tmp2_); #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp4_; #line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 968 "PhotoFileAdapter.c" } static void photo_file_writer_real_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { #line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_critical ("Type `%s' does not implement abstract method `photo_file_writer_write'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return; #line 977 "PhotoFileAdapter.c" } void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { #line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (IS_PHOTO_FILE_WRITER (self)); #line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" PHOTO_FILE_WRITER_GET_CLASS (self)->write (self, pixbuf, quality, error); #line 986 "PhotoFileAdapter.c" } static void photo_file_writer_class_init (PhotoFileWriterClass * klass) { #line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_writer_parent_class = g_type_class_peek_parent (klass); #line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileWriterClass *) klass)->write = photo_file_writer_real_write; #line 995 "PhotoFileAdapter.c" } static void photo_file_writer_instance_init (PhotoFileWriter * self) { } GType photo_file_writer_get_type (void) { static volatile gsize photo_file_writer_type_id__volatile = 0; if (g_once_init_enter (&photo_file_writer_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (PhotoFileWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileWriter), 0, (GInstanceInitFunc) photo_file_writer_instance_init, NULL }; GType photo_file_writer_type_id; photo_file_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileWriter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&photo_file_writer_type_id__volatile, photo_file_writer_type_id); } return photo_file_writer_type_id__volatile; } PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { PhotoFileMetadataWriter* self = NULL; const gchar* _tmp0_ = NULL; PhotoFileFormat _tmp1_ = 0; #line 102 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (filepath != NULL, NULL); #line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = filepath; #line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = file_format; #line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" self = (PhotoFileMetadataWriter*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); #line 102 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return self; #line 1029 "PhotoFileAdapter.c" } PhotoFileReader* photo_file_metadata_writer_create_reader (PhotoFileMetadataWriter* self) { PhotoFileReader* result = NULL; PhotoFileFormat _tmp0_ = 0; gchar* _tmp1_ = NULL; gchar* _tmp2_ = NULL; PhotoFileReader* _tmp3_ = NULL; PhotoFileReader* _tmp4_ = NULL; #line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_val_if_fail (IS_PHOTO_FILE_METADATA_WRITER (self), NULL); #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp0_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp2_ = _tmp1_; #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp3_ = photo_file_format_create_reader (_tmp0_, _tmp2_); #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _tmp4_ = _tmp3_; #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" _g_free0 (_tmp2_); #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" result = _tmp4_; #line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return result; #line 1058 "PhotoFileAdapter.c" } static void photo_file_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error) { #line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_critical ("Type `%s' does not implement abstract method `photo_file_metadata_writer_write_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" return; #line 1067 "PhotoFileAdapter.c" } void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error) { #line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" g_return_if_fail (IS_PHOTO_FILE_METADATA_WRITER (self)); #line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" PHOTO_FILE_METADATA_WRITER_GET_CLASS (self)->write_metadata (self, metadata, error); #line 1076 "PhotoFileAdapter.c" } static void photo_file_metadata_writer_class_init (PhotoFileMetadataWriterClass * klass) { #line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" photo_file_metadata_writer_parent_class = g_type_class_peek_parent (klass); #line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" ((PhotoFileMetadataWriterClass *) klass)->write_metadata = photo_file_metadata_writer_real_write_metadata; #line 1085 "PhotoFileAdapter.c" } static void photo_file_metadata_writer_instance_init (PhotoFileMetadataWriter * self) { } GType photo_file_metadata_writer_get_type (void) { static volatile gsize photo_file_metadata_writer_type_id__volatile = 0; if (g_once_init_enter (&photo_file_metadata_writer_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (PhotoFileMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileMetadataWriter), 0, (GInstanceInitFunc) photo_file_metadata_writer_instance_init, NULL }; GType photo_file_metadata_writer_type_id; photo_file_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileMetadataWriter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_once_init_leave (&photo_file_metadata_writer_type_id__volatile, photo_file_metadata_writer_type_id); } return photo_file_metadata_writer_type_id__volatile; }