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

#include <glib-object.h>
#include <gio/gio.h>
#include <glib.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_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;
typedef struct _ProtonPlusModelsRunnerPrivate ProtonPlusModelsRunnerPrivate;

#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;
typedef enum  {
	PROTON_PLUS_RETURN_CODE_UNKNOWN_ERROR,
	PROTON_PLUS_RETURN_CODE_RELEASES_LOADED,
	PROTON_PLUS_RETURN_CODE_NOTHING_TO_UPDATE,
	PROTON_PLUS_RETURN_CODE_RUNNERS_UPDATED,
	PROTON_PLUS_RETURN_CODE_RUNNER_UPDATED,
	PROTON_PLUS_RETURN_CODE_VALID_REQUEST,
	PROTON_PLUS_RETURN_CODE_CONNECTION_ISSUE,
	PROTON_PLUS_RETURN_CODE_CONNECTION_REFUSED,
	PROTON_PLUS_RETURN_CODE_CONNECTION_UNKNOWN,
	PROTON_PLUS_RETURN_CODE_API_LIMIT_REACHED,
	PROTON_PLUS_RETURN_CODE_INVALID_ACCESS_TOKEN
} ProtonPlusReturnCode;

#define PROTON_PLUS_TYPE_RETURN_CODE (proton_plus_return_code_get_type ())

#define PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH (proton_plus_models_runners_steam_tinker_launch_get_type ())
#define PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsRunnersSteamTinkerLaunch))
#define PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsRunnersSteamTinkerLaunchClass))
#define PROTON_PLUS_MODELS_RUNNERS_IS_STEAM_TINKER_LAUNCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH))
#define PROTON_PLUS_MODELS_RUNNERS_IS_STEAM_TINKER_LAUNCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH))
#define PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsRunnersSteamTinkerLaunchClass))

typedef struct _ProtonPlusModelsRunnersSteamTinkerLaunch ProtonPlusModelsRunnersSteamTinkerLaunch;
typedef struct _ProtonPlusModelsRunnersSteamTinkerLaunchClass ProtonPlusModelsRunnersSteamTinkerLaunchClass;
typedef struct _ProtonPlusModelsRunnersSteamTinkerLaunchPrivate ProtonPlusModelsRunnersSteamTinkerLaunchPrivate;
enum  {
	PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH_0_PROPERTY,
	PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH_NUM_PROPERTIES
};
static GParamSpec* proton_plus_models_runners_steam_tinker_launch_properties[PROTON_PLUS_MODELS_RUNNERS_STEAM_TINKER_LAUNCH_NUM_PROPERTIES];

#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE (proton_plus_models_releases_update_get_type ())
#define PROTON_PLUS_MODELS_RELEASES_UPDATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE, ProtonPlusModelsReleasesUpdate))
#define PROTON_PLUS_MODELS_RELEASES_UPDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE, ProtonPlusModelsReleasesUpdateClass))
#define PROTON_PLUS_MODELS_RELEASES_IS_UPDATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE))
#define PROTON_PLUS_MODELS_RELEASES_IS_UPDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE))
#define PROTON_PLUS_MODELS_RELEASES_UPDATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_UPDATE, ProtonPlusModelsReleasesUpdateClass))

typedef struct _ProtonPlusModelsReleasesUpdate ProtonPlusModelsReleasesUpdate;
typedef struct _ProtonPlusModelsReleasesUpdateClass ProtonPlusModelsReleasesUpdateClass;

#define PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH (proton_plus_models_releases_steam_tinker_launch_get_type ())
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsReleasesSteamTinkerLaunch))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsReleasesSteamTinkerLaunchClass))
#define PROTON_PLUS_MODELS_RELEASES_IS_STEAM_TINKER_LAUNCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH))
#define PROTON_PLUS_MODELS_RELEASES_IS_STEAM_TINKER_LAUNCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH))
#define PROTON_PLUS_MODELS_RELEASES_STEAM_TINKER_LAUNCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_MODELS_RELEASES_TYPE_STEAM_TINKER_LAUNCH, ProtonPlusModelsReleasesSteamTinkerLaunchClass))

typedef struct _ProtonPlusModelsReleasesSteamTinkerLaunch ProtonPlusModelsReleasesSteamTinkerLaunch;
typedef struct _ProtonPlusModelsReleasesSteamTinkerLaunchClass ProtonPlusModelsReleasesSteamTinkerLaunchClass;
typedef struct _ProtonPlusModelsRunnersSteamTinkerLaunchLoadData ProtonPlusModelsRunnersSteamTinkerLaunchLoadData;

struct _ProtonPlusModelsRunner {
	GObject parent_instance;
	ProtonPlusModelsRunnerPrivate * priv;
	GList* releases;
};

struct _ProtonPlusModelsRunnerClass {
	GObjectClass parent_class;
	void (*load) (ProtonPlusModelsRunner* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	ProtonPlusReturnCode (*load_finish) (ProtonPlusModelsRunner* self, GAsyncResult* _res_, GList** releases);
};

struct _ProtonPlusModelsRunnersSteamTinkerLaunch {
	ProtonPlusModelsRunner parent_instance;
	ProtonPlusModelsRunnersSteamTinkerLaunchPrivate * priv;
};

struct _ProtonPlusModelsRunnersSteamTinkerLaunchClass {
	ProtonPlusModelsRunnerClass parent_class;
};

struct _ProtonPlusModelsRunnersSteamTinkerLaunchLoadData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	ProtonPlusModelsRunnersSteamTinkerLaunch* self;
	GList* releases;
	ProtonPlusReturnCode result;
	ProtonPlusModelsReleasesSteamTinkerLaunch* release;
	ProtonPlusModelsReleasesSteamTinkerLaunch* _tmp0_;
	ProtonPlusModelsRelease* _tmp1_;
};

static gpointer proton_plus_models_runners_steam_tinker_launch_parent_class = NULL;

VALA_EXTERN GType proton_plus_models_runner_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsRunner, 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_return_code_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType proton_plus_models_runners_steam_tinker_launch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsRunnersSteamTinkerLaunch, g_object_unref)
VALA_EXTERN void proton_plus_models_runner_load (ProtonPlusModelsRunner* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN ProtonPlusReturnCode proton_plus_models_runner_load_finish (ProtonPlusModelsRunner* self,
                                                            GAsyncResult* _res_,
                                                            GList** releases);
VALA_EXTERN GType proton_plus_models_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsGroup, g_object_unref)
VALA_EXTERN ProtonPlusModelsRunnersSteamTinkerLaunch* proton_plus_models_runners_steam_tinker_launch_new (ProtonPlusModelsGroup* group);
VALA_EXTERN ProtonPlusModelsRunnersSteamTinkerLaunch* proton_plus_models_runners_steam_tinker_launch_construct (GType object_type,
                                                                                                    ProtonPlusModelsGroup* group);
static void proton_plus_models_runners_steam_tinker_launch_real_load_data_free (gpointer _data);
static void proton_plus_models_runners_steam_tinker_launch_real_load (ProtonPlusModelsRunner* base,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static gboolean proton_plus_models_runners_steam_tinker_launch_real_load_co (ProtonPlusModelsRunnersSteamTinkerLaunchLoadData* _data_);
VALA_EXTERN GType proton_plus_models_releases_update_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsReleasesUpdate, g_object_unref)
VALA_EXTERN GType proton_plus_models_releases_steam_tinker_launch_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProtonPlusModelsReleasesSteamTinkerLaunch, g_object_unref)
VALA_EXTERN ProtonPlusModelsReleasesSteamTinkerLaunch* proton_plus_models_releases_steam_tinker_launch_new (ProtonPlusModelsRunner* runner);
VALA_EXTERN ProtonPlusModelsReleasesSteamTinkerLaunch* proton_plus_models_releases_steam_tinker_launch_construct (GType object_type,
                                                                                                      ProtonPlusModelsRunner* runner);
static GType proton_plus_models_runners_steam_tinker_launch_get_type_once (void);

ProtonPlusModelsRunnersSteamTinkerLaunch*
proton_plus_models_runners_steam_tinker_launch_construct (GType object_type,
                                                          ProtonPlusModelsGroup* group)
{
	ProtonPlusModelsRunnersSteamTinkerLaunch * self = NULL;
	g_return_val_if_fail (group != NULL, NULL);
	self = (ProtonPlusModelsRunnersSteamTinkerLaunch*) g_object_new (object_type, "group", group, "title", "Steam Tinker Launch", "description", _ ("Steam tool for easy, graphical configuration of your other compatibili" \
"ty tools for both Windows games and native Linux games."), NULL);
	return self;
}

ProtonPlusModelsRunnersSteamTinkerLaunch*
proton_plus_models_runners_steam_tinker_launch_new (ProtonPlusModelsGroup* group)
{
	return proton_plus_models_runners_steam_tinker_launch_construct (PROTON_PLUS_MODELS_RUNNERS_TYPE_STEAM_TINKER_LAUNCH, group);
}

static void
proton_plus_models_runners_steam_tinker_launch_real_load_data_free (gpointer _data)
{
	ProtonPlusModelsRunnersSteamTinkerLaunchLoadData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (ProtonPlusModelsRunnersSteamTinkerLaunchLoadData, _data_);
}

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

static void
proton_plus_models_runners_steam_tinker_launch_real_load (ProtonPlusModelsRunner* base,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_)
{
	ProtonPlusModelsRunnersSteamTinkerLaunch * self;
	ProtonPlusModelsRunnersSteamTinkerLaunchLoadData* _data_;
	ProtonPlusModelsRunnersSteamTinkerLaunch* _tmp0_;
	self = (ProtonPlusModelsRunnersSteamTinkerLaunch*) base;
	_data_ = g_slice_new0 (ProtonPlusModelsRunnersSteamTinkerLaunchLoadData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, proton_plus_models_runners_steam_tinker_launch_real_load_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	proton_plus_models_runners_steam_tinker_launch_real_load_co (_data_);
}

static void
_g_object_unref0_ (gpointer var)
{
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
}

static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
}

static ProtonPlusReturnCode
proton_plus_models_runners_steam_tinker_launch_load_finish (ProtonPlusModelsRunner* base,
                                                            GAsyncResult* _res_,
                                                            GList** releases)
{
	ProtonPlusReturnCode result;
	ProtonPlusModelsRunnersSteamTinkerLaunchLoadData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	if (releases) {
		*releases = _data_->releases;
	} else {
		(_data_->releases == NULL) ? NULL : (_data_->releases = (_g_list_free__g_object_unref0_ (_data_->releases), NULL));
	}
	_data_->releases = NULL;
	result = _data_->result;
	return result;
}

static gboolean
proton_plus_models_runners_steam_tinker_launch_real_load_co (ProtonPlusModelsRunnersSteamTinkerLaunchLoadData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->releases == NULL) ? NULL : (_data_->releases = (_g_list_free__g_object_unref0_ (_data_->releases), NULL));
	_data_->releases = NULL;
	_data_->_tmp0_ = proton_plus_models_releases_steam_tinker_launch_new ((ProtonPlusModelsRunner*) _data_->self);
	_data_->release = _data_->_tmp0_;
	_data_->_tmp1_ = _g_object_ref0 ((ProtonPlusModelsRelease*) _data_->release);
	_data_->releases = g_list_append (_data_->releases, _data_->_tmp1_);
	_data_->result = PROTON_PLUS_RETURN_CODE_RELEASES_LOADED;
	_g_object_unref0 (_data_->release);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
proton_plus_models_runners_steam_tinker_launch_class_init (ProtonPlusModelsRunnersSteamTinkerLaunchClass * klass,
                                                           gpointer klass_data)
{
	proton_plus_models_runners_steam_tinker_launch_parent_class = g_type_class_peek_parent (klass);
	((ProtonPlusModelsRunnerClass *) klass)->load = (void (*) (ProtonPlusModelsRunner*, GAsyncReadyCallback, gpointer)) proton_plus_models_runners_steam_tinker_launch_real_load;
	((ProtonPlusModelsRunnerClass *) klass)->load_finish = (ProtonPlusReturnCode (*) (ProtonPlusModelsRunner*, GAsyncResult*, GList**)) proton_plus_models_runners_steam_tinker_launch_load_finish;
}

static void
proton_plus_models_runners_steam_tinker_launch_instance_init (ProtonPlusModelsRunnersSteamTinkerLaunch * self,
                                                              gpointer klass)
{
}

static GType
proton_plus_models_runners_steam_tinker_launch_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusModelsRunnersSteamTinkerLaunchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_models_runners_steam_tinker_launch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusModelsRunnersSteamTinkerLaunch), 0, (GInstanceInitFunc) proton_plus_models_runners_steam_tinker_launch_instance_init, NULL };
	GType proton_plus_models_runners_steam_tinker_launch_type_id;
	proton_plus_models_runners_steam_tinker_launch_type_id = g_type_register_static (PROTON_PLUS_MODELS_TYPE_RUNNER, "ProtonPlusModelsRunnersSteamTinkerLaunch", &g_define_type_info, 0);
	return proton_plus_models_runners_steam_tinker_launch_type_id;
}

GType
proton_plus_models_runners_steam_tinker_launch_get_type (void)
{
	static volatile gsize proton_plus_models_runners_steam_tinker_launch_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_models_runners_steam_tinker_launch_type_id__once)) {
		GType proton_plus_models_runners_steam_tinker_launch_type_id;
		proton_plus_models_runners_steam_tinker_launch_type_id = proton_plus_models_runners_steam_tinker_launch_get_type_once ();
		g_once_init_leave (&proton_plus_models_runners_steam_tinker_launch_type_id__once, proton_plus_models_runners_steam_tinker_launch_type_id);
	}
	return proton_plus_models_runners_steam_tinker_launch_type_id__once;
}

