diff options
Diffstat (limited to 'src/publishing/APIGlue.c')
-rw-r--r-- | src/publishing/APIGlue.c | 1432 |
1 files changed, 1432 insertions, 0 deletions
diff --git a/src/publishing/APIGlue.c b/src/publishing/APIGlue.c new file mode 100644 index 0000000..29cdd0a --- /dev/null +++ b/src/publishing/APIGlue.c @@ -0,0 +1,1432 @@ +/* APIGlue.c generated by valac 0.32.1, the Vala compiler + * generated from APIGlue.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include "shotwell-plugin-dev-1.0.h" +#include <gio/gio.h> +#include <gee.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + + +#define PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (publishing_glue_media_source_publishable_wrapper_get_type ()) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) + +typedef struct _PublishingGlueMediaSourcePublishableWrapper PublishingGlueMediaSourcePublishableWrapper; +typedef struct _PublishingGlueMediaSourcePublishableWrapperClass PublishingGlueMediaSourcePublishableWrapperClass; +typedef struct _PublishingGlueMediaSourcePublishableWrapperPrivate PublishingGlueMediaSourcePublishableWrapperPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define TYPE_TAG (tag_get_type ()) +#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag)) +#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass)) +#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG)) +#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG)) +#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass)) + +typedef struct _Tag Tag; +typedef struct _TagClass TagClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ()) +#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection)) +#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) +#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION)) +#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION)) +#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass)) + +typedef struct _TagSourceCollection TagSourceCollection; +typedef struct _TagSourceCollectionClass TagSourceCollectionClass; + +struct _PublishingGlueMediaSourcePublishableWrapper { + GObject parent_instance; + PublishingGlueMediaSourcePublishableWrapperPrivate * priv; +}; + +struct _PublishingGlueMediaSourcePublishableWrapperClass { + GObjectClass parent_class; +}; + +struct _PublishingGlueMediaSourcePublishableWrapperPrivate { + MediaSource* wrapped; + GFile* serialized_file; + GeeMap* param_string; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +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; + + +static gpointer publishing_glue_media_source_publishable_wrapper_parent_class = NULL; +static gint publishing_glue_media_source_publishable_wrapper_name_ticker; +static gint publishing_glue_media_source_publishable_wrapper_name_ticker = 0; +extern TagSourceCollection* tag_global; +static SpitPublishingPublishableIface* publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_parent_iface = NULL; + +GType publishing_glue_media_source_publishable_wrapper_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperPrivate)) +enum { + PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_DUMMY_PROPERTY +}; +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_new (MediaSource* to_wrap); +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_construct (GType object_type, MediaSource* to_wrap); +static void publishing_glue_media_source_publishable_wrapper_setup_parameters (PublishingGlueMediaSourcePublishableWrapper* self); +void publishing_glue_media_source_publishable_wrapper_clean_up (PublishingGlueMediaSourcePublishableWrapper* self); +gchar* media_source_get_basename (MediaSource* self); +gchar* media_source_get_title (MediaSource* self); +gchar* media_source_get_comment (MediaSource* self); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +gchar* event_source_get_comment (EventSource* self); +GFile* publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (PublishingGlueMediaSourcePublishableWrapper* self, gint content_major_axis, gboolean strip_metadata, GError** error); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GFile* app_dirs_get_temp_dir (void); +gchar* data_source_get_source_id (DataSource* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +void scaling_for_original (Scaling* result); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +gchar* data_object_get_name (DataObject* self); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +GFile* media_source_get_file (MediaSource* self); +void video_export (Video* self, GFile* dest_file, GError** error); +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_publishing_name (SpitPublishingPublishable* base); +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_param_string (SpitPublishingPublishable* base, const gchar* name); +static gchar** publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords (SpitPublishingPublishable* base, int* result_length1); +GType tag_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self, MediaSource* photo); +static void _vala_array_add60 (gchar*** array, int* length, int* size, gchar* value); +static gchar** _vala_array_dup22 (gchar** self, int length); +static SpitPublishingPublisherMediaType publishing_glue_media_source_publishable_wrapper_real_get_media_type (SpitPublishingPublishable* base); +static GFile* publishing_glue_media_source_publishable_wrapper_real_get_serialized_file (SpitPublishingPublishable* base); +static GDateTime* publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time (SpitPublishingPublishable* base); +time_t media_source_get_exposure_time (MediaSource* self); +static void publishing_glue_media_source_publishable_wrapper_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return self ? g_object_ref (self) : NULL; +#line 349 "APIGlue.c" +} + + +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_construct (GType object_type, MediaSource* to_wrap) { + PublishingGlueMediaSourcePublishableWrapper * self = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (to_wrap), NULL); +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = (PublishingGlueMediaSourcePublishableWrapper*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = to_wrap; +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->wrapped); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->wrapped = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_setup_parameters (self); +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return self; +#line 373 "APIGlue.c" +} + + +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_new (MediaSource* to_wrap) { +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return publishing_glue_media_source_publishable_wrapper_construct (PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, to_wrap); +#line 380 "APIGlue.c" +} + + +void publishing_glue_media_source_publishable_wrapper_clean_up (PublishingGlueMediaSourcePublishableWrapper* self) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self)); +#line 21 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->serialized_file; +#line 21 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp0_ == NULL) { +#line 22 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return; +#line 398 "APIGlue.c" + } +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->serialized_file; +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:24: cleaning up temporary publishing file '%s'.", _tmp3_); +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 410 "APIGlue.c" + { + GFile* _tmp4_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = self->priv->serialized_file; +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_file_delete (_tmp4_, NULL, &_inner_error_); +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 419 "APIGlue.c" + goto __catch35_g_error; + } + } + goto __finally35; + __catch35_g_error: + { + GError* err = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->serialized_file; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_warning ("APIGlue.vala:29: couldn't delete temporary publishing file '%s'.", _tmp7_); +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 446 "APIGlue.c" + } + __finally35: +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return; +#line 457 "APIGlue.c" + } +#line 32 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 32 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = NULL; +#line 463 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_setup_parameters (PublishingGlueMediaSourcePublishableWrapper* self) { + GeeMap* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GeeMap* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GeeMap* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + MediaSource* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 35 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self)); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->param_string; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = media_source_get_basename (_tmp1_); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp0_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME, _tmp3_); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = self->priv->param_string; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->wrapped; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = media_source_get_title (_tmp5_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp4_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_TITLE, _tmp7_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = self->priv->param_string; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = self->priv->wrapped; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = media_source_get_comment (_tmp9_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = _tmp10_; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp8_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT, _tmp11_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp11_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = self->priv->wrapped; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = media_source_get_event (_tmp12_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = _tmp13_; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _tmp14_ != NULL; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp14_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp15_) { +#line 534 "APIGlue.c" + GeeMap* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = self->priv->param_string; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = self->priv->wrapped; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = media_source_get_event (_tmp17_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp19_ = _tmp18_; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp20_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_EVENT_SOURCE, EventSource)); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp21_ = _tmp20_; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp16_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT, _tmp21_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp21_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp19_); +#line 559 "APIGlue.c" + } else { + GeeMap* _tmp22_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp22_ = self->priv->param_string; +#line 43 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp22_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT, ""); +#line 566 "APIGlue.c" + } +} + + +GFile* publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (PublishingGlueMediaSourcePublishableWrapper* self, gint content_major_axis, gboolean strip_metadata, GError** error) { + GFile* result = NULL; + MediaSource* _tmp0_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + GError * _inner_error_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO)) { +#line 583 "APIGlue.c" + LibraryPhoto* photo = NULL; + MediaSource* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* to_file = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + photo = _tmp2_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = app_dirs_get_temp_dir (); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = _tmp3_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = publishing_glue_media_source_publishable_wrapper_name_ticker; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_name_ticker = _tmp5_ + 1; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = g_strdup_printf ("publishing-%d.jpg", _tmp5_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = g_file_get_child (_tmp4_, _tmp7_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp4_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + to_file = _tmp9_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = photo; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = _tmp11_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = to_file; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _tmp14_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:55: writing photo '%s' to temporary file '%s' for publish" \ +"ing.", _tmp12_, _tmp15_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp15_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp12_); +#line 649 "APIGlue.c" + { + Scaling _tmp16_ = {0}; + gint _tmp17_ = 0; + Scaling scaling = {0}; + LibraryPhoto* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + Scaling _tmp23_ = {0}; + gboolean _tmp24_ = FALSE; +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = content_major_axis; +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp17_ > 0) { +#line 662 "APIGlue.c" + gint _tmp18_ = 0; + Scaling _tmp19_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = content_major_axis; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling_for_best_fit (_tmp18_, FALSE, &_tmp19_); +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _tmp19_; +#line 671 "APIGlue.c" + } else { + Scaling _tmp20_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling_for_original (&_tmp20_); +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _tmp20_; +#line 678 "APIGlue.c" + } +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling = _tmp16_; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp21_ = photo; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp22_ = to_file; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp23_ = scaling; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp24_ = strip_metadata; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + photo_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PHOTO, Photo), _tmp22_, &_tmp23_, JPEG_QUALITY_HIGH, PHOTO_FILE_FORMAT_JFIF, FALSE, !_tmp24_, &_inner_error_); +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 694 "APIGlue.c" + goto __catch36_g_error; + } + } + goto __finally36; + __catch36_g_error: + { + GError* err = NULL; + LibraryPhoto* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GError* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp25_ = photo; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp27_ = _tmp26_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp28_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, "unable to serialize photo '%s' for publishing.", _tmp27_); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp29_ = _tmp28_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp27_); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = _tmp29_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 727 "APIGlue.c" + goto __finally36; + } + __finally36: +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_propagate_error (error, _inner_error_); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 743 "APIGlue.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 755 "APIGlue.c" + } + } +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp30_ = to_file; +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = _tmp31_; +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 770 "APIGlue.c" + } else { + MediaSource* _tmp32_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp32_ = self->priv->wrapped; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, TYPE_VIDEO)) { +#line 777 "APIGlue.c" + Video* video = NULL; + MediaSource* _tmp33_ = NULL; + Video* _tmp34_ = NULL; + gchar* basename = NULL; + gchar* extension = NULL; + Video* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + GFile* to_file = NULL; + gint _tmp42_ = 0; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + Video* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + GFile* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + GFile* _tmp61_ = NULL; + GFile* _tmp62_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp33_ = self->priv->wrapped; +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp34_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_VIDEO, Video)); +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + video = _tmp34_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp35_ = video; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp36_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp37_ = _tmp36_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp38_ = g_file_get_basename (_tmp37_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp39_ = _tmp38_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + disassemble_filename (_tmp39_, &_tmp40_, &_tmp41_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + basename = _tmp40_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + extension = _tmp41_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp39_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp37_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp42_ = publishing_glue_media_source_publishable_wrapper_name_ticker; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_name_ticker = _tmp42_ + 1; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp43_ = extension; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp44_ = g_strdup_printf ("publishing-%d.%s", _tmp42_, _tmp43_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp45_ = _tmp44_; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp46_ = g_file_new_for_path (_tmp45_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp47_ = _tmp46_; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp45_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + to_file = _tmp47_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp48_ = video; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp49_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_DATA_SOURCE, DataSource)); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp50_ = _tmp49_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp51_ = to_file; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp52_ = g_file_get_path (_tmp51_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp53_ = _tmp52_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:77: writing video '%s' to temporary file '%s' for publish" \ +"ing.", _tmp50_, _tmp53_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp53_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp50_); +#line 871 "APIGlue.c" + { + Video* _tmp54_ = NULL; + GFile* _tmp55_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp54_ = video; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp55_ = to_file; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + video_export (_tmp54_, _tmp55_, &_inner_error_); +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 883 "APIGlue.c" + goto __catch37_g_error; + } + } + goto __finally37; + __catch37_g_error: + { + GError* err = NULL; + Video* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GError* _tmp59_ = NULL; + GError* _tmp60_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp56_ = video; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp57_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_DATA_OBJECT, DataObject)); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp58_ = _tmp57_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp59_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, "unable to serialize video '%s' for publishing.", _tmp58_); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp60_ = _tmp59_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp58_); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = _tmp60_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 916 "APIGlue.c" + goto __finally37; + } + __finally37: +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_propagate_error (error, _inner_error_); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 936 "APIGlue.c" + } else { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 952 "APIGlue.c" + } + } +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp61_ = to_file; +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp62_ = _g_object_ref0 (_tmp61_); +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = _tmp62_; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 971 "APIGlue.c" + } else { +#line 88 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_error ("APIGlue.vala:88: MediaSourcePublishableWrapper.serialize_for_publishin" \ +"g( ): unknown media type."); +#line 975 "APIGlue.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp63_ = self->priv->serialized_file; +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp64_ = _g_object_ref0 (_tmp63_); +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp64_; +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 986 "APIGlue.c" +} + + +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_publishing_name (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 94 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = media_source_get_title (_tmp1_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = _tmp3_ != NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp4_) { +#line 1012 "APIGlue.c" + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->wrapped; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = media_source_get_title (_tmp5_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp0_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = _tmp6_; +#line 1023 "APIGlue.c" + } else { + gchar* _tmp7_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = g_strdup (""); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp0_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = _tmp7_; +#line 1032 "APIGlue.c" + } +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp0_; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1038 "APIGlue.c" +} + + +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_param_string (SpitPublishingPublishable* base, const gchar* name) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar* result = NULL; + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 98 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->param_string; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = name; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = gee_map_get (_tmp0_, _tmp1_); +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = (gchar*) _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1062 "APIGlue.c" +} + + +static void _vala_array_add60 (gchar*** array, int* length, int* size, gchar* value) { +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if ((*length) == (*size)) { +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1073 "APIGlue.c" + } +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + (*array)[(*length)++] = value; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + (*array)[*length] = NULL; +#line 1079 "APIGlue.c" +} + + +static gchar** _vala_array_dup22 (gchar** self, int length) { + gchar** result; + int i; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = g_new0 (gchar*, length + 1); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + for (i = 0; i < length; i++) { +#line 1090 "APIGlue.c" + gchar* _tmp0_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = g_strdup (self[i]); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result[i] = _tmp0_; +#line 1096 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1100 "APIGlue.c" +} + + +static gchar** publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords (SpitPublishingPublishable* base, int* result_length1) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar** result = NULL; + gchar** _result_ = NULL; + gchar** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + GeeCollection* tagset = NULL; + TagSourceCollection* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + GeeSortedSet* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint __tmp14__size_ = 0; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; +#line 102 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result_ = _tmp0_; +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result__length1 = 0; +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __result__size_ = _result__length1; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = tag_global; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = self->priv->wrapped; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = tag_source_collection_fetch_sorted_for_source (_tmp1_, _tmp2_); +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + tagset = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 106 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = tagset; +#line 106 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp4_ != NULL) { +#line 1147 "APIGlue.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = tagset; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tag_it = _tmp6_; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + while (TRUE) { +#line 1160 "APIGlue.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + Tag* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tag_it; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (!_tmp8_) { +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + break; +#line 1178 "APIGlue.c" + } +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = _tag_it; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + tag = (Tag*) _tmp10_; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = _result_; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11__length1 = _result__length1; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = tag; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _vala_array_add60 (&_result_, &_result__length1, &__result__size_, _tmp13_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (tag); +#line 1198 "APIGlue.c" + } +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tag_it); +#line 1202 "APIGlue.c" + } + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15__length1 = _result__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp15__length1 > 0) { +#line 1211 "APIGlue.c" + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16__length1 = _result__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = _tmp16_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14__length1 = _tmp16__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __tmp14__size_ = _tmp14__length1; +#line 1224 "APIGlue.c" + } else { +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14__length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __tmp14__size_ = _tmp14__length1; +#line 1232 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = (_tmp14_ != NULL) ? _vala_array_dup22 (_tmp14_, _tmp14__length1) : ((gpointer) _tmp14_); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17__length1 = _tmp14__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = _tmp17_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18__length1 = _tmp17__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (result_length1) { +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *result_length1 = _tmp18__length1; +#line 1246 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp18_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (tagset); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) g_free), NULL); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1256 "APIGlue.c" +} + + +static SpitPublishingPublisherMediaType publishing_glue_media_source_publishable_wrapper_real_get_media_type (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + SpitPublishingPublisherMediaType result = 0; + MediaSource* _tmp0_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 116 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 116 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO)) { +#line 117 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 117 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1274 "APIGlue.c" + } else { + MediaSource* _tmp1_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 118 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO)) { +#line 119 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 119 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1285 "APIGlue.c" + } else { +#line 121 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE; +#line 121 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1291 "APIGlue.c" + } + } +} + + +static GFile* publishing_glue_media_source_publishable_wrapper_real_get_serialized_file (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->serialized_file; +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp1_; +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1312 "APIGlue.c" +} + + +static GDateTime* publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + GDateTime* result = NULL; + MediaSource* _tmp0_ = NULL; + time_t _tmp1_ = 0; + GDateTime* _tmp2_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = media_source_get_exposure_time (_tmp0_); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = g_date_time_new_from_unix_local ((gint64) _tmp1_); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp2_; +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1334 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_class_init (PublishingGlueMediaSourcePublishableWrapperClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_type_class_add_private (klass, sizeof (PublishingGlueMediaSourcePublishableWrapperPrivate)); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_glue_media_source_publishable_wrapper_finalize; +#line 1345 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_interface_init (SpitPublishingPublishableIface * iface) { +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_parent_iface = g_type_interface_peek_parent (iface); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_publishing_name = (gchar* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_publishing_name; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_param_string = (gchar* (*)(SpitPublishingPublishable*, const gchar*)) publishing_glue_media_source_publishable_wrapper_real_get_param_string; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_publishing_keywords = (gchar** (*)(SpitPublishingPublishable*, int*)) publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_media_type = (SpitPublishingPublisherMediaType (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_media_type; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_serialized_file = (GFile* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_serialized_file; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_exposure_date_time = (GDateTime* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time; +#line 1364 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_instance_init (PublishingGlueMediaSourcePublishableWrapper * self) { + GeeHashMap* _tmp0_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv = PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_PRIVATE (self); +#line 12 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = NULL; +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->param_string = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 1378 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_finalize (GObject* obj) { + PublishingGlueMediaSourcePublishableWrapper * self; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 11 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->wrapped); +#line 12 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->param_string); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + G_OBJECT_CLASS (publishing_glue_media_source_publishable_wrapper_parent_class)->finalize (obj); +#line 1394 "APIGlue.c" +} + + +GType publishing_glue_media_source_publishable_wrapper_get_type (void) { + static volatile gsize publishing_glue_media_source_publishable_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&publishing_glue_media_source_publishable_wrapper_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGlueMediaSourcePublishableWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_glue_media_source_publishable_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGlueMediaSourcePublishableWrapper), 0, (GInstanceInitFunc) publishing_glue_media_source_publishable_wrapper_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publishable_info = { (GInterfaceInitFunc) publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_glue_media_source_publishable_wrapper_type_id; + publishing_glue_media_source_publishable_wrapper_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGlueMediaSourcePublishableWrapper", &g_define_type_info, 0); + g_type_add_interface_static (publishing_glue_media_source_publishable_wrapper_type_id, SPIT_PUBLISHING_TYPE_PUBLISHABLE, &spit_publishing_publishable_info); + g_once_init_leave (&publishing_glue_media_source_publishable_wrapper_type_id__volatile, publishing_glue_media_source_publishable_wrapper_type_id); + } + return publishing_glue_media_source_publishable_wrapper_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + |