summaryrefslogtreecommitdiff
path: root/src/publishing/APIGlue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/publishing/APIGlue.c')
-rw-r--r--src/publishing/APIGlue.c1432
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);
+}
+
+
+