/* dummy-runner.c generated by valac 0.35.5, the Vala compiler
 * generated from dummy-runner.vala, do not modify */

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

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


#define GAMES_TYPE_RUNNER (games_runner_get_type ())
#define GAMES_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RUNNER, GamesRunner))
#define GAMES_IS_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RUNNER))
#define GAMES_RUNNER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_RUNNER, GamesRunnerIface))

typedef struct _GamesRunner GamesRunner;
typedef struct _GamesRunnerIface GamesRunnerIface;

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

#define GAMES_TYPE_DUMMY_RUNNER (games_dummy_runner_get_type ())
#define GAMES_DUMMY_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DUMMY_RUNNER, GamesDummyRunner))
#define GAMES_DUMMY_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DUMMY_RUNNER, GamesDummyRunnerClass))
#define GAMES_IS_DUMMY_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DUMMY_RUNNER))
#define GAMES_IS_DUMMY_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DUMMY_RUNNER))
#define GAMES_DUMMY_RUNNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DUMMY_RUNNER, GamesDummyRunnerClass))

typedef struct _GamesDummyRunner GamesDummyRunner;
typedef struct _GamesDummyRunnerClass GamesDummyRunnerClass;
typedef struct _GamesDummyRunnerPrivate GamesDummyRunnerPrivate;
#define _g_free0(var) (var = (g_free (var), NULL))

#define GAMES_TYPE_DUMMY_DISPLAY (games_dummy_display_get_type ())
#define GAMES_DUMMY_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DUMMY_DISPLAY, GamesDummyDisplay))
#define GAMES_DUMMY_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DUMMY_DISPLAY, GamesDummyDisplayClass))
#define GAMES_IS_DUMMY_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DUMMY_DISPLAY))
#define GAMES_IS_DUMMY_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DUMMY_DISPLAY))
#define GAMES_DUMMY_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DUMMY_DISPLAY, GamesDummyDisplayClass))

typedef struct _GamesDummyDisplay GamesDummyDisplay;
typedef struct _GamesDummyDisplayClass GamesDummyDisplayClass;

struct _GamesRunnerIface {
	GTypeInterface parent_iface;
	gboolean (*check_is_valid) (GamesRunner* self, gchar* * error_message, GError** error);
	GtkWidget* (*get_display) (GamesRunner* self);
	void (*start) (GamesRunner* self, GError** error);
	void (*resume) (GamesRunner* self, GError** error);
	void (*pause) (GamesRunner* self);
	void (*stop) (GamesRunner* self);
	gboolean (*get_can_fullscreen) (GamesRunner* self);
	gboolean (*get_can_quit_safely) (GamesRunner* self);
	gboolean (*get_can_resume) (GamesRunner* self);
	GamesMediaSet* (*get_media_set) (GamesRunner* self);
};

struct _GamesDummyRunner {
	GObject parent_instance;
	GamesDummyRunnerPrivate * priv;
};

struct _GamesDummyRunnerClass {
	GObjectClass parent_class;
};


static gpointer games_dummy_runner_parent_class = NULL;
static GamesRunnerIface * games_dummy_runner_games_runner_parent_iface = NULL;

GType games_media_set_get_type (void) G_GNUC_CONST;
GType games_runner_get_type (void) G_GNUC_CONST;
GType games_dummy_runner_get_type (void) G_GNUC_CONST;
enum  {
	GAMES_DUMMY_RUNNER_DUMMY_PROPERTY,
	GAMES_DUMMY_RUNNER_CAN_FULLSCREEN,
	GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY,
	GAMES_DUMMY_RUNNER_CAN_RESUME,
	GAMES_DUMMY_RUNNER_MEDIA_SET
};
static gboolean games_dummy_runner_real_check_is_valid (GamesRunner* base, gchar* * error_message, GError** error);
static GtkWidget* games_dummy_runner_real_get_display (GamesRunner* base);
GamesDummyDisplay* games_dummy_display_new (void);
GamesDummyDisplay* games_dummy_display_construct (GType object_type);
GType games_dummy_display_get_type (void) G_GNUC_CONST;
static void games_dummy_runner_real_start (GamesRunner* base, GError** error);
static void games_dummy_runner_real_resume (GamesRunner* base, GError** error);
static void games_dummy_runner_real_pause (GamesRunner* base);
static void games_dummy_runner_real_stop (GamesRunner* base);
GamesDummyRunner* games_dummy_runner_new (void);
GamesDummyRunner* games_dummy_runner_construct (GType object_type);
gboolean games_runner_get_can_fullscreen (GamesRunner* self);
gboolean games_runner_get_can_quit_safely (GamesRunner* self);
gboolean games_runner_get_can_resume (GamesRunner* self);
GamesMediaSet* games_runner_get_media_set (GamesRunner* self);
static void _vala_games_dummy_runner_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);


static gboolean games_dummy_runner_real_check_is_valid (GamesRunner* base, gchar* * error_message, GError** error) {
	GamesDummyRunner * self;
	gchar* _vala_error_message = NULL;
	gboolean result = FALSE;
	self = (GamesDummyRunner*) base;
	result = TRUE;
	if (error_message) {
		*error_message = _vala_error_message;
	} else {
		_g_free0 (_vala_error_message);
	}
	return result;
}


static GtkWidget* games_dummy_runner_real_get_display (GamesRunner* base) {
	GamesDummyRunner * self;
	GtkWidget* result = NULL;
	GamesDummyDisplay* _tmp0_;
	self = (GamesDummyRunner*) base;
	_tmp0_ = games_dummy_display_new ();
	g_object_ref_sink (_tmp0_);
	result = (GtkWidget*) _tmp0_;
	return result;
}


static void games_dummy_runner_real_start (GamesRunner* base, GError** error) {
	GamesDummyRunner * self;
	self = (GamesDummyRunner*) base;
}


static void games_dummy_runner_real_resume (GamesRunner* base, GError** error) {
	GamesDummyRunner * self;
	self = (GamesDummyRunner*) base;
}


static void games_dummy_runner_real_pause (GamesRunner* base) {
	GamesDummyRunner * self;
	self = (GamesDummyRunner*) base;
}


static void games_dummy_runner_real_stop (GamesRunner* base) {
	GamesDummyRunner * self;
	self = (GamesDummyRunner*) base;
}


GamesDummyRunner* games_dummy_runner_construct (GType object_type) {
	GamesDummyRunner * self = NULL;
	self = (GamesDummyRunner*) g_object_new (object_type, NULL);
	return self;
}


GamesDummyRunner* games_dummy_runner_new (void) {
	return games_dummy_runner_construct (GAMES_TYPE_DUMMY_RUNNER);
}


static gboolean games_dummy_runner_real_get_can_fullscreen (GamesRunner* base) {
	gboolean result;
	GamesDummyRunner* self;
	self = (GamesDummyRunner*) base;
	result = FALSE;
	return result;
}


static gboolean games_dummy_runner_real_get_can_quit_safely (GamesRunner* base) {
	gboolean result;
	GamesDummyRunner* self;
	self = (GamesDummyRunner*) base;
	result = TRUE;
	return result;
}


static gboolean games_dummy_runner_real_get_can_resume (GamesRunner* base) {
	gboolean result;
	GamesDummyRunner* self;
	self = (GamesDummyRunner*) base;
	result = FALSE;
	return result;
}


static GamesMediaSet* games_dummy_runner_real_get_media_set (GamesRunner* base) {
	GamesMediaSet* result;
	GamesDummyRunner* self;
	self = (GamesDummyRunner*) base;
	result = NULL;
	return result;
}


static void games_dummy_runner_class_init (GamesDummyRunnerClass * klass) {
	games_dummy_runner_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->get_property = _vala_games_dummy_runner_get_property;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_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_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY, g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_RESUME, g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_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_READABLE));
}


static void games_dummy_runner_games_runner_interface_init (GamesRunnerIface * iface) {
	games_dummy_runner_games_runner_parent_iface = g_type_interface_peek_parent (iface);
	iface->check_is_valid = (gboolean (*) (GamesRunner *, gchar* *, GError**)) games_dummy_runner_real_check_is_valid;
	iface->get_display = (GtkWidget* (*) (GamesRunner *)) games_dummy_runner_real_get_display;
	iface->start = (void (*) (GamesRunner *, GError**)) games_dummy_runner_real_start;
	iface->resume = (void (*) (GamesRunner *, GError**)) games_dummy_runner_real_resume;
	iface->pause = (void (*) (GamesRunner *)) games_dummy_runner_real_pause;
	iface->stop = (void (*) (GamesRunner *)) games_dummy_runner_real_stop;
	iface->get_can_fullscreen = games_dummy_runner_real_get_can_fullscreen;
	iface->get_can_quit_safely = games_dummy_runner_real_get_can_quit_safely;
	iface->get_can_resume = games_dummy_runner_real_get_can_resume;
	iface->get_media_set = games_dummy_runner_real_get_media_set;
}


static void games_dummy_runner_instance_init (GamesDummyRunner * self) {
}


GType games_dummy_runner_get_type (void) {
	static volatile gsize games_dummy_runner_type_id__volatile = 0;
	if (g_once_init_enter (&games_dummy_runner_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GamesDummyRunnerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) games_dummy_runner_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GamesDummyRunner), 0, (GInstanceInitFunc) games_dummy_runner_instance_init, NULL };
		static const GInterfaceInfo games_runner_info = { (GInterfaceInitFunc) games_dummy_runner_games_runner_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType games_dummy_runner_type_id;
		games_dummy_runner_type_id = g_type_register_static (G_TYPE_OBJECT, "GamesDummyRunner", &g_define_type_info, 0);
		g_type_add_interface_static (games_dummy_runner_type_id, GAMES_TYPE_RUNNER, &games_runner_info);
		g_once_init_leave (&games_dummy_runner_type_id__volatile, games_dummy_runner_type_id);
	}
	return games_dummy_runner_type_id__volatile;
}


static void _vala_games_dummy_runner_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GamesDummyRunner * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GAMES_TYPE_DUMMY_RUNNER, GamesDummyRunner);
	switch (property_id) {
		case GAMES_DUMMY_RUNNER_CAN_FULLSCREEN:
		g_value_set_boolean (value, games_runner_get_can_fullscreen ((GamesRunner*) self));
		break;
		case GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY:
		g_value_set_boolean (value, games_runner_get_can_quit_safely ((GamesRunner*) self));
		break;
		case GAMES_DUMMY_RUNNER_CAN_RESUME:
		g_value_set_boolean (value, games_runner_get_can_resume ((GamesRunner*) self));
		break;
		case GAMES_DUMMY_RUNNER_MEDIA_SET:
		g_value_set_object (value, games_runner_get_media_set ((GamesRunner*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}



