/* ManifestWidget.c generated by valac 0.32.1, the Vala compiler
 * generated from ManifestWidget.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 <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include "shotwell-plugin-dev-1.0.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gee.h>
#include <gio/gio.h>
#include <gdk/gdk.h>
#include <gobject/gvaluecollector.h>


#define PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR (plugins_manifest_widget_mediator_get_type ())
#define PLUGINS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator))
#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass))
#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR))
#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR))
#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass))

typedef struct _PluginsManifestWidgetMediator PluginsManifestWidgetMediator;
typedef struct _PluginsManifestWidgetMediatorClass PluginsManifestWidgetMediatorClass;
typedef struct _PluginsManifestWidgetMediatorPrivate PluginsManifestWidgetMediatorPrivate;

#define PLUGINS_TYPE_MANIFEST_LIST_VIEW (plugins_manifest_list_view_get_type ())
#define PLUGINS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView))
#define PLUGINS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass))
#define PLUGINS_IS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW))
#define PLUGINS_IS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW))
#define PLUGINS_MANIFEST_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass))

typedef struct _PluginsManifestListView PluginsManifestListView;
typedef struct _PluginsManifestListViewClass PluginsManifestListViewClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _PluginsParamSpecManifestWidgetMediator PluginsParamSpecManifestWidgetMediator;
typedef struct _PluginsManifestListViewPrivate PluginsManifestListViewPrivate;

#define PLUGINS_MANIFEST_LIST_VIEW_TYPE_COLUMN (plugins_manifest_list_view_column_get_type ())

#define PLUGINS_TYPE_EXTENSION_POINT (plugins_extension_point_get_type ())
#define PLUGINS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint))
#define PLUGINS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass))
#define PLUGINS_IS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_EXTENSION_POINT))
#define PLUGINS_IS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_EXTENSION_POINT))
#define PLUGINS_EXTENSION_POINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass))

typedef struct _PluginsExtensionPoint PluginsExtensionPoint;
typedef struct _PluginsExtensionPointClass PluginsExtensionPointClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL)))
#define _plugins_extension_point_unref0(var) ((var == NULL) ? NULL : (var = (plugins_extension_point_unref (var), NULL)))
#define _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)))
#define __g_list_free__gtk_tree_path_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gtk_tree_path_free0_ (var), NULL)))

struct _PluginsManifestWidgetMediator {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PluginsManifestWidgetMediatorPrivate * priv;
};

struct _PluginsManifestWidgetMediatorClass {
	GTypeClass parent_class;
	void (*finalize) (PluginsManifestWidgetMediator *self);
};

struct _PluginsManifestWidgetMediatorPrivate {
	GtkBuilder* builder;
	PluginsManifestListView* list;
};

struct _PluginsParamSpecManifestWidgetMediator {
	GParamSpec parent_instance;
};

struct _PluginsManifestListView {
	GtkTreeView parent_instance;
	PluginsManifestListViewPrivate * priv;
};

struct _PluginsManifestListViewClass {
	GtkTreeViewClass parent_class;
};

struct _PluginsManifestListViewPrivate {
	GtkTreeStore* store;
};

typedef enum  {
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED,
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE,
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON,
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME,
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID,
	PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS
} PluginsManifestListViewColumn;


static gpointer plugins_manifest_widget_mediator_parent_class = NULL;
static gpointer plugins_manifest_list_view_parent_class = NULL;

gpointer plugins_manifest_widget_mediator_ref (gpointer instance);
void plugins_manifest_widget_mediator_unref (gpointer instance);
GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object);
void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object);
gpointer plugins_value_get_manifest_widget_mediator (const GValue* value);
GType plugins_manifest_widget_mediator_get_type (void) G_GNUC_CONST;
GType plugins_manifest_list_view_get_type (void) G_GNUC_CONST;
#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorPrivate))
enum  {
	PLUGINS_MANIFEST_WIDGET_MEDIATOR_DUMMY_PROPERTY
};
static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self);
static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self);
static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self);
static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self);
static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self);
GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user);
PluginsManifestListView* plugins_manifest_list_view_new (void);
PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type);
PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void);
PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type);
static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self);
static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self);
gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1);
gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info);
gboolean is_string_empty (const gchar* s);
static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value);
GdkPixbuf* resources_get_icon (const gchar* name, gint scale);
#define RESOURCES_ICON_GENERIC_PLUGIN "generic-plugin.png"
#define RESOURCES_DEFAULT_ICON_SCALE 24
gchar* plugins_get_pluggable_name (const gchar* id);
GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self);
static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj);
#define PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewPrivate))
enum  {
	PLUGINS_MANIFEST_LIST_VIEW_DUMMY_PROPERTY
};
static GType plugins_manifest_list_view_column_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE 24
#define PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING 6
#define PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING 2
GtkIconTheme* resources_get_icon_theme_engine (void);
gpointer plugins_extension_point_ref (gpointer instance);
void plugins_extension_point_unref (gpointer instance);
GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void plugins_value_set_extension_point (GValue* value, gpointer v_object);
void plugins_value_take_extension_point (GValue* value, gpointer v_object);
gpointer plugins_value_get_extension_point (const GValue* value);
GType plugins_extension_point_get_type (void) G_GNUC_CONST;
GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify);
gint plugins_compare_extension_point_names (void* a, void* b);
static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self);
const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self);
GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled);
GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self);
gint plugins_compare_pluggable_names (void* a, void* b);
static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled);
static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter);
static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value);
static void _gtk_tree_path_free0_ (gpointer var);
static void _g_list_free__gtk_tree_path_free0_ (GList* self);
static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event);
void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled);
static void plugins_manifest_list_view_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 gint _vala_array_length (gpointer array);


static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_widget_mediator_on_about ((PluginsManifestWidgetMediator*) self);
#line 187 "ManifestWidget.c"
}


static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) {
#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_widget_mediator_on_selection_changed ((PluginsManifestWidgetMediator*) self);
#line 194 "ManifestWidget.c"
}


PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type) {
	PluginsManifestWidgetMediator* self = NULL;
	GtkScrolledWindow* _tmp0_ = NULL;
	GtkScrolledWindow* _tmp1_ = NULL;
	PluginsManifestListView* _tmp2_ = NULL;
	GtkButton* _tmp3_ = NULL;
	GtkButton* _tmp4_ = NULL;
	PluginsManifestListView* _tmp5_ = NULL;
	GtkTreeSelection* _tmp6_ = NULL;
#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self = (PluginsManifestWidgetMediator*) g_type_create_instance (object_type);
#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = plugins_manifest_widget_mediator_get_list_bin (self);
#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = _tmp0_;
#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = self->priv->list;
#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_scrolled_window_add_with_viewport (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = plugins_manifest_widget_mediator_get_about_button (self);
#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = _tmp3_;
#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_connect (_tmp4_, "clicked", (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self);
#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp5_ = self->priv->list;
#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp6_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_tree_view_get_type (), GtkTreeView));
#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_connect (_tmp6_, "changed", (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self);
#line 37 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_widget_mediator_set_about_button_sensitivity (self);
#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return self;
#line 233 "ManifestWidget.c"
}


PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void) {
#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return plugins_manifest_widget_mediator_construct (PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR);
#line 240 "ManifestWidget.c"
}


static gchar* string_strip (const gchar* self) {
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	_tmp0_ = g_strdup (self);
#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	_tmp1_ = _result_;
#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	g_strstrip (_tmp1_);
#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	result = _result_;
#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
	return result;
#line 263 "ManifestWidget.c"
}


static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value) {
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if ((*length) == (*size)) {
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 274 "ManifestWidget.c"
	}
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	(*array)[(*length)++] = value;
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	(*array)[*length] = NULL;
#line 280 "ManifestWidget.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return self ? g_object_ref (self) : NULL;
#line 287 "ManifestWidget.c"
}


static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self) {
	gchar** ids = NULL;
	PluginsManifestListView* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint ids_length1 = 0;
	gint _ids_size_ = 0;
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	gchar* id = NULL;
	gchar** _tmp4_ = NULL;
	gint _tmp4__length1 = 0;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	SpitPluggableInfo info = {0};
	const gchar* _tmp7_ = NULL;
	gboolean _tmp8_ = FALSE;
	gchar** authors = NULL;
	gint authors_length1 = 0;
	gint _authors_size_ = 0;
	SpitPluggableInfo _tmp10_ = {0};
	const gchar* _tmp11_ = NULL;
	GtkAboutDialog* about_dialog = NULL;
	GtkAboutDialog* _tmp31_ = NULL;
	GtkAboutDialog* _tmp32_ = NULL;
	gchar** _tmp33_ = NULL;
	gint _tmp33__length1 = 0;
	GtkAboutDialog* _tmp34_ = NULL;
	SpitPluggableInfo _tmp35_ = {0};
	const gchar* _tmp36_ = NULL;
	GtkAboutDialog* _tmp37_ = NULL;
	SpitPluggableInfo _tmp38_ = {0};
	const gchar* _tmp39_ = NULL;
	GtkAboutDialog* _tmp40_ = NULL;
	SpitPluggableInfo _tmp41_ = {0};
	const gchar* _tmp42_ = NULL;
	GtkAboutDialog* _tmp43_ = NULL;
	SpitPluggableInfo _tmp44_ = {0};
	gboolean _tmp45_ = FALSE;
	GdkPixbuf* _tmp46_ = NULL;
	gboolean _tmp47_ = FALSE;
	SpitPluggableInfo _tmp48_ = {0};
	GdkPixbuf** _tmp49_ = NULL;
	gint _tmp49__length1 = 0;
	GtkAboutDialog* _tmp57_ = NULL;
	GtkAboutDialog* _tmp58_ = NULL;
	const gchar* _tmp59_ = NULL;
	gchar* _tmp60_ = NULL;
	gchar* _tmp61_ = NULL;
	GtkAboutDialog* _tmp62_ = NULL;
	SpitPluggableInfo _tmp63_ = {0};
	const gchar* _tmp64_ = NULL;
	GtkAboutDialog* _tmp65_ = NULL;
	SpitPluggableInfo _tmp66_ = {0};
	const gchar* _tmp67_ = NULL;
	GtkAboutDialog* _tmp68_ = NULL;
	SpitPluggableInfo _tmp69_ = {0};
	const gchar* _tmp70_ = NULL;
	GtkAboutDialog* _tmp71_ = NULL;
	SpitPluggableInfo _tmp72_ = {0};
	const gchar* _tmp73_ = NULL;
	GtkAboutDialog* _tmp74_ = NULL;
	GtkAboutDialog* _tmp75_ = NULL;
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self));
#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->list;
#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_);
#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids = _tmp2_;
#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids_length1 = _tmp1_;
#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_ids_size_ = ids_length1;
#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = ids;
#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3__length1 = ids_length1;
#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp3__length1 == 0) {
#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL);
#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return;
#line 376 "ManifestWidget.c"
	}
#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = ids;
#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4__length1 = ids_length1;
#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp5_ = _tmp4_[0];
#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp6_ = g_strdup (_tmp5_);
#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	id = _tmp6_;
#line 52 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	memset (&info, 0, sizeof (SpitPluggableInfo));
#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp7_ = id;
#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp8_ = plugins_get_pluggable_info (_tmp7_, &info);
#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!_tmp8_) {
#line 396 "ManifestWidget.c"
		const gchar* _tmp9_ = NULL;
#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp9_ = id;
#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_warning ("ManifestWidget.vala:54: Unable to retrieve information for plugin %s", _tmp9_);
#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		spit_pluggable_info_destroy (&info);
#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_free0 (id);
#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL);
#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return;
#line 410 "ManifestWidget.c"
	}
#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	authors = NULL;
#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	authors_length1 = 0;
#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_authors_size_ = authors_length1;
#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp10_ = info;
#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp11_ = _tmp10_.authors;
#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp11_ != NULL) {
#line 424 "ManifestWidget.c"
		gchar** split = NULL;
		SpitPluggableInfo _tmp12_ = {0};
		const gchar* _tmp13_ = NULL;
		gchar** _tmp14_ = NULL;
		gchar** _tmp15_ = NULL;
		gint split_length1 = 0;
		gint _split_size_ = 0;
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp12_ = info;
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp13_ = _tmp12_.authors;
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp15_ = _tmp14_ = g_strsplit (_tmp13_, ",", 0);
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		split = _tmp15_;
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		split_length1 = _vala_array_length (_tmp14_);
#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_split_size_ = split_length1;
#line 444 "ManifestWidget.c"
		{
			gint ctr = 0;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			ctr = 0;
#line 449 "ManifestWidget.c"
			{
				gboolean _tmp16_ = FALSE;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp16_ = TRUE;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				while (TRUE) {
#line 456 "ManifestWidget.c"
					gint _tmp18_ = 0;
					gchar** _tmp19_ = NULL;
					gint _tmp19__length1 = 0;
					gchar* stripped = NULL;
					gchar** _tmp20_ = NULL;
					gint _tmp20__length1 = 0;
					gint _tmp21_ = 0;
					const gchar* _tmp22_ = NULL;
					gchar* _tmp23_ = NULL;
					const gchar* _tmp24_ = NULL;
					gboolean _tmp25_ = FALSE;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (!_tmp16_) {
#line 470 "ManifestWidget.c"
						gint _tmp17_ = 0;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp17_ = ctr;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						ctr = _tmp17_ + 1;
#line 476 "ManifestWidget.c"
					}
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp16_ = FALSE;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp18_ = ctr;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp19_ = split;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp19__length1 = split_length1;
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (!(_tmp18_ < _tmp19__length1)) {
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						break;
#line 490 "ManifestWidget.c"
					}
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp20_ = split;
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp20__length1 = split_length1;
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp21_ = ctr;
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp22_ = _tmp20_[_tmp21_];
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp23_ = string_strip (_tmp22_);
#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					stripped = _tmp23_;
#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp24_ = stripped;
#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp25_ = is_string_empty (_tmp24_);
#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (!_tmp25_) {
#line 510 "ManifestWidget.c"
						gchar** _tmp26_ = NULL;
						gint _tmp26__length1 = 0;
						gchar** _tmp28_ = NULL;
						gint _tmp28__length1 = 0;
						const gchar* _tmp29_ = NULL;
						gchar* _tmp30_ = NULL;
#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp26_ = authors;
#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp26__length1 = authors_length1;
#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						if (_tmp26_ == NULL) {
#line 523 "ManifestWidget.c"
							gchar** _tmp27_ = NULL;
#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
							_tmp27_ = g_new0 (gchar*, 0 + 1);
#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
							authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL);
#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
							authors = _tmp27_;
#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
							authors_length1 = 0;
#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
							_authors_size_ = authors_length1;
#line 535 "ManifestWidget.c"
						}
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp28_ = authors;
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp28__length1 = authors_length1;
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp29_ = stripped;
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp30_ = g_strdup (_tmp29_);
#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_vala_array_add49 (&authors, &authors_length1, &_authors_size_, _tmp30_);
#line 547 "ManifestWidget.c"
					}
#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_g_free0 (stripped);
#line 551 "ManifestWidget.c"
				}
			}
		}
#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL);
#line 557 "ManifestWidget.c"
	}
#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp31_ = (GtkAboutDialog*) gtk_about_dialog_new ();
#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp31_);
#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	about_dialog = _tmp31_;
#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp32_ = about_dialog;
#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp33_ = authors;
#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp33__length1 = authors_length1;
#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_authors (_tmp32_, _tmp33_);
#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp34_ = about_dialog;
#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp35_ = info;
#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp36_ = _tmp35_.brief_description;
#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_comments (_tmp34_, _tmp36_);
#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp37_ = about_dialog;
#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp38_ = info;
#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp39_ = _tmp38_.copyright;
#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_copyright (_tmp37_, _tmp39_);
#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp40_ = about_dialog;
#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp41_ = info;
#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp42_ = _tmp41_.license;
#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_license (_tmp40_, _tmp42_);
#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp43_ = about_dialog;
#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp44_ = info;
#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp45_ = _tmp44_.is_license_wordwrapped;
#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_wrap_license (_tmp43_, _tmp45_);
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp48_ = info;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp49_ = _tmp48_.icons;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp49__length1 = _tmp48_.icons_length1;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp49_ != NULL) {
#line 613 "ManifestWidget.c"
		SpitPluggableInfo _tmp50_ = {0};
		GdkPixbuf** _tmp51_ = NULL;
		gint _tmp51__length1 = 0;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp50_ = info;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp51_ = _tmp50_.icons;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp51__length1 = _tmp50_.icons_length1;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp47_ = _tmp51__length1 > 0;
#line 625 "ManifestWidget.c"
	} else {
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp47_ = FALSE;
#line 629 "ManifestWidget.c"
	}
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp47_) {
#line 633 "ManifestWidget.c"
		SpitPluggableInfo _tmp52_ = {0};
		GdkPixbuf** _tmp53_ = NULL;
		gint _tmp53__length1 = 0;
		GdkPixbuf* _tmp54_ = NULL;
		GdkPixbuf* _tmp55_ = NULL;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp52_ = info;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp53_ = _tmp52_.icons;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp53__length1 = _tmp52_.icons_length1;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp54_ = _tmp53_[0];
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp55_ = _g_object_ref0 (_tmp54_);
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (_tmp46_);
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp46_ = _tmp55_;
#line 653 "ManifestWidget.c"
	} else {
		GdkPixbuf* _tmp56_ = NULL;
#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp56_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, RESOURCES_DEFAULT_ICON_SCALE);
#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (_tmp46_);
#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp46_ = _tmp56_;
#line 662 "ManifestWidget.c"
	}
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp57_ = about_dialog;
#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_logo (_tmp57_, _tmp46_);
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp58_ = about_dialog;
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp59_ = id;
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp60_ = plugins_get_pluggable_name (_tmp59_);
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp61_ = _tmp60_;
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_program_name (_tmp58_, _tmp61_);
#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_free0 (_tmp61_);
#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp62_ = about_dialog;
#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp63_ = info;
#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp64_ = _tmp63_.translators;
#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_translator_credits (_tmp62_, _tmp64_);
#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp65_ = about_dialog;
#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp66_ = info;
#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp67_ = _tmp66_.version;
#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_version (_tmp65_, _tmp67_);
#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp68_ = about_dialog;
#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp69_ = info;
#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp70_ = _tmp69_.website_url;
#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_website (_tmp68_, _tmp70_);
#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp71_ = about_dialog;
#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp72_ = info;
#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp73_ = _tmp72_.website_name;
#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_about_dialog_set_website_label (_tmp71_, _tmp73_);
#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp74_ = about_dialog;
#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_dialog_get_type (), GtkDialog));
#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp75_ = about_dialog;
#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_widget_get_type (), GtkWidget));
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (_tmp46_);
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (about_dialog);
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL);
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	spit_pluggable_info_destroy (&info);
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_free0 (id);
#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL);
#line 732 "ManifestWidget.c"
}


static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self) {
#line 94 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self));
#line 95 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_widget_mediator_set_about_button_sensitivity (self);
#line 741 "ManifestWidget.c"
}


static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self) {
	gchar** ids = NULL;
	PluginsManifestListView* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gint ids_length1 = 0;
	gint _ids_size_ = 0;
	GtkButton* _tmp3_ = NULL;
	GtkButton* _tmp4_ = NULL;
#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self));
#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->list;
#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_);
#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids = _tmp2_;
#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids_length1 = _tmp1_;
#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_ids_size_ = ids_length1;
#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = plugins_manifest_widget_mediator_get_about_button (self);
#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = _tmp3_;
#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), ids_length1 == 1);
#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL);
#line 774 "ManifestWidget.c"
}


GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self) {
	GtkWidget* result;
	GtkBuilder* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
#line 11 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL);
#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->builder;
#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-manifest");
#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp1_) : NULL;
#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 792 "ManifestWidget.c"
}


static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self) {
	GtkButton* result;
	GtkBuilder* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
#line 17 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL);
#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->builder;
#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = gtk_builder_get_object (_tmp0_, "about-plugin-button");
#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_button_get_type ()) ? ((GtkButton*) _tmp1_) : NULL;
#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 810 "ManifestWidget.c"
}


static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self) {
	GtkScrolledWindow* result;
	GtkBuilder* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
#line 23 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL);
#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->builder;
#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-list-scrolled-window");
#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_scrolled_window_get_type ()) ? ((GtkScrolledWindow*) _tmp1_) : NULL;
#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 828 "ManifestWidget.c"
}


static void plugins_value_manifest_widget_mediator_init (GValue* value) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	value->data[0].v_pointer = NULL;
#line 835 "ManifestWidget.c"
}


static void plugins_value_manifest_widget_mediator_free_value (GValue* value) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (value->data[0].v_pointer) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		plugins_manifest_widget_mediator_unref (value->data[0].v_pointer);
#line 844 "ManifestWidget.c"
	}
}


static void plugins_value_manifest_widget_mediator_copy_value (const GValue* src_value, GValue* dest_value) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (src_value->data[0].v_pointer) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		dest_value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (src_value->data[0].v_pointer);
#line 854 "ManifestWidget.c"
	} else {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		dest_value->data[0].v_pointer = NULL;
#line 858 "ManifestWidget.c"
	}
}


static gpointer plugins_value_manifest_widget_mediator_peek_pointer (const GValue* value) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return value->data[0].v_pointer;
#line 866 "ManifestWidget.c"
}


static gchar* plugins_value_manifest_widget_mediator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (collect_values[0].v_pointer) {
#line 873 "ManifestWidget.c"
		PluginsManifestWidgetMediator* object;
		object = collect_values[0].v_pointer;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		if (object->parent_instance.g_class == NULL) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 880 "ManifestWidget.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 884 "ManifestWidget.c"
		}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (object);
#line 888 "ManifestWidget.c"
	} else {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = NULL;
#line 892 "ManifestWidget.c"
	}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return NULL;
#line 896 "ManifestWidget.c"
}


static gchar* plugins_value_manifest_widget_mediator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	PluginsManifestWidgetMediator** object_p;
	object_p = collect_values[0].v_pointer;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!object_p) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 907 "ManifestWidget.c"
	}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!value->data[0].v_pointer) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*object_p = NULL;
#line 913 "ManifestWidget.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*object_p = value->data[0].v_pointer;
#line 917 "ManifestWidget.c"
	} else {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*object_p = plugins_manifest_widget_mediator_ref (value->data[0].v_pointer);
#line 921 "ManifestWidget.c"
	}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return NULL;
#line 925 "ManifestWidget.c"
}


GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	PluginsParamSpecManifestWidgetMediator* spec;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return G_PARAM_SPEC (spec);
#line 939 "ManifestWidget.c"
}


gpointer plugins_value_get_manifest_widget_mediator (const GValue* value) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return value->data[0].v_pointer;
#line 948 "ManifestWidget.c"
}


void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object) {
	PluginsManifestWidgetMediator* old;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	old = value->data[0].v_pointer;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (v_object) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = v_object;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		plugins_manifest_widget_mediator_ref (value->data[0].v_pointer);
#line 968 "ManifestWidget.c"
	} else {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = NULL;
#line 972 "ManifestWidget.c"
	}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (old) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		plugins_manifest_widget_mediator_unref (old);
#line 978 "ManifestWidget.c"
	}
}


void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object) {
	PluginsManifestWidgetMediator* old;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	old = value->data[0].v_pointer;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (v_object) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = v_object;
#line 997 "ManifestWidget.c"
	} else {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		value->data[0].v_pointer = NULL;
#line 1001 "ManifestWidget.c"
	}
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (old) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		plugins_manifest_widget_mediator_unref (old);
#line 1007 "ManifestWidget.c"
	}
}


static void plugins_manifest_widget_mediator_class_init (PluginsManifestWidgetMediatorClass * klass) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_widget_mediator_parent_class = g_type_class_peek_parent (klass);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	((PluginsManifestWidgetMediatorClass *) klass)->finalize = plugins_manifest_widget_mediator_finalize;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_type_class_add_private (klass, sizeof (PluginsManifestWidgetMediatorPrivate));
#line 1019 "ManifestWidget.c"
}


static void plugins_manifest_widget_mediator_instance_init (PluginsManifestWidgetMediator * self) {
	GtkBuilder* _tmp0_ = NULL;
	PluginsManifestListView* _tmp1_ = NULL;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->priv = PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE (self);
#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = app_window_create_builder ("shotwell.ui", NULL);
#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->priv->builder = _tmp0_;
#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = plugins_manifest_list_view_new ();
#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp1_);
#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->priv->list = _tmp1_;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->ref_count = 1;
#line 1040 "ManifestWidget.c"
}


static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj) {
	PluginsManifestWidgetMediator * self;
	GtkButton* _tmp0_ = NULL;
	GtkButton* _tmp1_ = NULL;
	guint _tmp2_ = 0U;
	PluginsManifestListView* _tmp3_ = NULL;
	GtkTreeSelection* _tmp4_ = NULL;
	guint _tmp5_ = 0U;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_handlers_destroy (self);
#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = plugins_manifest_widget_mediator_get_about_button (self);
#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = _tmp0_;
#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp2_, NULL, FALSE);
#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self);
#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = self->priv->list;
#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_tree_view_get_type (), GtkTreeView));
#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_parse_name ("changed", gtk_tree_selection_get_type (), &_tmp5_, NULL, FALSE);
#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self);
#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (self->priv->builder);
#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (self->priv->list);
#line 1076 "ManifestWidget.c"
}


GType plugins_manifest_widget_mediator_get_type (void) {
	static volatile gsize plugins_manifest_widget_mediator_type_id__volatile = 0;
	if (g_once_init_enter (&plugins_manifest_widget_mediator_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { plugins_value_manifest_widget_mediator_init, plugins_value_manifest_widget_mediator_free_value, plugins_value_manifest_widget_mediator_copy_value, plugins_value_manifest_widget_mediator_peek_pointer, "p", plugins_value_manifest_widget_mediator_collect_value, "p", plugins_value_manifest_widget_mediator_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestWidgetMediatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_widget_mediator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestWidgetMediator), 0, (GInstanceInitFunc) plugins_manifest_widget_mediator_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType plugins_manifest_widget_mediator_type_id;
		plugins_manifest_widget_mediator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsManifestWidgetMediator", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&plugins_manifest_widget_mediator_type_id__volatile, plugins_manifest_widget_mediator_type_id);
	}
	return plugins_manifest_widget_mediator_type_id__volatile;
}


gpointer plugins_manifest_widget_mediator_ref (gpointer instance) {
	PluginsManifestWidgetMediator* self;
	self = instance;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_atomic_int_inc (&self->ref_count);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return instance;
#line 1101 "ManifestWidget.c"
}


void plugins_manifest_widget_mediator_unref (gpointer instance) {
	PluginsManifestWidgetMediator* self;
	self = instance;
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS (self)->finalize (self);
#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 1114 "ManifestWidget.c"
	}
}


static GType plugins_manifest_list_view_column_get_type (void) {
	static volatile gsize plugins_manifest_list_view_column_type_id__volatile = 0;
	if (g_once_init_enter (&plugins_manifest_list_view_column_type_id__volatile)) {
		static const GEnumValue values[] = {{PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED", "enabled"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE", "can-enable"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON", "icon"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME", "name"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID", "id"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS", "n-columns"}, {0, NULL, NULL}};
		GType plugins_manifest_list_view_column_type_id;
		plugins_manifest_list_view_column_type_id = g_enum_register_static ("PluginsManifestListViewColumn", values);
		g_once_init_leave (&plugins_manifest_list_view_column_type_id__volatile, plugins_manifest_list_view_column_type_id);
	}
	return plugins_manifest_list_view_column_type_id__volatile;
}


static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
	gint result;
	result = plugins_compare_extension_point_names (a, b);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 1136 "ManifestWidget.c"
}


static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
	gint result;
	result = plugins_compare_pluggable_names (a, b);
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 1145 "ManifestWidget.c"
}


PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type) {
	PluginsManifestListView * self = NULL;
	GtkTreeStore* _tmp0_ = NULL;
	GtkCellRendererToggle* checkbox_renderer = NULL;
	GtkCellRendererToggle* _tmp1_ = NULL;
	GtkCellRendererToggle* _tmp2_ = NULL;
	GtkCellRendererToggle* _tmp3_ = NULL;
	GtkCellRendererPixbuf* icon_renderer = NULL;
	GtkCellRendererPixbuf* _tmp4_ = NULL;
	GtkCellRendererPixbuf* _tmp5_ = NULL;
	GtkCellRendererPixbuf* _tmp6_ = NULL;
	GtkCellRendererPixbuf* _tmp7_ = NULL;
	GtkCellRendererText* text_renderer = NULL;
	GtkCellRendererText* _tmp8_ = NULL;
	GtkTreeViewColumn* column = NULL;
	GtkTreeViewColumn* _tmp9_ = NULL;
	GtkTreeViewColumn* _tmp10_ = NULL;
	GtkTreeViewColumn* _tmp11_ = NULL;
	GtkCellRendererToggle* _tmp12_ = NULL;
	GtkTreeViewColumn* _tmp13_ = NULL;
	GtkCellRendererPixbuf* _tmp14_ = NULL;
	GtkTreeViewColumn* _tmp15_ = NULL;
	GtkCellRendererText* _tmp16_ = NULL;
	GtkTreeViewColumn* _tmp17_ = NULL;
	GtkCellRendererToggle* _tmp18_ = NULL;
	GtkTreeViewColumn* _tmp19_ = NULL;
	GtkCellRendererToggle* _tmp20_ = NULL;
	GtkTreeViewColumn* _tmp21_ = NULL;
	GtkCellRendererPixbuf* _tmp22_ = NULL;
	GtkTreeViewColumn* _tmp23_ = NULL;
	GtkCellRendererText* _tmp24_ = NULL;
	GtkTreeViewColumn* _tmp25_ = NULL;
	GtkTreeSelection* _tmp26_ = NULL;
	GtkIconTheme* icon_theme = NULL;
	GtkIconTheme* _tmp27_ = NULL;
	GError * _inner_error_ = NULL;
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self = (PluginsManifestListView*) g_object_new (object_type, NULL);
#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->store;
#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel));
#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = (GtkCellRendererToggle*) gtk_cell_renderer_toggle_new ();
#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp1_);
#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	checkbox_renderer = _tmp1_;
#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = checkbox_renderer;
#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_renderer_toggle_set_radio (_tmp2_, FALSE);
#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = checkbox_renderer;
#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_renderer_toggle_set_activatable (_tmp3_, TRUE);
#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp4_);
#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	icon_renderer = _tmp4_;
#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp5_ = icon_renderer;
#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_set (_tmp5_, "stock-size", (guint) GTK_ICON_SIZE_MENU, NULL);
#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp6_ = icon_renderer;
#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_cell_renderer_get_type (), GtkCellRenderer), "xpad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING, NULL);
#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp7_ = icon_renderer;
#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_cell_renderer_get_type (), GtkCellRenderer), "ypad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING, NULL);
#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp8_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp8_);
#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	text_renderer = _tmp8_;
#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp9_ = gtk_tree_view_column_new ();
#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_object_ref_sink (_tmp9_);
#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	column = _tmp9_;
#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp10_ = column;
#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_column_set_sizing (_tmp10_, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp11_ = column;
#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp12_ = checkbox_renderer;
#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE);
#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp13_ = column;
#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp14_ = icon_renderer;
#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE);
#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp15_ = column;
#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp16_ = text_renderer;
#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_pack_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE);
#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp17_ = column;
#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp18_ = checkbox_renderer;
#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_cell_renderer_get_type (), GtkCellRenderer), "active", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED);
#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp19_ = column;
#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp20_ = checkbox_renderer;
#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_cell_renderer_get_type (), GtkCellRenderer), "visible", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE);
#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp21_ = column;
#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp22_ = icon_renderer;
#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_cell_renderer_get_type (), GtkCellRenderer), "pixbuf", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON);
#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp23_ = column;
#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp24_ = text_renderer;
#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME);
#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp25_ = column;
#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp25_);
#line 157 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_headers_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE);
#line 158 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_enable_search (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE);
#line 159 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_rules_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE);
#line 160 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_show_expanders (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE);
#line 161 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_reorderable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE);
#line 162 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_enable_tree_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE);
#line 163 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_set_grid_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GTK_TREE_VIEW_GRID_LINES_NONE);
#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp26_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView));
#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_selection_set_mode (_tmp26_, GTK_SELECTION_BROWSE);
#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp27_ = resources_get_icon_theme_engine ();
#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	icon_theme = _tmp27_;
#line 1307 "ManifestWidget.c"
	{
		GeeIterator* _extension_point_it = NULL;
		GeeCollection* _tmp28_ = NULL;
		GeeCollection* _tmp29_ = NULL;
		GeeIterator* _tmp30_ = NULL;
		GeeIterator* _tmp31_ = NULL;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp28_ = plugins_get_extension_points (_plugins_compare_extension_point_names_gcompare_data_func, NULL, NULL);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp29_ = _tmp28_;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp30_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ITERABLE, GeeIterable));
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp31_ = _tmp30_;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (_tmp29_);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_extension_point_it = _tmp31_;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		while (TRUE) {
#line 1328 "ManifestWidget.c"
			GeeIterator* _tmp32_ = NULL;
			gboolean _tmp33_ = FALSE;
			PluginsExtensionPoint* extension_point = NULL;
			GeeIterator* _tmp34_ = NULL;
			gpointer _tmp35_ = NULL;
			GtkTreeIter category_iter = {0};
			GtkTreeStore* _tmp36_ = NULL;
			GtkTreeIter _tmp37_ = {0};
			GdkPixbuf* icon = NULL;
			PluginsExtensionPoint* _tmp38_ = NULL;
			const gchar* _tmp39_ = NULL;
			const gchar* _tmp40_ = NULL;
			GtkTreeStore* _tmp59_ = NULL;
			GtkTreeIter _tmp60_ = {0};
			PluginsExtensionPoint* _tmp61_ = NULL;
			const gchar* _tmp62_ = NULL;
			const gchar* _tmp63_ = NULL;
			GdkPixbuf* _tmp64_ = NULL;
			GeeCollection* pluggables = NULL;
			PluginsExtensionPoint* _tmp65_ = NULL;
			GType _tmp66_ = 0UL;
			GType _tmp67_ = 0UL;
			GeeCollection* _tmp68_ = NULL;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp32_ = _extension_point_it;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp33_ = gee_iterator_next (_tmp32_);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			if (!_tmp33_) {
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				break;
#line 1360 "ManifestWidget.c"
			}
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp34_ = _extension_point_it;
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp35_ = gee_iterator_get (_tmp34_);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			extension_point = (PluginsExtensionPoint*) _tmp35_;
#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp36_ = self->priv->store;
#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			gtk_tree_store_append (_tmp36_, &_tmp37_, NULL);
#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			category_iter = _tmp37_;
#line 174 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			icon = NULL;
#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp38_ = extension_point;
#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp39_ = plugins_extension_point_get_icon_name (_tmp38_);
#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp40_ = _tmp39_;
#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			if (_tmp40_ != NULL) {
#line 1384 "ManifestWidget.c"
				GtkIconInfo* icon_info = NULL;
				GtkIconTheme* _tmp41_ = NULL;
				PluginsExtensionPoint* _tmp42_ = NULL;
				const gchar* _tmp43_ = NULL;
				const gchar* _tmp44_ = NULL;
				GThemedIcon* _tmp45_ = NULL;
				GThemedIcon* _tmp46_ = NULL;
				GtkIconInfo* _tmp47_ = NULL;
				GtkIconInfo* _tmp48_ = NULL;
				GtkIconInfo* _tmp49_ = NULL;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp41_ = icon_theme;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp42_ = extension_point;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp43_ = plugins_extension_point_get_icon_name (_tmp42_);
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp44_ = _tmp43_;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp45_ = (GThemedIcon*) g_themed_icon_new (_tmp44_);
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp46_ = _tmp45_;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp47_ = gtk_icon_theme_lookup_by_gicon (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, G_TYPE_ICON, GIcon), PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE, 0);
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp48_ = _tmp47_;
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_g_object_unref0 (_tmp46_);
#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				icon_info = _tmp48_;
#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp49_ = icon_info;
#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				if (_tmp49_ != NULL) {
#line 1419 "ManifestWidget.c"
					{
						GdkPixbuf* _tmp50_ = NULL;
						GtkIconInfo* _tmp51_ = NULL;
						GdkPixbuf* _tmp52_ = NULL;
						GdkPixbuf* _tmp53_ = NULL;
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp51_ = icon_info;
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp52_ = gtk_icon_info_load_icon (_tmp51_, &_inner_error_);
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp50_ = _tmp52_;
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1433 "ManifestWidget.c"
							goto __catch33_g_error;
						}
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp53_ = _tmp50_;
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp50_ = NULL;
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (icon);
#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						icon = _tmp53_;
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (_tmp50_);
#line 1446 "ManifestWidget.c"
					}
					goto __finally33;
					__catch33_g_error:
					{
						GError* err = NULL;
						PluginsExtensionPoint* _tmp54_ = NULL;
						const gchar* _tmp55_ = NULL;
						const gchar* _tmp56_ = NULL;
						GError* _tmp57_ = NULL;
						const gchar* _tmp58_ = NULL;
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						err = _inner_error_;
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_inner_error_ = NULL;
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp54_ = extension_point;
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp55_ = plugins_extension_point_get_icon_name (_tmp54_);
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp56_ = _tmp55_;
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp57_ = err;
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp58_ = _tmp57_->message;
#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						g_warning ("ManifestWidget.vala:182: Unable to load icon %s: %s", _tmp56_, _tmp58_);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_error_free0 (err);
#line 1475 "ManifestWidget.c"
					}
					__finally33:
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_gtk_icon_info_free0 (icon_info);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (icon);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_plugins_extension_point_unref0 (extension_point);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (_extension_point_it);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (icon_theme);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (column);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (text_renderer);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (icon_renderer);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (checkbox_renderer);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.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 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						g_clear_error (&_inner_error_);
#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						return NULL;
#line 1504 "ManifestWidget.c"
					}
				}
#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_gtk_icon_info_free0 (icon_info);
#line 1509 "ManifestWidget.c"
			}
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp59_ = self->priv->store;
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp60_ = category_iter;
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp61_ = extension_point;
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp62_ = plugins_extension_point_get_name (_tmp61_);
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp63_ = _tmp62_;
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp64_ = icon;
#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			gtk_tree_store_set (_tmp59_, &_tmp60_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp63_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, FALSE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp64_, -1);
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp65_ = extension_point;
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp66_ = plugins_extension_point_get_pluggable_type (_tmp65_);
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp67_ = _tmp66_;
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp68_ = plugins_get_pluggables_for_type (_tmp67_, _plugins_compare_pluggable_names_gcompare_data_func, NULL, NULL, TRUE);
#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			pluggables = _tmp68_;
#line 1535 "ManifestWidget.c"
			{
				GeeIterator* _pluggable_it = NULL;
				GeeCollection* _tmp69_ = NULL;
				GeeIterator* _tmp70_ = NULL;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp69_ = pluggables;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp70_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_ITERABLE, GeeIterable));
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_pluggable_it = _tmp70_;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				while (TRUE) {
#line 1548 "ManifestWidget.c"
					GeeIterator* _tmp71_ = NULL;
					gboolean _tmp72_ = FALSE;
					SpitPluggable* pluggable = NULL;
					GeeIterator* _tmp73_ = NULL;
					gpointer _tmp74_ = NULL;
					gboolean enabled = FALSE;
					SpitPluggable* _tmp75_ = NULL;
					const gchar* _tmp76_ = NULL;
					gboolean _tmp77_ = FALSE;
					gboolean _tmp78_ = FALSE;
					SpitPluggableInfo info = {0};
					SpitPluggable* _tmp79_ = NULL;
					GdkPixbuf* _tmp80_ = NULL;
					gboolean _tmp81_ = FALSE;
					SpitPluggableInfo _tmp82_ = {0};
					GdkPixbuf** _tmp83_ = NULL;
					gint _tmp83__length1 = 0;
					GdkPixbuf* _tmp91_ = NULL;
					GtkTreeIter plugin_iter = {0};
					GtkTreeStore* _tmp92_ = NULL;
					GtkTreeIter _tmp93_ = {0};
					GtkTreeIter _tmp94_ = {0};
					GtkTreeStore* _tmp95_ = NULL;
					GtkTreeIter _tmp96_ = {0};
					gboolean _tmp97_ = FALSE;
					SpitPluggable* _tmp98_ = NULL;
					const gchar* _tmp99_ = NULL;
					SpitPluggable* _tmp100_ = NULL;
					const gchar* _tmp101_ = NULL;
					GdkPixbuf* _tmp102_ = NULL;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp71_ = _pluggable_it;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp72_ = gee_iterator_next (_tmp71_);
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (!_tmp72_) {
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						break;
#line 1587 "ManifestWidget.c"
					}
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp73_ = _pluggable_it;
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp74_ = gee_iterator_get (_tmp73_);
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					pluggable = (SpitPluggable*) _tmp74_;
#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp75_ = pluggable;
#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp76_ = spit_pluggable_get_id (_tmp75_);
#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp78_ = plugins_get_pluggable_enabled (_tmp76_, &_tmp77_);
#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					enabled = _tmp77_;
#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (!_tmp78_) {
#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (pluggable);
#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						continue;
#line 1609 "ManifestWidget.c"
					}
#line 197 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					memset (&info, 0, sizeof (SpitPluggableInfo));
#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp79_ = pluggable;
#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					spit_pluggable_get_info (_tmp79_, &info);
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp82_ = info;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp83_ = _tmp82_.icons;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp83__length1 = _tmp82_.icons_length1;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (_tmp83_ != NULL) {
#line 1625 "ManifestWidget.c"
						SpitPluggableInfo _tmp84_ = {0};
						GdkPixbuf** _tmp85_ = NULL;
						gint _tmp85__length1 = 0;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp84_ = info;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp85_ = _tmp84_.icons;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp85__length1 = _tmp84_.icons_length1;
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp81_ = _tmp85__length1 > 0;
#line 1637 "ManifestWidget.c"
					} else {
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp81_ = FALSE;
#line 1641 "ManifestWidget.c"
					}
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					if (_tmp81_) {
#line 1645 "ManifestWidget.c"
						SpitPluggableInfo _tmp86_ = {0};
						GdkPixbuf** _tmp87_ = NULL;
						gint _tmp87__length1 = 0;
						GdkPixbuf* _tmp88_ = NULL;
						GdkPixbuf* _tmp89_ = NULL;
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp86_ = info;
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp87_ = _tmp86_.icons;
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp87__length1 = _tmp86_.icons_length1;
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp88_ = _tmp87_[0];
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp89_ = _g_object_ref0 (_tmp88_);
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (_tmp80_);
#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp80_ = _tmp89_;
#line 1665 "ManifestWidget.c"
					} else {
						GdkPixbuf* _tmp90_ = NULL;
#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp90_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE);
#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_g_object_unref0 (_tmp80_);
#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
						_tmp80_ = _tmp90_;
#line 1674 "ManifestWidget.c"
					}
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp91_ = _g_object_ref0 (_tmp80_);
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_g_object_unref0 (icon);
#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					icon = _tmp91_;
#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp92_ = self->priv->store;
#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp93_ = category_iter;
#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					gtk_tree_store_append (_tmp92_, &_tmp94_, &_tmp93_);
#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					plugin_iter = _tmp94_;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp95_ = self->priv->store;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp96_ = plugin_iter;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp97_ = enabled;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp98_ = pluggable;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp99_ = spit_pluggable_get_pluggable_name (_tmp98_);
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp100_ = pluggable;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp101_ = spit_pluggable_get_id (_tmp100_);
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp102_ = icon;
#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					gtk_tree_store_set (_tmp95_, &_tmp96_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp97_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp99_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, _tmp101_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, TRUE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp102_, -1);
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_g_object_unref0 (_tmp80_);
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					spit_pluggable_info_destroy (&info);
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_g_object_unref0 (pluggable);
#line 1714 "ManifestWidget.c"
				}
#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_g_object_unref0 (_pluggable_it);
#line 1718 "ManifestWidget.c"
			}
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_g_object_unref0 (pluggables);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_g_object_unref0 (icon);
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_plugins_extension_point_unref0 (extension_point);
#line 1726 "ManifestWidget.c"
		}
#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (_extension_point_it);
#line 1730 "ManifestWidget.c"
	}
#line 212 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_view_expand_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView));
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (icon_theme);
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (column);
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (text_renderer);
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (icon_renderer);
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (checkbox_renderer);
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return self;
#line 1746 "ManifestWidget.c"
}


PluginsManifestListView* plugins_manifest_list_view_new (void) {
#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return plugins_manifest_list_view_construct (PLUGINS_TYPE_MANIFEST_LIST_VIEW);
#line 1753 "ManifestWidget.c"
}


static gpointer _gtk_tree_path_copy0 (gpointer self) {
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return self ? gtk_tree_path_copy (self) : NULL;
#line 1760 "ManifestWidget.c"
}


static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value) {
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if ((*length) == (*size)) {
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 1771 "ManifestWidget.c"
	}
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	(*array)[(*length)++] = value;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	(*array)[*length] = NULL;
#line 1777 "ManifestWidget.c"
}


static void _gtk_tree_path_free0_ (gpointer var) {
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	(var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL));
#line 1784 "ManifestWidget.c"
}


static void _g_list_free__gtk_tree_path_free0_ (GList* self) {
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_list_foreach (self, (GFunc) _gtk_tree_path_free0_, NULL);
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_list_free (self);
#line 1793 "ManifestWidget.c"
}


gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1) {
	gchar** result = NULL;
	gchar** ids = NULL;
	gchar** _tmp0_ = NULL;
	gint ids_length1 = 0;
	gint _ids_size_ = 0;
	GList* selected = NULL;
	GtkTreeSelection* _tmp1_ = NULL;
	GList* _tmp2_ = NULL;
	GList* _tmp3_ = NULL;
	gchar** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
#line 215 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL);
#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids = _tmp0_;
#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	ids_length1 = 0;
#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_ids_size_ = ids_length1;
#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView));
#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = gtk_tree_selection_get_selected_rows (_tmp1_, NULL);
#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	selected = _tmp2_;
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = selected;
#line 1827 "ManifestWidget.c"
	{
		GList* path_collection = NULL;
		GList* path_it = NULL;
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		path_collection = _tmp3_;
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
#line 1835 "ManifestWidget.c"
			GtkTreePath* _tmp4_ = NULL;
			GtkTreePath* path = NULL;
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			_tmp4_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data);
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			path = _tmp4_;
#line 1842 "ManifestWidget.c"
			{
				GtkTreeIter iter = {0};
				gchar* id = NULL;
				GtkTreePath* _tmp5_ = NULL;
				GtkTreeIter _tmp6_ = {0};
				gchar* _tmp7_ = NULL;
				const gchar* _tmp8_ = NULL;
#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp5_ = path;
#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp7_ = plugins_manifest_list_view_get_id_at_path (self, _tmp5_, &_tmp6_);
#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				iter = _tmp6_;
#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				id = _tmp7_;
#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_tmp8_ = id;
#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				if (_tmp8_ != NULL) {
#line 1862 "ManifestWidget.c"
					gchar** _tmp9_ = NULL;
					gint _tmp9__length1 = 0;
					const gchar* _tmp10_ = NULL;
					gchar* _tmp11_ = NULL;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp9_ = ids;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp9__length1 = ids_length1;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp10_ = id;
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_tmp11_ = g_strdup (_tmp10_);
#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
					_vala_array_add50 (&ids, &ids_length1, &_ids_size_, _tmp11_);
#line 1877 "ManifestWidget.c"
				}
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_g_free0 (id);
#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
				_gtk_tree_path_free0 (path);
#line 1883 "ManifestWidget.c"
			}
		}
	}
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp12_ = ids;
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp12__length1 = ids_length1;
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (result_length1) {
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*result_length1 = _tmp12__length1;
#line 1895 "ManifestWidget.c"
	}
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = _tmp12_;
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	__g_list_free__gtk_tree_path_free0_0 (selected);
#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 1903 "ManifestWidget.c"
}


static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter) {
	GtkTreeIter _vala_iter = {0};
	gchar* result = NULL;
	GtkTreeStore* _tmp0_ = NULL;
	GtkTreePath* _tmp1_ = NULL;
	GtkTreeIter _tmp2_ = {0};
	gboolean _tmp3_ = FALSE;
	const gchar* id = NULL;
	GtkTreeStore* _tmp4_ = NULL;
	GtkTreeIter _tmp5_ = {0};
	const gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL);
#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (path != NULL, NULL);
#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = self->priv->store;
#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = path;
#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = gtk_tree_model_get_iter (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp2_, _tmp1_);
#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_vala_iter = _tmp2_;
#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!_tmp3_) {
#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		result = NULL;
#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		if (iter) {
#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
			*iter = _vala_iter;
#line 1939 "ManifestWidget.c"
		}
#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return result;
#line 1943 "ManifestWidget.c"
	}
#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp4_ = self->priv->store;
#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp5_ = _vala_iter;
#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_model_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp5_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, &id, -1);
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp6_ = id;
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp7_ = g_strdup (_tmp6_);
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = _tmp7_;
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (iter) {
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		*iter = _vala_iter;
#line 1961 "ManifestWidget.c"
	}
#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 1965 "ManifestWidget.c"
}


static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event) {
	PluginsManifestListView * self;
	gboolean result = FALSE;
	GtkTreePath* path = NULL;
	GtkTreeViewColumn* col = NULL;
	gint cellx = 0;
	gint celly = 0;
	GdkEventButton* _tmp0_ = NULL;
	gdouble _tmp1_ = 0.0;
	GdkEventButton* _tmp2_ = NULL;
	gdouble _tmp3_ = 0.0;
	GtkTreePath* _tmp4_ = NULL;
	GtkTreeViewColumn* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gint _tmp7_ = 0;
	gboolean _tmp8_ = FALSE;
	GtkTreeViewColumn* _tmp9_ = NULL;
	gboolean _tmp12_ = FALSE;
	gint _tmp13_ = 0;
	GtkTreeIter iter = {0};
	gchar* id = NULL;
	GtkTreePath* _tmp17_ = NULL;
	GtkTreeIter _tmp18_ = {0};
	gchar* _tmp19_ = NULL;
	const gchar* _tmp20_ = NULL;
	gboolean enabled = FALSE;
	const gchar* _tmp23_ = NULL;
	gboolean _tmp24_ = FALSE;
	gboolean _tmp25_ = FALSE;
	gboolean _tmp28_ = FALSE;
	const gchar* _tmp29_ = NULL;
	gboolean _tmp30_ = FALSE;
	GtkTreeStore* _tmp31_ = NULL;
	GtkTreeIter _tmp32_ = {0};
	gboolean _tmp33_ = FALSE;
#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView);
#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = event;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp1_ = _tmp0_->x;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp2_ = event;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp3_ = _tmp2_->y;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp8_ = gtk_tree_view_get_path_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), (gint) _tmp1_, (gint) _tmp3_, &_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_);
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_gtk_tree_path_free0 (path);
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	path = _tmp4_;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (col);
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp9_ = _g_object_ref0 (_tmp5_);
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	col = _tmp9_;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	cellx = _tmp6_;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	celly = _tmp7_;
#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!_tmp8_) {
#line 2034 "ManifestWidget.c"
		GdkEventButton* _tmp10_ = NULL;
		gboolean _tmp11_ = FALSE;
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp10_ = event;
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp11_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp10_);
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		result = _tmp11_;
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (col);
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_gtk_tree_path_free0 (path);
#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return result;
#line 2049 "ManifestWidget.c"
	}
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp13_ = cellx;
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp13_ < (PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE + PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING)) {
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp12_ = TRUE;
#line 2057 "ManifestWidget.c"
	} else {
		gint _tmp14_ = 0;
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp14_ = cellx;
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp12_ = _tmp14_ > (2 * (PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING + PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE));
#line 2064 "ManifestWidget.c"
	}
#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp12_) {
#line 2068 "ManifestWidget.c"
		GdkEventButton* _tmp15_ = NULL;
		gboolean _tmp16_ = FALSE;
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp15_ = event;
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp16_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp15_);
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		result = _tmp16_;
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (col);
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_gtk_tree_path_free0 (path);
#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return result;
#line 2083 "ManifestWidget.c"
	}
#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp17_ = path;
#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp19_ = plugins_manifest_list_view_get_id_at_path (self, _tmp17_, &_tmp18_);
#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	iter = _tmp18_;
#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	id = _tmp19_;
#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp20_ = id;
#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (_tmp20_ == NULL) {
#line 2097 "ManifestWidget.c"
		GdkEventButton* _tmp21_ = NULL;
		gboolean _tmp22_ = FALSE;
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp21_ = event;
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp22_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp21_);
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		result = _tmp22_;
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_free0 (id);
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (col);
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_gtk_tree_path_free0 (path);
#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return result;
#line 2114 "ManifestWidget.c"
	}
#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp23_ = id;
#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp25_ = plugins_get_pluggable_enabled (_tmp23_, &_tmp24_);
#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	enabled = _tmp24_;
#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	if (!_tmp25_) {
#line 2124 "ManifestWidget.c"
		GdkEventButton* _tmp26_ = NULL;
		gboolean _tmp27_ = FALSE;
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp26_ = event;
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_tmp27_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp26_);
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		result = _tmp27_;
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_free0 (id);
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_g_object_unref0 (col);
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		_gtk_tree_path_free0 (path);
#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
		return result;
#line 2141 "ManifestWidget.c"
	}
#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp28_ = enabled;
#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	enabled = !_tmp28_;
#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp29_ = id;
#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp30_ = enabled;
#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_set_pluggable_enabled (_tmp29_, _tmp30_);
#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp31_ = self->priv->store;
#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp32_ = iter;
#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp33_ = enabled;
#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	gtk_tree_store_set (_tmp31_, &_tmp32_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp33_, -1);
#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	result = TRUE;
#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_free0 (id);
#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (col);
#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_gtk_tree_path_free0 (path);
#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	return result;
#line 2171 "ManifestWidget.c"
}


static void plugins_manifest_list_view_class_init (PluginsManifestListViewClass * klass) {
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	plugins_manifest_list_view_parent_class = g_type_class_peek_parent (klass);
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	g_type_class_add_private (klass, sizeof (PluginsManifestListViewPrivate));
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	((GtkWidgetClass *) klass)->button_press_event = plugins_manifest_list_view_real_button_press_event;
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	G_OBJECT_CLASS (klass)->finalize = plugins_manifest_list_view_finalize;
#line 2184 "ManifestWidget.c"
}


static void plugins_manifest_list_view_instance_init (PluginsManifestListView * self) {
	GtkTreeStore* _tmp0_ = NULL;
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->priv = PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE (self);
#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_tmp0_ = gtk_tree_store_new ((gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self->priv->store = _tmp0_;
#line 2196 "ManifestWidget.c"
}


static void plugins_manifest_list_view_finalize (GObject* obj) {
	PluginsManifestListView * self;
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView);
#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	_g_object_unref0 (self->priv->store);
#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala"
	G_OBJECT_CLASS (plugins_manifest_list_view_parent_class)->finalize (obj);
#line 2208 "ManifestWidget.c"
}


GType plugins_manifest_list_view_get_type (void) {
	static volatile gsize plugins_manifest_list_view_type_id__volatile = 0;
	if (g_once_init_enter (&plugins_manifest_list_view_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestListViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_list_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestListView), 0, (GInstanceInitFunc) plugins_manifest_list_view_instance_init, NULL };
		GType plugins_manifest_list_view_type_id;
		plugins_manifest_list_view_type_id = g_type_register_static (gtk_tree_view_get_type (), "PluginsManifestListView", &g_define_type_info, 0);
		g_once_init_leave (&plugins_manifest_list_view_type_id__volatile, plugins_manifest_list_view_type_id);
	}
	return plugins_manifest_list_view_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);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}