/* libgnome-games-support.h generated by valac 0.48.0, the Vala compiler, do not modify */

#ifndef __GAMES_LIBGNOME_GAMES_SUPPORT_H__
#define __GAMES_LIBGNOME_GAMES_SUPPORT_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gee.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;
typedef enum  {
	GAMES_SCORES_STYLE_POINTS_GREATER_IS_BETTER,
	GAMES_SCORES_STYLE_POINTS_LESS_IS_BETTER,
	GAMES_SCORES_STYLE_TIME_GREATER_IS_BETTER,
	GAMES_SCORES_STYLE_TIME_LESS_IS_BETTER
} GamesScoresStyle;

#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_IMPORTER (games_scores_importer_get_type ())
#define GAMES_SCORES_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_IMPORTER, GamesScoresImporter))
#define GAMES_SCORES_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_IMPORTER, GamesScoresImporterClass))
#define GAMES_SCORES_IS_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_IMPORTER))
#define GAMES_SCORES_IS_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_IMPORTER))
#define GAMES_SCORES_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_IMPORTER, GamesScoresImporterClass))

typedef struct _GamesScoresImporter GamesScoresImporter;
typedef struct _GamesScoresImporterClass GamesScoresImporterClass;
typedef GamesScoresCategory* (*GamesScoresContextCategoryRequestFunc) (const gchar* category_key, gpointer user_data);

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

#define GAMES_SCORES_TYPE_DIRECTORY_IMPORTER (games_scores_directory_importer_get_type ())
#define GAMES_SCORES_DIRECTORY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_DIRECTORY_IMPORTER, GamesScoresDirectoryImporter))
#define GAMES_SCORES_DIRECTORY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_DIRECTORY_IMPORTER, GamesScoresDirectoryImporterClass))
#define GAMES_SCORES_IS_DIRECTORY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_DIRECTORY_IMPORTER))
#define GAMES_SCORES_IS_DIRECTORY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_DIRECTORY_IMPORTER))
#define GAMES_SCORES_DIRECTORY_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_DIRECTORY_IMPORTER, GamesScoresDirectoryImporterClass))

typedef struct _GamesScoresDirectoryImporter GamesScoresDirectoryImporter;
typedef struct _GamesScoresDirectoryImporterClass GamesScoresDirectoryImporterClass;
typedef struct _GamesScoresDirectoryImporterPrivate GamesScoresDirectoryImporterPrivate;
typedef gchar* (*GamesScoresDirectoryImporterCategoryConvertFunc) (const gchar* old_key, gpointer user_data);

#define GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER (games_scores_history_file_importer_get_type ())
#define GAMES_SCORES_HISTORY_FILE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER, GamesScoresHistoryFileImporter))
#define GAMES_SCORES_HISTORY_FILE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER, GamesScoresHistoryFileImporterClass))
#define GAMES_SCORES_IS_HISTORY_FILE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER))
#define GAMES_SCORES_IS_HISTORY_FILE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER))
#define GAMES_SCORES_HISTORY_FILE_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_SCORES_TYPE_HISTORY_FILE_IMPORTER, GamesScoresHistoryFileImporterClass))

typedef struct _GamesScoresHistoryFileImporter GamesScoresHistoryFileImporter;
typedef struct _GamesScoresHistoryFileImporterClass GamesScoresHistoryFileImporterClass;
typedef struct _GamesScoresHistoryFileImporterPrivate GamesScoresHistoryFileImporterPrivate;
typedef void (*GamesScoresHistoryFileImporterHistoryConvertFunc) (const gchar* line, GamesScoresScore* * score, GamesScoresCategory* * category, gpointer user_data);
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;
};

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

struct _GamesScoresContextClass {
	GObjectClass parent_class;
};

struct _GamesScoresImporter {
	GObject parent_instance;
	GamesScoresImporterPrivate * priv;
};

struct _GamesScoresImporterClass {
	GObjectClass parent_class;
	void (*importOldScores) (GamesScoresImporter* self, GamesScoresContext* context, GFile* new_scores_dir, GError** error);
};

struct _GamesScoresDirectoryImporter {
	GamesScoresImporter parent_instance;
	GamesScoresDirectoryImporterPrivate * priv;
};

struct _GamesScoresDirectoryImporterClass {
	GamesScoresImporterClass parent_class;
};

struct _GamesScoresHistoryFileImporter {
	GamesScoresImporter parent_instance;
	GamesScoresHistoryFileImporterPrivate * priv;
};

struct _GamesScoresHistoryFileImporterClass {
	GamesScoresImporterClass parent_class;
};

struct _GamesScoresScore {
	GObject parent_instance;
	GamesScoresScorePrivate * priv;
};

struct _GamesScoresScoreClass {
	GObjectClass parent_class;
};

GType games_grid_frame_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGridFrame, g_object_unref)
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);
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);
GType games_scores_category_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresCategory, g_object_unref)
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);
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);
GType games_scores_style_get_type (void) G_GNUC_CONST;
GType games_scores_context_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresContext, g_object_unref)
const gchar* games_scores_context_get_app_name (GamesScoresContext* self);
const gchar* games_scores_context_get_category_type (GamesScoresContext* self);
GtkWindow* games_scores_context_get_game_window (GamesScoresContext* self);
GamesScoresStyle games_scores_context_get_style (GamesScoresContext* self);
GType games_scores_importer_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresImporter, g_object_unref)
GamesScoresImporter* games_scores_context_get_importer (GamesScoresContext* self);
GamesScoresContext* games_scores_context_new (const gchar* app_name,
                                              const gchar* category_type,
                                              GtkWindow* game_window,
                                              GamesScoresContextCategoryRequestFunc category_request,
                                              gpointer 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,
                                                    gpointer category_request_target,
                                                    GamesScoresStyle style);
GamesScoresContext* games_scores_context_new_with_importer (const gchar* app_name,
                                                            const gchar* category_type,
                                                            GtkWindow* game_window,
                                                            GamesScoresContextCategoryRequestFunc category_request,
                                                            gpointer category_request_target,
                                                            GamesScoresStyle style,
                                                            GamesScoresImporter* importer);
GamesScoresContext* games_scores_context_construct_with_importer (GType object_type,
                                                                  const gchar* app_name,
                                                                  const gchar* category_type,
                                                                  GtkWindow* game_window,
                                                                  GamesScoresContextCategoryRequestFunc category_request,
                                                                  gpointer category_request_target,
                                                                  GamesScoresStyle style,
                                                                  GamesScoresImporter* importer);
GType games_scores_score_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresScore, g_object_unref)
GeeList* games_scores_context_get_high_scores (GamesScoresContext* self,
                                               GamesScoresCategory* category,
                                               gint n);
void games_scores_context_add_score (GamesScoresContext* self,
                                     glong score,
                                     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_load_scores (GamesScoresContext* self,
                                       GamesScoresContextCategoryRequestFunc category_request,
                                       gpointer category_request_target,
                                       GError** error);
void games_scores_context_run_dialog (GamesScoresContext* self);
gboolean games_scores_context_has_scores (GamesScoresContext* self);
GType games_scores_directory_importer_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresDirectoryImporter, g_object_unref)
GamesScoresDirectoryImporter* games_scores_directory_importer_new (void);
GamesScoresDirectoryImporter* games_scores_directory_importer_construct (GType object_type);
GamesScoresDirectoryImporter* games_scores_directory_importer_new_with_convert_func (GamesScoresDirectoryImporterCategoryConvertFunc category_convert,
                                                                                     gpointer category_convert_target);
GamesScoresDirectoryImporter* games_scores_directory_importer_construct_with_convert_func (GType object_type,
                                                                                           GamesScoresDirectoryImporterCategoryConvertFunc category_convert,
                                                                                           gpointer category_convert_target);
void games_scores_directory_importer_set_category_convert_func (GamesScoresDirectoryImporter* self,
                                                                GamesScoresDirectoryImporterCategoryConvertFunc category_convert,
                                                                gpointer category_convert_target);
GType games_scores_history_file_importer_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScoresHistoryFileImporter, g_object_unref)
GamesScoresHistoryFileImporter* games_scores_history_file_importer_new (GamesScoresHistoryFileImporterHistoryConvertFunc history_convert,
                                                                        gpointer history_convert_target);
GamesScoresHistoryFileImporter* games_scores_history_file_importer_construct (GType object_type,
                                                                              GamesScoresHistoryFileImporterHistoryConvertFunc history_convert,
                                                                              gpointer history_convert_target);
void games_scores_history_file_importer_set_history_convert_func (GamesScoresHistoryFileImporter* self,
                                                                  GamesScoresHistoryFileImporterHistoryConvertFunc history_convert,
                                                                  gpointer history_convert_target);
gint64 games_scores_history_file_importer_parse_date (const gchar* date);
void games_scores_importer_importOldScores (GamesScoresImporter* self,
                                            GamesScoresContext* context,
                                            GFile* new_scores_dir,
                                            GError** error);
GamesScoresImporter* games_scores_importer_construct (GType object_type);
glong games_scores_score_get_score (GamesScoresScore* self);
void games_scores_score_set_score (GamesScoresScore* self,
                                   glong value);
gint64 games_scores_score_get_time (GamesScoresScore* self);
void games_scores_score_set_time (GamesScoresScore* self,
                                  gint64 value);
const gchar* games_scores_score_get_user (GamesScoresScore* self);
void games_scores_score_set_user (GamesScoresScore* self,
                                  const gchar* value);
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);

G_END_DECLS

#endif
