/* gamepad-dpad.c generated by valac 0.36.12.13-3ae08, the Vala compiler
 * generated from gamepad-dpad.vala, do not modify */

/* This file is part of GNOME Games. License: GPL-3.0+.*/

#include <glib.h>
#include <glib-object.h>
#include <string.h>


#define GAMES_TYPE_GAMEPAD_DPAD (games_gamepad_dpad_get_type ())

#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ())
typedef struct _GamesGamepadInput GamesGamepadInput;
typedef struct _GamesGamepadDPad GamesGamepadDPad;

struct _GamesGamepadInput {
	guint16 type;
	guint16 code;
};

struct _GamesGamepadDPad {
	GamesGamepadInput inputs[4];
	gint32 axis_values[2];
};



GType games_gamepad_dpad_get_type (void) G_GNUC_CONST;
GType games_gamepad_input_get_type (void) G_GNUC_CONST;
GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self);
void games_gamepad_input_free (GamesGamepadInput* self);
GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self);
void games_gamepad_dpad_free (GamesGamepadDPad* self);


GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self) {
	GamesGamepadDPad* dup;
	dup = g_new0 (GamesGamepadDPad, 1);
	memcpy (dup, self, sizeof (GamesGamepadDPad));
	return dup;
}


void games_gamepad_dpad_free (GamesGamepadDPad* self) {
	g_free (self);
}


GType games_gamepad_dpad_get_type (void) {
	static volatile gsize games_gamepad_dpad_type_id__volatile = 0;
	if (g_once_init_enter (&games_gamepad_dpad_type_id__volatile)) {
		GType games_gamepad_dpad_type_id;
		games_gamepad_dpad_type_id = g_boxed_type_register_static ("GamesGamepadDPad", (GBoxedCopyFunc) games_gamepad_dpad_dup, (GBoxedFreeFunc) games_gamepad_dpad_free);
		g_once_init_leave (&games_gamepad_dpad_type_id__volatile, games_gamepad_dpad_type_id);
	}
	return games_gamepad_dpad_type_id__volatile;
}



