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/photos/PhotoFileFormat.c | 3277 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3277 insertions(+) create mode 100644 src/photos/PhotoFileFormat.c (limited to 'src/photos/PhotoFileFormat.c') diff --git a/src/photos/PhotoFileFormat.c b/src/photos/PhotoFileFormat.c new file mode 100644 index 0000000..6e05342 --- /dev/null +++ b/src/photos/PhotoFileFormat.c @@ -0,0 +1,3277 @@ +/* PhotoFileFormat.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoFileFormat.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; + +#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 _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +#define TYPE_JFIF_FILE_FORMAT_DRIVER (jfif_file_format_driver_get_type ()) +#define JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver)) +#define JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) +#define IS_JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define IS_JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define JFIF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) + +typedef struct _JfifFileFormatDriver JfifFileFormatDriver; +typedef struct _JfifFileFormatDriverClass JfifFileFormatDriverClass; + +#define TYPE_RAW_FILE_FORMAT_DRIVER (raw_file_format_driver_get_type ()) +#define RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver)) +#define RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) +#define IS_RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define IS_RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define RAW_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) + +typedef struct _RawFileFormatDriver RawFileFormatDriver; +typedef struct _RawFileFormatDriverClass RawFileFormatDriverClass; + +#define TYPE_PNG_FILE_FORMAT_DRIVER (png_file_format_driver_get_type ()) +#define PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver)) +#define PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) +#define IS_PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define IS_PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define PNG_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) + +typedef struct _PngFileFormatDriver PngFileFormatDriver; +typedef struct _PngFileFormatDriverClass PngFileFormatDriverClass; + +#define PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER (photos_tiff_file_format_driver_get_type ()) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) + +typedef struct _PhotosTiffFileFormatDriver PhotosTiffFileFormatDriver; +typedef struct _PhotosTiffFileFormatDriverClass PhotosTiffFileFormatDriverClass; + +#define PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER (photos_bmp_file_format_driver_get_type ()) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) + +typedef struct _PhotosBmpFileFormatDriver PhotosBmpFileFormatDriver; +typedef struct _PhotosBmpFileFormatDriverClass PhotosBmpFileFormatDriverClass; + +#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; + +#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; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; + +#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; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; +typedef struct _ParamSpecPhotoFileFormatDriver ParamSpecPhotoFileFormatDriver; + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecPhotoFileFormatProperties ParamSpecPhotoFileFormatProperties; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +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; + +typedef gboolean (*PhotoFileFormatDataApplicableTest) (PhotoFileFormat format, void* user_data); +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _ParamSpecPhotoFileFormatDriver { + GParamSpec parent_instance; +}; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _ParamSpecPhotoFileFormatProperties { + GParamSpec parent_instance; +}; + + +extern PhotoFileFormat* photo_file_format_data_writeable; +extern gint photo_file_format_data_writeable_length1; +PhotoFileFormat* photo_file_format_data_writeable = NULL; +gint photo_file_format_data_writeable_length1 = 0; +static gint _photo_file_format_data_writeable_size_ = 0; +extern PhotoFileFormat* photo_file_format_data_image_writeable; +extern gint photo_file_format_data_image_writeable_length1; +PhotoFileFormat* photo_file_format_data_image_writeable = NULL; +gint photo_file_format_data_image_writeable_length1 = 0; +static gint _photo_file_format_data_image_writeable_size_ = 0; +extern PhotoFileFormat* photo_file_format_data_metadata_writeable; +extern gint photo_file_format_data_metadata_writeable_length1; +PhotoFileFormat* photo_file_format_data_metadata_writeable = NULL; +gint photo_file_format_data_metadata_writeable_length1 = 0; +static gint _photo_file_format_data_metadata_writeable_size_ = 0; +static gpointer photo_file_format_driver_parent_class = NULL; +static gpointer photo_file_format_properties_parent_class = NULL; + +GQuark photo_format_error_quark (void); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat* photo_file_format_data_find_applicable (PhotoFileFormatDataApplicableTest test, void* test_target, int* result_length1); +PhotoFileFormat* photo_file_format_get_supported (int* result_length1); +static void _vala_array_add43 (PhotoFileFormat** array, int* length, int* size, PhotoFileFormat value); +PhotoFileFormat* photo_file_format_data_get_writeable (int* result_length1); +static gboolean ___lambda4_ (PhotoFileFormat format); +gboolean photo_file_format_can_write (PhotoFileFormat self); +static gboolean ____lambda4__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup1 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_data_get_image_writeable (int* result_length1); +static gboolean ___lambda22_ (PhotoFileFormat format); +gboolean photo_file_format_can_write_image (PhotoFileFormat self); +static gboolean ____lambda22__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup2 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_data_get_metadata_writeable (int* result_length1); +static gboolean ___lambda23_ (PhotoFileFormat format); +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self); +static gboolean ____lambda23__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup3 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_get_writeable (int* result_length1); +PhotoFileFormat* photo_file_format_get_image_writeable (int* result_length1); +PhotoFileFormat* photo_file_format_get_metadata_writeable (int* result_length1); +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gboolean is_string_empty (const gchar* s); +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +static PhotoFileFormatDriver* photo_file_format_get_driver (PhotoFileFormat self); +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_driver_get_properties (PhotoFileFormatDriver* self); +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gboolean photo_file_format_is_file_supported (GFile* file); +gboolean photo_file_format_is_basename_supported (const gchar* basename); +PhotoFileFormat photo_file_format_get_system_default_format (void); +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file); +gint photo_file_format_serialize (PhotoFileFormat self); +PhotoFileFormat photo_file_format_unserialize (gint value); +PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type); +PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name); +void photo_file_format_init (PhotoFileFormat self); +void jfif_file_format_driver_init (void); +void raw_file_format_driver_init (void); +void png_file_format_driver_init (void); +void photos_tiff_file_format_driver_init (void); +void photos_bmp_file_format_driver_init (void); +const gchar* photo_file_format_to_string (PhotoFileFormat self); +GType jfif_file_format_driver_get_type (void) G_GNUC_CONST; +JfifFileFormatDriver* jfif_file_format_driver_get_instance (void); +GType raw_file_format_driver_get_type (void) G_GNUC_CONST; +RawFileFormatDriver* raw_file_format_driver_get_instance (void); +GType png_file_format_driver_get_type (void) G_GNUC_CONST; +PngFileFormatDriver* png_file_format_driver_get_instance (void); +GType photos_tiff_file_format_driver_get_type (void) G_GNUC_CONST; +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_get_instance (void); +GType photos_bmp_file_format_driver_get_type (void) G_GNUC_CONST; +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_get_instance (void); +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name); +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self); +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); +PhotoFileReader* photo_file_format_driver_create_reader (PhotoFileFormatDriver* self, const gchar* filepath); +gboolean photo_file_format_driver_can_write_image (PhotoFileFormatDriver* self); +gboolean photo_file_format_driver_can_write_metadata (PhotoFileFormatDriver* self); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +PhotoFileWriter* photo_file_format_driver_create_writer (PhotoFileFormatDriver* self, const gchar* filepath); +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); +PhotoFileMetadataWriter* photo_file_format_driver_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self, GFile* file, PhotoFileSnifferOptions options); +PhotoFileSniffer* photo_file_format_driver_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +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; +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self); +PhotoMetadata* photo_file_format_driver_create_metadata (PhotoFileFormatDriver* self); +gchar* photo_file_format_get_default_mime_type (PhotoFileFormat self); +gchar* photo_file_format_properties_get_default_mime_type (PhotoFileFormatProperties* self); +gchar** photo_file_format_get_mime_types (PhotoFileFormat self, int* result_length1); +gchar** photo_file_format_properties_get_mime_types (PhotoFileFormatProperties* self, int* result_length1); +gchar** photo_file_format_get_editable_mime_types (int* result_length1); +static void _vala_array_add44 (gchar*** array, int* length, int* size, gchar* value); +enum { + PHOTO_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +static PhotoFileFormatProperties* photo_file_format_driver_real_get_properties (PhotoFileFormatDriver* self); +static PhotoFileReader* photo_file_format_driver_real_create_reader (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoMetadata* photo_file_format_driver_real_create_metadata (PhotoFileFormatDriver* self); +static gboolean photo_file_format_driver_real_can_write_image (PhotoFileFormatDriver* self); +static gboolean photo_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* self); +static PhotoFileWriter* photo_file_format_driver_real_create_writer (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoFileMetadataWriter* photo_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoFileSniffer* photo_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void photo_file_format_driver_finalize (PhotoFileFormatDriver* obj); +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +enum { + PHOTO_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +PhotoFileFormat photo_file_format_properties_get_file_format (PhotoFileFormatProperties* self); +static PhotoFileFormat photo_file_format_properties_real_get_file_format (PhotoFileFormatProperties* self); +PhotoFileFormatFlags photo_file_format_properties_get_flags (PhotoFileFormatProperties* self); +static PhotoFileFormatFlags photo_file_format_properties_real_get_flags (PhotoFileFormatProperties* self); +static gboolean photo_file_format_properties_real_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gboolean is_in_ci_array (const gchar* str, gchar** strings, int strings_length1); +gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1); +static gchar* photo_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* self); +static gchar** photo_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1); +static gchar* photo_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* self); +static gchar** photo_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* self, int* result_length1); +gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self); +static gchar* photo_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* self); +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void photo_file_format_properties_finalize (PhotoFileFormatProperties* 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); + + +GQuark photo_format_error_quark (void) { + return g_quark_from_static_string ("photo_format_error-quark"); +} + + +static void _vala_array_add43 (PhotoFileFormat** array, int* length, int* size, PhotoFileFormat value) { +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if ((*length) == (*size)) { +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *array = g_renew (PhotoFileFormat, *array, *size); +#line 427 "PhotoFileFormat.c" + } +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[(*length)++] = value; +#line 431 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_find_applicable (PhotoFileFormatDataApplicableTest test, void* test_target, int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* applicable = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint applicable_length1 = 0; + gint _applicable_size_ = 0; + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; + PhotoFileFormat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (PhotoFileFormat, 0); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + applicable = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + applicable_length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _applicable_size_ = applicable_length1; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_get_supported (&_tmp1_); +#line 455 "PhotoFileFormat.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = _tmp2_; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection_length1 = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (format_it = 0; format_it < _tmp1_; format_it = format_it + 1) { +#line 467 "PhotoFileFormat.c" + PhotoFileFormat format = 0; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format = format_collection[format_it]; +#line 471 "PhotoFileFormat.c" + { + PhotoFileFormatDataApplicableTest _tmp3_ = NULL; + void* _tmp3__target = NULL; + PhotoFileFormat _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = test; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__target = test_target; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = format; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp3_ (_tmp4_, _tmp3__target); +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_) { +#line 487 "PhotoFileFormat.c" + PhotoFileFormat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + PhotoFileFormat _tmp7_ = 0; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = applicable; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6__length1 = applicable_length1; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = format; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _vala_array_add43 (&applicable, &applicable_length1, &_applicable_size_, _tmp7_); +#line 499 "PhotoFileFormat.c" + } + } + } +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 505 "PhotoFileFormat.c" + } +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = applicable; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8__length1 = applicable_length1; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp8__length1; +#line 515 "PhotoFileFormat.c" + } +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp8_; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 521 "PhotoFileFormat.c" +} + + +static gboolean ___lambda4_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write (_tmp0_); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 537 "PhotoFileFormat.c" +} + + +static gboolean ____lambda4__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda4_ (format); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 546 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup1 (PhotoFileFormat* self, int length) { +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 553 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_writeable; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_writeable_length1; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 573 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda4__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable = (g_free (photo_file_format_data_writeable), NULL); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable_length1 = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_writeable_size_ = photo_file_format_data_writeable_length1; +#line 586 "PhotoFileFormat.c" + } +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_writeable; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_writeable_length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup1 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 604 "PhotoFileFormat.c" + } +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 610 "PhotoFileFormat.c" +} + + +static gboolean ___lambda22_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_image (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 626 "PhotoFileFormat.c" +} + + +static gboolean ____lambda22__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda22_ (format); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 635 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup2 (PhotoFileFormat* self, int length) { +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 642 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_image_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_image_writeable; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_image_writeable_length1; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 662 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda22__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable = (g_free (photo_file_format_data_image_writeable), NULL); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable = _tmp2_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable_length1 = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_image_writeable_size_ = photo_file_format_data_image_writeable_length1; +#line 675 "PhotoFileFormat.c" + } +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_image_writeable; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_image_writeable_length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup2 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 693 "PhotoFileFormat.c" + } +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 699 "PhotoFileFormat.c" +} + + +static gboolean ___lambda23_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_metadata (_tmp0_); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 715 "PhotoFileFormat.c" +} + + +static gboolean ____lambda23__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda23_ (format); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 724 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup3 (PhotoFileFormat* self, int length) { +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 731 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_metadata_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_metadata_writeable; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_metadata_writeable_length1; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 751 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda23__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable = (g_free (photo_file_format_data_metadata_writeable), NULL); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable_length1 = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_metadata_writeable_size_ = photo_file_format_data_metadata_writeable_length1; +#line 764 "PhotoFileFormat.c" + } +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_metadata_writeable; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_metadata_writeable_length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup3 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 782 "PhotoFileFormat.c" + } +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 788 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_supported (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + PhotoFileFormat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (PhotoFileFormat, 5); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[0] = PHOTO_FILE_FORMAT_JFIF; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[1] = PHOTO_FILE_FORMAT_RAW; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[2] = PHOTO_FILE_FORMAT_PNG; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[3] = PHOTO_FILE_FORMAT_TIFF; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[4] = PHOTO_FILE_FORMAT_BMP; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1__length1 = 5; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp1__length1; +#line 817 "PhotoFileFormat.c" + } +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 823 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_writeable (&_tmp0_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 843 "PhotoFileFormat.c" + } +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 849 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_image_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_image_writeable (&_tmp0_); +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 869 "PhotoFileFormat.c" + } +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 875 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_metadata_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_metadata_writeable (&_tmp0_); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 895 "PhotoFileFormat.c" + } +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 901 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename) { + PhotoFileFormat result = 0; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + PhotoFileFormat* _tmp6_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (basename != NULL, 0); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = basename; +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp2_; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = ext; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp4_) { +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 944 "PhotoFileFormat.c" + } +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = photo_file_format_get_supported (&_tmp5_); +#line 948 "PhotoFileFormat.c" + { + PhotoFileFormat* file_format_collection = NULL; + gint file_format_collection_length1 = 0; + gint _file_format_collection_size_ = 0; + gint file_format_it = 0; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = _tmp6_; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection_length1 = _tmp5_; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (file_format_it = 0; file_format_it < _tmp5_; file_format_it = file_format_it + 1) { +#line 960 "PhotoFileFormat.c" + PhotoFileFormat file_format = 0; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format = file_format_collection[file_format_it]; +#line 964 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp7_ = 0; + PhotoFileFormatDriver* _tmp8_ = NULL; + PhotoFileFormatDriver* _tmp9_ = NULL; + PhotoFileFormatProperties* _tmp10_ = NULL; + PhotoFileFormatProperties* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = file_format; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_get_driver (_tmp7_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = _tmp8_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = photo_file_format_driver_get_properties (_tmp9_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = _tmp10_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = ext; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = photo_file_format_properties_is_recognized_extension (_tmp11_, _tmp12_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = _tmp13_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp11_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp9_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp14_) { +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = file_format; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1006 "PhotoFileFormat.c" + } + } + } +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 1012 "PhotoFileFormat.c" + } +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1022 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_is_file_supported (GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_is_basename_supported (_tmp2_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1051 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_is_basename_supported (const gchar* basename) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + PhotoFileFormat* _tmp6_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = basename; +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp1_; +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = ext; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp4_) { +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = FALSE; +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1094 "PhotoFileFormat.c" + } +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = photo_file_format_get_supported (&_tmp5_); +#line 1098 "PhotoFileFormat.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = _tmp6_; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection_length1 = _tmp5_; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (format_it = 0; format_it < _tmp5_; format_it = format_it + 1) { +#line 1110 "PhotoFileFormat.c" + PhotoFileFormat format = 0; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format = format_collection[format_it]; +#line 1114 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp7_ = 0; + PhotoFileFormatDriver* _tmp8_ = NULL; + PhotoFileFormatDriver* _tmp9_ = NULL; + PhotoFileFormatProperties* _tmp10_ = NULL; + PhotoFileFormatProperties* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = format; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_get_driver (_tmp7_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = _tmp8_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = photo_file_format_driver_get_properties (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = _tmp10_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = ext; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = photo_file_format_properties_is_recognized_extension (_tmp11_, _tmp12_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = _tmp13_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp11_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp14_) { +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = TRUE; +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1156 "PhotoFileFormat.c" + } + } + } +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 1162 "PhotoFileFormat.c" + } +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = FALSE; +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1172 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_system_default_format (void) { + PhotoFileFormat result = 0; +#line 116 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 116 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1182 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file) { + PhotoFileFormat result = 0; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoFileFormat _tmp4_ = 0; +#line 119 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_get_by_basename_extension (_tmp2_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1211 "PhotoFileFormat.c" +} + + +gint photo_file_format_serialize (PhotoFileFormat self) { + gint result = 0; +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1221 "PhotoFileFormat.c" + { +#line 127 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 0; +#line 127 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1227 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1231 "PhotoFileFormat.c" + { +#line 130 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 1; +#line 130 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1237 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1241 "PhotoFileFormat.c" + { +#line 133 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 2; +#line 133 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1247 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1251 "PhotoFileFormat.c" + { +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 3; +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1257 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1261 "PhotoFileFormat.c" + { +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 4; +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1267 "PhotoFileFormat.c" + } + default: +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_UNKNOWN: +#line 1272 "PhotoFileFormat.c" + { +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = -1; +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1278 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormat photo_file_format_unserialize (gint value) { + PhotoFileFormat result = 0; + gint _tmp0_ = 0; +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = value; +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (_tmp0_) { +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 0: +#line 1293 "PhotoFileFormat.c" + { +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1299 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 1: +#line 1303 "PhotoFileFormat.c" + { +#line 154 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_RAW; +#line 154 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1309 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 2: +#line 1313 "PhotoFileFormat.c" + { +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1319 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 3: +#line 1323 "PhotoFileFormat.c" + { +#line 160 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 160 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1329 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 4: +#line 1333 "PhotoFileFormat.c" + { +#line 163 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 163 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1339 "PhotoFileFormat.c" + } + default: + { +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1347 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type) { + PhotoFileFormat result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 170 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (type != NULL, 0); +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = type; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp3_ == g_quark_from_string (GP_MIME_JPEG)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1370 "PhotoFileFormat.c" + default: + { +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1377 "PhotoFileFormat.c" + } + } + } else if ((_tmp3_ == g_quark_from_string (GP_MIME_RAW)) || (_tmp3_ == g_quark_from_string (GP_MIME_CRW))) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1383 "PhotoFileFormat.c" + default: + { +#line 177 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_RAW; +#line 177 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1390 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_PNG)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1396 "PhotoFileFormat.c" + default: + { +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1403 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_TIFF)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1409 "PhotoFileFormat.c" + default: + { +#line 183 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 183 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1416 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_BMP)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1422 "PhotoFileFormat.c" + default: + { +#line 186 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 186 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1429 "PhotoFileFormat.c" + } + } + } else { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1435 "PhotoFileFormat.c" + default: + { +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1442 "PhotoFileFormat.c" + } + } + } +} + + +PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name) { + PhotoFileFormat result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label0 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label1 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label2 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label3 = 0; +#line 195 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (name != NULL, 0); +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = name; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("jpeg")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1474 "PhotoFileFormat.c" + default: + { +#line 198 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 198 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1481 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("png")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1487 "PhotoFileFormat.c" + default: + { +#line 201 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 201 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1494 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("tiff")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1500 "PhotoFileFormat.c" + default: + { +#line 204 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 204 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1507 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("bmp")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1513 "PhotoFileFormat.c" + default: + { +#line 207 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 207 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1520 "PhotoFileFormat.c" + } + } + } else { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1526 "PhotoFileFormat.c" + default: + { +#line 210 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 210 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1533 "PhotoFileFormat.c" + } + } + } +} + + +void photo_file_format_init (PhotoFileFormat self) { +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1545 "PhotoFileFormat.c" + { +#line 217 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + jfif_file_format_driver_init (); +#line 218 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1551 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1555 "PhotoFileFormat.c" + { +#line 221 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + raw_file_format_driver_init (); +#line 222 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1561 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1565 "PhotoFileFormat.c" + { +#line 225 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + png_file_format_driver_init (); +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1571 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1575 "PhotoFileFormat.c" + { +#line 229 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photos_tiff_file_format_driver_init (); +#line 230 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1581 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1585 "PhotoFileFormat.c" + { +#line 233 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photos_bmp_file_format_driver_init (); +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1591 "PhotoFileFormat.c" + } + default: + { + GEnumValue* _tmp0_; +#line 237 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 237 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_error ("PhotoFileFormat.vala:237: Unsupported file format %s", (_tmp0_ != NULL) ? _tmp0_->value_name : NULL); +#line 1600 "PhotoFileFormat.c" + } + } +} + + +static PhotoFileFormatDriver* photo_file_format_get_driver (PhotoFileFormat self) { + PhotoFileFormatDriver* result = NULL; +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1612 "PhotoFileFormat.c" + { + JfifFileFormatDriver* _tmp0_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = jfif_file_format_driver_get_instance (); +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1621 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1625 "PhotoFileFormat.c" + { + RawFileFormatDriver* _tmp1_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = raw_file_format_driver_get_instance (); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1634 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1638 "PhotoFileFormat.c" + { + PngFileFormatDriver* _tmp2_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = png_file_format_driver_get_instance (); +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1647 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1651 "PhotoFileFormat.c" + { + PhotosTiffFileFormatDriver* _tmp3_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photos_tiff_file_format_driver_get_instance (); +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1660 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1664 "PhotoFileFormat.c" + { + PhotosBmpFileFormatDriver* _tmp4_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photos_bmp_file_format_driver_get_instance (); +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1673 "PhotoFileFormat.c" + } + default: + { + GEnumValue* _tmp5_; +#line 259 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 259 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_error ("PhotoFileFormat.vala:259: Unsupported file format %s", (_tmp5_ != NULL) ? _tmp5_->value_name : NULL); +#line 1682 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self) { + PhotoFileFormatProperties* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1708 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormatProperties* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = name; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_get_properties (self); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_properties_get_default_extension (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = g_strdup_printf ("%s.%s", _tmp0_, _tmp4_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = _tmp5_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp4_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp6_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1745 "PhotoFileFormat.c" +} + + +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath) { + PhotoFileReader* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_reader (_tmp1_, _tmp2_); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1774 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write (PhotoFileFormat self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_image (self); +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp1_) { +#line 1786 "PhotoFileFormat.c" + gboolean _tmp2_ = FALSE; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_can_write_metadata (self); +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = _tmp2_; +#line 1792 "PhotoFileFormat.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = FALSE; +#line 1796 "PhotoFileFormat.c" + } +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp0_; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1802 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write_image (PhotoFileFormat self) { + gboolean result = FALSE; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_can_write_image (_tmp1_); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1826 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self) { + gboolean result = FALSE; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_can_write_metadata (_tmp1_); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1850 "PhotoFileFormat.c" +} + + +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error) { + PhotoFileWriter* result = NULL; + PhotoFileWriter* writer = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileWriter* _tmp3_ = NULL; + PhotoFileWriter* _tmp4_ = NULL; + PhotoFileWriter* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_writer (_tmp1_, _tmp2_); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + writer = _tmp4_; +#line 291 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = writer; +#line 291 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_ == NULL) { +#line 1884 "PhotoFileFormat.c" + GEnumValue* _tmp6_; + GError* _tmp7_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = g_error_new (PHOTO_FORMAT_ERROR, PHOTO_FORMAT_ERROR_READ_ONLY, "File format %s is read-only", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _inner_error_ = _tmp7_; +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_propagate_error (error, _inner_error_); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1901 "PhotoFileFormat.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_clear_error (&_inner_error_); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1911 "PhotoFileFormat.c" + } + } +#line 294 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = writer; +#line 294 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1918 "PhotoFileFormat.c" +} + + +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error) { + PhotoFileMetadataWriter* result = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileMetadataWriter* _tmp3_ = NULL; + PhotoFileMetadataWriter* _tmp4_ = NULL; + PhotoFileMetadataWriter* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_metadata_writer (_tmp1_, _tmp2_); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + writer = _tmp4_; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = writer; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_ == NULL) { +#line 1952 "PhotoFileFormat.c" + GEnumValue* _tmp6_; + GError* _tmp7_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = g_error_new (PHOTO_FORMAT_ERROR, PHOTO_FORMAT_ERROR_READ_ONLY, "File format %s metadata is read-only", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _inner_error_ = _tmp7_; +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1969 "PhotoFileFormat.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1979 "PhotoFileFormat.c" + } + } +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = writer; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1986 "PhotoFileFormat.c" +} + + +PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self, GFile* file, PhotoFileSnifferOptions options) { + PhotoFileSniffer* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PhotoFileSnifferOptions _tmp3_ = 0; + PhotoFileSniffer* _tmp4_ = NULL; + PhotoFileSniffer* _tmp5_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = file; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = options; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photo_file_format_driver_create_sniffer (_tmp1_, _tmp2_, _tmp3_); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2018 "PhotoFileFormat.c" +} + + +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self) { + PhotoMetadata* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_create_metadata (_tmp1_); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2042 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_get_default_mime_type (PhotoFileFormat self) { + gchar* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photo_file_format_properties_get_default_mime_type (_tmp3_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2074 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_get_mime_types (PhotoFileFormat self, int* result_length1) { + gchar** result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = photo_file_format_properties_get_mime_types (_tmp3_, &_tmp4_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = _tmp5_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6__length1 = _tmp4_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = _tmp6_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7__length1 = _tmp6__length1; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp7__length1; +#line 2116 "PhotoFileFormat.c" + } +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp7_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2122 "PhotoFileFormat.c" +} + + +static void _vala_array_add44 (gchar*** array, int* length, int* size, gchar* value) { +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if ((*length) == (*size)) { +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 2133 "PhotoFileFormat.c" + } +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[(*length)++] = value; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[*length] = NULL; +#line 2139 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_get_editable_mime_types (int* result_length1) { + gchar** result = NULL; + gchar** mime_types = NULL; + gchar** _tmp0_ = NULL; + gint mime_types_length1 = 0; + gint _mime_types_size_ = 0; + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_types = _tmp0_; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_types_length1 = 0; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _mime_types_size_ = mime_types_length1; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_get_supported (&_tmp1_); +#line 2163 "PhotoFileFormat.c" + { + PhotoFileFormat* file_format_collection = NULL; + gint file_format_collection_length1 = 0; + gint _file_format_collection_size_ = 0; + gint file_format_it = 0; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = _tmp2_; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection_length1 = _tmp1_; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (file_format_it = 0; file_format_it < _tmp1_; file_format_it = file_format_it + 1) { +#line 2175 "PhotoFileFormat.c" + PhotoFileFormat file_format = 0; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format = file_format_collection[file_format_it]; +#line 2179 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp3_ = 0; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = file_format; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = photo_file_format_get_mime_types (_tmp3_, &_tmp4_); +#line 2188 "PhotoFileFormat.c" + { + gchar** mime_type_collection = NULL; + gint mime_type_collection_length1 = 0; + gint _mime_type_collection_size_ = 0; + gint mime_type_it = 0; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection = _tmp5_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection_length1 = _tmp4_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (mime_type_it = 0; mime_type_it < _tmp4_; mime_type_it = mime_type_it + 1) { +#line 2200 "PhotoFileFormat.c" + gchar* _tmp6_ = NULL; + gchar* mime_type = NULL; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_strdup (mime_type_collection[mime_type_it]); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type = _tmp6_; +#line 2207 "PhotoFileFormat.c" + { + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = mime_types; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7__length1 = mime_types_length1; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = mime_type; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _vala_array_add44 (&mime_types, &mime_types_length1, &_mime_types_size_, _tmp9_); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (mime_type); +#line 2225 "PhotoFileFormat.c" + } + } +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection = (_vala_array_free (mime_type_collection, mime_type_collection_length1, (GDestroyNotify) g_free), NULL); +#line 2230 "PhotoFileFormat.c" + } + } + } +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 2236 "PhotoFileFormat.c" + } +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = mime_types; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10__length1 = mime_types_length1; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp10__length1; +#line 2246 "PhotoFileFormat.c" + } +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp10_; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2252 "PhotoFileFormat.c" +} + + +GType photo_file_format_get_type (void) { + static volatile gsize photo_file_format_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_FILE_FORMAT_JFIF, "PHOTO_FILE_FORMAT_JFIF", "jfif"}, {PHOTO_FILE_FORMAT_RAW, "PHOTO_FILE_FORMAT_RAW", "raw"}, {PHOTO_FILE_FORMAT_PNG, "PHOTO_FILE_FORMAT_PNG", "png"}, {PHOTO_FILE_FORMAT_TIFF, "PHOTO_FILE_FORMAT_TIFF", "tiff"}, {PHOTO_FILE_FORMAT_BMP, "PHOTO_FILE_FORMAT_BMP", "bmp"}, {PHOTO_FILE_FORMAT_UNKNOWN, "PHOTO_FILE_FORMAT_UNKNOWN", "unknown"}, {0, NULL, NULL}}; + GType photo_file_format_type_id; + photo_file_format_type_id = g_enum_register_static ("PhotoFileFormat", values); + g_once_init_leave (&photo_file_format_type_id__volatile, photo_file_format_type_id); + } + return photo_file_format_type_id__volatile; +} + + +static PhotoFileFormatProperties* photo_file_format_driver_real_get_properties (PhotoFileFormatDriver* self) { +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_get_properties'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2273 "PhotoFileFormat.c" +} + + +PhotoFileFormatProperties* photo_file_format_driver_get_properties (PhotoFileFormatDriver* self) { +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->get_properties (self); +#line 2282 "PhotoFileFormat.c" +} + + +static PhotoFileReader* photo_file_format_driver_real_create_reader (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_reader'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2291 "PhotoFileFormat.c" +} + + +PhotoFileReader* photo_file_format_driver_create_reader (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_reader (self, filepath); +#line 2300 "PhotoFileFormat.c" +} + + +static PhotoMetadata* photo_file_format_driver_real_create_metadata (PhotoFileFormatDriver* self) { +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2309 "PhotoFileFormat.c" +} + + +PhotoMetadata* photo_file_format_driver_create_metadata (PhotoFileFormatDriver* self) { +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_metadata (self); +#line 2318 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_driver_real_can_write_image (PhotoFileFormatDriver* self) { +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_can_write_image'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return FALSE; +#line 2327 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_driver_can_write_image (PhotoFileFormatDriver* self) { +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), FALSE); +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->can_write_image (self); +#line 2336 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* self) { +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_can_write_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return FALSE; +#line 2345 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_driver_can_write_metadata (PhotoFileFormatDriver* self) { +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), FALSE); +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->can_write_metadata (self); +#line 2354 "PhotoFileFormat.c" +} + + +static PhotoFileWriter* photo_file_format_driver_real_create_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_writer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2363 "PhotoFileFormat.c" +} + + +PhotoFileWriter* photo_file_format_driver_create_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_writer (self, filepath); +#line 2372 "PhotoFileFormat.c" +} + + +static PhotoFileMetadataWriter* photo_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_metadata_writer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2381 "PhotoFileFormat.c" +} + + +PhotoFileMetadataWriter* photo_file_format_driver_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_metadata_writer (self, filepath); +#line 2390 "PhotoFileFormat.c" +} + + +static PhotoFileSniffer* photo_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options) { +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_sniffer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2399 "PhotoFileFormat.c" +} + + +PhotoFileSniffer* photo_file_format_driver_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options) { +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_sniffer (self, file, options); +#line 2408 "PhotoFileFormat.c" +} + + +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type) { + PhotoFileFormatDriver* self = NULL; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = (PhotoFileFormatDriver*) g_type_create_instance (object_type); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self; +#line 2418 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_driver_init (GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2425 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_driver_free_value (GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (value->data[0].v_pointer); +#line 2434 "PhotoFileFormat.c" + } +} + + +static void value_photo_file_format_driver_copy_value (const GValue* src_value, GValue* dest_value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (src_value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = photo_file_format_driver_ref (src_value->data[0].v_pointer); +#line 2444 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = NULL; +#line 2448 "PhotoFileFormat.c" + } +} + + +static gpointer value_photo_file_format_driver_peek_pointer (const GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 2456 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_driver_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (collect_values[0].v_pointer) { +#line 2463 "PhotoFileFormat.c" + PhotoFileFormatDriver* object; + object = collect_values[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (object->parent_instance.g_class == NULL) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2470 "PhotoFileFormat.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 2474 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = photo_file_format_driver_ref (object); +#line 2478 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2482 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2486 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_driver_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileFormatDriver** object_p; + object_p = collect_values[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!object_p) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2497 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = NULL; +#line 2503 "PhotoFileFormat.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = value->data[0].v_pointer; +#line 2507 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = photo_file_format_driver_ref (value->data[0].v_pointer); +#line 2511 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2515 "PhotoFileFormat.c" +} + + +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileFormatDriver* spec; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_FORMAT_DRIVER), NULL); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return G_PARAM_SPEC (spec); +#line 2529 "PhotoFileFormat.c" +} + + +gpointer value_get_photo_file_format_driver (const GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER), NULL); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 2538 "PhotoFileFormat.c" +} + + +void value_set_photo_file_format_driver (GValue* value, gpointer v_object) { + PhotoFileFormatDriver* old; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_ref (value->data[0].v_pointer); +#line 2558 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2562 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (old); +#line 2568 "PhotoFileFormat.c" + } +} + + +void value_take_photo_file_format_driver (GValue* value, gpointer v_object) { + PhotoFileFormatDriver* old; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 2587 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2591 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (old); +#line 2597 "PhotoFileFormat.c" + } +} + + +static void photo_file_format_driver_class_init (PhotoFileFormatDriverClass * klass) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = photo_file_format_driver_finalize; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = photo_file_format_driver_real_get_properties; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = photo_file_format_driver_real_create_reader; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = photo_file_format_driver_real_create_metadata; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = photo_file_format_driver_real_can_write_image; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = photo_file_format_driver_real_can_write_metadata; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = photo_file_format_driver_real_create_writer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = photo_file_format_driver_real_create_metadata_writer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = photo_file_format_driver_real_create_sniffer; +#line 2623 "PhotoFileFormat.c" +} + + +static void photo_file_format_driver_instance_init (PhotoFileFormatDriver * self) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self->ref_count = 1; +#line 2630 "PhotoFileFormat.c" +} + + +static void photo_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + PhotoFileFormatDriver * self; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_signal_handlers_destroy (self); +#line 2640 "PhotoFileFormat.c" +} + + +GType photo_file_format_driver_get_type (void) { + static volatile gsize photo_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_driver_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_format_driver_init, value_photo_file_format_driver_free_value, value_photo_file_format_driver_copy_value, value_photo_file_format_driver_peek_pointer, "p", value_photo_file_format_driver_collect_value, "p", value_photo_file_format_driver_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileFormatDriver), 0, (GInstanceInitFunc) photo_file_format_driver_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_format_driver_type_id; + photo_file_format_driver_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileFormatDriver", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_format_driver_type_id__volatile, photo_file_format_driver_type_id); + } + return photo_file_format_driver_type_id__volatile; +} + + +gpointer photo_file_format_driver_ref (gpointer instance) { + PhotoFileFormatDriver* self; + self = instance; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_atomic_int_inc (&self->ref_count); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return instance; +#line 2665 "PhotoFileFormat.c" +} + + +void photo_file_format_driver_unref (gpointer instance) { + PhotoFileFormatDriver* self; + self = instance; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->finalize (self); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2678 "PhotoFileFormat.c" + } +} + + +GType photo_file_format_flags_get_type (void) { + static volatile gsize photo_file_format_flags_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_flags_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_FILE_FORMAT_FLAGS_NONE, "PHOTO_FILE_FORMAT_FLAGS_NONE", "none"}, {0, NULL, NULL}}; + GType photo_file_format_flags_type_id; + photo_file_format_flags_type_id = g_enum_register_static ("PhotoFileFormatFlags", values); + g_once_init_leave (&photo_file_format_flags_type_id__volatile, photo_file_format_flags_type_id); + } + return photo_file_format_flags_type_id__volatile; +} + + +static PhotoFileFormat photo_file_format_properties_real_get_file_format (PhotoFileFormatProperties* self) { +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_file_format'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return 0; +#line 2700 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_properties_get_file_format (PhotoFileFormatProperties* self) { +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), 0); +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_file_format (self); +#line 2709 "PhotoFileFormat.c" +} + + +static PhotoFileFormatFlags photo_file_format_properties_real_get_flags (PhotoFileFormatProperties* self) { +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_flags'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return 0; +#line 2718 "PhotoFileFormat.c" +} + + +PhotoFileFormatFlags photo_file_format_properties_get_flags (PhotoFileFormatProperties* self) { +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), 0); +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_flags (self); +#line 2727 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_properties_real_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (ext != NULL, FALSE); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = ext; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_properties_get_known_extensions (self, &_tmp1_); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = _tmp1_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_in_ci_array (_tmp0_, _tmp3_, _tmp1_); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2760 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext) { +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), FALSE); +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->is_recognized_extension (self, ext); +#line 2769 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* self) { +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_default_extension'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2778 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self) { +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_default_extension (self); +#line 2787 "PhotoFileFormat.c" +} + + +static gchar** photo_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1) { +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_known_extensions'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2796 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1) { +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_known_extensions (self, result_length1); +#line 2805 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* self) { +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_default_mime_type'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2814 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_default_mime_type (PhotoFileFormatProperties* self) { +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_default_mime_type (self); +#line 2823 "PhotoFileFormat.c" +} + + +static gchar** photo_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* self, int* result_length1) { +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_mime_types'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2832 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_properties_get_mime_types (PhotoFileFormatProperties* self, int* result_length1) { +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_mime_types (self, result_length1); +#line 2841 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* self) { +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_user_visible_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2850 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self) { +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_user_visible_name (self); +#line 2859 "PhotoFileFormat.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self ? g_object_ref (self) : NULL; +#line 2866 "PhotoFileFormat.c" +} + + +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file) { + GFile* result = NULL; + gchar* name = NULL; + gchar* ext = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp6_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 401 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp2_, &_tmp3_, &_tmp4_); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp3_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp4_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = ext; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp6_ != NULL) { +#line 2917 "PhotoFileFormat.c" + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = ext; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_properties_is_recognized_extension (self, _tmp7_); +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp8_; +#line 2926 "PhotoFileFormat.c" + } else { +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = FALSE; +#line 2930 "PhotoFileFormat.c" + } +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_) { +#line 2934 "PhotoFileFormat.c" + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = file; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp10_; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2949 "PhotoFileFormat.c" + } +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = file; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = g_file_get_parent (_tmp11_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = _tmp12_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = name; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp15_ = photo_file_format_properties_get_default_extension (self); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp16_ = _tmp15_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp17_ = g_strdup_printf ("%s.%s", _tmp14_, _tmp16_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp18_ = _tmp17_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp19_ = g_file_get_child (_tmp13_, _tmp18_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp20_ = _tmp19_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp18_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp16_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_object_unref0 (_tmp13_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp20_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2985 "PhotoFileFormat.c" +} + + +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type) { + PhotoFileFormatProperties* self = NULL; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = (PhotoFileFormatProperties*) g_type_create_instance (object_type); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self; +#line 2995 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_properties_init (GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3002 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_properties_free_value (GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (value->data[0].v_pointer); +#line 3011 "PhotoFileFormat.c" + } +} + + +static void value_photo_file_format_properties_copy_value (const GValue* src_value, GValue* dest_value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (src_value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = photo_file_format_properties_ref (src_value->data[0].v_pointer); +#line 3021 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = NULL; +#line 3025 "PhotoFileFormat.c" + } +} + + +static gpointer value_photo_file_format_properties_peek_pointer (const GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 3033 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_properties_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (collect_values[0].v_pointer) { +#line 3040 "PhotoFileFormat.c" + PhotoFileFormatProperties* object; + object = collect_values[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (object->parent_instance.g_class == NULL) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3047 "PhotoFileFormat.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 3051 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = photo_file_format_properties_ref (object); +#line 3055 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3059 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 3063 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_properties_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileFormatProperties** object_p; + object_p = collect_values[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!object_p) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3074 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = NULL; +#line 3080 "PhotoFileFormat.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = value->data[0].v_pointer; +#line 3084 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = photo_file_format_properties_ref (value->data[0].v_pointer); +#line 3088 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 3092 "PhotoFileFormat.c" +} + + +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileFormatProperties* spec; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_FORMAT_PROPERTIES), NULL); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return G_PARAM_SPEC (spec); +#line 3106 "PhotoFileFormat.c" +} + + +gpointer value_get_photo_file_format_properties (const GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES), NULL); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 3115 "PhotoFileFormat.c" +} + + +void value_set_photo_file_format_properties (GValue* value, gpointer v_object) { + PhotoFileFormatProperties* old; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_ref (value->data[0].v_pointer); +#line 3135 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3139 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (old); +#line 3145 "PhotoFileFormat.c" + } +} + + +void value_take_photo_file_format_properties (GValue* value, gpointer v_object) { + PhotoFileFormatProperties* old; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 3164 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3168 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (old); +#line 3174 "PhotoFileFormat.c" + } +} + + +static void photo_file_format_properties_class_init (PhotoFileFormatPropertiesClass * klass) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = photo_file_format_properties_finalize; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = photo_file_format_properties_real_get_file_format; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = photo_file_format_properties_real_get_flags; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->is_recognized_extension = photo_file_format_properties_real_is_recognized_extension; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = photo_file_format_properties_real_get_default_extension; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = photo_file_format_properties_real_get_known_extensions; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = photo_file_format_properties_real_get_default_mime_type; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = photo_file_format_properties_real_get_mime_types; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = photo_file_format_properties_real_get_user_visible_name; +#line 3200 "PhotoFileFormat.c" +} + + +static void photo_file_format_properties_instance_init (PhotoFileFormatProperties * self) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self->ref_count = 1; +#line 3207 "PhotoFileFormat.c" +} + + +static void photo_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + PhotoFileFormatProperties * self; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_signal_handlers_destroy (self); +#line 3217 "PhotoFileFormat.c" +} + + +GType photo_file_format_properties_get_type (void) { + static volatile gsize photo_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_properties_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_format_properties_init, value_photo_file_format_properties_free_value, value_photo_file_format_properties_copy_value, value_photo_file_format_properties_peek_pointer, "p", value_photo_file_format_properties_collect_value, "p", value_photo_file_format_properties_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileFormatProperties), 0, (GInstanceInitFunc) photo_file_format_properties_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_format_properties_type_id; + photo_file_format_properties_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileFormatProperties", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_format_properties_type_id__volatile, photo_file_format_properties_type_id); + } + return photo_file_format_properties_type_id__volatile; +} + + +gpointer photo_file_format_properties_ref (gpointer instance) { + PhotoFileFormatProperties* self; + self = instance; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_atomic_int_inc (&self->ref_count); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return instance; +#line 3242 "PhotoFileFormat.c" +} + + +void photo_file_format_properties_unref (gpointer instance) { + PhotoFileFormatProperties* self; + self = instance; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->finalize (self); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3255 "PhotoFileFormat.c" + } +} + + +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