/* remove-dialog.c generated by valac 0.56.19, the Vala compiler
 * generated from remove-dialog.vala, do not modify */

#include <adwaita.h>
#include <glib-object.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gtk/gtk.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG (proton_plus_widgets_remove_dialog_get_type ())
#define PROTON_PLUS_WIDGETS_REMOVE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, ProtonPlusWidgetsRemoveDialog))
#define PROTON_PLUS_WIDGETS_REMOVE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, ProtonPlusWidgetsRemoveDialogClass))
#define PROTON_PLUS_WIDGETS_IS_REMOVE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG))
#define PROTON_PLUS_WIDGETS_IS_REMOVE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG))
#define PROTON_PLUS_WIDGETS_REMOVE_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, ProtonPlusWidgetsRemoveDialogClass))

typedef struct _ProtonPlusWidgetsRemoveDialog ProtonPlusWidgetsRemoveDialog;
typedef struct _ProtonPlusWidgetsRemoveDialogClass ProtonPlusWidgetsRemoveDialogClass;
typedef struct _ProtonPlusWidgetsRemoveDialogPrivate ProtonPlusWidgetsRemoveDialogPrivate;

#define PROTON_PLUS_MODELS_TYPE_BASE_RELEASE (proton_plus_models_base_release_get_type ())
#define PROTON_PLUS_MODELS_BASE_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_BASE_RELEASE, ProtonPlusModelsBaseRelease))
#define PROTON_PLUS_MODELS_BASE_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_BASE_RELEASE, ProtonPlusModelsBaseReleaseClass))
#define PROTON_PLUS_MODELS_IS_BASE_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_BASE_RELEASE))
#define PROTON_PLUS_MODELS_IS_BASE_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_BASE_RELEASE))
#define PROTON_PLUS_MODELS_BASE_RELEASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_BASE_RELEASE, ProtonPlusModelsBaseReleaseClass))

typedef struct _ProtonPlusModelsBaseRelease ProtonPlusModelsBaseRelease;
typedef struct _ProtonPlusModelsBaseReleaseClass ProtonPlusModelsBaseReleaseClass;

#define PROTON_PLUS_MODELS_TYPE_PARAMETERS (proton_plus_models_parameters_get_type ())
#define PROTON_PLUS_MODELS_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_PARAMETERS, ProtonPlusModelsParameters))
#define PROTON_PLUS_MODELS_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_PARAMETERS, ProtonPlusModelsParametersClass))
#define PROTON_PLUS_MODELS_IS_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_PARAMETERS))
#define PROTON_PLUS_MODELS_IS_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_PARAMETERS))
#define PROTON_PLUS_MODELS_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_PARAMETERS, ProtonPlusModelsParametersClass))

typedef struct _ProtonPlusModelsParameters ProtonPlusModelsParameters;
typedef struct _ProtonPlusModelsParametersClass ProtonPlusModelsParametersClass;
enum  {
	PROTON_PLUS_WIDGETS_REMOVE_DIALOG_0_PROPERTY,
	PROTON_PLUS_WIDGETS_REMOVE_DIALOG_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_remove_dialog_properties[PROTON_PLUS_WIDGETS_REMOVE_DIALOG_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define PROTON_PLUS_MODELS_TYPE_RUNNER (proton_plus_models_runner_get_type ())
#define PROTON_PLUS_MODELS_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_RUNNER, ProtonPlusModelsRunner))
#define PROTON_PLUS_MODELS_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_RUNNER, ProtonPlusModelsRunnerClass))
#define PROTON_PLUS_MODELS_IS_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_RUNNER))
#define PROTON_PLUS_MODELS_IS_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_RUNNER))
#define PROTON_PLUS_MODELS_RUNNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_RUNNER, ProtonPlusModelsRunnerClass))

typedef struct _ProtonPlusModelsRunner ProtonPlusModelsRunner;
typedef struct _ProtonPlusModelsRunnerClass ProtonPlusModelsRunnerClass;

#define PROTON_PLUS_MODELS_TYPE_GROUP (proton_plus_models_group_get_type ())
#define PROTON_PLUS_MODELS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_GROUP, ProtonPlusModelsGroup))
#define PROTON_PLUS_MODELS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_GROUP, ProtonPlusModelsGroupClass))
#define PROTON_PLUS_MODELS_IS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_GROUP))
#define PROTON_PLUS_MODELS_IS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_GROUP))
#define PROTON_PLUS_MODELS_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_GROUP, ProtonPlusModelsGroupClass))

typedef struct _ProtonPlusModelsGroup ProtonPlusModelsGroup;
typedef struct _ProtonPlusModelsGroupClass ProtonPlusModelsGroupClass;

#define PROTON_PLUS_MODELS_TYPE_LAUNCHER (proton_plus_models_launcher_get_type ())
#define PROTON_PLUS_MODELS_LAUNCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_LAUNCHER, ProtonPlusModelsLauncher))
#define PROTON_PLUS_MODELS_LAUNCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_LAUNCHER, ProtonPlusModelsLauncherClass))
#define PROTON_PLUS_MODELS_IS_LAUNCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_LAUNCHER))
#define PROTON_PLUS_MODELS_IS_LAUNCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_LAUNCHER))
#define PROTON_PLUS_MODELS_LAUNCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_LAUNCHER, ProtonPlusModelsLauncherClass))

typedef struct _ProtonPlusModelsLauncher ProtonPlusModelsLauncher;
typedef struct _ProtonPlusModelsLauncherClass ProtonPlusModelsLauncherClass;

#define PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM (proton_plus_models_launchers_steam_get_type ())
#define PROTON_PLUS_MODELS_LAUNCHERS_STEAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM, ProtonPlusModelsLaunchersSteam))
#define PROTON_PLUS_MODELS_LAUNCHERS_STEAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM, ProtonPlusModelsLaunchersSteamClass))
#define PROTON_PLUS_MODELS_LAUNCHERS_IS_STEAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM))
#define PROTON_PLUS_MODELS_LAUNCHERS_IS_STEAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM))
#define PROTON_PLUS_MODELS_LAUNCHERS_STEAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM, ProtonPlusModelsLaunchersSteamClass))

typedef struct _ProtonPlusModelsLaunchersSteam ProtonPlusModelsLaunchersSteam;
typedef struct _ProtonPlusModelsLaunchersSteamClass ProtonPlusModelsLaunchersSteamClass;

#define PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG (proton_plus_widgets_error_dialog_get_type ())
#define PROTON_PLUS_WIDGETS_ERROR_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG, ProtonPlusWidgetsErrorDialog))
#define PROTON_PLUS_WIDGETS_ERROR_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG, ProtonPlusWidgetsErrorDialogClass))
#define PROTON_PLUS_WIDGETS_IS_ERROR_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG))
#define PROTON_PLUS_WIDGETS_IS_ERROR_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG))
#define PROTON_PLUS_WIDGETS_ERROR_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_TYPE_ERROR_DIALOG, ProtonPlusWidgetsErrorDialogClass))

typedef struct _ProtonPlusWidgetsErrorDialog ProtonPlusWidgetsErrorDialog;
typedef struct _ProtonPlusWidgetsErrorDialogClass ProtonPlusWidgetsErrorDialogClass;

#define PROTON_PLUS_WIDGETS_TYPE_WINDOW (proton_plus_widgets_window_get_type ())
#define PROTON_PLUS_WIDGETS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_TYPE_WINDOW, ProtonPlusWidgetsWindow))
#define PROTON_PLUS_WIDGETS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_TYPE_WINDOW, ProtonPlusWidgetsWindowClass))
#define PROTON_PLUS_WIDGETS_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_TYPE_WINDOW))
#define PROTON_PLUS_WIDGETS_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_TYPE_WINDOW))
#define PROTON_PLUS_WIDGETS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_TYPE_WINDOW, ProtonPlusWidgetsWindowClass))

typedef struct _ProtonPlusWidgetsWindow ProtonPlusWidgetsWindow;
typedef struct _ProtonPlusWidgetsWindowClass ProtonPlusWidgetsWindowClass;
enum  {
	PROTON_PLUS_WIDGETS_REMOVE_DIALOG_DONE_SIGNAL,
	PROTON_PLUS_WIDGETS_REMOVE_DIALOG_NUM_SIGNALS
};
static guint proton_plus_widgets_remove_dialog_signals[PROTON_PLUS_WIDGETS_REMOVE_DIALOG_NUM_SIGNALS] = {0};

struct _ProtonPlusWidgetsRemoveDialog {
	AdwAlertDialog parent_instance;
	ProtonPlusWidgetsRemoveDialogPrivate * priv;
};

struct _ProtonPlusWidgetsRemoveDialogClass {
	AdwAlertDialogClass parent_class;
};

struct _ProtonPlusWidgetsRemoveDialogPrivate {
	ProtonPlusModelsBaseRelease* release;
	ProtonPlusModelsParameters* parameters;
};

static gint ProtonPlusWidgetsRemoveDialog_private_offset;
static gpointer proton_plus_widgets_remove_dialog_parent_class = NULL;
VALA_EXTERN ProtonPlusWidgetsWindow* proton_plus_widgets_application_window;

VALA_EXTERN GType proton_plus_widgets_remove_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsRemoveDialog, g_object_unref)
VALA_EXTERN GType proton_plus_models_base_release_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsBaseRelease, g_object_unref)
VALA_EXTERN GType proton_plus_models_parameters_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsParameters, g_object_unref)
VALA_EXTERN ProtonPlusWidgetsRemoveDialog* proton_plus_widgets_remove_dialog_new (ProtonPlusModelsBaseRelease* release,
                                                                      ProtonPlusModelsParameters* parameters);
VALA_EXTERN ProtonPlusWidgetsRemoveDialog* proton_plus_widgets_remove_dialog_construct (GType object_type,
                                                                            ProtonPlusModelsBaseRelease* release,
                                                                            ProtonPlusModelsParameters* parameters);
VALA_EXTERN const gchar* proton_plus_models_base_release_get_title (ProtonPlusModelsBaseRelease* self);
VALA_EXTERN GType proton_plus_models_runner_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsRunner, g_object_unref)
VALA_EXTERN ProtonPlusModelsRunner* proton_plus_models_base_release_get_runner (ProtonPlusModelsBaseRelease* self);
VALA_EXTERN GType proton_plus_models_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsGroup, g_object_unref)
VALA_EXTERN ProtonPlusModelsGroup* proton_plus_models_runner_get_group (ProtonPlusModelsRunner* self);
VALA_EXTERN GType proton_plus_models_launcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsLauncher, g_object_unref)
VALA_EXTERN ProtonPlusModelsLauncher* proton_plus_models_group_get_launcher (ProtonPlusModelsGroup* self);
VALA_EXTERN GType proton_plus_models_launchers_steam_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsLaunchersSteam, g_object_unref)
VALA_EXTERN gint proton_plus_models_launcher_get_compatibility_tool_usage_count (ProtonPlusModelsLauncher* self,
                                                                     const gchar* compatibility_tool_name);
static void proton_plus_widgets_remove_dialog_response_changed (ProtonPlusWidgetsRemoveDialog* self,
                                                         const gchar* response);
static void _proton_plus_widgets_remove_dialog_response_changed_adw_alert_dialog_response (AdwAlertDialog* _sender,
                                                                                    const gchar* response,
                                                                                    gpointer self);
VALA_EXTERN void proton_plus_models_base_release_remove (ProtonPlusModelsBaseRelease* self,
                                             ProtonPlusModelsParameters* parameters,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN gboolean proton_plus_models_base_release_remove_finish (ProtonPlusModelsBaseRelease* self,
                                                        GAsyncResult* _res_);
static void __lambda12_ (ProtonPlusWidgetsRemoveDialog* self,
                  GObject* obj,
                  GAsyncResult* res);
VALA_EXTERN GType proton_plus_widgets_error_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsErrorDialog, g_object_unref)
VALA_EXTERN ProtonPlusWidgetsErrorDialog* proton_plus_widgets_error_dialog_new (const gchar* heading,
                                                                    const gchar* body);
VALA_EXTERN ProtonPlusWidgetsErrorDialog* proton_plus_widgets_error_dialog_construct (GType object_type,
                                                                          const gchar* heading,
                                                                          const gchar* body);
VALA_EXTERN GType proton_plus_widgets_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsWindow, g_object_unref)
static void ___lambda12__gasync_ready_callback (GObject* source_object,
                                         GAsyncResult* res,
                                         gpointer self);
static void proton_plus_widgets_remove_dialog_finalize (GObject * obj);
static GType proton_plus_widgets_remove_dialog_get_type_once (void);

static inline gpointer
proton_plus_widgets_remove_dialog_get_instance_private (ProtonPlusWidgetsRemoveDialog* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsRemoveDialog_private_offset);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
_proton_plus_widgets_remove_dialog_response_changed_adw_alert_dialog_response (AdwAlertDialog* _sender,
                                                                               const gchar* response,
                                                                               gpointer self)
{
	proton_plus_widgets_remove_dialog_response_changed ((ProtonPlusWidgetsRemoveDialog*) self, response);
}

ProtonPlusWidgetsRemoveDialog*
proton_plus_widgets_remove_dialog_construct (GType object_type,
                                             ProtonPlusModelsBaseRelease* release,
                                             ProtonPlusModelsParameters* parameters)
{
	ProtonPlusWidgetsRemoveDialog * self = NULL;
	ProtonPlusModelsBaseRelease* _tmp0_;
	ProtonPlusModelsParameters* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	ProtonPlusModelsRunner* _tmp10_;
	ProtonPlusModelsRunner* _tmp11_;
	ProtonPlusModelsGroup* _tmp12_;
	ProtonPlusModelsGroup* _tmp13_;
	ProtonPlusModelsLauncher* _tmp14_;
	ProtonPlusModelsLauncher* _tmp15_;
	g_return_val_if_fail (release != NULL, NULL);
	g_return_val_if_fail (parameters != NULL, NULL);
	self = (ProtonPlusWidgetsRemoveDialog*) g_object_new (object_type, NULL);
	_tmp0_ = _g_object_ref0 (release);
	_g_object_unref0 (self->priv->release);
	self->priv->release = _tmp0_;
	_tmp1_ = _g_object_ref0 (parameters);
	_g_object_unref0 (self->priv->parameters);
	self->priv->parameters = _tmp1_;
	_tmp2_ = proton_plus_models_base_release_get_title (release);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strdup_printf (_ ("Delete %s?"), _tmp3_);
	_tmp5_ = _tmp4_;
	adw_alert_dialog_set_heading ((AdwAlertDialog*) self, _tmp5_);
	_g_free0 (_tmp5_);
	_tmp6_ = proton_plus_models_base_release_get_title (release);
	_tmp7_ = _tmp6_;
	_tmp8_ = g_strdup_printf (_ ("%s will be permanently deleted."), _tmp7_);
	_tmp9_ = _tmp8_;
	adw_alert_dialog_set_body ((AdwAlertDialog*) self, _tmp9_);
	_g_free0 (_tmp9_);
	_tmp10_ = proton_plus_models_base_release_get_runner (release);
	_tmp11_ = _tmp10_;
	_tmp12_ = proton_plus_models_runner_get_group (_tmp11_);
	_tmp13_ = _tmp12_;
	_tmp14_ = proton_plus_models_group_get_launcher (_tmp13_);
	_tmp15_ = _tmp14_;
	if (PROTON_PLUS_MODELS_LAUNCHERS_IS_STEAM (_tmp15_)) {
		ProtonPlusModelsLaunchersSteam* steam_launcher = NULL;
		ProtonPlusModelsRunner* _tmp16_;
		ProtonPlusModelsRunner* _tmp17_;
		ProtonPlusModelsGroup* _tmp18_;
		ProtonPlusModelsGroup* _tmp19_;
		ProtonPlusModelsLauncher* _tmp20_;
		ProtonPlusModelsLauncher* _tmp21_;
		ProtonPlusModelsLaunchersSteam* _tmp22_;
		const gchar* _tmp23_ = NULL;
		const gchar* _tmp24_;
		const gchar* _tmp25_;
		gint usage_count = 0;
		ProtonPlusModelsLaunchersSteam* _tmp28_;
		_tmp16_ = proton_plus_models_base_release_get_runner (release);
		_tmp17_ = _tmp16_;
		_tmp18_ = proton_plus_models_runner_get_group (_tmp17_);
		_tmp19_ = _tmp18_;
		_tmp20_ = proton_plus_models_group_get_launcher (_tmp19_);
		_tmp21_ = _tmp20_;
		_tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, PROTON_PLUS_MODELS_LAUNCHERS_TYPE_STEAM, ProtonPlusModelsLaunchersSteam));
		steam_launcher = _tmp22_;
		_tmp24_ = proton_plus_models_base_release_get_title (release);
		_tmp25_ = _tmp24_;
		if (g_strcmp0 (_tmp25_, "SteamTinkerLaunch") != 0) {
			const gchar* _tmp26_;
			const gchar* _tmp27_;
			_tmp26_ = proton_plus_models_base_release_get_title (release);
			_tmp27_ = _tmp26_;
			_tmp23_ = _tmp27_;
		} else {
			_tmp23_ = "Proton-stl";
		}
		_tmp28_ = steam_launcher;
		usage_count = proton_plus_models_launcher_get_compatibility_tool_usage_count ((ProtonPlusModelsLauncher*) _tmp28_, _tmp23_);
		if (usage_count > 0) {
			gchar* body = NULL;
			gchar* _tmp29_;
			const gchar* _tmp31_;
			const gchar* _tmp32_;
			const gchar* _tmp33_;
			gchar* _tmp34_;
			gchar* _tmp35_;
			gchar* _tmp36_;
			gchar* _tmp37_;
			_tmp29_ = g_strdup_printf (_ ("Used by %i games."), usage_count);
			body = _tmp29_;
			if (usage_count == 1) {
				gchar* _tmp30_;
				_tmp30_ = g_strdup (_ ("Used by 1 game."));
				_g_free0 (body);
				body = _tmp30_;
			}
			_tmp31_ = body;
			_tmp32_ = proton_plus_models_base_release_get_title (release);
			_tmp33_ = _tmp32_;
			_tmp34_ = g_strdup_printf (_ ("%s will be permanently deleted."), _tmp33_);
			_tmp35_ = _tmp34_;
			_tmp36_ = g_strdup_printf ("%s\n\n%s", _tmp31_, _tmp35_);
			_tmp37_ = _tmp36_;
			adw_alert_dialog_set_body ((AdwAlertDialog*) self, _tmp37_);
			_g_free0 (_tmp37_);
			_g_free0 (_tmp35_);
			_g_free0 (body);
		}
		_g_object_unref0 (steam_launcher);
	}
	adw_alert_dialog_add_response ((AdwAlertDialog*) self, "cancel", _ ("Cancel"));
	adw_alert_dialog_add_response ((AdwAlertDialog*) self, "delete", _ ("Delete"));
	adw_alert_dialog_set_response_appearance ((AdwAlertDialog*) self, "cancel", ADW_RESPONSE_DEFAULT);
	adw_alert_dialog_set_response_appearance ((AdwAlertDialog*) self, "delete", ADW_RESPONSE_DESTRUCTIVE);
	adw_alert_dialog_set_default_response ((AdwAlertDialog*) self, "cancel");
	adw_alert_dialog_set_close_response ((AdwAlertDialog*) self, "cancel");
	g_signal_connect_object ((AdwAlertDialog*) self, "response", (GCallback) _proton_plus_widgets_remove_dialog_response_changed_adw_alert_dialog_response, self, 0);
	return self;
}

ProtonPlusWidgetsRemoveDialog*
proton_plus_widgets_remove_dialog_new (ProtonPlusModelsBaseRelease* release,
                                       ProtonPlusModelsParameters* parameters)
{
	return proton_plus_widgets_remove_dialog_construct (PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, release, parameters);
}

static void
__lambda12_ (ProtonPlusWidgetsRemoveDialog* self,
             GObject* obj,
             GAsyncResult* res)
{
	gboolean success = FALSE;
	ProtonPlusModelsBaseRelease* _tmp0_;
	g_return_if_fail (res != NULL);
	_tmp0_ = self->priv->release;
	success = proton_plus_models_base_release_remove_finish (_tmp0_, res);
	g_signal_emit (self, proton_plus_widgets_remove_dialog_signals[PROTON_PLUS_WIDGETS_REMOVE_DIALOG_DONE_SIGNAL], 0, success);
	if (!success) {
		ProtonPlusWidgetsErrorDialog* dialog = NULL;
		ProtonPlusModelsBaseRelease* _tmp1_;
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		gchar* _tmp4_;
		gchar* _tmp5_;
		ProtonPlusWidgetsErrorDialog* _tmp6_;
		ProtonPlusWidgetsErrorDialog* _tmp7_;
		ProtonPlusWidgetsErrorDialog* _tmp8_;
		ProtonPlusWidgetsWindow* _tmp9_;
		_tmp1_ = self->priv->release;
		_tmp2_ = proton_plus_models_base_release_get_title (_tmp1_);
		_tmp3_ = _tmp2_;
		_tmp4_ = g_strdup_printf (_ ("Couldn't delete %s"), _tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = proton_plus_widgets_error_dialog_new (_tmp5_, _ ("Please report this issue on GitHub."));
		g_object_ref_sink (_tmp6_);
		_tmp7_ = _tmp6_;
		_g_free0 (_tmp5_);
		dialog = _tmp7_;
		_tmp8_ = dialog;
		_tmp9_ = proton_plus_widgets_application_window;
		adw_dialog_present ((AdwDialog*) _tmp8_, (GtkWidget*) _tmp9_);
		_g_object_unref0 (dialog);
	}
}

static void
___lambda12__gasync_ready_callback (GObject* source_object,
                                    GAsyncResult* res,
                                    gpointer self)
{
	__lambda12_ ((ProtonPlusWidgetsRemoveDialog*) self, source_object, res);
	g_object_unref (self);
}

static void
proton_plus_widgets_remove_dialog_response_changed (ProtonPlusWidgetsRemoveDialog* self,
                                                    const gchar* response)
{
	ProtonPlusModelsBaseRelease* _tmp0_;
	ProtonPlusModelsParameters* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (response != NULL);
	if (g_strcmp0 (response, "delete") != 0) {
		return;
	}
	_tmp0_ = self->priv->release;
	_tmp1_ = self->priv->parameters;
	proton_plus_models_base_release_remove (_tmp0_, _tmp1_, ___lambda12__gasync_ready_callback, g_object_ref (self));
}

static void
proton_plus_widgets_remove_dialog_class_init (ProtonPlusWidgetsRemoveDialogClass * klass,
                                              gpointer klass_data)
{
	proton_plus_widgets_remove_dialog_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsRemoveDialog_private_offset);
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_remove_dialog_finalize;
	proton_plus_widgets_remove_dialog_signals[PROTON_PLUS_WIDGETS_REMOVE_DIALOG_DONE_SIGNAL] = g_signal_new ("done", PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
}

static void
proton_plus_widgets_remove_dialog_instance_init (ProtonPlusWidgetsRemoveDialog * self,
                                                 gpointer klass)
{
	self->priv = proton_plus_widgets_remove_dialog_get_instance_private (self);
}

static void
proton_plus_widgets_remove_dialog_finalize (GObject * obj)
{
	ProtonPlusWidgetsRemoveDialog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_TYPE_REMOVE_DIALOG, ProtonPlusWidgetsRemoveDialog);
	_g_object_unref0 (self->priv->release);
	_g_object_unref0 (self->priv->parameters);
	G_OBJECT_CLASS (proton_plus_widgets_remove_dialog_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_remove_dialog_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsRemoveDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_remove_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsRemoveDialog), 0, (GInstanceInitFunc) proton_plus_widgets_remove_dialog_instance_init, NULL };
	GType proton_plus_widgets_remove_dialog_type_id;
	proton_plus_widgets_remove_dialog_type_id = g_type_register_static (adw_alert_dialog_get_type (), "ProtonPlusWidgetsRemoveDialog", &g_define_type_info, 0);
	ProtonPlusWidgetsRemoveDialog_private_offset = g_type_add_instance_private (proton_plus_widgets_remove_dialog_type_id, sizeof (ProtonPlusWidgetsRemoveDialogPrivate));
	return proton_plus_widgets_remove_dialog_type_id;
}

GType
proton_plus_widgets_remove_dialog_get_type (void)
{
	static volatile gsize proton_plus_widgets_remove_dialog_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_remove_dialog_type_id__once)) {
		GType proton_plus_widgets_remove_dialog_type_id;
		proton_plus_widgets_remove_dialog_type_id = proton_plus_widgets_remove_dialog_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_remove_dialog_type_id__once, proton_plus_widgets_remove_dialog_type_id);
	}
	return proton_plus_widgets_remove_dialog_type_id__once;
}

