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

#include <adwaita.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.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_RELEASE_ROW (proton_plus_widgets_release_row_get_type ())
#define PROTON_PLUS_WIDGETS_RELEASE_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW, ProtonPlusWidgetsReleaseRow))
#define PROTON_PLUS_WIDGETS_RELEASE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW, ProtonPlusWidgetsReleaseRowClass))
#define PROTON_PLUS_WIDGETS_IS_RELEASE_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW))
#define PROTON_PLUS_WIDGETS_IS_RELEASE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW))
#define PROTON_PLUS_WIDGETS_RELEASE_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW, ProtonPlusWidgetsReleaseRowClass))

typedef struct _ProtonPlusWidgetsReleaseRow ProtonPlusWidgetsReleaseRow;
typedef struct _ProtonPlusWidgetsReleaseRowClass ProtonPlusWidgetsReleaseRowClass;
typedef struct _ProtonPlusWidgetsReleaseRowPrivate ProtonPlusWidgetsReleaseRowPrivate;

#define PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW (proton_plus_widgets_installed_row_get_type ())
#define PROTON_PLUS_WIDGETS_INSTALLED_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRow))
#define PROTON_PLUS_WIDGETS_INSTALLED_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRowClass))
#define PROTON_PLUS_WIDGETS_IS_INSTALLED_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW))
#define PROTON_PLUS_WIDGETS_IS_INSTALLED_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW))
#define PROTON_PLUS_WIDGETS_INSTALLED_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRowClass))

typedef struct _ProtonPlusWidgetsInstalledRow ProtonPlusWidgetsInstalledRow;
typedef struct _ProtonPlusWidgetsInstalledRowClass ProtonPlusWidgetsInstalledRowClass;
typedef struct _ProtonPlusWidgetsInstalledRowPrivate ProtonPlusWidgetsInstalledRowPrivate;

#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_RELEASE (proton_plus_models_release_get_type ())
#define PROTON_PLUS_MODELS_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_TYPE_RELEASE, ProtonPlusModelsRelease))
#define PROTON_PLUS_MODELS_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_TYPE_RELEASE, ProtonPlusModelsReleaseClass))
#define PROTON_PLUS_MODELS_IS_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_TYPE_RELEASE))
#define PROTON_PLUS_MODELS_IS_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_TYPE_RELEASE))
#define PROTON_PLUS_MODELS_RELEASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_TYPE_RELEASE, ProtonPlusModelsReleaseClass))

typedef struct _ProtonPlusModelsRelease ProtonPlusModelsRelease;
typedef struct _ProtonPlusModelsReleaseClass ProtonPlusModelsReleaseClass;

#define PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC (proton_plus_models_releases_basic_get_type ())
#define PROTON_PLUS_MODELS_RELEASES_BASIC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC, ProtonPlusModelsReleasesBasic))
#define PROTON_PLUS_MODELS_RELEASES_BASIC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC, ProtonPlusModelsReleasesBasicClass))
#define PROTON_PLUS_MODELS_RELEASES_IS_BASIC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC))
#define PROTON_PLUS_MODELS_RELEASES_IS_BASIC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC))
#define PROTON_PLUS_MODELS_RELEASES_BASIC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_BASIC, ProtonPlusModelsReleasesBasicClass))

typedef struct _ProtonPlusModelsReleasesBasic ProtonPlusModelsReleasesBasic;
typedef struct _ProtonPlusModelsReleasesBasicClass ProtonPlusModelsReleasesBasicClass;
enum  {
	PROTON_PLUS_WIDGETS_INSTALLED_ROW_0_PROPERTY,
	PROTON_PLUS_WIDGETS_INSTALLED_ROW_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_installed_row_properties[PROTON_PLUS_WIDGETS_INSTALLED_ROW_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (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 _g_free0(var) (var = (g_free (var), NULL))

#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;

#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;

#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS (proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_get_type ())
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_STL_REMOVE_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS, ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_STL_REMOVE_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS, ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_ParametersClass))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_IS_STL_REMOVE_PARAMETERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_IS_STL_REMOVE_PARAMETERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_STL_REMOVE_PARAMETERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_TYPE_STL_REMOVE_PARAMETERS, ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_ParametersClass))

typedef struct _ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters;
typedef struct _ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_ParametersClass ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_ParametersClass;
typedef struct _Block6Data Block6Data;

#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_INSTALLED_ROW_REMOVE_FROM_PARENT_SIGNAL,
	PROTON_PLUS_WIDGETS_INSTALLED_ROW_NUM_SIGNALS
};
static guint proton_plus_widgets_installed_row_signals[PROTON_PLUS_WIDGETS_INSTALLED_ROW_NUM_SIGNALS] = {0};

struct _ProtonPlusWidgetsReleaseRow {
	AdwActionRow parent_instance;
	ProtonPlusWidgetsReleaseRowPrivate * priv;
	GtkButton* update_button;
	GtkButton* open_button;
	GtkButton* install_button;
	GtkButton* remove_button;
	GtkButton* info_button;
	GtkBox* input_box;
};

struct _ProtonPlusWidgetsReleaseRowClass {
	AdwActionRowClass parent_class;
	void (*update_button_clicked) (ProtonPlusWidgetsReleaseRow* self);
	void (*open_button_clicked) (ProtonPlusWidgetsReleaseRow* self);
	void (*install_button_clicked) (ProtonPlusWidgetsReleaseRow* self);
	void (*remove_button_clicked) (ProtonPlusWidgetsReleaseRow* self);
	void (*info_button_clicked) (ProtonPlusWidgetsReleaseRow* self);
};

struct _ProtonPlusWidgetsInstalledRow {
	ProtonPlusWidgetsReleaseRow parent_instance;
	ProtonPlusWidgetsInstalledRowPrivate * priv;
};

struct _ProtonPlusWidgetsInstalledRowClass {
	ProtonPlusWidgetsReleaseRowClass parent_class;
};

struct _ProtonPlusWidgetsInstalledRowPrivate {
	ProtonPlusModelsReleasesBasic* _release;
};

struct _Block6Data {
	int _ref_count_;
	ProtonPlusWidgetsInstalledRow* self;
	ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* parameters;
	GtkCheckButton* remove_config_check;
};

static gint ProtonPlusWidgetsInstalledRow_private_offset;
static gpointer proton_plus_widgets_installed_row_parent_class = NULL;
VALA_EXTERN ProtonPlusWidgetsWindow* proton_plus_widgets_application_window;

VALA_EXTERN GType proton_plus_widgets_release_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsReleaseRow, g_object_unref)
VALA_EXTERN GType proton_plus_widgets_installed_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsInstalledRow, 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_release_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsRelease, g_object_unref)
VALA_EXTERN GType proton_plus_models_releases_basic_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsReleasesBasic, g_object_unref)
VALA_EXTERN void proton_plus_widgets_release_row_update_button_clicked (ProtonPlusWidgetsReleaseRow* self);
VALA_EXTERN void proton_plus_widgets_release_row_open_button_clicked (ProtonPlusWidgetsReleaseRow* self);
VALA_EXTERN void proton_plus_widgets_release_row_install_button_clicked (ProtonPlusWidgetsReleaseRow* self);
VALA_EXTERN void proton_plus_widgets_release_row_remove_button_clicked (ProtonPlusWidgetsReleaseRow* self);
VALA_EXTERN void proton_plus_widgets_release_row_info_button_clicked (ProtonPlusWidgetsReleaseRow* self);
VALA_EXTERN ProtonPlusWidgetsInstalledRow* proton_plus_widgets_installed_row_new (ProtonPlusModelsReleasesBasic* release);
VALA_EXTERN ProtonPlusWidgetsInstalledRow* proton_plus_widgets_installed_row_construct (GType object_type,
                                                                            ProtonPlusModelsReleasesBasic* release);
VALA_EXTERN ProtonPlusWidgetsReleaseRow* proton_plus_widgets_release_row_construct (GType object_type);
static void proton_plus_widgets_installed_row_set_release (ProtonPlusWidgetsInstalledRow* self,
                                                    ProtonPlusModelsReleasesBasic* value);
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 gint proton_plus_models_launcher_get_compatibility_tool_usage_count (ProtonPlusModelsLauncher* self,
                                                                     const gchar* compatibility_tool_name);
VALA_EXTERN void proton_plus_widgets_release_row_only_show (ProtonPlusWidgetsReleaseRow* self);
static void proton_plus_widgets_installed_row_real_update_button_clicked (ProtonPlusWidgetsReleaseRow* base);
static void proton_plus_widgets_installed_row_real_open_button_clicked (ProtonPlusWidgetsReleaseRow* base);
VALA_EXTERN void proton_plus_utils_system_open_uri (const gchar* uri);
static ProtonPlusModelsReleasesBasic* proton_plus_widgets_installed_row_get_release (ProtonPlusWidgetsInstalledRow* self);
VALA_EXTERN const gchar* proton_plus_models_releases_basic_get_install_location (ProtonPlusModelsReleasesBasic* self);
static void proton_plus_widgets_installed_row_real_install_button_clicked (ProtonPlusWidgetsReleaseRow* base);
static void proton_plus_widgets_installed_row_real_remove_button_clicked (ProtonPlusWidgetsReleaseRow* base);
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 ProtonPlusModelsParameters* proton_plus_models_parameters_new (void);
VALA_EXTERN ProtonPlusModelsParameters* proton_plus_models_parameters_construct (GType object_type);
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);
static void __lambda14_ (ProtonPlusWidgetsInstalledRow* self,
                  gboolean _result_);
static void ___lambda14__proton_plus_widgets_remove_dialog_done (ProtonPlusWidgetsRemoveDialog* _sender,
                                                          gboolean _result_,
                                                          gpointer self);
VALA_EXTERN GType proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters, g_object_unref)
static Block6Data* block6_data_ref (Block6Data* _data6_);
static void block6_data_unref (void * _userdata_);
VALA_EXTERN ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_new (void);
VALA_EXTERN ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_construct (GType object_type);
VALA_EXTERN void proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_set_delete_config (ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* self,
                                                                                              gboolean value);
VALA_EXTERN void proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_set_user_request (ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* self,
                                                                                             gboolean value);
static void ___lambda19_ (Block6Data* _data6_);
static void ____lambda19__gtk_check_button_activate (GtkCheckButton* _sender,
                                              gpointer self);
VALA_EXTERN GType proton_plus_widgets_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusWidgetsWindow, g_object_unref)
static void proton_plus_widgets_installed_row_real_info_button_clicked (ProtonPlusWidgetsReleaseRow* base);
static void proton_plus_widgets_installed_row_finalize (GObject * obj);
static GType proton_plus_widgets_installed_row_get_type_once (void);
static void _vala_proton_plus_widgets_installed_row_get_property (GObject * object,
                                                           guint property_id,
                                                           GValue * value,
                                                           GParamSpec * pspec);
static void _vala_proton_plus_widgets_installed_row_set_property (GObject * object,
                                                           guint property_id,
                                                           const GValue * value,
                                                           GParamSpec * pspec);

static inline gpointer
proton_plus_widgets_installed_row_get_instance_private (ProtonPlusWidgetsInstalledRow* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsInstalledRow_private_offset);
}

ProtonPlusWidgetsInstalledRow*
proton_plus_widgets_installed_row_construct (GType object_type,
                                             ProtonPlusModelsReleasesBasic* release)
{
	ProtonPlusWidgetsInstalledRow * self = NULL;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gint usage_count = 0;
	ProtonPlusModelsRunner* _tmp5_;
	ProtonPlusModelsRunner* _tmp6_;
	ProtonPlusModelsGroup* _tmp7_;
	ProtonPlusModelsGroup* _tmp8_;
	ProtonPlusModelsLauncher* _tmp9_;
	ProtonPlusModelsLauncher* _tmp10_;
	gchar* _tmp11_ = NULL;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_ = NULL;
	GtkBox* _tmp25_;
	GtkButton* _tmp26_;
	GtkBox* _tmp27_;
	GtkButton* _tmp28_;
	GtkBox* _tmp29_;
	GtkButton* _tmp30_;
	g_return_val_if_fail (release != NULL, NULL);
	self = (ProtonPlusWidgetsInstalledRow*) proton_plus_widgets_release_row_construct (object_type);
	proton_plus_widgets_installed_row_set_release (self, release);
	_tmp1_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) release);
	_tmp2_ = _tmp1_;
	if (g_strcmp0 (_tmp2_, "SteamTinkerLaunch") != 0) {
		const gchar* _tmp3_;
		const gchar* _tmp4_;
		_tmp3_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) release);
		_tmp4_ = _tmp3_;
		_tmp0_ = _tmp4_;
	} else {
		_tmp0_ = "Proton-stl";
	}
	_tmp5_ = proton_plus_models_base_release_get_runner ((ProtonPlusModelsBaseRelease*) release);
	_tmp6_ = _tmp5_;
	_tmp7_ = proton_plus_models_runner_get_group (_tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = proton_plus_models_group_get_launcher (_tmp8_);
	_tmp10_ = _tmp9_;
	usage_count = proton_plus_models_launcher_get_compatibility_tool_usage_count (_tmp10_, _tmp0_);
	if (usage_count > 0) {
		gchar* _tmp12_;
		_tmp12_ = g_strdup_printf (" (%s)", _ ("Used"));
		_g_free0 (_tmp11_);
		_tmp11_ = _tmp12_;
	} else {
		gchar* _tmp13_;
		_tmp13_ = g_strdup ("");
		_g_free0 (_tmp11_);
		_tmp11_ = _tmp13_;
	}
	_tmp14_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) release);
	_tmp15_ = _tmp14_;
	_tmp16_ = g_strdup_printf ("%s%s", _tmp15_, _tmp11_);
	_tmp17_ = _tmp16_;
	adw_preferences_row_set_title ((AdwPreferencesRow*) self, _tmp17_);
	_g_free0 (_tmp17_);
	if (usage_count > 0) {
		const gchar* _tmp19_;
		const gchar* _tmp20_;
		gchar* _tmp21_;
		_tmp19_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) release);
		_tmp20_ = _tmp19_;
		_tmp21_ = g_strdup_printf (_ ("%s is used by %i game(s)"), _tmp20_, usage_count);
		_g_free0 (_tmp18_);
		_tmp18_ = _tmp21_;
	} else {
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		gchar* _tmp24_;
		_tmp22_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) release);
		_tmp23_ = _tmp22_;
		_tmp24_ = g_strdup (_tmp23_);
		_g_free0 (_tmp18_);
		_tmp18_ = _tmp24_;
	}
	gtk_widget_set_tooltip_text ((GtkWidget*) self, _tmp18_);
	_tmp25_ = ((ProtonPlusWidgetsReleaseRow*) self)->input_box;
	_tmp26_ = ((ProtonPlusWidgetsReleaseRow*) self)->update_button;
	gtk_box_remove (_tmp25_, (GtkWidget*) _tmp26_);
	_tmp27_ = ((ProtonPlusWidgetsReleaseRow*) self)->input_box;
	_tmp28_ = ((ProtonPlusWidgetsReleaseRow*) self)->info_button;
	gtk_box_remove (_tmp27_, (GtkWidget*) _tmp28_);
	_tmp29_ = ((ProtonPlusWidgetsReleaseRow*) self)->input_box;
	_tmp30_ = ((ProtonPlusWidgetsReleaseRow*) self)->install_button;
	gtk_box_remove (_tmp29_, (GtkWidget*) _tmp30_);
	proton_plus_widgets_release_row_only_show ((ProtonPlusWidgetsReleaseRow*) self);
	_g_free0 (_tmp18_);
	_g_free0 (_tmp11_);
	return self;
}

ProtonPlusWidgetsInstalledRow*
proton_plus_widgets_installed_row_new (ProtonPlusModelsReleasesBasic* release)
{
	return proton_plus_widgets_installed_row_construct (PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, release);
}

static void
proton_plus_widgets_installed_row_real_update_button_clicked (ProtonPlusWidgetsReleaseRow* base)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = (ProtonPlusWidgetsInstalledRow*) base;
}

static void
proton_plus_widgets_installed_row_real_open_button_clicked (ProtonPlusWidgetsReleaseRow* base)
{
	ProtonPlusWidgetsInstalledRow * self;
	ProtonPlusModelsReleasesBasic* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	self = (ProtonPlusWidgetsInstalledRow*) base;
	_tmp0_ = self->priv->_release;
	_tmp1_ = proton_plus_models_releases_basic_get_install_location (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strdup_printf ("file://%s", _tmp2_);
	_tmp4_ = _tmp3_;
	proton_plus_utils_system_open_uri (_tmp4_);
	_g_free0 (_tmp4_);
}

static void
proton_plus_widgets_installed_row_real_install_button_clicked (ProtonPlusWidgetsReleaseRow* base)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = (ProtonPlusWidgetsInstalledRow*) base;
}

static void
__lambda14_ (ProtonPlusWidgetsInstalledRow* self,
             gboolean _result_)
{
	if (_result_) {
		g_signal_emit (self, proton_plus_widgets_installed_row_signals[PROTON_PLUS_WIDGETS_INSTALLED_ROW_REMOVE_FROM_PARENT_SIGNAL], 0, self);
	}
}

static void
___lambda14__proton_plus_widgets_remove_dialog_done (ProtonPlusWidgetsRemoveDialog* _sender,
                                                     gboolean _result_,
                                                     gpointer self)
{
	__lambda14_ ((ProtonPlusWidgetsInstalledRow*) self, _result_);
}

static gboolean
string_contains (const gchar* self,
                 const gchar* needle)
{
	gchar* _tmp0_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (needle != NULL, FALSE);
	_tmp0_ = strstr ((gchar*) self, (gchar*) needle);
	result = _tmp0_ != NULL;
	return result;
}

static Block6Data*
block6_data_ref (Block6Data* _data6_)
{
	g_atomic_int_inc (&_data6_->_ref_count_);
	return _data6_;
}

static void
block6_data_unref (void * _userdata_)
{
	Block6Data* _data6_;
	_data6_ = (Block6Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) {
		ProtonPlusWidgetsInstalledRow* self;
		self = _data6_->self;
		_g_object_unref0 (_data6_->remove_config_check);
		_g_object_unref0 (_data6_->parameters);
		_g_object_unref0 (self);
		g_slice_free (Block6Data, _data6_);
	}
}

static void
___lambda19_ (Block6Data* _data6_)
{
	ProtonPlusWidgetsInstalledRow* self;
	ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* _tmp0_;
	GtkCheckButton* _tmp1_;
	self = _data6_->self;
	_tmp0_ = _data6_->parameters;
	_tmp1_ = _data6_->remove_config_check;
	proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_set_delete_config (_tmp0_, gtk_check_button_get_active (_tmp1_));
}

static void
____lambda19__gtk_check_button_activate (GtkCheckButton* _sender,
                                         gpointer self)
{
	___lambda19_ (self);
}

static void
proton_plus_widgets_installed_row_real_remove_button_clicked (ProtonPlusWidgetsReleaseRow* base)
{
	ProtonPlusWidgetsInstalledRow * self;
	ProtonPlusWidgetsRemoveDialog* remove_dialog = NULL;
	ProtonPlusModelsReleasesBasic* _tmp0_;
	ProtonPlusModelsParameters* _tmp1_;
	ProtonPlusModelsParameters* _tmp2_;
	ProtonPlusWidgetsRemoveDialog* _tmp3_;
	ProtonPlusWidgetsRemoveDialog* _tmp4_;
	ProtonPlusWidgetsRemoveDialog* _tmp5_;
	ProtonPlusModelsReleasesBasic* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	ProtonPlusWidgetsRemoveDialog* _tmp16_;
	ProtonPlusWidgetsWindow* _tmp17_;
	self = (ProtonPlusWidgetsInstalledRow*) base;
	_tmp0_ = self->priv->_release;
	_tmp1_ = proton_plus_models_parameters_new ();
	_tmp2_ = _tmp1_;
	_tmp3_ = proton_plus_widgets_remove_dialog_new ((ProtonPlusModelsBaseRelease*) _tmp0_, _tmp2_);
	g_object_ref_sink (_tmp3_);
	_tmp4_ = _tmp3_;
	_g_object_unref0 (_tmp2_);
	remove_dialog = _tmp4_;
	_tmp5_ = remove_dialog;
	g_signal_connect_object (_tmp5_, "done", (GCallback) ___lambda14__proton_plus_widgets_remove_dialog_done, self, 0);
	_tmp6_ = self->priv->_release;
	_tmp7_ = proton_plus_models_base_release_get_title ((ProtonPlusModelsBaseRelease*) _tmp6_);
	_tmp8_ = _tmp7_;
	if (string_contains (_tmp8_, "SteamTinkerLaunch")) {
		Block6Data* _data6_;
		ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* _tmp9_;
		ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* _tmp10_;
		ProtonPlusModelsReleasesSteamTinkerLaunchSTL_Remove_Parameters* _tmp11_;
		GtkCheckButton* _tmp12_;
		GtkCheckButton* _tmp13_;
		ProtonPlusWidgetsRemoveDialog* _tmp14_;
		GtkCheckButton* _tmp15_;
		_data6_ = g_slice_new0 (Block6Data);
		_data6_->_ref_count_ = 1;
		_data6_->self = g_object_ref (self);
		_tmp9_ = proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_new ();
		_data6_->parameters = _tmp9_;
		_tmp10_ = _data6_->parameters;
		proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_set_delete_config (_tmp10_, FALSE);
		_tmp11_ = _data6_->parameters;
		proton_plus_models_releases_steam_tinker_launch_stl_remove_parameters_set_user_request (_tmp11_, TRUE);
		_tmp12_ = (GtkCheckButton*) gtk_check_button_new_with_label (_ ("Check this to also delete your configuration files."));
		g_object_ref_sink (_tmp12_);
		_data6_->remove_config_check = _tmp12_;
		_tmp13_ = _data6_->remove_config_check;
		g_signal_connect_data (_tmp13_, "activate", (GCallback) ____lambda19__gtk_check_button_activate, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0);
		_tmp14_ = remove_dialog;
		_tmp15_ = _data6_->remove_config_check;
		adw_alert_dialog_set_extra_child ((AdwAlertDialog*) _tmp14_, (GtkWidget*) _tmp15_);
		block6_data_unref (_data6_);
		_data6_ = NULL;
	}
	_tmp16_ = remove_dialog;
	_tmp17_ = proton_plus_widgets_application_window;
	adw_dialog_present ((AdwDialog*) _tmp16_, (GtkWidget*) _tmp17_);
	_g_object_unref0 (remove_dialog);
}

static void
proton_plus_widgets_installed_row_real_info_button_clicked (ProtonPlusWidgetsReleaseRow* base)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = (ProtonPlusWidgetsInstalledRow*) base;
}

static ProtonPlusModelsReleasesBasic*
proton_plus_widgets_installed_row_get_release (ProtonPlusWidgetsInstalledRow* self)
{
	ProtonPlusModelsReleasesBasic* result;
	ProtonPlusModelsReleasesBasic* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_release;
	result = _tmp0_;
	return result;
}

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

static void
proton_plus_widgets_installed_row_set_release (ProtonPlusWidgetsInstalledRow* self,
                                               ProtonPlusModelsReleasesBasic* value)
{
	ProtonPlusModelsReleasesBasic* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = _g_object_ref0 (value);
	_g_object_unref0 (self->priv->_release);
	self->priv->_release = _tmp0_;
}

static void
proton_plus_widgets_installed_row_class_init (ProtonPlusWidgetsInstalledRowClass * klass,
                                              gpointer klass_data)
{
	proton_plus_widgets_installed_row_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsInstalledRow_private_offset);
	((ProtonPlusWidgetsReleaseRowClass *) klass)->update_button_clicked = (void (*) (ProtonPlusWidgetsReleaseRow*)) proton_plus_widgets_installed_row_real_update_button_clicked;
	((ProtonPlusWidgetsReleaseRowClass *) klass)->open_button_clicked = (void (*) (ProtonPlusWidgetsReleaseRow*)) proton_plus_widgets_installed_row_real_open_button_clicked;
	((ProtonPlusWidgetsReleaseRowClass *) klass)->install_button_clicked = (void (*) (ProtonPlusWidgetsReleaseRow*)) proton_plus_widgets_installed_row_real_install_button_clicked;
	((ProtonPlusWidgetsReleaseRowClass *) klass)->remove_button_clicked = (void (*) (ProtonPlusWidgetsReleaseRow*)) proton_plus_widgets_installed_row_real_remove_button_clicked;
	((ProtonPlusWidgetsReleaseRowClass *) klass)->info_button_clicked = (void (*) (ProtonPlusWidgetsReleaseRow*)) proton_plus_widgets_installed_row_real_info_button_clicked;
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_installed_row_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_installed_row_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_installed_row_finalize;
	proton_plus_widgets_installed_row_signals[PROTON_PLUS_WIDGETS_INSTALLED_ROW_REMOVE_FROM_PARENT_SIGNAL] = g_signal_new ("remove-from-parent", PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW);
}

static void
proton_plus_widgets_installed_row_instance_init (ProtonPlusWidgetsInstalledRow * self,
                                                 gpointer klass)
{
	self->priv = proton_plus_widgets_installed_row_get_instance_private (self);
}

static void
proton_plus_widgets_installed_row_finalize (GObject * obj)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRow);
	_g_object_unref0 (self->priv->_release);
	G_OBJECT_CLASS (proton_plus_widgets_installed_row_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_installed_row_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsInstalledRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_installed_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsInstalledRow), 0, (GInstanceInitFunc) proton_plus_widgets_installed_row_instance_init, NULL };
	GType proton_plus_widgets_installed_row_type_id;
	proton_plus_widgets_installed_row_type_id = g_type_register_static (PROTON_PLUS_WIDGETS_TYPE_RELEASE_ROW, "ProtonPlusWidgetsInstalledRow", &g_define_type_info, 0);
	ProtonPlusWidgetsInstalledRow_private_offset = g_type_add_instance_private (proton_plus_widgets_installed_row_type_id, sizeof (ProtonPlusWidgetsInstalledRowPrivate));
	return proton_plus_widgets_installed_row_type_id;
}

GType
proton_plus_widgets_installed_row_get_type (void)
{
	static volatile gsize proton_plus_widgets_installed_row_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_installed_row_type_id__once)) {
		GType proton_plus_widgets_installed_row_type_id;
		proton_plus_widgets_installed_row_type_id = proton_plus_widgets_installed_row_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_installed_row_type_id__once, proton_plus_widgets_installed_row_type_id);
	}
	return proton_plus_widgets_installed_row_type_id__once;
}

static void
_vala_proton_plus_widgets_installed_row_get_property (GObject * object,
                                                      guint property_id,
                                                      GValue * value,
                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRow);
	switch (property_id) {
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_installed_row_set_property (GObject * object,
                                                      guint property_id,
                                                      const GValue * value,
                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsInstalledRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_TYPE_INSTALLED_ROW, ProtonPlusWidgetsInstalledRow);
	switch (property_id) {
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

