/* launch-command-selection-source.c generated by valac 0.56.19, the Vala compiler
 * generated from launch-command-selection-source.vala, do not modify */

#include "protonplus_core.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib-object.h>
#include <adwaita.h>
#include <gee.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

enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_FIXED_OPTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourcePrivate;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourcePrivate;

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE (proton_plus_widgets_games_launch_options_editor_launch_option_spin_tile_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SPIN_TILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SPIN_TILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTileClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_SPIN_TILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_SPIN_TILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SPIN_TILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SPIN_TILE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTileClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTileClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTileClass;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourcePrivate;

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD (proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_RESOLUTION_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_RESOLUTION_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionFieldClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_RESOLUTION_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_RESOLUTION_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_RESOLUTION_FIELD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_RESOLUTION_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionFieldClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionFieldClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionFieldClass;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourcePrivate;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourcePrivate;

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD (proton_plus_widgets_games_launch_options_editor_launch_option_entry_field_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_ENTRY_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_ENTRY_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryFieldClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ENTRY_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ENTRY_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_ENTRY_FIELD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_ENTRY_FIELD, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryFieldClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryFieldClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryFieldClass;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE (proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourcePrivate ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourcePrivate;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SELECTION_ADAPTER_FACTORY_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SELECTION_ADAPTER_FACTORY_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SELECTION_ADAPTER_FACTORY_NUM_PROPERTIES];

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* selection;
	gchar* diagnostic;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* option;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* option;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* combo;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* pairs;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field;
	gchar* diagnostic;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourcePrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourcePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments;
};

static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_parent_class = NULL;
static ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = NULL;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_parent_class = NULL;

static gchar* proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self);
static GType proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_type_once (void);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static gchar* proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static void proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_property (GObject * object,
                                                                                                                guint property_id,
                                                                                                                GValue * value,
                                                                                                                GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_set_property (GObject * object,
                                                                                                                guint property_id,
                                                                                                                const GValue * value,
                                                                                                                GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_new (const gchar* selection_id,
                                                                                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_construct (GType object_type,
                                                                                                                                                                       const gchar* selection_id,
                                                                                                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static void proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            GValue * value,
                                                                                                            GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_set_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            const GValue * value,
                                                                                                            GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_option_spin_tile_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_new (const gchar* selection_id,
                                                                                                                                                                     ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* option);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_construct (GType object_type,
                                                                                                                                                                           const gchar* selection_id,
                                                                                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* option);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
VALA_EXTERN gint proton_plus_widgets_games_launch_options_editor_launch_option_spin_tile_get_value_as_int (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* self);
static void proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_property (GObject * object,
                                                                                                              guint property_id,
                                                                                                              GValue * value,
                                                                                                              GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_set_property (GObject * object,
                                                                                                              guint property_id,
                                                                                                              const GValue * value,
                                                                                                              GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_new (const gchar* selection_id,
                                                                                                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* option);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_construct (GType object_type,
                                                                                                                                                                                       const gchar* selection_id,
                                                                                                                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* option);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
VALA_EXTERN gboolean proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_is_auto (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* self);
VALA_EXTERN gboolean proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_has_resolution (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* self);
VALA_EXTERN void proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_get_resolution (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* self,
                                                                                                    gint* width,
                                                                                                    gint* height);
static void proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_property (GObject * object,
                                                                                                                    guint property_id,
                                                                                                                    GValue * value,
                                                                                                                    GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_set_property (GObject * object,
                                                                                                                    guint property_id,
                                                                                                                    const GValue * value,
                                                                                                                    GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_new (const gchar* selection_id,
                                                                                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_construct (GType object_type,
                                                                                                                                                                                 const gchar* selection_id,
                                                                                                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static void proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_property (GObject * object,
                                                                                                                 guint property_id,
                                                                                                                 GValue * value,
                                                                                                                 GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_set_property (GObject * object,
                                                                                                                 guint property_id,
                                                                                                                 const GValue * value,
                                                                                                                 GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_option_entry_field_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_new (const gchar* selection_id,
                                                                                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_construct (GType object_type,
                                                                                                                                                                                 const gchar* selection_id,
                                                                                                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
VALA_EXTERN gchar* proton_plus_widgets_games_launch_options_editor_launch_option_entry_field_get_text (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* self);
static gchar* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static void proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_property (GObject * object,
                                                                                                                 guint property_id,
                                                                                                                 GValue * value,
                                                                                                                 GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_set_property (GObject * object,
                                                                                                                 guint property_id,
                                                                                                                 const GValue * value,
                                                                                                                 GParamSpec * pspec);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_new (const gchar* selection_id,
                                                                                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_construct (GType object_type,
                                                                                                                                                                         const gchar* selection_id,
                                                                                                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static gchar* proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base);
static void proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_property (GObject * object,
                                                                                                             guint property_id,
                                                                                                             GValue * value,
                                                                                                             GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_set_property (GObject * object,
                                                                                                             guint property_id,
                                                                                                             const GValue * value,
                                                                                                             GParamSpec * pspec);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_ILAUNCH_COMMAND_SELECTION_SOURCE_GET_INTERFACE (self);
	if (_iface_->get_selection) {
		return _iface_->get_selection (self);
	}
	return NULL;
}

static gchar*
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self)
{
	gchar* result;
	result = NULL;
	return result;
}

gchar*
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_ILAUNCH_COMMAND_SELECTION_SOURCE_GET_INTERFACE (self);
	if (_iface_->get_diagnostic) {
		return _iface_->get_diagnostic (self);
	}
	return NULL;
}

const gchar*
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_ILAUNCH_COMMAND_SELECTION_SOURCE_GET_INTERFACE (self);
	if (_iface_->get_option_id) {
		return _iface_->get_option_id (self);
	}
	return NULL;
}

void
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* self,
                                                                                                const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_ILAUNCH_COMMAND_SELECTION_SOURCE_GET_INTERFACE (self);
	if (_iface_->set_option_id) {
		_iface_->set_option_id (self, value);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_default_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                               gpointer iface_data)
{
	g_object_interface_install_property (iface, g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	iface->get_diagnostic = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_real_get_diagnostic;
}

static GType
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id;
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id = g_type_register_static (G_TYPE_INTERFACE, "ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id, G_TYPE_OBJECT);
	return proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id;
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id__once, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_type_id__once;
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource_private_offset);
}

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

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_construct (GType object_type,
                                                                                                  const gchar* selection_id,
                                                                                                  ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* selection,
                                                                                                  const gchar* diagnostic)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (selection_id != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	_tmp0_ = _g_object_ref0 (selection);
	_g_object_unref0 (self->priv->selection);
	self->priv->selection = _tmp0_;
	_tmp1_ = g_strdup (diagnostic);
	_g_free0 (self->priv->diagnostic);
	self->priv->diagnostic = _tmp1_;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_new (const gchar* selection_id,
                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* selection,
                                                                                            const gchar* diagnostic)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE, selection_id, selection, diagnostic);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*) base;
	_tmp0_ = self->priv->selection;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	result = _tmp1_;
	return result;
}

static gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*) base;
	_tmp0_ = self->priv->diagnostic;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                           const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSourceClass * klass,
                                                                                                   gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                        gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_selection;
	iface->get_diagnostic = (gchar* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_diagnostic;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self,
                                                                                                      gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource);
	_g_free0 (self->priv->_option_id);
	_g_object_unref0 (self->priv->selection);
	_g_free0 (self->priv->diagnostic);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_get_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           GValue * value,
                                                                                                           GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_static_selection_source_set_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           const GValue * value,
                                                                                                           GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandStaticSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_STATIC_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_construct (GType object_type,
                                                                                              const gchar* selection_id,
                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (option != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->option = option;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_new (const gchar* selection_id,
                                                                                        ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, selection_id, option);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp0_ = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp9_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*) base;
	_tmp1_ = self->priv->option;
	if (proton_plus_widgets_games_launch_options_editor_ilaunch_option_is_active (_tmp1_)) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		gchar** _tmp4_;
		gchar** _tmp5_;
		gint _tmp5__length1;
		gchar** _tmp6_;
		gchar** _tmp7_;
		gint _tmp7__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp8_;
		_tmp2_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
		_tmp3_ = _tmp2_;
		_tmp4_ = g_new0 (gchar*, 0 + 1);
		_tmp5_ = _tmp4_;
		_tmp5__length1 = 0;
		_tmp6_ = g_new0 (gchar*, 0 + 1);
		_tmp7_ = _tmp6_;
		_tmp7__length1 = 0;
		_tmp8_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp3_, _tmp5_, 0, "", _tmp7_, 0, FALSE, NULL, 0, "");
		_g_object_unref0 (_tmp0_);
		_tmp0_ = _tmp8_;
		_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
		_tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL);
	} else {
		_g_object_unref0 (_tmp0_);
		_tmp0_ = NULL;
	}
	_tmp9_ = _tmp0_;
	_tmp0_ = NULL;
	result = _tmp9_;
	_g_object_unref0 (_tmp0_);
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                       const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass * klass,
                                                                                               gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                    gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_selection;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self,
                                                                                                  gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource);
	_g_free0 (self->priv->_option_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_get_property (GObject * object,
                                                                                                       guint property_id,
                                                                                                       GValue * value,
                                                                                                       GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_set_property (GObject * object,
                                                                                                       guint property_id,
                                                                                                       const GValue * value,
                                                                                                       GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_FIXED_OPTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_FIXED_OPTION_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_construct (GType object_type,
                                                                                                const gchar* selection_id,
                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* option)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (option != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->option = option;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_new (const gchar* selection_id,
                                                                                          ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* option)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, selection_id, option);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* _tmp3_;
	gchar* _tmp4_;
	gchar** _tmp5_;
	gchar** _tmp6_;
	gint _tmp6__length1;
	gchar** _tmp7_;
	gchar** _tmp8_;
	gint _tmp8__length1;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp9_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp10_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*) base;
	_tmp0_ = self->priv->option;
	if (!proton_plus_widgets_games_launch_options_editor_ilaunch_option_is_active ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption*) _tmp0_)) {
		result = NULL;
		return result;
	}
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = self->priv->option;
	_tmp4_ = g_strdup_printf ("%i", proton_plus_widgets_games_launch_options_editor_launch_option_spin_tile_get_value_as_int (_tmp3_));
	_tmp5_ = g_new0 (gchar*, 1 + 1);
	_tmp5_[0] = _tmp4_;
	_tmp6_ = _tmp5_;
	_tmp6__length1 = 1;
	_tmp7_ = g_new0 (gchar*, 0 + 1);
	_tmp8_ = _tmp7_;
	_tmp8__length1 = 0;
	_tmp9_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp2_, _tmp6_, 1, "", _tmp8_, 0, FALSE, NULL, 0, "");
	_tmp10_ = _tmp9_;
	_tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL);
	_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
	result = _tmp10_;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                         const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass * klass,
                                                                                                 gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                      gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_selection;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self,
                                                                                                    gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource);
	_g_free0 (self->priv->_option_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_get_property (GObject * object,
                                                                                                         guint property_id,
                                                                                                         GValue * value,
                                                                                                         GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_set_property (GObject * object,
                                                                                                         guint property_id,
                                                                                                         const GValue * value,
                                                                                                         GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_SPIN_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_construct (GType object_type,
                                                                                                      const gchar* selection_id,
                                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* option)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (option != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->option = option;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_new (const gchar* selection_id,
                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* option)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, selection_id, option);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp11_;
	gint width = 0;
	gint height = 0;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp12_;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	gchar** _tmp19_;
	gchar** _tmp20_;
	gint _tmp20__length1;
	gchar** _tmp21_;
	gchar** _tmp22_;
	gint _tmp22__length1;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp23_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp24_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*) base;
	_tmp0_ = self->priv->option;
	if (!proton_plus_widgets_games_launch_options_editor_ilaunch_option_is_active ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption*) _tmp0_)) {
		result = NULL;
		return result;
	}
	_tmp1_ = self->priv->option;
	if (proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_is_auto (_tmp1_)) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		gchar* _tmp4_;
		gchar** _tmp5_;
		gchar** _tmp6_;
		gint _tmp6__length1;
		gchar** _tmp7_;
		gchar** _tmp8_;
		gint _tmp8__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp9_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp10_;
		_tmp2_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
		_tmp3_ = _tmp2_;
		_tmp4_ = g_strdup ("auto");
		_tmp5_ = g_new0 (gchar*, 1 + 1);
		_tmp5_[0] = _tmp4_;
		_tmp6_ = _tmp5_;
		_tmp6__length1 = 1;
		_tmp7_ = g_new0 (gchar*, 0 + 1);
		_tmp8_ = _tmp7_;
		_tmp8__length1 = 0;
		_tmp9_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp3_, _tmp6_, 1, "", _tmp8_, 0, FALSE, NULL, 0, "");
		_tmp10_ = _tmp9_;
		_tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL);
		_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
		result = _tmp10_;
		return result;
	}
	_tmp11_ = self->priv->option;
	if (!proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_has_resolution (_tmp11_)) {
		result = NULL;
		return result;
	}
	_tmp12_ = self->priv->option;
	proton_plus_widgets_games_launch_options_editor_launch_option_resolution_field_get_resolution (_tmp12_, &_tmp13_, &_tmp14_);
	width = _tmp13_;
	height = _tmp14_;
	_tmp15_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
	_tmp16_ = _tmp15_;
	_tmp17_ = g_strdup_printf ("%i", width);
	_tmp18_ = g_strdup_printf ("%i", height);
	_tmp19_ = g_new0 (gchar*, 2 + 1);
	_tmp19_[0] = _tmp17_;
	_tmp19_[1] = _tmp18_;
	_tmp20_ = _tmp19_;
	_tmp20__length1 = 2;
	_tmp21_ = g_new0 (gchar*, 0 + 1);
	_tmp22_ = _tmp21_;
	_tmp22__length1 = 0;
	_tmp23_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp16_, _tmp20_, 2, "", _tmp22_, 0, FALSE, NULL, 0, "");
	_tmp24_ = _tmp23_;
	_tmp22_ = (_vala_array_free (_tmp22_, _tmp22__length1, (GDestroyNotify) g_free), NULL);
	_tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
	result = _tmp24_;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                               const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass * klass,
                                                                                                       gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                            gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_selection;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self,
                                                                                                          gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource);
	_g_free0 (self->priv->_option_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_get_property (GObject * object,
                                                                                                               guint property_id,
                                                                                                               GValue * value,
                                                                                                               GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_set_property (GObject * object,
                                                                                                               guint property_id,
                                                                                                               const GValue * value,
                                                                                                               GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_RESOLUTION_SELECTION_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_construct (GType object_type,
                                                                                                   const gchar* selection_id,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (option != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->option = option;
	self->priv->combo = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ENV_COMBO (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo*) option) : NULL;
	self->priv->pairs = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_CUSTOM_PAIRS (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs*) option) : NULL;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_new (const gchar* selection_id,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, selection_id, option);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* _tmp14_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*) base;
	_tmp0_ = self->priv->option;
	if (!proton_plus_widgets_games_launch_options_editor_ilaunch_option_is_active (_tmp0_)) {
		result = NULL;
		return result;
	}
	_tmp1_ = self->priv->combo;
	if (_tmp1_ != NULL) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		gchar* _tmp7_;
		gchar** _tmp8_;
		gchar** _tmp9_;
		gint _tmp9__length1;
		gchar** _tmp10_;
		gchar** _tmp11_;
		gint _tmp11__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp12_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp13_;
		_tmp2_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
		_tmp3_ = _tmp2_;
		_tmp4_ = self->priv->combo;
		_tmp5_ = proton_plus_widgets_games_launch_options_editor_launch_option_env_combo_get_value (_tmp4_);
		_tmp6_ = _tmp5_;
		_tmp7_ = g_strdup (_tmp6_);
		_tmp8_ = g_new0 (gchar*, 1 + 1);
		_tmp8_[0] = _tmp7_;
		_tmp9_ = _tmp8_;
		_tmp9__length1 = 1;
		_tmp10_ = g_new0 (gchar*, 0 + 1);
		_tmp11_ = _tmp10_;
		_tmp11__length1 = 0;
		_tmp12_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp3_, _tmp9_, 1, "", _tmp11_, 0, FALSE, NULL, 0, "");
		_tmp13_ = _tmp12_;
		_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
		_tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
		result = _tmp13_;
		return result;
	}
	_tmp14_ = self->priv->pairs;
	if (_tmp14_ != NULL) {
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* _tmp17_;
		gchar* _tmp18_;
		gchar* _tmp19_;
		gchar** _tmp20_;
		gchar** _tmp21_;
		gint _tmp21__length1;
		gchar** _tmp22_;
		gchar** _tmp23_;
		gint _tmp23__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp24_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp25_;
		_tmp15_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
		_tmp16_ = _tmp15_;
		_tmp17_ = self->priv->pairs;
		_tmp18_ = proton_plus_widgets_games_launch_options_editor_launch_option_custom_pairs_get_value (_tmp17_);
		_tmp19_ = _tmp18_;
		_tmp20_ = g_new0 (gchar*, 1 + 1);
		_tmp20_[0] = _tmp19_;
		_tmp21_ = _tmp20_;
		_tmp21__length1 = 1;
		_tmp22_ = g_new0 (gchar*, 0 + 1);
		_tmp23_ = _tmp22_;
		_tmp23__length1 = 0;
		_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp16_, _tmp21_, 1, "", _tmp23_, 0, FALSE, NULL, 0, "");
		_tmp25_ = _tmp24_;
		_tmp23_ = (_vala_array_free (_tmp23_, _tmp23__length1, (GDestroyNotify) g_free), NULL);
		_tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
		result = _tmp25_;
		return result;
	}
	result = NULL;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                            const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass * klass,
                                                                                                    gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                         gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_selection;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self,
                                                                                                       gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource);
	_g_free0 (self->priv->_option_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_get_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            GValue * value,
                                                                                                            GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_set_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            const GValue * value,
                                                                                                            GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ENVIRONMENT_VALUE_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_construct (GType object_type,
                                                                                                   const gchar* selection_id,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (field != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->field = field;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_new (const gchar* selection_id,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, selection_id, field);
}

static gchar*
string_strip (const gchar* self)
{
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup (self);
	_result_ = _tmp0_;
	g_strstrip (_result_);
	result = _result_;
	return result;
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self;
	gchar* text = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	GeeArrayList* tokens = NULL;
	GeeArrayList* _tmp6_;
	const gchar* _tmp29_;
	const gchar* _tmp30_;
	GeeArrayList* _tmp31_;
	gint _tmp32_ = 0;
	gpointer* _tmp33_;
	gchar** _tmp34_;
	gint _tmp34__length1;
	gchar** _tmp35_;
	gchar** _tmp36_;
	gint _tmp36__length1;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp37_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp38_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*) base;
	_g_free0 (self->priv->diagnostic);
	self->priv->diagnostic = NULL;
	_tmp0_ = self->priv->field;
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_entry_field_get_text (_tmp0_);
	text = _tmp1_;
	_tmp2_ = text;
	_tmp3_ = string_strip (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strcmp0 (_tmp4_, "") == 0;
	_g_free0 (_tmp4_);
	if (_tmp5_) {
		result = NULL;
		_g_free0 (text);
		return result;
	}
	_tmp6_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
	tokens = _tmp6_;
	{
		GeeArrayList* _token_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellTokenizer* _tmp7_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellTokenizer* _tmp8_;
		const gchar* _tmp9_;
		GeeArrayList* _tmp10_;
		GeeArrayList* _tmp11_;
		gint _token_size = 0;
		GeeArrayList* _tmp12_;
		gint _tmp13_;
		gint _tmp14_;
		gint _token_index = 0;
		_tmp7_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_tokenizer_new ();
		_tmp8_ = _tmp7_;
		_tmp9_ = text;
		_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_tokenizer_tokenize (_tmp8_, _tmp9_);
		_tmp11_ = _tmp10_;
		_g_object_unref0 (_tmp8_);
		_token_list = _tmp11_;
		_tmp12_ = _token_list;
		_tmp13_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp12_);
		_tmp14_ = _tmp13_;
		_token_size = _tmp14_;
		_token_index = -1;
		while (TRUE) {
			gint _tmp15_;
			gint _tmp16_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token = NULL;
			GeeArrayList* _tmp17_;
			gpointer _tmp18_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp19_;
			gboolean _tmp20_;
			gboolean _tmp21_;
			GeeArrayList* _tmp25_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp26_;
			const gchar* _tmp27_;
			const gchar* _tmp28_;
			_token_index = _token_index + 1;
			_tmp15_ = _token_index;
			_tmp16_ = _token_size;
			if (!(_tmp15_ < _tmp16_)) {
				break;
			}
			_tmp17_ = _token_list;
			_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _token_index);
			token = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp18_;
			_tmp19_ = token;
			_tmp20_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp19_);
			_tmp21_ = _tmp20_;
			if (_tmp21_) {
				const gchar* _tmp22_;
				const gchar* _tmp23_;
				gchar* _tmp24_;
				_tmp22_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
				_tmp23_ = _tmp22_;
				_tmp24_ = g_strdup_printf ("Wrapper arguments for '%s' contain opaque shell syntax.", _tmp23_);
				_g_free0 (self->priv->diagnostic);
				self->priv->diagnostic = _tmp24_;
				result = NULL;
				_g_object_unref0 (token);
				_g_object_unref0 (_token_list);
				_g_object_unref0 (tokens);
				_g_free0 (text);
				return result;
			}
			_tmp25_ = tokens;
			_tmp26_ = token;
			_tmp27_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp26_);
			_tmp28_ = _tmp27_;
			gee_abstract_collection_add ((GeeAbstractCollection*) _tmp25_, _tmp28_);
			_g_object_unref0 (token);
		}
		_g_object_unref0 (_token_list);
	}
	_tmp29_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
	_tmp30_ = _tmp29_;
	_tmp31_ = tokens;
	_tmp33_ = gee_collection_to_array ((GeeCollection*) _tmp31_, &_tmp32_);
	_tmp34_ = _tmp33_;
	_tmp34__length1 = _tmp32_;
	_tmp35_ = g_new0 (gchar*, 0 + 1);
	_tmp36_ = _tmp35_;
	_tmp36__length1 = 0;
	_tmp37_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp30_, _tmp34_, _tmp32_, "", _tmp36_, 0, FALSE, NULL, 0, "");
	_tmp38_ = _tmp37_;
	_tmp36_ = (_vala_array_free (_tmp36_, _tmp36__length1, (GDestroyNotify) g_free), NULL);
	_tmp34_ = (_vala_array_free (_tmp34_, _tmp34__length1, (GDestroyNotify) g_free), NULL);
	result = _tmp38_;
	_g_object_unref0 (tokens);
	_g_free0 (text);
	return result;
}

static gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*) base;
	_tmp0_ = self->priv->diagnostic;
	_tmp1_ = g_strdup (_tmp0_);
	result = _tmp1_;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                            const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass * klass,
                                                                                                    gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                         gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_selection;
	iface->get_diagnostic = (gchar* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_diagnostic;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self,
                                                                                                       gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource);
	_g_free0 (self->priv->_option_id);
	_g_free0 (self->priv->diagnostic);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_get_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            GValue * value,
                                                                                                            GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_set_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            const GValue * value,
                                                                                                            GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_ARGUMENTS_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_construct (GType object_type,
                                                                                               const gchar* selection_id,
                                                                                               ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self = NULL;
	g_return_val_if_fail (selection_id != NULL, NULL);
	g_return_val_if_fail (arguments != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*) g_object_new (object_type, NULL);
	proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, selection_id);
	self->priv->arguments = arguments;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_new (const gchar* selection_id,
                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, selection_id, arguments);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection*
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_selection (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self;
	gchar** values = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp0_;
	gint _tmp1_ = 0;
	gchar** _tmp2_;
	gint values_length1;
	gint _values_size_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp3_ = NULL;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp18_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*) base;
	_tmp0_ = self->priv->arguments;
	_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_option_argument_list_get_raw_arguments (_tmp0_, &_tmp1_);
	values = _tmp2_;
	values_length1 = _tmp1_;
	_values_size_ = values_length1;
	_tmp4_ = values;
	_tmp4__length1 = values_length1;
	if (_tmp4__length1 > 0) {
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		gchar** _tmp7_;
		gint _tmp7__length1;
		gchar** _tmp8_;
		gchar** _tmp9_;
		gint _tmp9__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp10_;
		gint _tmp11_ = 0;
		gint* _tmp12_;
		gint* _tmp13_;
		gint _tmp13__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp14_;
		gchar* _tmp15_;
		gchar* _tmp16_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* _tmp17_;
		_tmp5_ = proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self);
		_tmp6_ = _tmp5_;
		_tmp7_ = values;
		_tmp7__length1 = values_length1;
		_tmp8_ = g_new0 (gchar*, 0 + 1);
		_tmp9_ = _tmp8_;
		_tmp9__length1 = 0;
		_tmp10_ = self->priv->arguments;
		_tmp12_ = proton_plus_widgets_games_launch_options_editor_launch_option_argument_list_get_source_indexes (_tmp10_, &_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp13__length1 = _tmp11_;
		_tmp14_ = self->priv->arguments;
		_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_option_argument_list_get_loaded_source (_tmp14_);
		_tmp16_ = _tmp15_;
		_tmp17_ = proton_plus_widgets_games_launch_options_editor_launch_command_selection_new (_tmp6_, _tmp7_, _tmp7__length1, "", _tmp9_, 0, TRUE, _tmp13_, _tmp11_, _tmp16_);
		_g_object_unref0 (_tmp3_);
		_tmp3_ = _tmp17_;
		_g_free0 (_tmp16_);
		_tmp13_ = (g_free (_tmp13_), NULL);
		_tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
	} else {
		_g_object_unref0 (_tmp3_);
		_tmp3_ = NULL;
	}
	_tmp18_ = _tmp3_;
	_tmp3_ = NULL;
	result = _tmp18_;
	_g_object_unref0 (_tmp3_);
	values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL);
	return result;
}

static gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp0_;
	gchar* _tmp1_;
	gchar* result;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*) base;
	_tmp0_ = self->priv->arguments;
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_argument_list_get_validation_diagnostic (_tmp0_);
	result = _tmp1_;
	return result;
}

static const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base)
{
	const gchar* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* self;
	const gchar* _tmp0_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*) base;
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* base,
                                                                                                        const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* self;
	gchar* old_value;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource*) base;
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_option_id (base);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass * klass,
                                                                                                gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSourceIface * iface,
                                                                                                                                                                                     gpointer iface_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_selection = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelection* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_selection;
	iface->get_diagnostic = (gchar* (*) (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*)) proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_diagnostic;
	iface->get_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_get_option_id;
	iface->set_option_id = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_real_set_option_id;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self,
                                                                                                   gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource);
	_g_free0 (self->priv->_option_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_instance_init, NULL };
	static const GInterfaceInfo proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info = { (GInterfaceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource", &g_define_type_info, 0);
	g_type_add_interface_static (proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_ILAUNCH_COMMAND_SELECTION_SOURCE, &proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_info);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSourcePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_get_property (GObject * object,
                                                                                                        guint property_id,
                                                                                                        GValue * value,
                                                                                                        GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_get_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_set_property (GObject * object,
                                                                                                        guint property_id,
                                                                                                        const GValue * value,
                                                                                                        GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_ARGUMENT_LIST_SOURCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_ilaunch_command_selection_source_set_option_id ((ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_create (const gchar* id,
                                                                                                 GtkWidget* widget,
                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption* option)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* arguments = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* resolution = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp4_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp5_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* spin = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* _tmp8_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* _tmp9_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* combo = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* _tmp12_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* _tmp13_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* pairs = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* _tmp16_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* _tmp17_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* field = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* _tmp20_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* _tmp21_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource* result;
	g_return_val_if_fail (id != NULL, NULL);
	_tmp0_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ARGUMENT_LIST (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList*) option) : NULL);
	arguments = _tmp0_;
	_tmp1_ = arguments;
	if (_tmp1_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionArgumentList* _tmp2_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandArgumentListSource* _tmp3_;
		_tmp2_ = arguments;
		_tmp3_ = proton_plus_widgets_games_launch_options_editor_launch_command_argument_list_source_new (id, _tmp2_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp3_;
		_g_object_unref0 (arguments);
		return result;
	}
	_tmp4_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_RESOLUTION_FIELD (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField*) option) : NULL);
	resolution = _tmp4_;
	_tmp5_ = resolution;
	if (_tmp5_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionResolutionField* _tmp6_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandResolutionSelectionSource* _tmp7_;
		_tmp6_ = resolution;
		_tmp7_ = proton_plus_widgets_games_launch_options_editor_launch_command_resolution_selection_source_new (id, _tmp6_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp7_;
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	_tmp8_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_SPIN_TILE (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile*) option) : NULL);
	spin = _tmp8_;
	_tmp9_ = spin;
	if (_tmp9_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSpinTile* _tmp10_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSpinSelectionSource* _tmp11_;
		_tmp10_ = spin;
		_tmp11_ = proton_plus_widgets_games_launch_options_editor_launch_command_spin_selection_source_new (id, _tmp10_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp11_;
		_g_object_unref0 (spin);
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	_tmp12_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ENV_COMBO (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo*) option) : NULL);
	combo = _tmp12_;
	_tmp13_ = combo;
	if (_tmp13_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEnvCombo* _tmp14_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* _tmp15_;
		_tmp14_ = combo;
		_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_new (id, (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption*) _tmp14_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp15_;
		_g_object_unref0 (combo);
		_g_object_unref0 (spin);
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	_tmp16_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_CUSTOM_PAIRS (option) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs*) option) : NULL);
	pairs = _tmp16_;
	_tmp17_ = pairs;
	if (_tmp17_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCustomPairs* _tmp18_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandEnvironmentValueSource* _tmp19_;
		_tmp18_ = pairs;
		_tmp19_ = proton_plus_widgets_games_launch_options_editor_launch_command_environment_value_source_new (id, (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchOption*) _tmp18_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp19_;
		_g_object_unref0 (pairs);
		_g_object_unref0 (combo);
		_g_object_unref0 (spin);
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	_tmp20_ = _g_object_ref0 (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_LAUNCH_OPTION_ENTRY_FIELD (widget) ? ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField*) widget) : NULL);
	field = _tmp20_;
	_tmp21_ = field;
	if (_tmp21_ != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEntryField* _tmp22_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperArgumentsSource* _tmp23_;
		_tmp22_ = field;
		_tmp23_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_arguments_source_new (id, _tmp22_);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp23_;
		_g_object_unref0 (field);
		_g_object_unref0 (pairs);
		_g_object_unref0 (combo);
		_g_object_unref0 (spin);
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	if (option != NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandFixedOptionSource* _tmp24_;
		_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_command_fixed_option_source_new (id, option);
		result = (ProtonPlusWidgetsGamesLaunchOptionsEditorILaunchCommandSelectionSource*) _tmp24_;
		_g_object_unref0 (field);
		_g_object_unref0 (pairs);
		_g_object_unref0 (combo);
		_g_object_unref0 (spin);
		_g_object_unref0 (resolution);
		_g_object_unref0 (arguments);
		return result;
	}
	result = NULL;
	_g_object_unref0 (field);
	_g_object_unref0 (pairs);
	_g_object_unref0 (combo);
	_g_object_unref0 (spin);
	_g_object_unref0 (resolution);
	_g_object_unref0 (arguments);
	return result;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory*
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_construct (GType object_type)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory * self = NULL;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory*) g_object_new (object_type, NULL);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory*
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_new (void)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_SELECTION_ADAPTER_FACTORY);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactoryClass * klass,
                                                                                                     gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_parent_class = g_type_class_peek_parent (klass);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory * self,
                                                                                                        gpointer klass)
{
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandSelectionAdapterFactory", &g_define_type_info, 0);
	return proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_selection_adapter_factory_type_id__once;
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize 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,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

