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

/* -*- Mode: vala; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
   This file is part of GNOME Four-in-a-row.

   Copyright © 2019 Arnaud Bonatti

   GNOME Four-in-a-row is free software: you can redistribute it and/or
   modify it under the terms of the GNU General Public License as published
   by the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   GNOME Four-in-a-row is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along
   with GNOME Four-in-a-row.  If not, see <https://www.gnu.org/licenses/>.
*/
/* private const uint8 BOARD_COLUMNS = 7;*/
/* private const uint8 BOARD_COLUMNS_MINUS_ONE = 6;*/
/* private const uint8 BOARD_ROWS = 6;*/
/* private const uint8 BOARD_ROWS_PLUS_ONE = 7;*/
/* private const uint8 BOARD_SIZE = 7; // as long as that is needed, impossible to have n_rows != n_cols - 1*/

#include <glib-object.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

typedef enum  {
	PLAYER_NOBODY,
	PLAYER_HUMAN,
	PLAYER_OPPONENT
} Player;

#define TYPE_PLAYER (player_get_type ())
typedef enum  {
	DIFFICULTY_EASY,
	DIFFICULTY_MEDIUM,
	DIFFICULTY_HARD
} Difficulty;

#define TYPE_DIFFICULTY (difficulty_get_type ())

VALA_EXTERN GType player_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType difficulty_get_type (void) G_GNUC_CONST ;

static GType
player_get_type_once (void)
{
	static const GEnumValue values[] = {{PLAYER_NOBODY, "PLAYER_NOBODY", "nobody"}, {PLAYER_HUMAN, "PLAYER_HUMAN", "human"}, {PLAYER_OPPONENT, "PLAYER_OPPONENT", "opponent"}, {0, NULL, NULL}};
	GType player_type_id;
	player_type_id = g_enum_register_static ("Player", values);
	return player_type_id;
}

GType
player_get_type (void)
{
	static volatile gsize player_type_id__once = 0;
	if (g_once_init_enter (&player_type_id__once)) {
		GType player_type_id;
		player_type_id = player_get_type_once ();
		g_once_init_leave (&player_type_id__once, player_type_id);
	}
	return player_type_id__once;
}

static GType
difficulty_get_type_once (void)
{
	static const GEnumValue values[] = {{DIFFICULTY_EASY, "DIFFICULTY_EASY", "easy"}, {DIFFICULTY_MEDIUM, "DIFFICULTY_MEDIUM", "medium"}, {DIFFICULTY_HARD, "DIFFICULTY_HARD", "hard"}, {0, NULL, NULL}};
	GType difficulty_type_id;
	difficulty_type_id = g_enum_register_static ("Difficulty", values);
	return difficulty_type_id;
}

GType
difficulty_get_type (void)
{
	static volatile gsize difficulty_type_id__once = 0;
	if (g_once_init_enter (&difficulty_type_id__once)) {
		GType difficulty_type_id;
		difficulty_type_id = difficulty_get_type_once ();
		g_once_init_leave (&difficulty_type_id__once, difficulty_type_id);
	}
	return difficulty_type_id__once;
}

