/* display-header-bar.c generated by valac 0.35.5, the Vala compiler
 * generated from display-header-bar.vala, do not modify */

/* This file is part of GNOME Games. License: GPLv3*/

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


#define GAMES_TYPE_DISPLAY_HEADER_BAR (games_display_header_bar_get_type ())
#define GAMES_DISPLAY_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBar))
#define GAMES_DISPLAY_HEADER_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBarClass))
#define GAMES_IS_DISPLAY_HEADER_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DISPLAY_HEADER_BAR))
#define GAMES_IS_DISPLAY_HEADER_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DISPLAY_HEADER_BAR))
#define GAMES_DISPLAY_HEADER_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBarClass))

typedef struct _GamesDisplayHeaderBar GamesDisplayHeaderBar;
typedef struct _GamesDisplayHeaderBarClass GamesDisplayHeaderBarClass;
typedef struct _GamesDisplayHeaderBarPrivate GamesDisplayHeaderBarPrivate;

#define GAMES_TYPE_MEDIA_MENU_BUTTON (games_media_menu_button_get_type ())
#define GAMES_MEDIA_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MEDIA_MENU_BUTTON, GamesMediaMenuButton))
#define GAMES_MEDIA_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_MEDIA_MENU_BUTTON, GamesMediaMenuButtonClass))
#define GAMES_IS_MEDIA_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_MEDIA_MENU_BUTTON))
#define GAMES_IS_MEDIA_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_MEDIA_MENU_BUTTON))
#define GAMES_MEDIA_MENU_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_MEDIA_MENU_BUTTON, GamesMediaMenuButtonClass))

typedef struct _GamesMediaMenuButton GamesMediaMenuButton;
typedef struct _GamesMediaMenuButtonClass GamesMediaMenuButtonClass;

#define GAMES_TYPE_MEDIA_SELECTOR (games_media_selector_get_type ())
#define GAMES_MEDIA_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MEDIA_SELECTOR, GamesMediaSelector))
#define GAMES_MEDIA_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_MEDIA_SELECTOR, GamesMediaSelectorClass))
#define GAMES_IS_MEDIA_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_MEDIA_SELECTOR))
#define GAMES_IS_MEDIA_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_MEDIA_SELECTOR))
#define GAMES_MEDIA_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_MEDIA_SELECTOR, GamesMediaSelectorClass))

typedef struct _GamesMediaSelector GamesMediaSelector;
typedef struct _GamesMediaSelectorClass GamesMediaSelectorClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define GAMES_TYPE_MEDIA_SET (games_media_set_get_type ())
#define GAMES_MEDIA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MEDIA_SET, GamesMediaSet))
#define GAMES_MEDIA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_MEDIA_SET, GamesMediaSetClass))
#define GAMES_IS_MEDIA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_MEDIA_SET))
#define GAMES_IS_MEDIA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_MEDIA_SET))
#define GAMES_MEDIA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_MEDIA_SET, GamesMediaSetClass))

typedef struct _GamesMediaSet GamesMediaSet;
typedef struct _GamesMediaSetClass GamesMediaSetClass;
enum  {
	GAMES_DISPLAY_HEADER_BAR_BACK_SIGNAL,
	GAMES_DISPLAY_HEADER_BAR_LAST_SIGNAL
};
static guint games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_LAST_SIGNAL] = {0};

struct _GamesDisplayHeaderBar {
	GtkHeaderBar parent_instance;
	GamesDisplayHeaderBarPrivate * priv;
};

struct _GamesDisplayHeaderBarClass {
	GtkHeaderBarClass parent_class;
};

struct _GamesDisplayHeaderBarPrivate {
	GamesMediaMenuButton* media_button;
	gboolean _can_fullscreen;
	gboolean _is_fullscreen;
	GamesMediaSelector* media_selector;
	GtkButton* fullscreen;
	GtkButton* restore;
	GSettings* settings;
};


static gpointer games_display_header_bar_parent_class = NULL;

GType games_display_header_bar_get_type (void) G_GNUC_CONST;
GType games_media_menu_button_get_type (void) G_GNUC_CONST;
GType games_media_selector_get_type (void) G_GNUC_CONST;
#define GAMES_DISPLAY_HEADER_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBarPrivate))
enum  {
	GAMES_DISPLAY_HEADER_BAR_DUMMY_PROPERTY,
	GAMES_DISPLAY_HEADER_BAR_GAME_TITLE,
	GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN,
	GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN,
	GAMES_DISPLAY_HEADER_BAR_MEDIA_SET
};
static void games_display_header_bar_on_fullscreen_changed (GamesDisplayHeaderBar* self);
gboolean games_display_header_bar_get_can_fullscreen (GamesDisplayHeaderBar* self);
gboolean games_display_header_bar_get_is_fullscreen (GamesDisplayHeaderBar* self);
static void _games_display_header_bar_on_fullscreen_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void games_display_header_bar_on_back_clicked (GamesDisplayHeaderBar* self);
static void _games_display_header_bar_on_back_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
static void games_display_header_bar_on_fullscreen_clicked (GamesDisplayHeaderBar* self);
void games_display_header_bar_set_is_fullscreen (GamesDisplayHeaderBar* self, gboolean value);
static void _games_display_header_bar_on_fullscreen_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
static void games_display_header_bar_on_restore_clicked (GamesDisplayHeaderBar* self);
static void _games_display_header_bar_on_restore_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
GamesDisplayHeaderBar* games_display_header_bar_new (void);
GamesDisplayHeaderBar* games_display_header_bar_construct (GType object_type);
void games_display_header_bar_set_game_title (GamesDisplayHeaderBar* self, const gchar* value);
void games_display_header_bar_set_can_fullscreen (GamesDisplayHeaderBar* self, gboolean value);
GType games_media_set_get_type (void) G_GNUC_CONST;
void games_display_header_bar_set_media_set (GamesDisplayHeaderBar* self, GamesMediaSet* value);
void games_media_menu_button_set_media_set (GamesMediaMenuButton* self, GamesMediaSet* value);
void games_media_selector_set_media_set (GamesMediaSelector* self, GamesMediaSet* value);
static GObject * games_display_header_bar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
GamesMediaSelector* games_media_selector_new (void);
GamesMediaSelector* games_media_selector_construct (GType object_type);
static void games_display_header_bar_finalize (GObject * obj);
static void _vala_games_display_header_bar_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_games_display_header_bar_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);


static void games_display_header_bar_on_fullscreen_changed (GamesDisplayHeaderBar* self) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
	GtkButton* _tmp3_;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_;
	GtkButton* _tmp7_;
	g_return_if_fail (self != NULL);
	_tmp1_ = self->priv->_can_fullscreen;
	if (_tmp1_) {
		gboolean _tmp2_;
		_tmp2_ = self->priv->_is_fullscreen;
		_tmp0_ = !_tmp2_;
	} else {
		_tmp0_ = FALSE;
	}
	_tmp3_ = self->priv->fullscreen;
	gtk_widget_set_visible ((GtkWidget*) _tmp3_, _tmp0_);
	_tmp5_ = self->priv->_can_fullscreen;
	if (_tmp5_) {
		gboolean _tmp6_;
		_tmp6_ = self->priv->_is_fullscreen;
		_tmp4_ = _tmp6_;
	} else {
		_tmp4_ = FALSE;
	}
	_tmp7_ = self->priv->restore;
	gtk_widget_set_visible ((GtkWidget*) _tmp7_, _tmp4_);
}


static void _games_display_header_bar_on_fullscreen_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
	games_display_header_bar_on_fullscreen_changed ((GamesDisplayHeaderBar*) self);
}


static void games_display_header_bar_on_back_clicked (GamesDisplayHeaderBar* self) {
	g_return_if_fail (self != NULL);
	g_signal_emit (self, games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_BACK_SIGNAL], 0);
}


static void _games_display_header_bar_on_back_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
	games_display_header_bar_on_back_clicked ((GamesDisplayHeaderBar*) self);
}


static void games_display_header_bar_on_fullscreen_clicked (GamesDisplayHeaderBar* self) {
	GSettings* _tmp0_;
	g_return_if_fail (self != NULL);
	games_display_header_bar_set_is_fullscreen (self, TRUE);
	_tmp0_ = self->priv->settings;
	g_settings_set_boolean (_tmp0_, "fullscreen", TRUE);
}


static void _games_display_header_bar_on_fullscreen_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
	games_display_header_bar_on_fullscreen_clicked ((GamesDisplayHeaderBar*) self);
}


static void games_display_header_bar_on_restore_clicked (GamesDisplayHeaderBar* self) {
	GSettings* _tmp0_;
	g_return_if_fail (self != NULL);
	games_display_header_bar_set_is_fullscreen (self, FALSE);
	_tmp0_ = self->priv->settings;
	g_settings_set_boolean (_tmp0_, "fullscreen", FALSE);
}


static void _games_display_header_bar_on_restore_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
	games_display_header_bar_on_restore_clicked ((GamesDisplayHeaderBar*) self);
}


GamesDisplayHeaderBar* games_display_header_bar_construct (GType object_type) {
	GamesDisplayHeaderBar * self = NULL;
	self = (GamesDisplayHeaderBar*) g_object_new (object_type, NULL);
	return self;
}


GamesDisplayHeaderBar* games_display_header_bar_new (void) {
	return games_display_header_bar_construct (GAMES_TYPE_DISPLAY_HEADER_BAR);
}


void games_display_header_bar_set_game_title (GamesDisplayHeaderBar* self, const gchar* value) {
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	gtk_header_bar_set_title ((GtkHeaderBar*) self, _tmp0_);
	g_object_notify ((GObject *) self, "game-title");
}


gboolean games_display_header_bar_get_can_fullscreen (GamesDisplayHeaderBar* self) {
	gboolean result;
	gboolean _tmp0_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_can_fullscreen;
	result = _tmp0_;
	return result;
}


void games_display_header_bar_set_can_fullscreen (GamesDisplayHeaderBar* self, gboolean value) {
	g_return_if_fail (self != NULL);
	if (games_display_header_bar_get_can_fullscreen (self) != value) {
		gboolean _tmp0_;
		_tmp0_ = value;
		self->priv->_can_fullscreen = _tmp0_;
		g_object_notify ((GObject *) self, "can-fullscreen");
	}
}


gboolean games_display_header_bar_get_is_fullscreen (GamesDisplayHeaderBar* self) {
	gboolean result;
	gboolean _tmp0_;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_is_fullscreen;
	result = _tmp0_;
	return result;
}


void games_display_header_bar_set_is_fullscreen (GamesDisplayHeaderBar* self, gboolean value) {
	g_return_if_fail (self != NULL);
	if (games_display_header_bar_get_is_fullscreen (self) != value) {
		gboolean _tmp0_;
		_tmp0_ = value;
		self->priv->_is_fullscreen = _tmp0_;
		g_object_notify ((GObject *) self, "is-fullscreen");
	}
}


void games_display_header_bar_set_media_set (GamesDisplayHeaderBar* self, GamesMediaSet* value) {
	GamesMediaMenuButton* _tmp0_;
	GamesMediaSet* _tmp1_;
	GamesMediaSelector* _tmp2_;
	GamesMediaSet* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->media_button;
	_tmp1_ = value;
	games_media_menu_button_set_media_set (_tmp0_, _tmp1_);
	_tmp2_ = self->priv->media_selector;
	_tmp3_ = value;
	games_media_selector_set_media_set (_tmp2_, _tmp3_);
	g_object_notify ((GObject *) self, "media-set");
}


static GObject * games_display_header_bar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GamesDisplayHeaderBar * self;
	GSettings* _tmp0_;
	GamesMediaSelector* _tmp1_;
	GamesMediaSelector* _tmp2_;
	GamesMediaMenuButton* _tmp3_;
	GamesMediaMenuButton* _tmp4_;
	GamesMediaSelector* _tmp5_;
	parent_class = G_OBJECT_CLASS (games_display_header_bar_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBar);
	_tmp0_ = g_settings_new ("org.gnome.Games");
	_g_object_unref0 (self->priv->settings);
	self->priv->settings = _tmp0_;
	_tmp1_ = games_media_selector_new ();
	g_object_ref_sink (_tmp1_);
	_g_object_unref0 (self->priv->media_selector);
	self->priv->media_selector = _tmp1_;
	_tmp2_ = self->priv->media_selector;
	_tmp3_ = self->priv->media_button;
	gtk_popover_set_relative_to ((GtkPopover*) _tmp2_, (GtkWidget*) _tmp3_);
	_tmp4_ = self->priv->media_button;
	_tmp5_ = self->priv->media_selector;
	gtk_menu_button_set_popover ((GtkMenuButton*) _tmp4_, (GtkWidget*) _tmp5_);
	return obj;
}


static void games_display_header_bar_class_init (GamesDisplayHeaderBarClass * klass) {
	gint GamesDisplayHeaderBar_private_offset;
	games_display_header_bar_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GamesDisplayHeaderBarPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_games_display_header_bar_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_games_display_header_bar_set_property;
	G_OBJECT_CLASS (klass)->constructor = games_display_header_bar_constructor;
	G_OBJECT_CLASS (klass)->finalize = games_display_header_bar_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_GAME_TITLE, g_param_spec_string ("game-title", "game-title", "game-title", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN, g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN, g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_MEDIA_SET, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE));
	GamesDisplayHeaderBar_private_offset = g_type_class_get_instance_private_offset (klass);
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/display-header-bar.ui");
	games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_BACK_SIGNAL] = g_signal_new ("back", GAMES_TYPE_DISPLAY_HEADER_BAR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "media_button", FALSE, GamesDisplayHeaderBar_private_offset + G_STRUCT_OFFSET (GamesDisplayHeaderBarPrivate, media_button));
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "fullscreen", FALSE, GamesDisplayHeaderBar_private_offset + G_STRUCT_OFFSET (GamesDisplayHeaderBarPrivate, fullscreen));
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "restore", FALSE, GamesDisplayHeaderBar_private_offset + G_STRUCT_OFFSET (GamesDisplayHeaderBarPrivate, restore));
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_fullscreen_changed", G_CALLBACK(_games_display_header_bar_on_fullscreen_changed_g_object_notify));
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_back_clicked", G_CALLBACK(_games_display_header_bar_on_back_clicked_gtk_button_clicked));
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_fullscreen_clicked", G_CALLBACK(_games_display_header_bar_on_fullscreen_clicked_gtk_button_clicked));
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_restore_clicked", G_CALLBACK(_games_display_header_bar_on_restore_clicked_gtk_button_clicked));
}


static void games_display_header_bar_instance_init (GamesDisplayHeaderBar * self) {
	self->priv = GAMES_DISPLAY_HEADER_BAR_GET_PRIVATE (self);
	g_type_ensure (GAMES_TYPE_MEDIA_MENU_BUTTON);
	gtk_widget_init_template (GTK_WIDGET (self));
}


static void games_display_header_bar_finalize (GObject * obj) {
	GamesDisplayHeaderBar * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBar);
	_g_object_unref0 (self->priv->media_button);
	_g_object_unref0 (self->priv->media_selector);
	_g_object_unref0 (self->priv->fullscreen);
	_g_object_unref0 (self->priv->restore);
	_g_object_unref0 (self->priv->settings);
	G_OBJECT_CLASS (games_display_header_bar_parent_class)->finalize (obj);
}


GType games_display_header_bar_get_type (void) {
	static volatile gsize games_display_header_bar_type_id__volatile = 0;
	if (g_once_init_enter (&games_display_header_bar_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GamesDisplayHeaderBarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) games_display_header_bar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GamesDisplayHeaderBar), 0, (GInstanceInitFunc) games_display_header_bar_instance_init, NULL };
		GType games_display_header_bar_type_id;
		games_display_header_bar_type_id = g_type_register_static (gtk_header_bar_get_type (), "GamesDisplayHeaderBar", &g_define_type_info, 0);
		g_once_init_leave (&games_display_header_bar_type_id__volatile, games_display_header_bar_type_id);
	}
	return games_display_header_bar_type_id__volatile;
}


static void _vala_games_display_header_bar_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GamesDisplayHeaderBar * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBar);
	switch (property_id) {
		case GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN:
		g_value_set_boolean (value, games_display_header_bar_get_can_fullscreen (self));
		break;
		case GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN:
		g_value_set_boolean (value, games_display_header_bar_get_is_fullscreen (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_games_display_header_bar_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GamesDisplayHeaderBar * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBar);
	switch (property_id) {
		case GAMES_DISPLAY_HEADER_BAR_GAME_TITLE:
		games_display_header_bar_set_game_title (self, g_value_get_string (value));
		break;
		case GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN:
		games_display_header_bar_set_can_fullscreen (self, g_value_get_boolean (value));
		break;
		case GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN:
		games_display_header_bar_set_is_fullscreen (self, g_value_get_boolean (value));
		break;
		case GAMES_DISPLAY_HEADER_BAR_MEDIA_SET:
		games_display_header_bar_set_media_set (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}



