/* libgames-support.h generated by valac 0.30.0, the Vala compiler, do not modify */


#ifndef __LIBGAMES_SUPPORT_H__
#define __LIBGAMES_SUPPORT_H__

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

G_BEGIN_DECLS


#define GAMES_TYPE_GRID_FRAME (games_grid_frame_get_type ())
#define GAMES_GRID_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GRID_FRAME, GamesGridFrame))
#define GAMES_GRID_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GRID_FRAME, GamesGridFrameClass))
#define GAMES_IS_GRID_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GRID_FRAME))
#define GAMES_IS_GRID_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GRID_FRAME))
#define GAMES_GRID_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GRID_FRAME, GamesGridFrameClass))

typedef struct _GamesGridFrame GamesGridFrame;
typedef struct _GamesGridFrameClass GamesGridFrameClass;
typedef struct _GamesGridFramePrivate GamesGridFramePrivate;

#define GAMES_SCORES_TYPE_CATEGORY (games_scores_category_get_type ())
#define GAMES_SCORES_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_CATEGORY, GamesScoresCategory))
#define GAMES_SCORES_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_CATEGORY, GamesScoresCategoryClass))
#define GAMES_SCORES_IS_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_CATEGORY))
#define GAMES_SCORES_IS_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_CATEGORY))
#define GAMES_SCORES_CATEGORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_CATEGORY, GamesScoresCategoryClass))

typedef struct _GamesScoresCategory GamesScoresCategory;
typedef struct _GamesScoresCategoryClass GamesScoresCategoryClass;
typedef struct _GamesScoresCategoryPrivate GamesScoresCategoryPrivate;

#define GAMES_SCORES_TYPE_STYLE (games_scores_style_get_type ())

#define GAMES_SCORES_TYPE_CONTEXT (games_scores_context_get_type ())
#define GAMES_SCORES_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_CONTEXT, GamesScoresContext))
#define GAMES_SCORES_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_CONTEXT, GamesScoresContextClass))
#define GAMES_SCORES_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_CONTEXT))
#define GAMES_SCORES_IS_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_CONTEXT))
#define GAMES_SCORES_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_CONTEXT, GamesScoresContextClass))

typedef struct _GamesScoresContext GamesScoresContext;
typedef struct _GamesScoresContextClass GamesScoresContextClass;
typedef struct _GamesScoresContextPrivate GamesScoresContextPrivate;

#define GAMES_SCORES_TYPE_SCORE (games_scores_score_get_type ())
#define GAMES_SCORES_SCORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_SCORE, GamesScoresScore))
#define GAMES_SCORES_SCORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_SCORE, GamesScoresScoreClass))
#define GAMES_SCORES_IS_SCORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_SCORE))
#define GAMES_SCORES_IS_SCORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_SCORE))
#define GAMES_SCORES_SCORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_SCORE, GamesScoresScoreClass))

typedef struct _GamesScoresScore GamesScoresScore;
typedef struct _GamesScoresScoreClass GamesScoresScoreClass;
typedef struct _GamesScoresScorePrivate GamesScoresScorePrivate;

struct _GamesGridFrame {
	GtkBin parent_instance;
	GamesGridFramePrivate * priv;
};

struct _GamesGridFrameClass {
	GtkBinClass parent_class;
};

struct _GamesScoresCategory {
	GObject parent_instance;
	GamesScoresCategoryPrivate * priv;
};

struct _GamesScoresCategoryClass {
	GObjectClass parent_class;
};

typedef enum  {
	GAMES_SCORES_STYLE_PLAIN_DESCENDING,
	GAMES_SCORES_STYLE_PLAIN_ASCENDING,
	GAMES_SCORES_STYLE_TIME_DESCENDING,
	GAMES_SCORES_STYLE_TIME_ASCENDING
} GamesScoresStyle;

struct _GamesScoresContext {
	GObject parent_instance;
	GamesScoresContextPrivate * priv;
};

struct _GamesScoresContextClass {
	GObjectClass parent_class;
};

typedef GamesScoresCategory* (*GamesScoresContextCategoryRequestFunc) (const gchar* category_key, void* user_data);
struct _GamesScoresScore {
	GObject parent_instance;
	GamesScoresScorePrivate * priv;
};

struct _GamesScoresScoreClass {
	GObjectClass parent_class;
};


GType games_grid_frame_get_type (void) G_GNUC_CONST;
GamesGridFrame* games_grid_frame_new (gint width, gint height);
GamesGridFrame* games_grid_frame_construct (GType object_type, gint width, gint height);
void games_grid_frame_set (GamesGridFrame* self, gint width, gint height);
void games_grid_frame_set_padding (GamesGridFrame* self, gint xpadding, gint ypadding);
void games_grid_frame_set_alignment (GamesGridFrame* self, gfloat xalign, gfloat yalign);
gint games_grid_frame_get_xpadding (GamesGridFrame* self);
void games_grid_frame_set_xpadding (GamesGridFrame* self, gint value);
gint games_grid_frame_get_ypadding (GamesGridFrame* self);
void games_grid_frame_set_ypadding (GamesGridFrame* self, gint value);
gint games_grid_frame_get_width (GamesGridFrame* self);
void games_grid_frame_set_width (GamesGridFrame* self, gint value);
gint games_grid_frame_get_height (GamesGridFrame* self);
void games_grid_frame_set_height (GamesGridFrame* self, gint value);
gfloat games_grid_frame_get_xalign (GamesGridFrame* self);
void games_grid_frame_set_xalign (GamesGridFrame* self, gfloat value);
gfloat games_grid_frame_get_yalign (GamesGridFrame* self);
void games_grid_frame_set_yalign (GamesGridFrame* self, gfloat value);
GType games_scores_category_get_type (void) G_GNUC_CONST;
GamesScoresCategory* games_scores_category_new (const gchar* key, const gchar* name);
GamesScoresCategory* games_scores_category_construct (GType object_type, const gchar* key, const gchar* name);
const gchar* games_scores_category_get_key (GamesScoresCategory* self);
void games_scores_category_set_key (GamesScoresCategory* self, const gchar* value);
const gchar* games_scores_category_get_name (GamesScoresCategory* self);
void games_scores_category_set_name (GamesScoresCategory* self, const gchar* value);
GType games_scores_style_get_type (void) G_GNUC_CONST;
GType games_scores_context_get_type (void) G_GNUC_CONST;
GamesScoresContext* games_scores_context_new (const gchar* app_name, const gchar* category_type, GtkWindow* game_window, GamesScoresContextCategoryRequestFunc category_request, void* category_request_target, GamesScoresStyle style);
GamesScoresContext* games_scores_context_construct (GType object_type, const gchar* app_name, const gchar* category_type, GtkWindow* game_window, GamesScoresContextCategoryRequestFunc category_request, void* category_request_target, GamesScoresStyle style);
GType games_scores_score_get_type (void) G_GNUC_CONST;
GList* games_scores_context_get_best_n_scores (GamesScoresContext* self, GamesScoresCategory* category, gint n);
void games_scores_context_add_score (GamesScoresContext* self, glong score_value, GamesScoresCategory* category, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean games_scores_context_add_score_finish (GamesScoresContext* self, GAsyncResult* _res_, GError** error);
void games_scores_context_run_dialog (GamesScoresContext* self);
gboolean games_scores_context_has_scores (GamesScoresContext* self);
GamesScoresScore* games_scores_score_new (glong score, gint64 time, const gchar* user);
GamesScoresScore* games_scores_score_construct (GType object_type, glong score, gint64 time, const gchar* user);
gboolean games_scores_score_equals (GamesScoresScore* a, GamesScoresScore* b);
glong games_scores_score_get_score (GamesScoresScore* self);
void games_scores_score_set_score (GamesScoresScore* self, glong value);
const gchar* games_scores_score_get_user (GamesScoresScore* self);
void games_scores_score_set_user (GamesScoresScore* self, const gchar* value);
gint64 games_scores_score_get_time (GamesScoresScore* self);
void games_scores_score_set_time (GamesScoresScore* self, gint64 value);


G_END_DECLS

#endif
