/* actions-popover.c generated by valac 0.28.0.2-022b, the Vala compiler
 * generated from actions-popover.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <atk/atk.h>
#include <glib/gi18n-lib.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libcommon.h>
#include <stdlib.h>
#include <string.h>
#include <libgd/gd.h>


#define BOXES_TYPE_ACTIONS_POPOVER (boxes_actions_popover_get_type ())
#define BOXES_ACTIONS_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopover))
#define BOXES_ACTIONS_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopoverClass))
#define BOXES_IS_ACTIONS_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ACTIONS_POPOVER))
#define BOXES_IS_ACTIONS_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_ACTIONS_POPOVER))
#define BOXES_ACTIONS_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopoverClass))

typedef struct _BoxesActionsPopover BoxesActionsPopover;
typedef struct _BoxesActionsPopoverClass BoxesActionsPopoverClass;
typedef struct _BoxesActionsPopoverPrivate BoxesActionsPopoverPrivate;

#define BOXES_TYPE_APP_WINDOW (boxes_app_window_get_type ())
#define BOXES_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindow))
#define BOXES_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))
#define BOXES_IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP_WINDOW))
#define BOXES_IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP_WINDOW))
#define BOXES_APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))

typedef struct _BoxesAppWindow BoxesAppWindow;
typedef struct _BoxesAppWindowClass BoxesAppWindowClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;

#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_UI_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_UI, BoxesUIIface))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIIface BoxesUIIface;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())
typedef struct _BoxesCollectionItemPrivate BoxesCollectionItemPrivate;

#define BOXES_TYPE_IPROPERTIES_PROVIDER (boxes_iproperties_provider_get_type ())
#define BOXES_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProvider))
#define BOXES_IS_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER))
#define BOXES_IPROPERTIES_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProviderIface))

typedef struct _BoxesIPropertiesProvider BoxesIPropertiesProvider;
typedef struct _BoxesIPropertiesProviderIface BoxesIPropertiesProviderIface;

#define BOXES_TYPE_PROPERTIES_PAGE (boxes_properties_page_get_type ())

#define TYPE_PROPERTY_CREATION_FLAG (property_creation_flag_get_type ())

#define BOXES_TYPE_PROPERTY (boxes_property_get_type ())
#define BOXES_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTY, BoxesProperty))
#define BOXES_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTY, BoxesPropertyClass))
#define BOXES_IS_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTY))
#define BOXES_IS_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTY))
#define BOXES_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTY, BoxesPropertyClass))

typedef struct _BoxesProperty BoxesProperty;
typedef struct _BoxesPropertyClass BoxesPropertyClass;
typedef struct _BoxesMachinePrivate BoxesMachinePrivate;

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())

#define BOXES_TYPE_LIBVIRT_MACHINE (boxes_libvirt_machine_get_type ())
#define BOXES_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachine))
#define BOXES_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))
#define BOXES_IS_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_IS_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_LIBVIRT_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))

typedef struct _BoxesLibvirtMachine BoxesLibvirtMachine;
typedef struct _BoxesLibvirtMachineClass BoxesLibvirtMachineClass;

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
typedef struct _Block9Data Block9Data;

#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

struct _BoxesActionsPopover {
	GtkPopover parent_instance;
	BoxesActionsPopoverPrivate * priv;
};

struct _BoxesActionsPopoverClass {
	GtkPopoverClass parent_class;
};

struct _BoxesActionsPopoverPrivate {
	BoxesAppWindow* window;
	GSimpleActionGroup* action_group;
};

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUIIface {
	GTypeInterface parent_iface;
	BoxesUIState (*get_previous_ui_state) (BoxesUI* self);
	void (*set_previous_ui_state) (BoxesUI* self, BoxesUIState value);
	BoxesUIState (*get_ui_state) (BoxesUI* self);
	void (*set_ui_state) (BoxesUI* self, BoxesUIState value);
};

struct _BoxesCollectionItem {
	GObject parent_instance;
	BoxesCollectionItemPrivate * priv;
};

struct _BoxesCollectionItemClass {
	GObjectClass parent_class;
	gint (*compare) (BoxesCollectionItem* self, BoxesCollectionItem* other);
};

typedef enum  {
	BOXES_PROPERTIES_PAGE_GENERAL,
	BOXES_PROPERTIES_PAGE_SYSTEM,
	BOXES_PROPERTIES_PAGE_DEVICES,
	BOXES_PROPERTIES_PAGE_SNAPSHOTS,
	BOXES_PROPERTIES_PAGE_LAST
} BoxesPropertiesPage;

typedef enum  {
	PROPERTY_CREATION_FLAG_NONE = 1 << 0,
	PROPERTY_CREATION_FLAG_NO_USB = 1 << 1
} PropertyCreationFlag;

struct _BoxesIPropertiesProviderIface {
	GTypeInterface parent_iface;
	GList* (*get_properties) (BoxesIPropertiesProvider* self, BoxesPropertiesPage page, PropertyCreationFlag* flags);
};

typedef enum  {
	BOXES_MACHINE_CONNECT_FLAGS_NONE = 0,
	BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE = 1 << 0
} BoxesMachineConnectFlags;

struct _BoxesMachine {
	BoxesCollectionItem parent_instance;
	BoxesMachinePrivate * priv;
	BoxesCollectionSource* source;
	BoxesBoxConfig* config;
	gboolean stay_on_display;
	gboolean suspend_at_exit;
};

struct _BoxesMachineClass {
	BoxesCollectionItemClass parent_class;
	void (*save_real) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*save_real_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*take_screenshot) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GdkPixbuf* (*take_screenshot_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	GList* (*get_properties) (BoxesMachine* self, BoxesPropertiesPage page, PropertyCreationFlag* flags);
	void (*connect_display) (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*connect_display_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*restart) (BoxesMachine* self);
	void (*disconnect_display) (BoxesMachine* self);
	void (*delete) (BoxesMachine* self, gboolean by_user);
	gboolean (*get_can_save) (BoxesMachine* self);
	gboolean (*get_should_autosave) (BoxesMachine* self);
};

struct _Block9Data {
	int _ref_count_;
	BoxesActionsPopover* self;
	BoxesMachine* machine;
};

typedef void (*BoxesAppUndoNotifyCallback) (void* user_data);

static gpointer boxes_actions_popover_parent_class = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_actions_popover_get_type (void) G_GNUC_CONST;
GType boxes_app_window_get_type (void) G_GNUC_CONST;
#define BOXES_ACTIONS_POPOVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopoverPrivate))
enum  {
	BOXES_ACTIONS_POPOVER_DUMMY_PROPERTY
};
static void boxes_actions_popover_open_in_new_win_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_open_in_new_win_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void boxes_actions_popover_favorite_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_favorite_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void boxes_actions_popover_pause_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_pause_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void boxes_actions_popover_force_shutdown_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_force_shutdown_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void boxes_actions_popover_delete_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_delete_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
static void boxes_actions_popover_properties_activated (BoxesActionsPopover* self);
static void _boxes_actions_popover_properties_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self);
BoxesActionsPopover* boxes_actions_popover_new (BoxesAppWindow* window);
BoxesActionsPopover* boxes_actions_popover_construct (GType object_type, BoxesAppWindow* window);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
void boxes_actions_popover_update_for_item (BoxesActionsPopover* self, BoxesCollectionItem* item);
GType boxes_machine_get_type (void) G_GNUC_CONST;
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
GType boxes_properties_page_get_type (void) G_GNUC_CONST;
GType property_creation_flag_get_type (void) G_GNUC_CONST;
GType boxes_property_get_type (void) G_GNUC_CONST;
GType boxes_iproperties_provider_get_type (void) G_GNUC_CONST;
GType boxes_machine_connect_flags_get_type (void) G_GNUC_CONST;
static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle);
GType boxes_libvirt_machine_get_type (void) G_GNUC_CONST;
gboolean boxes_machine_is_running (BoxesMachine* self);
gboolean boxes_machine_get_can_save (BoxesMachine* self);
gboolean boxes_machine_get_can_delete (BoxesMachine* self);
void boxes_app_window_set_current_item (BoxesAppWindow* self, BoxesCollectionItem* value);
GType boxes_app_get_type (void) G_GNUC_CONST;
void boxes_app_open_in_new_window (BoxesApp* self, BoxesMachine* machine);
BoxesCollectionItem* boxes_app_window_get_current_item (BoxesAppWindow* self);
static Block9Data* block9_data_ref (Block9Data* _data9_);
static void block9_data_unref (void * _userdata_);
void boxes_machine_save (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_save_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error);
static void __lambda56_ (Block9Data* _data9_, GObject* obj, GAsyncResult* _result_);
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
BoxesNotificationbar* boxes_app_window_get_notificationbar (BoxesAppWindow* self);
GdNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
static void ___lambda56__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self);
void boxes_libvirt_machine_force_shutdown (BoxesLibvirtMachine* self);
void boxes_ui_set_state (BoxesUI* self, BoxesUIState new_state);
void boxes_app_delete_machines_undoable (BoxesApp* self, GList* items, const gchar* message, BoxesAppUndoNotifyCallback undo_notify_callback, void* undo_notify_callback_target, GDestroyNotify undo_notify_callback_target_destroy_notify);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
void boxes_app_window_show_properties (BoxesAppWindow* self);
static void boxes_actions_popover_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 const GActionEntry BOXES_ACTIONS_POPOVER_action_entries[6] = {{"open-in-new-win", _boxes_actions_popover_open_in_new_win_activated_gsimple_action_activate_callback}, {"favorite", _boxes_actions_popover_favorite_activated_gsimple_action_activate_callback}, {"pause", _boxes_actions_popover_pause_activated_gsimple_action_activate_callback}, {"force_shutdown", _boxes_actions_popover_force_shutdown_activated_gsimple_action_activate_callback}, {"delete", _boxes_actions_popover_delete_activated_gsimple_action_activate_callback}, {"properties", _boxes_actions_popover_properties_activated_gsimple_action_activate_callback}};

static void _boxes_actions_popover_open_in_new_win_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_open_in_new_win_activated ((BoxesActionsPopover*) self);
#line 298 "actions-popover.c"
}


static void _boxes_actions_popover_favorite_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_favorite_activated ((BoxesActionsPopover*) self);
#line 305 "actions-popover.c"
}


static void _boxes_actions_popover_pause_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_pause_activated ((BoxesActionsPopover*) self);
#line 312 "actions-popover.c"
}


static void _boxes_actions_popover_force_shutdown_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_force_shutdown_activated ((BoxesActionsPopover*) self);
#line 319 "actions-popover.c"
}


static void _boxes_actions_popover_delete_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_delete_activated ((BoxesActionsPopover*) self);
#line 326 "actions-popover.c"
}


static void _boxes_actions_popover_properties_activated_gsimple_action_activate_callback (GSimpleAction* action, GVariant* parameter, gpointer self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_properties_activated ((BoxesActionsPopover*) self);
#line 333 "actions-popover.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	return self ? g_object_ref (self) : NULL;
#line 340 "actions-popover.c"
}


BoxesActionsPopover* boxes_actions_popover_construct (GType object_type, BoxesAppWindow* window) {
	BoxesActionsPopover * self = NULL;
	BoxesAppWindow* _tmp0_ = NULL;
	BoxesAppWindow* _tmp1_ = NULL;
	GSimpleActionGroup* _tmp2_ = NULL;
	GSimpleActionGroup* _tmp3_ = NULL;
	GSimpleActionGroup* _tmp4_ = NULL;
	AtkObject* a11y = NULL;
	AtkObject* _tmp5_ = NULL;
	AtkObject* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_val_if_fail (window != NULL, NULL);
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self = (BoxesActionsPopover*) g_object_new (object_type, NULL);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = window;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (self->priv->window);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self->priv->window = _tmp1_;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = g_simple_action_group_new ();
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (self->priv->action_group);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self->priv->action_group = _tmp2_;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = self->priv->action_group;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_action_map_add_action_entries ((GActionMap*) _tmp3_, BOXES_ACTIONS_POPOVER_action_entries, G_N_ELEMENTS (BOXES_ACTIONS_POPOVER_action_entries), self);
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp4_ = self->priv->action_group;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	gtk_widget_insert_action_group ((GtkWidget*) self, "box", (GActionGroup*) _tmp4_);
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp5_ = gtk_widget_get_accessible ((GtkWidget*) self);
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	a11y = _tmp6_;
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	a11y->role = ATK_ROLE_POPUP_MENU;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp7_ = _ ("Box actions");
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	a11y->name = _tmp7_;
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (a11y);
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	return self;
#line 397 "actions-popover.c"
}


BoxesActionsPopover* boxes_actions_popover_new (BoxesAppWindow* window) {
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	return boxes_actions_popover_construct (BOXES_TYPE_ACTIONS_POPOVER, window);
#line 404 "actions-popover.c"
}


static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle) {
	int i;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	for (i = 0; i < stack_length; i++) {
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		if (g_strcmp0 (stack[i], needle) == 0) {
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
			return TRUE;
#line 416 "actions-popover.c"
		}
	}
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	return FALSE;
#line 421 "actions-popover.c"
}


void boxes_actions_popover_update_for_item (BoxesActionsPopover* self, BoxesCollectionItem* item) {
	BoxesCollectionItem* _tmp0_ = NULL;
	BoxesMachine* machine = NULL;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesMachine* _tmp2_ = NULL;
	GMenu* menu = NULL;
	GMenu* _tmp3_ = NULL;
	GMenu* section = NULL;
	GMenu* _tmp4_ = NULL;
	BoxesAppWindow* _tmp5_ = NULL;
	BoxesUIState _tmp6_ = 0;
	BoxesUIState _tmp7_ = 0;
	BoxesMachine* _tmp10_ = NULL;
	BoxesBoxConfig* _tmp11_ = NULL;
	gchar** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	gchar** _tmp13_ = NULL;
	gint _tmp13__length1 = 0;
	gchar** _tmp14_ = NULL;
	gint _tmp14__length1 = 0;
	gboolean _tmp15_ = FALSE;
	GMenu* _tmp20_ = NULL;
	GMenu* _tmp21_ = NULL;
	GMenu* _tmp22_ = NULL;
	BoxesMachine* _tmp23_ = NULL;
	GMenu* _tmp32_ = NULL;
	const gchar* _tmp33_ = NULL;
	GSimpleAction* action = NULL;
	GSimpleActionGroup* _tmp34_ = NULL;
	GAction* _tmp35_ = NULL;
	GSimpleAction* _tmp36_ = NULL;
	GSimpleAction* _tmp37_ = NULL;
	BoxesMachine* _tmp38_ = NULL;
	gboolean _tmp39_ = FALSE;
	gboolean _tmp40_ = FALSE;
	BoxesAppWindow* _tmp41_ = NULL;
	BoxesUIState _tmp42_ = 0;
	BoxesUIState _tmp43_ = 0;
	GMenu* _tmp53_ = NULL;
	GMenu* _tmp54_ = NULL;
	GMenu* _tmp55_ = NULL;
	GMenu* _tmp56_ = NULL;
	const gchar* _tmp57_ = NULL;
	GMenu* _tmp58_ = NULL;
	GMenu* _tmp59_ = NULL;
	GMenu* _tmp60_ = NULL;
	BoxesAppWindow* _tmp61_ = NULL;
	BoxesCollectionItem* _tmp62_ = NULL;
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (item != NULL);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = item;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_MACHINE));
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = item;
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp1_) : NULL);
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	machine = _tmp2_;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = g_menu_new ();
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	menu = _tmp3_;
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp4_ = g_menu_new ();
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	section = _tmp4_;
#line 37 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp5_ = self->priv->window;
#line 37 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp6_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp5_);
#line 37 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp7_ = _tmp6_;
#line 37 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (_tmp7_ != BOXES_UI_STATE_DISPLAY) {
#line 503 "actions-popover.c"
		GMenu* _tmp8_ = NULL;
		const gchar* _tmp9_ = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp8_ = section;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp9_ = _ ("Open in New Window");
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_menu_append (_tmp8_, _tmp9_, "box.open-in-new-win");
#line 512 "actions-popover.c"
	}
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp10_ = machine;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp11_ = _tmp10_->config;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp12_ = boxes_box_config_get_categories (_tmp11_, &_tmp12__length1);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp13_ = _tmp12_;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp13__length1 = _tmp12__length1;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp14_ = _tmp13_;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp14__length1 = _tmp13__length1;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp15_ = _vala_string_array_contains (_tmp14_, _tmp13__length1, "favorite");
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (_tmp15_) {
#line 534 "actions-popover.c"
		GMenu* _tmp16_ = NULL;
		const gchar* _tmp17_ = NULL;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp16_ = section;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp17_ = _ ("Remove from Favorites");
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_menu_append (_tmp16_, _tmp17_, "box.favorite");
#line 543 "actions-popover.c"
	} else {
		GMenu* _tmp18_ = NULL;
		const gchar* _tmp19_ = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp18_ = section;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp19_ = _ ("Add to Favorites");
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_menu_append (_tmp18_, _tmp19_, "box.favorite");
#line 553 "actions-popover.c"
	}
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp20_ = menu;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp21_ = section;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_menu_append_section (_tmp20_, NULL, (GMenuModel*) _tmp21_);
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp22_ = g_menu_new ();
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (section);
#line 48 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	section = _tmp22_;
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp23_ = machine;
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, BOXES_TYPE_LIBVIRT_MACHINE)) {
#line 571 "actions-popover.c"
		GMenu* _tmp24_ = NULL;
		const gchar* _tmp25_ = NULL;
		GSimpleAction* action = NULL;
		GSimpleActionGroup* _tmp26_ = NULL;
		GAction* _tmp27_ = NULL;
		GSimpleAction* _tmp28_ = NULL;
		GSimpleAction* _tmp29_ = NULL;
		BoxesMachine* _tmp30_ = NULL;
		gboolean _tmp31_ = FALSE;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp24_ = section;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp25_ = _ ("Force Shutdown");
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_menu_append (_tmp24_, _tmp25_, "box.force_shutdown");
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp26_ = self->priv->action_group;
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp27_ = g_action_map_lookup_action ((GActionMap*) _tmp26_, "force_shutdown");
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp27_) : NULL);
#line 52 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		action = _tmp28_;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp29_ = action;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp30_ = machine;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp31_ = boxes_machine_is_running (_tmp30_);
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_simple_action_set_enabled (_tmp29_, _tmp31_);
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_object_unref0 (action);
#line 605 "actions-popover.c"
	}
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp32_ = section;
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp33_ = _ ("Pause");
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_menu_append (_tmp32_, _tmp33_, "box.pause");
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp34_ = self->priv->action_group;
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp35_ = g_action_map_lookup_action ((GActionMap*) _tmp34_, "pause");
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp36_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp35_) : NULL);
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	action = _tmp36_;
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp37_ = action;
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp38_ = machine;
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp39_ = boxes_machine_get_can_save (_tmp38_);
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp40_ = _tmp39_;
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_simple_action_set_enabled (_tmp37_, _tmp40_);
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp41_ = self->priv->window;
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp42_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp41_);
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp43_ = _tmp42_;
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (_tmp43_ != BOXES_UI_STATE_DISPLAY) {
#line 639 "actions-popover.c"
		GMenu* _tmp44_ = NULL;
		const gchar* _tmp45_ = NULL;
		GSimpleActionGroup* _tmp46_ = NULL;
		GAction* _tmp47_ = NULL;
		GSimpleAction* _tmp48_ = NULL;
		GSimpleAction* _tmp49_ = NULL;
		BoxesMachine* _tmp50_ = NULL;
		gboolean _tmp51_ = FALSE;
		gboolean _tmp52_ = FALSE;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp44_ = section;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp45_ = _ ("Delete");
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_menu_append (_tmp44_, _tmp45_, "box.delete");
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp46_ = self->priv->action_group;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp47_ = g_action_map_lookup_action ((GActionMap*) _tmp46_, "delete");
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp47_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp47_) : NULL);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_object_unref0 (action);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		action = _tmp48_;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp49_ = action;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp50_ = machine;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp51_ = boxes_machine_get_can_delete (_tmp50_);
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp52_ = _tmp51_;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_simple_action_set_enabled (_tmp49_, _tmp52_);
#line 675 "actions-popover.c"
	}
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp53_ = menu;
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp54_ = section;
#line 68 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_menu_append_section (_tmp53_, NULL, (GMenuModel*) _tmp54_);
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp55_ = g_menu_new ();
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (section);
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	section = _tmp55_;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp56_ = section;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp57_ = _ ("Properties");
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_menu_append (_tmp56_, _tmp57_, "box.properties");
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp58_ = menu;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp59_ = section;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_menu_append_section (_tmp58_, NULL, (GMenuModel*) _tmp59_);
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp60_ = menu;
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	gtk_popover_bind_model ((GtkPopover*) self, (GMenuModel*) _tmp60_, NULL);
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp61_ = self->priv->window;
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp62_ = item;
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_app_window_set_current_item (_tmp61_, _tmp62_);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (action);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (section);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (menu);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (machine);
#line 719 "actions-popover.c"
}


static void boxes_actions_popover_open_in_new_win_activated (BoxesActionsPopover* self) {
	BoxesApp* _tmp0_ = NULL;
	BoxesAppWindow* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesCollectionItem* _tmp3_ = NULL;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = boxes_app_app;
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = self->priv->window;
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = boxes_app_window_get_current_item (_tmp1_);
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = _tmp2_;
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_app_open_in_new_window (_tmp0_, G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp3_) : NULL);
#line 740 "actions-popover.c"
}


static void boxes_actions_popover_favorite_activated (BoxesActionsPopover* self) {
	BoxesMachine* machine = NULL;
	BoxesAppWindow* _tmp0_ = NULL;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesMachine* _tmp3_ = NULL;
	gboolean enabled = FALSE;
	BoxesBoxConfig* _tmp4_ = NULL;
	gchar** _tmp5_ = NULL;
	gint _tmp5__length1 = 0;
	gchar** _tmp6_ = NULL;
	gint _tmp6__length1 = 0;
	gchar** _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	gboolean _tmp8_ = FALSE;
	BoxesBoxConfig* _tmp9_ = NULL;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = self->priv->window;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = boxes_app_window_get_current_item (_tmp0_);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = _tmp1_;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	machine = _tmp3_;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp4_ = machine->config;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp5_ = boxes_box_config_get_categories (_tmp4_, &_tmp5__length1);
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp6_ = _tmp5_;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp6__length1 = _tmp5__length1;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp7_ = _tmp6_;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp7__length1 = _tmp6__length1;
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp8_ = !_vala_string_array_contains (_tmp7_, _tmp6__length1, "favorite");
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
#line 85 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	enabled = _tmp8_;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp9_ = machine->config;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_box_config_set_category (_tmp9_, "favorite", enabled);
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (machine);
#line 796 "actions-popover.c"
}


static Block9Data* block9_data_ref (Block9Data* _data9_) {
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_atomic_int_inc (&_data9_->_ref_count_);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	return _data9_;
#line 805 "actions-popover.c"
}


static void block9_data_unref (void * _userdata_) {
	Block9Data* _data9_;
	_data9_ = (Block9Data*) _userdata_;
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) {
#line 814 "actions-popover.c"
		BoxesActionsPopover* self;
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		self = _data9_->self;
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_object_unref0 (_data9_->machine);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_object_unref0 (self);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_slice_free (Block9Data, _data9_);
#line 824 "actions-popover.c"
	}
}


static void __lambda56_ (Block9Data* _data9_, GObject* obj, GAsyncResult* _result_) {
	BoxesActionsPopover* self;
	GError * _inner_error_ = NULL;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self = _data9_->self;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (_result_ != NULL);
#line 836 "actions-popover.c"
	{
		GAsyncResult* _tmp0_ = NULL;
#line 94 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp0_ = _result_;
#line 94 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		boxes_machine_save_finish (_data9_->machine, _tmp0_, &_inner_error_);
#line 94 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 845 "actions-popover.c"
			goto __catch5_g_error;
		}
	}
	goto __finally5;
	__catch5_g_error:
	{
		GError* e = NULL;
		BoxesAppWindow* _tmp1_ = NULL;
		BoxesNotificationbar* _tmp2_ = NULL;
		BoxesNotificationbar* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
		const gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		GdNotification* _tmp9_ = NULL;
		GdNotification* _tmp10_ = NULL;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		e = _inner_error_;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_inner_error_ = NULL;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp1_ = self->priv->window;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp2_ = boxes_app_window_get_notificationbar (_tmp1_);
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp3_ = _tmp2_;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp4_ = _ ("Pausing '%s' failed");
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp5_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data9_->machine);
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp6_ = _tmp5_;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp7_ = g_strdup_printf (_tmp4_, _tmp6_);
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp8_ = _tmp7_;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp9_ = boxes_notificationbar_display_error (_tmp3_, _tmp8_, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_tmp10_ = _tmp9_;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_object_unref0 (_tmp10_);
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_free0 (_tmp8_);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		_g_error_free0 (e);
#line 893 "actions-popover.c"
	}
	__finally5:
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.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 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		g_clear_error (&_inner_error_);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
		return;
#line 904 "actions-popover.c"
	}
}


static void ___lambda56__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) {
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	__lambda56_ (self, source_object, res);
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	block9_data_unref (self);
#line 914 "actions-popover.c"
}


static void boxes_actions_popover_pause_activated (BoxesActionsPopover* self) {
	Block9Data* _data9_;
	BoxesAppWindow* _tmp0_ = NULL;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesMachine* _tmp3_ = NULL;
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_data9_ = g_slice_new0 (Block9Data);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_data9_->_ref_count_ = 1;
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_data9_->self = g_object_ref (self);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = self->priv->window;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = boxes_app_window_get_current_item (_tmp0_);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = _tmp1_;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_data9_->machine = _tmp3_;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_machine_save (_data9_->machine, ___lambda56__gasync_ready_callback, block9_data_ref (_data9_));
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	block9_data_unref (_data9_);
#line 89 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_data9_ = NULL;
#line 948 "actions-popover.c"
}


static void boxes_actions_popover_force_shutdown_activated (BoxesActionsPopover* self) {
	BoxesLibvirtMachine* machine = NULL;
	BoxesAppWindow* _tmp0_ = NULL;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesLibvirtMachine* _tmp3_ = NULL;
#line 101 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = self->priv->window;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = boxes_app_window_get_current_item (_tmp0_);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = _tmp1_;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_LIBVIRT_MACHINE) ? ((BoxesLibvirtMachine*) _tmp2_) : NULL);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	machine = _tmp3_;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_libvirt_machine_force_shutdown (machine);
#line 101 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (machine);
#line 974 "actions-popover.c"
}


static void _g_object_unref0_ (gpointer var) {
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 981 "actions-popover.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_list_free (self);
#line 990 "actions-popover.c"
}


static void boxes_actions_popover_delete_activated (BoxesActionsPopover* self) {
	BoxesAppWindow* _tmp0_ = NULL;
	GList* items = NULL;
	BoxesAppWindow* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesCollectionItem* _tmp3_ = NULL;
	BoxesCollectionItem* _tmp4_ = NULL;
	BoxesApp* _tmp5_ = NULL;
	GList* _tmp6_ = NULL;
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = self->priv->window;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp0_, BOXES_UI_STATE_COLLECTION);
#line 110 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	items = NULL;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp1_ = self->priv->window;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp2_ = boxes_app_window_get_current_item (_tmp1_);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp3_ = _tmp2_;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	items = g_list_append (items, _tmp4_);
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp5_ = boxes_app_app;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp6_ = items;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	items = NULL;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_app_delete_machines_undoable (_tmp5_, _tmp6_, NULL, NULL, NULL, NULL);
#line 107 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	__g_list_free__g_object_unref0_0 (items);
#line 1031 "actions-popover.c"
}


static void boxes_actions_popover_properties_activated (BoxesActionsPopover* self) {
	BoxesAppWindow* _tmp0_ = NULL;
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_return_if_fail (self != NULL);
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_tmp0_ = self->priv->window;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_app_window_show_properties (_tmp0_);
#line 1043 "actions-popover.c"
}


static void boxes_actions_popover_class_init (BoxesActionsPopoverClass * klass) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	boxes_actions_popover_parent_class = g_type_class_peek_parent (klass);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	g_type_class_add_private (klass, sizeof (BoxesActionsPopoverPrivate));
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_actions_popover_finalize;
#line 1054 "actions-popover.c"
}


static void boxes_actions_popover_instance_init (BoxesActionsPopover * self) {
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self->priv = BOXES_ACTIONS_POPOVER_GET_PRIVATE (self);
#line 1061 "actions-popover.c"
}


static void boxes_actions_popover_finalize (GObject* obj) {
	BoxesActionsPopover * self;
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopover);
#line 13 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (self->priv->window);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	_g_object_unref0 (self->priv->action_group);
#line 3 "/home/zeenix/checkout/gnome/gnome-boxes/src/actions-popover.vala"
	G_OBJECT_CLASS (boxes_actions_popover_parent_class)->finalize (obj);
#line 1075 "actions-popover.c"
}


GType boxes_actions_popover_get_type (void) {
	static volatile gsize boxes_actions_popover_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_actions_popover_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesActionsPopoverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_actions_popover_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesActionsPopover), 0, (GInstanceInitFunc) boxes_actions_popover_instance_init, NULL };
		GType boxes_actions_popover_type_id;
		boxes_actions_popover_type_id = g_type_register_static (gtk_popover_get_type (), "BoxesActionsPopover", &g_define_type_info, 0);
		g_once_init_leave (&boxes_actions_popover_type_id__volatile, boxes_actions_popover_type_id);
	}
	return boxes_actions_popover_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);
}



