/* gnome-games.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __SRC_GNOME_GAMES_H__
#define __SRC_GNOME_GAMES_H__

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <float.h>
#include <math.h>
#include <retro-gtk.h>
#include <libtracker-sparql/tracker-sparql.h>
#include <cairo-gobject.h>

G_BEGIN_DECLS

#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

#define GAMES_TYPE_COMMAND_ERROR (games_command_error_get_type ())

#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_HEADER_BAR_WIDGET (games_header_bar_widget_get_type ())
#define GAMES_HEADER_BAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_HEADER_BAR_WIDGET, GamesHeaderBarWidget))
#define GAMES_IS_HEADER_BAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_HEADER_BAR_WIDGET))
#define GAMES_HEADER_BAR_WIDGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_HEADER_BAR_WIDGET, GamesHeaderBarWidgetIface))

typedef struct _GamesHeaderBarWidget GamesHeaderBarWidget;
typedef struct _GamesHeaderBarWidgetIface GamesHeaderBarWidgetIface;

#define GAMES_TYPE_RUNNER_ERROR (games_runner_error_get_type ())

#define GAMES_TYPE_SNAPSHOT (games_snapshot_get_type ())
#define GAMES_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_SNAPSHOT, GamesSnapshot))
#define GAMES_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_SNAPSHOT, GamesSnapshotClass))
#define GAMES_IS_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_SNAPSHOT))
#define GAMES_IS_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_SNAPSHOT))
#define GAMES_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_SNAPSHOT, GamesSnapshotClass))

typedef struct _GamesSnapshot GamesSnapshot;
typedef struct _GamesSnapshotClass GamesSnapshotClass;
typedef enum  {
	GAMES_INPUT_MODE_NONE,
	GAMES_INPUT_MODE_KEYBOARD,
	GAMES_INPUT_MODE_GAMEPAD
} GamesInputMode;

#define GAMES_TYPE_INPUT_MODE (games_input_mode_get_type ())

#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_COMMAND_RUNNER (games_command_runner_get_type ())
#define GAMES_COMMAND_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_COMMAND_RUNNER, GamesCommandRunner))
#define GAMES_COMMAND_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_COMMAND_RUNNER, GamesCommandRunnerClass))
#define GAMES_IS_COMMAND_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_COMMAND_RUNNER))
#define GAMES_IS_COMMAND_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_COMMAND_RUNNER))
#define GAMES_COMMAND_RUNNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_COMMAND_RUNNER, GamesCommandRunnerClass))

typedef struct _GamesCommandRunner GamesCommandRunner;
typedef struct _GamesCommandRunnerClass GamesCommandRunnerClass;
typedef struct _GamesCommandRunnerPrivate GamesCommandRunnerPrivate;

#define GAMES_TYPE_CORE (games_core_get_type ())
#define GAMES_CORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_CORE, GamesCore))
#define GAMES_IS_CORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_CORE))
#define GAMES_CORE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_CORE, GamesCoreIface))

typedef struct _GamesCore GamesCore;
typedef struct _GamesCoreIface GamesCoreIface;

#define GAMES_TYPE_PLATFORM (games_platform_get_type ())
#define GAMES_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_PLATFORM, GamesPlatform))
#define GAMES_IS_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_PLATFORM))
#define GAMES_PLATFORM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_PLATFORM, GamesPlatformIface))

typedef struct _GamesPlatform GamesPlatform;
typedef struct _GamesPlatformIface GamesPlatformIface;

#define GAMES_TYPE_FIRMWARE (games_firmware_get_type ())
#define GAMES_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_FIRMWARE, GamesFirmware))
#define GAMES_IS_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_FIRMWARE))
#define GAMES_FIRMWARE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_FIRMWARE, GamesFirmwareIface))

typedef struct _GamesFirmware GamesFirmware;
typedef struct _GamesFirmwareIface GamesFirmwareIface;

#define GAMES_TYPE_FIRMWARE_ERROR (games_firmware_error_get_type ())

#define GAMES_TYPE_COVER (games_cover_get_type ())
#define GAMES_COVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_COVER, GamesCover))
#define GAMES_IS_COVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_COVER))
#define GAMES_COVER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_COVER, GamesCoverIface))

typedef struct _GamesCover GamesCover;
typedef struct _GamesCoverIface GamesCoverIface;

#define GAMES_TYPE_COVER_LOADER (games_cover_loader_get_type ())
#define GAMES_COVER_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_COVER_LOADER, GamesCoverLoader))
#define GAMES_COVER_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_COVER_LOADER, GamesCoverLoaderClass))
#define GAMES_IS_COVER_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_COVER_LOADER))
#define GAMES_IS_COVER_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_COVER_LOADER))
#define GAMES_COVER_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_COVER_LOADER, GamesCoverLoaderClass))

typedef struct _GamesCoverLoader GamesCoverLoader;
typedef struct _GamesCoverLoaderClass GamesCoverLoaderClass;
typedef struct _GamesCoverLoaderPrivate GamesCoverLoaderPrivate;

#define GAMES_TYPE_GAME (games_game_get_type ())
#define GAMES_GAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAME, GamesGame))
#define GAMES_GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GAME, GamesGameClass))
#define GAMES_IS_GAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GAME))
#define GAMES_IS_GAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GAME))
#define GAMES_GAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GAME, GamesGameClass))

typedef struct _GamesGame GamesGame;
typedef struct _GamesGameClass GamesGameClass;
typedef void (*GamesCoverLoaderCoverReadyCallback) (gint scale_factor, gint cover_size, GdkPixbuf* cover_pixbuf, gint icon_size, GdkPixbuf* icon_pixbuf, gpointer user_data);

#define GAMES_TYPE_FIRMWARE_MANAGER (games_firmware_manager_get_type ())
#define GAMES_FIRMWARE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_FIRMWARE_MANAGER, GamesFirmwareManager))
#define GAMES_FIRMWARE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_FIRMWARE_MANAGER, GamesFirmwareManagerClass))
#define GAMES_IS_FIRMWARE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_FIRMWARE_MANAGER))
#define GAMES_IS_FIRMWARE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_FIRMWARE_MANAGER))
#define GAMES_FIRMWARE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_FIRMWARE_MANAGER, GamesFirmwareManagerClass))

typedef struct _GamesFirmwareManager GamesFirmwareManager;
typedef struct _GamesFirmwareManagerClass GamesFirmwareManagerClass;
typedef struct _GamesFirmwareManagerPrivate GamesFirmwareManagerPrivate;
typedef struct _GamesGamePrivate GamesGamePrivate;

#define GAMES_TYPE_UID (games_uid_get_type ())
#define GAMES_UID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_UID, GamesUid))
#define GAMES_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_UID, GamesUidClass))
#define GAMES_IS_UID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_UID))
#define GAMES_IS_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_UID))
#define GAMES_UID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_UID, GamesUidClass))

typedef struct _GamesUid GamesUid;
typedef struct _GamesUidClass GamesUidClass;

#define GAMES_TYPE_URI (games_uri_get_type ())
#define GAMES_URI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_URI, GamesUri))
#define GAMES_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_URI, GamesUriClass))
#define GAMES_IS_URI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_URI))
#define GAMES_IS_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_URI))
#define GAMES_URI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_URI, GamesUriClass))

typedef struct _GamesUri GamesUri;
typedef struct _GamesUriClass GamesUriClass;

#define GAMES_TYPE_TITLE (games_title_get_type ())
#define GAMES_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_TITLE, GamesTitle))
#define GAMES_IS_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_TITLE))
#define GAMES_TITLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_TITLE, GamesTitleIface))

typedef struct _GamesTitle GamesTitle;
typedef struct _GamesTitleIface GamesTitleIface;

#define GAMES_TYPE_ICON (games_icon_get_type ())
#define GAMES_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_ICON, GamesIcon))
#define GAMES_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_ICON))
#define GAMES_ICON_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_ICON, GamesIconIface))

typedef struct _GamesIcon GamesIcon;
typedef struct _GamesIconIface GamesIconIface;
typedef void (*GamesGameCallback) (GamesGame* game, gpointer user_data);

#define GAMES_TYPE_GAME_URI_ADAPTER (games_game_uri_adapter_get_type ())
#define GAMES_GAME_URI_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAME_URI_ADAPTER, GamesGameUriAdapter))
#define GAMES_IS_GAME_URI_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GAME_URI_ADAPTER))
#define GAMES_GAME_URI_ADAPTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_GAME_URI_ADAPTER, GamesGameUriAdapterIface))

typedef struct _GamesGameUriAdapter GamesGameUriAdapter;
typedef struct _GamesGameUriAdapterIface GamesGameUriAdapterIface;

#define GAMES_TYPE_INPUT_CAPABILITIES (games_input_capabilities_get_type ())
#define GAMES_INPUT_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_INPUT_CAPABILITIES, GamesInputCapabilities))
#define GAMES_IS_INPUT_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_INPUT_CAPABILITIES))
#define GAMES_INPUT_CAPABILITIES_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_INPUT_CAPABILITIES, GamesInputCapabilitiesIface))

typedef struct _GamesInputCapabilities GamesInputCapabilities;
typedef struct _GamesInputCapabilitiesIface GamesInputCapabilitiesIface;

#define GAMES_TYPE_MEDIA (games_media_get_type ())
#define GAMES_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MEDIA, GamesMedia))
#define GAMES_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_MEDIA, GamesMediaClass))
#define GAMES_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_MEDIA))
#define GAMES_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_MEDIA))
#define GAMES_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_MEDIA, GamesMediaClass))

typedef struct _GamesMedia GamesMedia;
typedef struct _GamesMediaClass GamesMediaClass;
typedef struct _GamesMediaPrivate GamesMediaPrivate;
typedef struct _GamesMediaSetPrivate GamesMediaSetPrivate;
typedef void (*GamesMediaSetMediaCallback) (GamesMedia* media, gpointer user_data);

#define GAMES_TYPE_PLUGIN (games_plugin_get_type ())
#define GAMES_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_PLUGIN, GamesPlugin))
#define GAMES_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_PLUGIN))
#define GAMES_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_PLUGIN, GamesPluginIface))

typedef struct _GamesPlugin GamesPlugin;
typedef struct _GamesPluginIface GamesPluginIface;

#define GAMES_TYPE_URI_SOURCE (games_uri_source_get_type ())
#define GAMES_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_URI_SOURCE, GamesUriSource))
#define GAMES_IS_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_URI_SOURCE))
#define GAMES_URI_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_URI_SOURCE, GamesUriSourceIface))

typedef struct _GamesUriSource GamesUriSource;
typedef struct _GamesUriSourceIface GamesUriSourceIface;

#define GAMES_TYPE_URI_ITERATOR (games_uri_iterator_get_type ())
#define GAMES_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_URI_ITERATOR, GamesUriIterator))
#define GAMES_IS_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_URI_ITERATOR))
#define GAMES_URI_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_URI_ITERATOR, GamesUriIteratorIface))

typedef struct _GamesUriIterator GamesUriIterator;
typedef struct _GamesUriIteratorIface GamesUriIteratorIface;

#define GAMES_TYPE_URI_GAME_FACTORY (games_uri_game_factory_get_type ())
#define GAMES_URI_GAME_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_URI_GAME_FACTORY, GamesUriGameFactory))
#define GAMES_IS_URI_GAME_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_URI_GAME_FACTORY))
#define GAMES_URI_GAME_FACTORY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_URI_GAME_FACTORY, GamesUriGameFactoryIface))

typedef struct _GamesUriGameFactory GamesUriGameFactory;
typedef struct _GamesUriGameFactoryIface GamesUriGameFactoryIface;

#define GAMES_TYPE_RUNNER_FACTORY (games_runner_factory_get_type ())
#define GAMES_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RUNNER_FACTORY, GamesRunnerFactory))
#define GAMES_IS_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RUNNER_FACTORY))
#define GAMES_RUNNER_FACTORY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_RUNNER_FACTORY, GamesRunnerFactoryIface))

typedef struct _GamesRunnerFactory GamesRunnerFactory;
typedef struct _GamesRunnerFactoryIface GamesRunnerFactoryIface;
typedef struct _GamesSnapshotPrivate GamesSnapshotPrivate;

#define GAMES_TYPE_SNAPSHOT_MANAGER (games_snapshot_manager_get_type ())
#define GAMES_SNAPSHOT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_SNAPSHOT_MANAGER, GamesSnapshotManager))
#define GAMES_SNAPSHOT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_SNAPSHOT_MANAGER, GamesSnapshotManagerClass))
#define GAMES_IS_SNAPSHOT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_SNAPSHOT_MANAGER))
#define GAMES_IS_SNAPSHOT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_SNAPSHOT_MANAGER))
#define GAMES_SNAPSHOT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_SNAPSHOT_MANAGER, GamesSnapshotManagerClass))

typedef struct _GamesSnapshotManager GamesSnapshotManager;
typedef struct _GamesSnapshotManagerClass GamesSnapshotManagerClass;
typedef struct _GamesSnapshotManagerPrivate GamesSnapshotManagerPrivate;
typedef void (*GamesSnapshotManagerSnapshotFunc) (GamesSnapshot* snapshot, gpointer user_data, GError** error);
typedef struct _GamesUidPrivate GamesUidPrivate;

#define GAMES_TYPE_DUMMY_COVER (games_dummy_cover_get_type ())
#define GAMES_DUMMY_COVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DUMMY_COVER, GamesDummyCover))
#define GAMES_DUMMY_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DUMMY_COVER, GamesDummyCoverClass))
#define GAMES_IS_DUMMY_COVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DUMMY_COVER))
#define GAMES_IS_DUMMY_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DUMMY_COVER))
#define GAMES_DUMMY_COVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DUMMY_COVER, GamesDummyCoverClass))

typedef struct _GamesDummyCover GamesDummyCover;
typedef struct _GamesDummyCoverClass GamesDummyCoverClass;
typedef struct _GamesDummyCoverPrivate GamesDummyCoverPrivate;

#define GAMES_TYPE_DUMMY_ICON (games_dummy_icon_get_type ())
#define GAMES_DUMMY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DUMMY_ICON, GamesDummyIcon))
#define GAMES_DUMMY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DUMMY_ICON, GamesDummyIconClass))
#define GAMES_IS_DUMMY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DUMMY_ICON))
#define GAMES_IS_DUMMY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DUMMY_ICON))
#define GAMES_DUMMY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DUMMY_ICON, GamesDummyIconClass))

typedef struct _GamesDummyIcon GamesDummyIcon;
typedef struct _GamesDummyIconClass GamesDummyIconClass;
typedef struct _GamesDummyIconPrivate GamesDummyIconPrivate;

#define GAMES_TYPE_DUMMY_PLATFORM (games_dummy_platform_get_type ())
#define GAMES_DUMMY_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DUMMY_PLATFORM, GamesDummyPlatform))
#define GAMES_DUMMY_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DUMMY_PLATFORM, GamesDummyPlatformClass))
#define GAMES_IS_DUMMY_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DUMMY_PLATFORM))
#define GAMES_IS_DUMMY_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DUMMY_PLATFORM))
#define GAMES_DUMMY_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DUMMY_PLATFORM, GamesDummyPlatformClass))

typedef struct _GamesDummyPlatform GamesDummyPlatform;
typedef struct _GamesDummyPlatformClass GamesDummyPlatformClass;
typedef struct _GamesDummyPlatformPrivate GamesDummyPlatformPrivate;

#define GAMES_TYPE_GAMEINFO_DOC (games_gameinfo_doc_get_type ())
#define GAMES_GAMEINFO_DOC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAMEINFO_DOC, GamesGameinfoDoc))
#define GAMES_GAMEINFO_DOC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GAMEINFO_DOC, GamesGameinfoDocClass))
#define GAMES_IS_GAMEINFO_DOC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GAMEINFO_DOC))
#define GAMES_IS_GAMEINFO_DOC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GAMEINFO_DOC))
#define GAMES_GAMEINFO_DOC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GAMEINFO_DOC, GamesGameinfoDocClass))

typedef struct _GamesGameinfoDoc GamesGameinfoDoc;
typedef struct _GamesGameinfoDocClass GamesGameinfoDocClass;
typedef struct _GamesGameinfoDocPrivate GamesGameinfoDocPrivate;

#define GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE (games_gameinfo_disc_id_disc_title_get_type ())
#define GAMES_GAMEINFO_DISC_ID_DISC_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE, GamesGameinfoDiscIdDiscTitle))
#define GAMES_GAMEINFO_DISC_ID_DISC_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE, GamesGameinfoDiscIdDiscTitleClass))
#define GAMES_IS_GAMEINFO_DISC_ID_DISC_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE))
#define GAMES_IS_GAMEINFO_DISC_ID_DISC_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE))
#define GAMES_GAMEINFO_DISC_ID_DISC_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE, GamesGameinfoDiscIdDiscTitleClass))

typedef struct _GamesGameinfoDiscIdDiscTitle GamesGameinfoDiscIdDiscTitle;
typedef struct _GamesGameinfoDiscIdDiscTitleClass GamesGameinfoDiscIdDiscTitleClass;
typedef struct _GamesGameinfoDiscIdDiscTitlePrivate GamesGameinfoDiscIdDiscTitlePrivate;

#define GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE (games_gameinfo_disc_id_game_title_get_type ())
#define GAMES_GAMEINFO_DISC_ID_GAME_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE, GamesGameinfoDiscIdGameTitle))
#define GAMES_GAMEINFO_DISC_ID_GAME_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE, GamesGameinfoDiscIdGameTitleClass))
#define GAMES_IS_GAMEINFO_DISC_ID_GAME_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE))
#define GAMES_IS_GAMEINFO_DISC_ID_GAME_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE))
#define GAMES_GAMEINFO_DISC_ID_GAME_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE, GamesGameinfoDiscIdGameTitleClass))

typedef struct _GamesGameinfoDiscIdGameTitle GamesGameinfoDiscIdGameTitle;
typedef struct _GamesGameinfoDiscIdGameTitleClass GamesGameinfoDiscIdGameTitleClass;
typedef struct _GamesGameinfoDiscIdGameTitlePrivate GamesGameinfoDiscIdGameTitlePrivate;

#define GAMES_TYPE_GENERIC_GAME_URI_ADAPTER (games_generic_game_uri_adapter_get_type ())
#define GAMES_GENERIC_GAME_URI_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER, GamesGenericGameUriAdapter))
#define GAMES_GENERIC_GAME_URI_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER, GamesGenericGameUriAdapterClass))
#define GAMES_IS_GENERIC_GAME_URI_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER))
#define GAMES_IS_GENERIC_GAME_URI_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER))
#define GAMES_GENERIC_GAME_URI_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER, GamesGenericGameUriAdapterClass))

typedef struct _GamesGenericGameUriAdapter GamesGenericGameUriAdapter;
typedef struct _GamesGenericGameUriAdapterClass GamesGenericGameUriAdapterClass;
typedef struct _GamesGenericGameUriAdapterPrivate GamesGenericGameUriAdapterPrivate;
typedef GamesGame* (*GamesGenericGameUriAdapterGameForUri) (GamesUri* uri, gpointer user_data, GError** error);

#define GAMES_TYPE_GENERIC_INPUT_CAPABILITIES (games_generic_input_capabilities_get_type ())
#define GAMES_GENERIC_INPUT_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_INPUT_CAPABILITIES, GamesGenericInputCapabilities))
#define GAMES_GENERIC_INPUT_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_INPUT_CAPABILITIES, GamesGenericInputCapabilitiesClass))
#define GAMES_IS_GENERIC_INPUT_CAPABILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_INPUT_CAPABILITIES))
#define GAMES_IS_GENERIC_INPUT_CAPABILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_INPUT_CAPABILITIES))
#define GAMES_GENERIC_INPUT_CAPABILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_INPUT_CAPABILITIES, GamesGenericInputCapabilitiesClass))

typedef struct _GamesGenericInputCapabilities GamesGenericInputCapabilities;
typedef struct _GamesGenericInputCapabilitiesClass GamesGenericInputCapabilitiesClass;
typedef struct _GamesGenericInputCapabilitiesPrivate GamesGenericInputCapabilitiesPrivate;

#define GAMES_TYPE_GENERIC_PLATFORM (games_generic_platform_get_type ())
#define GAMES_GENERIC_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_PLATFORM, GamesGenericPlatform))
#define GAMES_GENERIC_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_PLATFORM, GamesGenericPlatformClass))
#define GAMES_IS_GENERIC_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_PLATFORM))
#define GAMES_IS_GENERIC_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_PLATFORM))
#define GAMES_GENERIC_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_PLATFORM, GamesGenericPlatformClass))

typedef struct _GamesGenericPlatform GamesGenericPlatform;
typedef struct _GamesGenericPlatformClass GamesGenericPlatformClass;
typedef struct _GamesGenericPlatformPrivate GamesGenericPlatformPrivate;

#define GAMES_TYPE_GENERIC_RUNNER_FACTORY (games_generic_runner_factory_get_type ())
#define GAMES_GENERIC_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_RUNNER_FACTORY, GamesGenericRunnerFactory))
#define GAMES_GENERIC_RUNNER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_RUNNER_FACTORY, GamesGenericRunnerFactoryClass))
#define GAMES_IS_GENERIC_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_RUNNER_FACTORY))
#define GAMES_IS_GENERIC_RUNNER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_RUNNER_FACTORY))
#define GAMES_GENERIC_RUNNER_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_RUNNER_FACTORY, GamesGenericRunnerFactoryClass))

typedef struct _GamesGenericRunnerFactory GamesGenericRunnerFactory;
typedef struct _GamesGenericRunnerFactoryClass GamesGenericRunnerFactoryClass;
typedef struct _GamesGenericRunnerFactoryPrivate GamesGenericRunnerFactoryPrivate;
typedef GamesRunner* (*GamesGenericRunnerFactoryCreateRunner) (GamesGame* game, gpointer user_data, GError** error);

#define GAMES_TYPE_GENERIC_TITLE (games_generic_title_get_type ())
#define GAMES_GENERIC_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_TITLE, GamesGenericTitle))
#define GAMES_GENERIC_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_TITLE, GamesGenericTitleClass))
#define GAMES_IS_GENERIC_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_TITLE))
#define GAMES_IS_GENERIC_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_TITLE))
#define GAMES_GENERIC_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_TITLE, GamesGenericTitleClass))

typedef struct _GamesGenericTitle GamesGenericTitle;
typedef struct _GamesGenericTitleClass GamesGenericTitleClass;
typedef struct _GamesGenericTitlePrivate GamesGenericTitlePrivate;

#define GAMES_TYPE_GENERIC_URI_GAME_FACTORY (games_generic_uri_game_factory_get_type ())
#define GAMES_GENERIC_URI_GAME_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GENERIC_URI_GAME_FACTORY, GamesGenericUriGameFactory))
#define GAMES_GENERIC_URI_GAME_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GENERIC_URI_GAME_FACTORY, GamesGenericUriGameFactoryClass))
#define GAMES_IS_GENERIC_URI_GAME_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GENERIC_URI_GAME_FACTORY))
#define GAMES_IS_GENERIC_URI_GAME_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GENERIC_URI_GAME_FACTORY))
#define GAMES_GENERIC_URI_GAME_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GENERIC_URI_GAME_FACTORY, GamesGenericUriGameFactoryClass))

typedef struct _GamesGenericUriGameFactory GamesGenericUriGameFactory;
typedef struct _GamesGenericUriGameFactoryClass GamesGenericUriGameFactoryClass;
typedef struct _GamesGenericUriGameFactoryPrivate GamesGenericUriGameFactoryPrivate;

#define GAMES_TYPE_GRILO_COVER (games_grilo_cover_get_type ())
#define GAMES_GRILO_COVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GRILO_COVER, GamesGriloCover))
#define GAMES_GRILO_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GRILO_COVER, GamesGriloCoverClass))
#define GAMES_IS_GRILO_COVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GRILO_COVER))
#define GAMES_IS_GRILO_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GRILO_COVER))
#define GAMES_GRILO_COVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GRILO_COVER, GamesGriloCoverClass))

typedef struct _GamesGriloCover GamesGriloCover;
typedef struct _GamesGriloCoverClass GamesGriloCoverClass;
typedef struct _GamesGriloCoverPrivate GamesGriloCoverPrivate;

#define GAMES_TYPE_GRILO_MEDIA (games_grilo_media_get_type ())
#define GAMES_GRILO_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GRILO_MEDIA, GamesGriloMedia))
#define GAMES_GRILO_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_GRILO_MEDIA, GamesGriloMediaClass))
#define GAMES_IS_GRILO_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_GRILO_MEDIA))
#define GAMES_IS_GRILO_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_GRILO_MEDIA))
#define GAMES_GRILO_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_GRILO_MEDIA, GamesGriloMediaClass))

typedef struct _GamesGriloMedia GamesGriloMedia;
typedef struct _GamesGriloMediaClass GamesGriloMediaClass;
typedef struct _GamesGriloMediaPrivate GamesGriloMediaPrivate;

#define GAMES_TYPE_RETRO_CORE_MANAGER (games_retro_core_manager_get_type ())
#define GAMES_RETRO_CORE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_CORE_MANAGER, GamesRetroCoreManager))
#define GAMES_RETRO_CORE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_CORE_MANAGER, GamesRetroCoreManagerClass))
#define GAMES_IS_RETRO_CORE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_CORE_MANAGER))
#define GAMES_IS_RETRO_CORE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_CORE_MANAGER))
#define GAMES_RETRO_CORE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_CORE_MANAGER, GamesRetroCoreManagerClass))

typedef struct _GamesRetroCoreManager GamesRetroCoreManager;
typedef struct _GamesRetroCoreManagerClass GamesRetroCoreManagerClass;
typedef struct _GamesRetroCoreManagerPrivate GamesRetroCoreManagerPrivate;

#define GAMES_TYPE_RETRO_PLATFORM (games_retro_platform_get_type ())
#define GAMES_RETRO_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_PLATFORM, GamesRetroPlatform))
#define GAMES_RETRO_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_PLATFORM, GamesRetroPlatformClass))
#define GAMES_IS_RETRO_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_PLATFORM))
#define GAMES_IS_RETRO_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_PLATFORM))
#define GAMES_RETRO_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_PLATFORM, GamesRetroPlatformClass))

typedef struct _GamesRetroPlatform GamesRetroPlatform;
typedef struct _GamesRetroPlatformClass GamesRetroPlatformClass;

#define GAMES_TYPE_RETRO_CORE_SOURCE (games_retro_core_source_get_type ())
#define GAMES_RETRO_CORE_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_CORE_SOURCE, GamesRetroCoreSource))
#define GAMES_RETRO_CORE_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_CORE_SOURCE, GamesRetroCoreSourceClass))
#define GAMES_IS_RETRO_CORE_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_CORE_SOURCE))
#define GAMES_IS_RETRO_CORE_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_CORE_SOURCE))
#define GAMES_RETRO_CORE_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_CORE_SOURCE, GamesRetroCoreSourceClass))

typedef struct _GamesRetroCoreSource GamesRetroCoreSource;
typedef struct _GamesRetroCoreSourceClass GamesRetroCoreSourceClass;
typedef struct _GamesRetroCoreSourcePrivate GamesRetroCoreSourcePrivate;

#define GAMES_TYPE_RETRO_FIRMWARE (games_retro_firmware_get_type ())
#define GAMES_RETRO_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_FIRMWARE, GamesRetroFirmware))
#define GAMES_RETRO_FIRMWARE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_FIRMWARE, GamesRetroFirmwareClass))
#define GAMES_IS_RETRO_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_FIRMWARE))
#define GAMES_IS_RETRO_FIRMWARE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_FIRMWARE))
#define GAMES_RETRO_FIRMWARE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_FIRMWARE, GamesRetroFirmwareClass))

typedef struct _GamesRetroFirmware GamesRetroFirmware;
typedef struct _GamesRetroFirmwareClass GamesRetroFirmwareClass;
typedef struct _GamesRetroFirmwarePrivate GamesRetroFirmwarePrivate;
typedef struct _GamesRetroPlatformPrivate GamesRetroPlatformPrivate;

#define GAMES_TYPE_RETRO_RUNNER (games_retro_runner_get_type ())
#define GAMES_RETRO_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_RUNNER, GamesRetroRunner))
#define GAMES_RETRO_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_RUNNER, GamesRetroRunnerClass))
#define GAMES_IS_RETRO_RUNNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_RUNNER))
#define GAMES_IS_RETRO_RUNNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_RUNNER))
#define GAMES_RETRO_RUNNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_RUNNER, GamesRetroRunnerClass))

typedef struct _GamesRetroRunner GamesRetroRunner;
typedef struct _GamesRetroRunnerClass GamesRetroRunnerClass;
typedef struct _GamesRetroRunnerPrivate GamesRetroRunnerPrivate;

#define GAMES_TYPE_RETRO_RUNNER_FACTORY (games_retro_runner_factory_get_type ())
#define GAMES_RETRO_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_RUNNER_FACTORY, GamesRetroRunnerFactory))
#define GAMES_RETRO_RUNNER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_RETRO_RUNNER_FACTORY, GamesRetroRunnerFactoryClass))
#define GAMES_IS_RETRO_RUNNER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_RETRO_RUNNER_FACTORY))
#define GAMES_IS_RETRO_RUNNER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_RETRO_RUNNER_FACTORY))
#define GAMES_RETRO_RUNNER_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_RETRO_RUNNER_FACTORY, GamesRetroRunnerFactoryClass))

typedef struct _GamesRetroRunnerFactory GamesRetroRunnerFactory;
typedef struct _GamesRetroRunnerFactoryClass GamesRetroRunnerFactoryClass;
typedef struct _GamesRetroRunnerFactoryPrivate GamesRetroRunnerFactoryPrivate;
typedef enum  {
	GAMES_SCREEN_LAYOUT_TOP_BOTTOM,
	GAMES_SCREEN_LAYOUT_LEFT_RIGHT,
	GAMES_SCREEN_LAYOUT_RIGHT_LEFT,
	GAMES_SCREEN_LAYOUT_QUICK_SWITCH
} GamesScreenLayout;

#define GAMES_TYPE_SCREEN_LAYOUT (games_screen_layout_get_type ())

#define GAMES_TYPE_SCREEN_LAYOUT_SWITCHER (games_screen_layout_switcher_get_type ())
#define GAMES_SCREEN_LAYOUT_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_SCREEN_LAYOUT_SWITCHER, GamesScreenLayoutSwitcher))
#define GAMES_SCREEN_LAYOUT_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_SCREEN_LAYOUT_SWITCHER, GamesScreenLayoutSwitcherClass))
#define GAMES_IS_SCREEN_LAYOUT_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_SCREEN_LAYOUT_SWITCHER))
#define GAMES_IS_SCREEN_LAYOUT_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_SCREEN_LAYOUT_SWITCHER))
#define GAMES_SCREEN_LAYOUT_SWITCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_SCREEN_LAYOUT_SWITCHER, GamesScreenLayoutSwitcherClass))

typedef struct _GamesScreenLayoutSwitcher GamesScreenLayoutSwitcher;
typedef struct _GamesScreenLayoutSwitcherClass GamesScreenLayoutSwitcherClass;
typedef struct _GamesScreenLayoutSwitcherPrivate GamesScreenLayoutSwitcherPrivate;

#define GAMES_TYPE_TRACKER_URI_QUERY (games_tracker_uri_query_get_type ())
#define GAMES_TRACKER_URI_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_TRACKER_URI_QUERY, GamesTrackerUriQuery))
#define GAMES_IS_TRACKER_URI_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_TRACKER_URI_QUERY))
#define GAMES_TRACKER_URI_QUERY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GAMES_TYPE_TRACKER_URI_QUERY, GamesTrackerUriQueryIface))

typedef struct _GamesTrackerUriQuery GamesTrackerUriQuery;
typedef struct _GamesTrackerUriQueryIface GamesTrackerUriQueryIface;

#define GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY (games_mime_type_tracker_uri_query_get_type ())
#define GAMES_MIME_TYPE_TRACKER_URI_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY, GamesMimeTypeTrackerUriQuery))
#define GAMES_MIME_TYPE_TRACKER_URI_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY, GamesMimeTypeTrackerUriQueryClass))
#define GAMES_IS_MIME_TYPE_TRACKER_URI_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY))
#define GAMES_IS_MIME_TYPE_TRACKER_URI_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY))
#define GAMES_MIME_TYPE_TRACKER_URI_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY, GamesMimeTypeTrackerUriQueryClass))

typedef struct _GamesMimeTypeTrackerUriQuery GamesMimeTypeTrackerUriQuery;
typedef struct _GamesMimeTypeTrackerUriQueryClass GamesMimeTypeTrackerUriQueryClass;
typedef struct _GamesMimeTypeTrackerUriQueryPrivate GamesMimeTypeTrackerUriQueryPrivate;

#define TYPE_TRACKER_ERROR (tracker_error_get_type ())

#define GAMES_TYPE_TRACKER_URI_SOURCE (games_tracker_uri_source_get_type ())
#define GAMES_TRACKER_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_TRACKER_URI_SOURCE, GamesTrackerUriSource))
#define GAMES_TRACKER_URI_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_TRACKER_URI_SOURCE, GamesTrackerUriSourceClass))
#define GAMES_IS_TRACKER_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_TRACKER_URI_SOURCE))
#define GAMES_IS_TRACKER_URI_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_TRACKER_URI_SOURCE))
#define GAMES_TRACKER_URI_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_TRACKER_URI_SOURCE, GamesTrackerUriSourceClass))

typedef struct _GamesTrackerUriSource GamesTrackerUriSource;
typedef struct _GamesTrackerUriSourceClass GamesTrackerUriSourceClass;
typedef struct _GamesTrackerUriSourcePrivate GamesTrackerUriSourcePrivate;

#define GAMES_TYPE_APPLICATION (games_application_get_type ())
#define GAMES_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_APPLICATION, GamesApplication))
#define GAMES_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_APPLICATION, GamesApplicationClass))
#define GAMES_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_APPLICATION))
#define GAMES_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_APPLICATION))
#define GAMES_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_APPLICATION, GamesApplicationClass))

typedef struct _GamesApplication GamesApplication;
typedef struct _GamesApplicationClass GamesApplicationClass;
typedef struct _GamesApplicationPrivate GamesApplicationPrivate;

#define GAMES_TYPE_EXTRACTION_ERROR (games_extraction_error_get_type ())

#define GAMES_TYPE_COMPRESSION_ERROR (games_compression_error_get_type ())

#define GAMES_TYPE_DISPLAY_BIN (games_display_bin_get_type ())
#define GAMES_DISPLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DISPLAY_BIN, GamesDisplayBin))
#define GAMES_DISPLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DISPLAY_BIN, GamesDisplayBinClass))
#define GAMES_IS_DISPLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DISPLAY_BIN))
#define GAMES_IS_DISPLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DISPLAY_BIN))
#define GAMES_DISPLAY_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DISPLAY_BIN, GamesDisplayBinClass))

typedef struct _GamesDisplayBin GamesDisplayBin;
typedef struct _GamesDisplayBinClass GamesDisplayBinClass;
typedef struct _GamesDisplayBinPrivate GamesDisplayBinPrivate;

#define GAMES_TYPE_COMPOSITE_COVER (games_composite_cover_get_type ())
#define GAMES_COMPOSITE_COVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_COMPOSITE_COVER, GamesCompositeCover))
#define GAMES_COMPOSITE_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_COMPOSITE_COVER, GamesCompositeCoverClass))
#define GAMES_IS_COMPOSITE_COVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_COMPOSITE_COVER))
#define GAMES_IS_COMPOSITE_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_COMPOSITE_COVER))
#define GAMES_COMPOSITE_COVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_COMPOSITE_COVER, GamesCompositeCoverClass))

typedef struct _GamesCompositeCover GamesCompositeCover;
typedef struct _GamesCompositeCoverClass GamesCompositeCoverClass;
typedef struct _GamesCompositeCoverPrivate GamesCompositeCoverPrivate;

#define GAMES_TYPE_COMPOSITE_TITLE (games_composite_title_get_type ())
#define GAMES_COMPOSITE_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_COMPOSITE_TITLE, GamesCompositeTitle))
#define GAMES_COMPOSITE_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_COMPOSITE_TITLE, GamesCompositeTitleClass))
#define GAMES_IS_COMPOSITE_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_COMPOSITE_TITLE))
#define GAMES_IS_COMPOSITE_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_COMPOSITE_TITLE))
#define GAMES_COMPOSITE_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_COMPOSITE_TITLE, GamesCompositeTitleClass))

typedef struct _GamesCompositeTitle GamesCompositeTitle;
typedef struct _GamesCompositeTitleClass GamesCompositeTitleClass;
typedef struct _GamesCompositeTitlePrivate GamesCompositeTitlePrivate;

#define GAMES_TYPE_CUE_SHEET (games_cue_sheet_get_type ())
#define GAMES_CUE_SHEET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_CUE_SHEET, GamesCueSheet))
#define GAMES_CUE_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_CUE_SHEET, GamesCueSheetClass))
#define GAMES_IS_CUE_SHEET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_CUE_SHEET))
#define GAMES_IS_CUE_SHEET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_CUE_SHEET))
#define GAMES_CUE_SHEET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_CUE_SHEET, GamesCueSheetClass))

typedef struct _GamesCueSheet GamesCueSheet;
typedef struct _GamesCueSheetClass GamesCueSheetClass;
typedef struct _GamesCueSheetPrivate GamesCueSheetPrivate;

#define GAMES_TYPE_CUE_SHEET_TRACK_NODE (games_cue_sheet_track_node_get_type ())
#define GAMES_CUE_SHEET_TRACK_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_CUE_SHEET_TRACK_NODE, GamesCueSheetTrackNode))
#define GAMES_CUE_SHEET_TRACK_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_CUE_SHEET_TRACK_NODE, GamesCueSheetTrackNodeClass))
#define GAMES_IS_CUE_SHEET_TRACK_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_CUE_SHEET_TRACK_NODE))
#define GAMES_IS_CUE_SHEET_TRACK_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_CUE_SHEET_TRACK_NODE))
#define GAMES_CUE_SHEET_TRACK_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_CUE_SHEET_TRACK_NODE, GamesCueSheetTrackNodeClass))

typedef struct _GamesCueSheetTrackNode GamesCueSheetTrackNode;
typedef struct _GamesCueSheetTrackNodeClass GamesCueSheetTrackNodeClass;
typedef enum  {
	GAMES_CUE_SHEET_FILE_FORMAT_INVALID,
	GAMES_CUE_SHEET_FILE_FORMAT_AIFF,
	GAMES_CUE_SHEET_FILE_FORMAT_BINARY,
	GAMES_CUE_SHEET_FILE_FORMAT_MOTOROLA,
	GAMES_CUE_SHEET_FILE_FORMAT_MP3,
	GAMES_CUE_SHEET_FILE_FORMAT_VORBIS,
	GAMES_CUE_SHEET_FILE_FORMAT_WAVE,
	GAMES_CUE_SHEET_FILE_FORMAT_UNKNOWN
} GamesCueSheetFileFormat;

#define GAMES_TYPE_CUE_SHEET_FILE_FORMAT (games_cue_sheet_file_format_get_type ())

#define GAMES_TYPE_CUE_SHEET_FILE_NODE (games_cue_sheet_file_node_get_type ())
#define GAMES_CUE_SHEET_FILE_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_CUE_SHEET_FILE_NODE, GamesCueSheetFileNode))
#define GAMES_CUE_SHEET_FILE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_CUE_SHEET_FILE_NODE, GamesCueSheetFileNodeClass))
#define GAMES_IS_CUE_SHEET_FILE_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_CUE_SHEET_FILE_NODE))
#define GAMES_IS_CUE_SHEET_FILE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_CUE_SHEET_FILE_NODE))
#define GAMES_CUE_SHEET_FILE_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_CUE_SHEET_FILE_NODE, GamesCueSheetFileNodeClass))

typedef struct _GamesCueSheetFileNode GamesCueSheetFileNode;
typedef struct _GamesCueSheetFileNodeClass GamesCueSheetFileNodeClass;
typedef struct _GamesCueSheetFileNodePrivate GamesCueSheetFileNodePrivate;
typedef enum  {
	GAMES_CUE_SHEET_TRACK_MODE_INVALID,
	GAMES_CUE_SHEET_TRACK_MODE_AUDIO,
	GAMES_CUE_SHEET_TRACK_MODE_CDG,
	GAMES_CUE_SHEET_TRACK_MODE_MODE1_2048,
	GAMES_CUE_SHEET_TRACK_MODE_MODE1_2352,
	GAMES_CUE_SHEET_TRACK_MODE_MODE2_2336,
	GAMES_CUE_SHEET_TRACK_MODE_MODE2_2352,
	GAMES_CUE_SHEET_TRACK_MODE_CDI_2336,
	GAMES_CUE_SHEET_TRACK_MODE_CDI_2352
} GamesCueSheetTrackMode;

#define GAMES_TYPE_CUE_SHEET_TRACK_MODE (games_cue_sheet_track_mode_get_type ())
typedef struct _GamesCueSheetTrackNodePrivate GamesCueSheetTrackNodePrivate;

#define GAMES_TYPE_DIRECTORY (games_directory_get_type ())
#define GAMES_DIRECTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DIRECTORY, GamesDirectory))
#define GAMES_DIRECTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_DIRECTORY, GamesDirectoryClass))
#define GAMES_IS_DIRECTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_DIRECTORY))
#define GAMES_IS_DIRECTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_DIRECTORY))
#define GAMES_DIRECTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_DIRECTORY, GamesDirectoryClass))

typedef struct _GamesDirectory GamesDirectory;
typedef struct _GamesDirectoryClass GamesDirectoryClass;
typedef struct _GamesDirectoryPrivate GamesDirectoryPrivate;
typedef gboolean (*GamesDirectoryFileInfoTest) (GFileInfo* file_info, gpointer user_data, GError** error);

#define GAMES_TYPE_FILE_OPERATIONS (games_file_operations_get_type ())
#define GAMES_FILE_OPERATIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_FILE_OPERATIONS, GamesFileOperations))
#define GAMES_FILE_OPERATIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_FILE_OPERATIONS, GamesFileOperationsClass))
#define GAMES_IS_FILE_OPERATIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_FILE_OPERATIONS))
#define GAMES_IS_FILE_OPERATIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_FILE_OPERATIONS))
#define GAMES_FILE_OPERATIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_FILE_OPERATIONS, GamesFileOperationsClass))

typedef struct _GamesFileOperations GamesFileOperations;
typedef struct _GamesFileOperationsClass GamesFileOperationsClass;
typedef struct _GamesFileOperationsPrivate GamesFileOperationsPrivate;

#define GAMES_TYPE_FILENAME_TITLE (games_filename_title_get_type ())
#define GAMES_FILENAME_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_FILENAME_TITLE, GamesFilenameTitle))
#define GAMES_FILENAME_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_FILENAME_TITLE, GamesFilenameTitleClass))
#define GAMES_IS_FILENAME_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_FILENAME_TITLE))
#define GAMES_IS_FILENAME_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_FILENAME_TITLE))
#define GAMES_FILENAME_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_FILENAME_TITLE, GamesFilenameTitleClass))

typedef struct _GamesFilenameTitle GamesFilenameTitle;
typedef struct _GamesFilenameTitleClass GamesFilenameTitleClass;
typedef struct _GamesFilenameTitlePrivate GamesFilenameTitlePrivate;

#define GAMES_TYPE_LOCAL_COVER (games_local_cover_get_type ())
#define GAMES_LOCAL_COVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LOCAL_COVER, GamesLocalCover))
#define GAMES_LOCAL_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_LOCAL_COVER, GamesLocalCoverClass))
#define GAMES_IS_LOCAL_COVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_LOCAL_COVER))
#define GAMES_IS_LOCAL_COVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_LOCAL_COVER))
#define GAMES_LOCAL_COVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_LOCAL_COVER, GamesLocalCoverClass))

typedef struct _GamesLocalCover GamesLocalCover;
typedef struct _GamesLocalCoverClass GamesLocalCoverClass;
typedef struct _GamesLocalCoverPrivate GamesLocalCoverPrivate;

#define GAMES_TYPE_STRING_INPUT_STREAM (games_string_input_stream_get_type ())
#define GAMES_STRING_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_STRING_INPUT_STREAM, GamesStringInputStream))
#define GAMES_STRING_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_STRING_INPUT_STREAM, GamesStringInputStreamClass))
#define GAMES_IS_STRING_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_STRING_INPUT_STREAM))
#define GAMES_IS_STRING_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_STRING_INPUT_STREAM))
#define GAMES_STRING_INPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_STRING_INPUT_STREAM, GamesStringInputStreamClass))

typedef struct _GamesStringInputStream GamesStringInputStream;
typedef struct _GamesStringInputStreamClass GamesStringInputStreamClass;
typedef struct _GamesStringInputStreamPrivate GamesStringInputStreamPrivate;
typedef enum  {
	GAMES_UNICODE_ENCODING_UTF_32BE,
	GAMES_UNICODE_ENCODING_UTF_32LE,
	GAMES_UNICODE_ENCODING_UTF_16BE,
	GAMES_UNICODE_ENCODING_UTF_16LE,
	GAMES_UNICODE_ENCODING_UTF_8
} GamesUnicodeEncoding;

#define GAMES_UNICODE_TYPE_ENCODING (games_unicode_encoding_get_type ())
typedef struct _GamesUriPrivate GamesUriPrivate;

typedef enum  {
	GAMES_COMMAND_ERROR_INVALID_COMMAND,
	GAMES_COMMAND_ERROR_EXECUTION_FAILED
} GamesCommandError;
#define GAMES_COMMAND_ERROR games_command_error_quark ()

struct _GamesHeaderBarWidgetIface {
	GTypeInterface parent_iface;
	gboolean (*get_block_autohide) (GamesHeaderBarWidget* self);
};

typedef enum  {
	GAMES_RUNNER_ERROR_UNSUPPORTED_SYSTEM,
	GAMES_RUNNER_ERROR_INVALID_GAME,
	GAMES_RUNNER_ERROR_OTHER
} GamesRunnerError;
#define GAMES_RUNNER_ERROR games_runner_error_quark ()

struct _GamesRunnerIface {
	GTypeInterface parent_iface;
	GtkWidget* (*get_display) (GamesRunner* self);
	GamesHeaderBarWidget* (*get_extra_widget) (GamesRunner* self);
	void (*prepare) (GamesRunner* self, GError** error);
	void (*start) (GamesRunner* self, GError** error);
	void (*resume) (GamesRunner* self);
	void (*pause) (GamesRunner* self);
	void (*stop) (GamesRunner* self);
	GamesSnapshot* (*try_create_snapshot) (GamesRunner* self, gboolean is_automatic);
	void (*delete_snapshot) (GamesRunner* self, GamesSnapshot* snapshot);
	void (*preview_snapshot) (GamesRunner* self, GamesSnapshot* snapshot);
	void (*preview_current_state) (GamesRunner* self);
	void (*load_previewed_snapshot) (GamesRunner* self, GError** error);
	GamesSnapshot** (*get_snapshots) (GamesRunner* self, gint* result_length1);
	GamesInputMode* (*get_available_input_modes) (GamesRunner* self, gint* result_length1);
	gboolean (*key_press_event) (GamesRunner* self, guint keyval, GdkModifierType state);
	gboolean (*gamepad_button_press_event) (GamesRunner* self, guint16 button);
	gboolean (*get_can_fullscreen) (GamesRunner* self);
	gboolean (*get_can_resume) (GamesRunner* self);
	gboolean (*get_supports_snapshots) (GamesRunner* self);
	gboolean (*get_is_integrated) (GamesRunner* self);
	GamesMediaSet* (*get_media_set) (GamesRunner* self);
	GamesInputMode (*get_input_mode) (GamesRunner* self);
	void (*set_input_mode) (GamesRunner* self, GamesInputMode value);
};

struct _GamesCommandRunner {
	GObject parent_instance;
	GamesCommandRunnerPrivate * priv;
};

struct _GamesCommandRunnerClass {
	GObjectClass parent_class;
};

struct _GamesPlatformIface {
	GTypeInterface parent_iface;
	gchar* (*get_id) (GamesPlatform* self);
	gchar* (*get_name) (GamesPlatform* self);
	gchar* (*get_uid_prefix) (GamesPlatform* self);
	GtkListBoxRow* (*get_row) (GamesPlatform* self);
	GType (*get_snapshot_type) (GamesPlatform* self);
};

typedef enum  {
	GAMES_FIRMWARE_ERROR_FIRMWARE_NOT_FOUND
} GamesFirmwareError;
#define GAMES_FIRMWARE_ERROR games_firmware_error_quark ()

struct _GamesFirmwareIface {
	GTypeInterface parent_iface;
	gboolean (*get_is_mandatory) (GamesFirmware* self);
	void (*check_is_valid) (GamesFirmware* self, GamesPlatform* platform, GError** error);
};

struct _GamesCoreIface {
	GTypeInterface parent_iface;
	GamesFirmware** (*get_all_firmware) (GamesCore* self, GamesPlatform* platform, gint* result_length1, GError** error);
};

struct _GamesCoverIface {
	GTypeInterface parent_iface;
	GFile* (*get_cover) (GamesCover* self);
};

struct _GamesCoverLoader {
	GObject parent_instance;
	GamesCoverLoaderPrivate * priv;
};

struct _GamesCoverLoaderClass {
	GObjectClass parent_class;
};

struct _GamesFirmwareManager {
	GObject parent_instance;
	GamesFirmwareManagerPrivate * priv;
};

struct _GamesFirmwareManagerClass {
	GObjectClass parent_class;
};

struct _GamesGame {
	GObject parent_instance;
	GamesGamePrivate * priv;
};

struct _GamesGameClass {
	GObjectClass parent_class;
};

struct _GamesTitleIface {
	GTypeInterface parent_iface;
	gchar* (*get_title) (GamesTitle* self, GError** error);
};

struct _GamesIconIface {
	GTypeInterface parent_iface;
	GIcon* (*get_icon) (GamesIcon* self);
};

struct _GamesGameUriAdapterIface {
	GTypeInterface parent_iface;
	GamesGame* (*game_for_uri) (GamesGameUriAdapter* self, GamesUri* uri, GError** error);
};

struct _GamesInputCapabilitiesIface {
	GTypeInterface parent_iface;
	gboolean (*get_allow_keyboard_mode) (GamesInputCapabilities* self);
	gboolean (*get_allow_gamepad_mode) (GamesInputCapabilities* self);
};

struct _GamesMedia {
	GObject parent_instance;
	GamesMediaPrivate * priv;
};

struct _GamesMediaClass {
	GObjectClass parent_class;
};

struct _GamesMediaSet {
	GObject parent_instance;
	GamesMediaSetPrivate * priv;
};

struct _GamesMediaSetClass {
	GObjectClass parent_class;
};

struct _GamesUriIteratorIface {
	GTypeInterface parent_iface;
	GamesUri* (*get) (GamesUriIterator* self);
	gboolean (*next) (GamesUriIterator* self);
};

struct _GamesUriSourceIface {
	GTypeInterface parent_iface;
	GamesUriIterator* (*iterator) (GamesUriSource* self);
};

struct _GamesUriGameFactoryIface {
	GTypeInterface parent_iface;
	gchar** (*get_mime_types) (GamesUriGameFactory* self, gint* result_length1);
	gchar** (*get_schemes) (GamesUriGameFactory* self, gint* result_length1);
	void (*add_uri) (GamesUriGameFactory* self, GamesUri* uri);
	GamesGame* (*query_game_for_uri) (GamesUriGameFactory* self, GamesUri* uri);
	void (*foreach_game) (GamesUriGameFactory* self, GamesGameCallback game_callback, gpointer game_callback_target);
	void (*set_game_added_callback) (GamesUriGameFactory* self, GamesGameCallback game_callback, gpointer game_callback_target);
};

struct _GamesRunnerFactoryIface {
	GTypeInterface parent_iface;
	GamesPlatform** (*get_platforms) (GamesRunnerFactory* self, gint* result_length1);
	GamesRunner* (*create_runner) (GamesRunnerFactory* self, GamesGame* game, GError** error);
};

struct _GamesPluginIface {
	GTypeInterface parent_iface;
	gchar** (*get_mime_types) (GamesPlugin* self, gint* result_length1);
	GamesPlatform** (*get_platforms) (GamesPlugin* self, gint* result_length1);
	GamesUriSource** (*get_uri_sources) (GamesPlugin* self, gint* result_length1);
	GamesUriGameFactory** (*get_uri_game_factories) (GamesPlugin* self, gint* result_length1);
	GamesRunnerFactory** (*get_runner_factories) (GamesPlugin* self, gint* result_length1);
};

struct _GamesSnapshot {
	GObject parent_instance;
	GamesSnapshotPrivate * priv;
};

struct _GamesSnapshotClass {
	GObjectClass parent_class;
	void (*load_metadata) (GamesSnapshot* self, GKeyFile* keyfile, GError** error);
	void (*save_metadata) (GamesSnapshot* self, GKeyFile* keyfile);
};

struct _GamesSnapshotManager {
	GObject parent_instance;
	GamesSnapshotManagerPrivate * priv;
};

struct _GamesSnapshotManagerClass {
	GObjectClass parent_class;
};

struct _GamesUid {
	GObject parent_instance;
	GamesUidPrivate * priv;
};

struct _GamesUidClass {
	GObjectClass parent_class;
};

struct _GamesDummyCover {
	GObject parent_instance;
	GamesDummyCoverPrivate * priv;
};

struct _GamesDummyCoverClass {
	GObjectClass parent_class;
};

struct _GamesDummyIcon {
	GObject parent_instance;
	GamesDummyIconPrivate * priv;
};

struct _GamesDummyIconClass {
	GObjectClass parent_class;
};

struct _GamesDummyPlatform {
	GObject parent_instance;
	GamesDummyPlatformPrivate * priv;
};

struct _GamesDummyPlatformClass {
	GObjectClass parent_class;
};

struct _GamesGameinfoDoc {
	GObject parent_instance;
	GamesGameinfoDocPrivate * priv;
};

struct _GamesGameinfoDocClass {
	GObjectClass parent_class;
};

struct _GamesGameinfoDiscIdDiscTitle {
	GObject parent_instance;
	GamesGameinfoDiscIdDiscTitlePrivate * priv;
};

struct _GamesGameinfoDiscIdDiscTitleClass {
	GObjectClass parent_class;
};

struct _GamesGameinfoDiscIdGameTitle {
	GObject parent_instance;
	GamesGameinfoDiscIdGameTitlePrivate * priv;
};

struct _GamesGameinfoDiscIdGameTitleClass {
	GObjectClass parent_class;
};

struct _GamesGenericGameUriAdapter {
	GObject parent_instance;
	GamesGenericGameUriAdapterPrivate * priv;
};

struct _GamesGenericGameUriAdapterClass {
	GObjectClass parent_class;
};

struct _GamesGenericInputCapabilities {
	GObject parent_instance;
	GamesGenericInputCapabilitiesPrivate * priv;
};

struct _GamesGenericInputCapabilitiesClass {
	GObjectClass parent_class;
};

struct _GamesGenericPlatform {
	GObject parent_instance;
	GamesGenericPlatformPrivate * priv;
};

struct _GamesGenericPlatformClass {
	GObjectClass parent_class;
};

struct _GamesGenericRunnerFactory {
	GObject parent_instance;
	GamesGenericRunnerFactoryPrivate * priv;
};

struct _GamesGenericRunnerFactoryClass {
	GObjectClass parent_class;
};

struct _GamesGenericTitle {
	GObject parent_instance;
	GamesGenericTitlePrivate * priv;
};

struct _GamesGenericTitleClass {
	GObjectClass parent_class;
};

struct _GamesGenericUriGameFactory {
	GObject parent_instance;
	GamesGenericUriGameFactoryPrivate * priv;
};

struct _GamesGenericUriGameFactoryClass {
	GObjectClass parent_class;
};

struct _GamesGriloCover {
	GObject parent_instance;
	GamesGriloCoverPrivate * priv;
};

struct _GamesGriloCoverClass {
	GObjectClass parent_class;
};

struct _GamesGriloMedia {
	GObject parent_instance;
	GamesGriloMediaPrivate * priv;
};

struct _GamesGriloMediaClass {
	GObjectClass parent_class;
};

struct _GamesRetroCoreManager {
	GObject parent_instance;
	GamesRetroCoreManagerPrivate * priv;
};

struct _GamesRetroCoreManagerClass {
	GObjectClass parent_class;
};

struct _GamesRetroCoreSource {
	GObject parent_instance;
	GamesRetroCoreSourcePrivate * priv;
};

struct _GamesRetroCoreSourceClass {
	GObjectClass parent_class;
};

struct _GamesRetroFirmware {
	GObject parent_instance;
	GamesRetroFirmwarePrivate * priv;
};

struct _GamesRetroFirmwareClass {
	GObjectClass parent_class;
};

struct _GamesRetroPlatform {
	GObject parent_instance;
	GamesRetroPlatformPrivate * priv;
};

struct _GamesRetroPlatformClass {
	GObjectClass parent_class;
	GType (*get_snapshot_type) (GamesRetroPlatform* self);
};

struct _GamesRetroRunner {
	GObject parent_instance;
	GamesRetroRunnerPrivate * priv;
};

struct _GamesRetroRunnerClass {
	GObjectClass parent_class;
	GamesHeaderBarWidget* (*get_extra_widget) (GamesRetroRunner* self);
	gboolean (*key_press_event) (GamesRetroRunner* self, guint keyval, GdkModifierType state);
	gboolean (*gamepad_button_press_event) (GamesRetroRunner* self, guint16 button);
	void (*save_to_snapshot) (GamesRetroRunner* self, GamesSnapshot* snapshot, GError** error);
	void (*load_from_snapshot) (GamesRetroRunner* self, GamesSnapshot* snapshot, GError** error);
	void (*reset_with_snapshot) (GamesRetroRunner* self, GamesSnapshot* last_snapshot, GError** error);
};

struct _GamesRetroRunnerFactory {
	GObject parent_instance;
	GamesRetroRunnerFactoryPrivate * priv;
};

struct _GamesRetroRunnerFactoryClass {
	GObjectClass parent_class;
};

struct _GamesScreenLayoutSwitcher {
	GtkBox parent_instance;
	GamesScreenLayoutSwitcherPrivate * priv;
};

struct _GamesScreenLayoutSwitcherClass {
	GtkBoxClass parent_class;
};

struct _GamesTrackerUriQueryIface {
	GTypeInterface parent_iface;
	gchar* (*get_query) (GamesTrackerUriQuery* self);
};

struct _GamesMimeTypeTrackerUriQuery {
	GObject parent_instance;
	GamesMimeTypeTrackerUriQueryPrivate * priv;
};

struct _GamesMimeTypeTrackerUriQueryClass {
	GObjectClass parent_class;
};

typedef enum  {
	TRACKER_ERROR_FILE_NOT_FOUND
} TrackerError;
#define TRACKER_ERROR tracker_error_quark ()

struct _GamesTrackerUriSource {
	GObject parent_instance;
	GamesTrackerUriSourcePrivate * priv;
};

struct _GamesTrackerUriSourceClass {
	GObjectClass parent_class;
};

struct _GamesApplication {
	GtkApplication parent_instance;
	GamesApplicationPrivate * priv;
};

struct _GamesApplicationClass {
	GtkApplicationClass parent_class;
};

typedef enum  {
	GAMES_EXTRACTION_ERROR_CLEANUP_FAILED,
	GAMES_EXTRACTION_ERROR_COULDNT_READ_HEADER,
	GAMES_EXTRACTION_ERROR_DIDNT_REACH_EOF
} GamesExtractionError;
#define GAMES_EXTRACTION_ERROR games_extraction_error_quark ()

typedef enum  {
	GAMES_COMPRESSION_ERROR_CLOSING_FAILED,
	GAMES_COMPRESSION_ERROR_COULDNT_ENUMERATE_CHILDREN,
	GAMES_COMPRESSION_ERROR_COULDNT_READ_FILE,
	GAMES_COMPRESSION_ERROR_COULDNT_WRITE_HEADER,
	GAMES_COMPRESSION_ERROR_COULDNT_WRITE_FILE,
	GAMES_COMPRESSION_ERROR_INITIALIZATION_FAILED
} GamesCompressionError;
#define GAMES_COMPRESSION_ERROR games_compression_error_quark ()

struct _GamesDisplayBin {
	GtkEventBox parent_instance;
	GamesDisplayBinPrivate * priv;
};

struct _GamesDisplayBinClass {
	GtkEventBoxClass parent_class;
};

struct _GamesCompositeCover {
	GObject parent_instance;
	GamesCompositeCoverPrivate * priv;
};

struct _GamesCompositeCoverClass {
	GObjectClass parent_class;
};

struct _GamesCompositeTitle {
	GObject parent_instance;
	GamesCompositeTitlePrivate * priv;
};

struct _GamesCompositeTitleClass {
	GObjectClass parent_class;
};

struct _GamesCueSheet {
	GObject parent_instance;
	GamesCueSheetPrivate * priv;
};

struct _GamesCueSheetClass {
	GObjectClass parent_class;
};

struct _GamesCueSheetFileNode {
	GObject parent_instance;
	GamesCueSheetFileNodePrivate * priv;
};

struct _GamesCueSheetFileNodeClass {
	GObjectClass parent_class;
};

struct _GamesCueSheetTrackNode {
	GObject parent_instance;
	GamesCueSheetTrackNodePrivate * priv;
};

struct _GamesCueSheetTrackNodeClass {
	GObjectClass parent_class;
};

struct _GamesDirectory {
	GObject parent_instance;
	GamesDirectoryPrivate * priv;
};

struct _GamesDirectoryClass {
	GObjectClass parent_class;
};

struct _GamesFileOperations {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GamesFileOperationsPrivate * priv;
};

struct _GamesFileOperationsClass {
	GTypeClass parent_class;
	void (*finalize) (GamesFileOperations *self);
};

struct _GamesFilenameTitle {
	GObject parent_instance;
	GamesFilenameTitlePrivate * priv;
};

struct _GamesFilenameTitleClass {
	GObjectClass parent_class;
};

struct _GamesLocalCover {
	GObject parent_instance;
	GamesLocalCoverPrivate * priv;
};

struct _GamesLocalCoverClass {
	GObjectClass parent_class;
};

struct _GamesStringInputStream {
	GObject parent_instance;
	GamesStringInputStreamPrivate * priv;
};

struct _GamesStringInputStreamClass {
	GObjectClass parent_class;
};

struct _GamesUri {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GamesUriPrivate * priv;
};

struct _GamesUriClass {
	GTypeClass parent_class;
	void (*finalize) (GamesUri *self);
};

VALA_EXTERN GQuark games_command_error_quark (void);
VALA_EXTERN GType games_command_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType games_header_bar_widget_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesHeaderBarWidget, g_object_unref)
VALA_EXTERN GQuark games_runner_error_quark (void);
VALA_EXTERN GType games_runner_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType games_snapshot_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesSnapshot, g_object_unref)
VALA_EXTERN GType games_input_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType games_media_set_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesMediaSet, g_object_unref)
VALA_EXTERN GType games_runner_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRunner, g_object_unref)
VALA_EXTERN GType games_command_runner_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCommandRunner, g_object_unref)
VALA_EXTERN GamesCommandRunner* games_command_runner_new (gchar** args,
                                              gint args_length1);
VALA_EXTERN GamesCommandRunner* games_command_runner_construct (GType object_type,
                                                    gchar** args,
                                                    gint args_length1);
VALA_EXTERN GType games_platform_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesPlatform, g_object_unref)
VALA_EXTERN GQuark games_firmware_error_quark (void);
VALA_EXTERN GType games_firmware_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType games_firmware_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesFirmware, g_object_unref)
VALA_EXTERN GType games_core_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCore, g_object_unref)
VALA_EXTERN GamesFirmware** games_core_get_all_firmware (GamesCore* self,
                                             GamesPlatform* platform,
                                             gint* result_length1,
                                             GError** error);
VALA_EXTERN GType games_cover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCover, g_object_unref)
VALA_EXTERN GFile* games_cover_get_cover (GamesCover* self);
VALA_EXTERN GType games_cover_loader_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCoverLoader, g_object_unref)
VALA_EXTERN GType games_game_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGame, g_object_unref)
VALA_EXTERN void games_cover_loader_fetch_cover (GamesCoverLoader* self,
                                     GamesGame* game,
                                     gint scale_factor,
                                     gint cover_size,
                                     gint icon_size,
                                     GamesCoverLoaderCoverReadyCallback cb,
                                     gpointer cb_target);
VALA_EXTERN GamesCoverLoader* games_cover_loader_new (void);
VALA_EXTERN GamesCoverLoader* games_cover_loader_construct (GType object_type);
VALA_EXTERN gboolean games_firmware_get_is_mandatory (GamesFirmware* self);
VALA_EXTERN void games_firmware_check_is_valid (GamesFirmware* self,
                                    GamesPlatform* platform,
                                    GError** error);
VALA_EXTERN GType games_firmware_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesFirmwareManager, g_object_unref)
VALA_EXTERN void games_firmware_manager_is_all_firmware_valid (GamesFirmwareManager* self,
                                                   GamesCore* core,
                                                   GamesPlatform* platform,
                                                   GError** error);
VALA_EXTERN GamesFirmwareManager* games_firmware_manager_new (void);
VALA_EXTERN GamesFirmwareManager* games_firmware_manager_construct (GType object_type);
VALA_EXTERN GType games_uid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesUid, g_object_unref)
VALA_EXTERN gpointer games_uri_ref (gpointer instance);
VALA_EXTERN void games_uri_unref (gpointer instance);
VALA_EXTERN GParamSpec* games_param_spec_uri (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
VALA_EXTERN void games_value_set_uri (GValue* value,
                          gpointer v_object);
VALA_EXTERN void games_value_take_uri (GValue* value,
                           gpointer v_object);
VALA_EXTERN gpointer games_value_get_uri (const GValue* value);
VALA_EXTERN GType games_uri_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesUri, games_uri_unref)
VALA_EXTERN GType games_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesTitle, g_object_unref)
VALA_EXTERN GamesGame* games_game_new (GamesUid* uid,
                           GamesUri* uri,
                           GamesTitle* title,
                           GamesPlatform* platform);
VALA_EXTERN GamesGame* games_game_construct (GType object_type,
                                 GamesUid* uid,
                                 GamesUri* uri,
                                 GamesTitle* title,
                                 GamesPlatform* platform);
VALA_EXTERN GType games_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesIcon, g_object_unref)
VALA_EXTERN GamesIcon* games_game_get_icon (GamesGame* self);
VALA_EXTERN void games_game_set_icon (GamesGame* self,
                          GamesIcon* icon);
VALA_EXTERN GamesCover* games_game_get_cover (GamesGame* self);
VALA_EXTERN void games_game_set_cover (GamesGame* self,
                           GamesCover* cover);
VALA_EXTERN gboolean games_game_matches_search_terms (GamesGame* self,
                                          gchar** search_terms,
                                          gint search_terms_length1);
VALA_EXTERN void games_game_update_last_played (GamesGame* self);
VALA_EXTERN guint games_game_hash (GamesGame* key);
VALA_EXTERN gboolean games_game_equal (GamesGame* a,
                           GamesGame* b);
VALA_EXTERN gint games_game_compare (GamesGame* a,
                         GamesGame* b);
VALA_EXTERN gint games_game_compare_by_date_time (GamesGame* a,
                                      GamesGame* b);
VALA_EXTERN const gchar* games_game_get_name (GamesGame* self);
VALA_EXTERN GamesUid* games_game_get_uid (GamesGame* self);
VALA_EXTERN GamesUri* games_game_get_uri (GamesGame* self);
VALA_EXTERN GamesPlatform* games_game_get_platform (GamesGame* self);
VALA_EXTERN GamesMediaSet* games_game_get_media_set (GamesGame* self);
VALA_EXTERN void games_game_set_media_set (GamesGame* self,
                               GamesMediaSet* value);
VALA_EXTERN gboolean games_game_get_is_favorite (GamesGame* self);
VALA_EXTERN void games_game_set_is_favorite (GamesGame* self,
                                 gboolean value);
VALA_EXTERN GDateTime* games_game_get_last_played (GamesGame* self);
VALA_EXTERN void games_game_set_last_played (GamesGame* self,
                                 GDateTime* value);
VALA_EXTERN GType games_game_uri_adapter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGameUriAdapter, g_object_unref)
VALA_EXTERN GamesGame* games_game_uri_adapter_game_for_uri (GamesGameUriAdapter* self,
                                                GamesUri* uri,
                                                GError** error);
VALA_EXTERN GIcon* games_icon_get_icon (GamesIcon* self);
VALA_EXTERN GType games_input_capabilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesInputCapabilities, g_object_unref)
VALA_EXTERN gboolean games_input_capabilities_get_allow_keyboard_mode (GamesInputCapabilities* self);
VALA_EXTERN gboolean games_input_capabilities_get_allow_gamepad_mode (GamesInputCapabilities* self);
VALA_EXTERN GType games_media_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesMedia, g_object_unref)
VALA_EXTERN GamesMedia* games_media_new (GamesTitle* title);
VALA_EXTERN GamesMedia* games_media_construct (GType object_type,
                                   GamesTitle* title);
VALA_EXTERN GamesMedia* games_media_new_parse (GVariant* variant);
VALA_EXTERN GamesMedia* games_media_construct_parse (GType object_type,
                                         GVariant* variant);
VALA_EXTERN GamesUri** games_media_get_uris (GamesMedia* self,
                                 gint* result_length1);
VALA_EXTERN void games_media_add_uri (GamesMedia* self,
                          GamesUri* uri);
VALA_EXTERN GVariant* games_media_serialize (GamesMedia* self);
VALA_EXTERN GVariantType* games_media_get_variant_type (void);
VALA_EXTERN GamesTitle* games_media_get_title (GamesMedia* self);
VALA_EXTERN GamesMediaSet* games_media_set_new_parse (GVariant* variant);
VALA_EXTERN GamesMediaSet* games_media_set_construct_parse (GType object_type,
                                                GVariant* variant);
VALA_EXTERN void games_media_set_add_media (GamesMediaSet* self,
                                GamesMedia* media);
VALA_EXTERN gint games_media_set_get_size (GamesMediaSet* self);
VALA_EXTERN GamesMedia* games_media_set_get_selected_media (GamesMediaSet* self,
                                                guint index,
                                                GError** error);
VALA_EXTERN void games_media_set_foreach_media (GamesMediaSet* self,
                                    GamesMediaSetMediaCallback media_callback,
                                    gpointer media_callback_target);
VALA_EXTERN GamesMedia* games_media_set_get_media (GamesMediaSet* self,
                                       guint index,
                                       GError** error);
VALA_EXTERN GVariant* games_media_set_serialize (GamesMediaSet* self);
VALA_EXTERN GVariantType* games_media_set_get_variant_type (void);
VALA_EXTERN GamesMediaSet* games_media_set_new (void);
VALA_EXTERN GamesMediaSet* games_media_set_construct (GType object_type);
VALA_EXTERN gint games_media_set_get_selected_media_number (GamesMediaSet* self);
VALA_EXTERN void games_media_set_set_selected_media_number (GamesMediaSet* self,
                                                gint value);
VALA_EXTERN const gchar* games_media_set_get_icon_name (GamesMediaSet* self);
VALA_EXTERN void games_media_set_set_icon_name (GamesMediaSet* self,
                                    const gchar* value);
VALA_EXTERN gchar* games_platform_get_id (GamesPlatform* self);
VALA_EXTERN gchar* games_platform_get_name (GamesPlatform* self);
VALA_EXTERN gchar* games_platform_get_uid_prefix (GamesPlatform* self);
VALA_EXTERN GtkListBoxRow* games_platform_get_row (GamesPlatform* self);
VALA_EXTERN GType games_platform_get_snapshot_type (GamesPlatform* self);
VALA_EXTERN guint games_platform_hash (GamesPlatform* platform);
VALA_EXTERN gboolean games_platform_equal (GamesPlatform* a,
                               GamesPlatform* b);
VALA_EXTERN gint games_platform_compare (GamesPlatform* a,
                             GamesPlatform* b);
VALA_EXTERN gchar* games_platform_get_system_dir (GamesPlatform* self);
VALA_EXTERN GType games_uri_iterator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesUriIterator, g_object_unref)
VALA_EXTERN GType games_uri_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesUriSource, g_object_unref)
VALA_EXTERN GType games_uri_game_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesUriGameFactory, g_object_unref)
VALA_EXTERN GType games_runner_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRunnerFactory, g_object_unref)
VALA_EXTERN GType games_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesPlugin, g_object_unref)
VALA_EXTERN gchar** games_plugin_get_mime_types (GamesPlugin* self,
                                     gint* result_length1);
VALA_EXTERN GamesPlatform** games_plugin_get_platforms (GamesPlugin* self,
                                            gint* result_length1);
VALA_EXTERN GamesUriSource** games_plugin_get_uri_sources (GamesPlugin* self,
                                               gint* result_length1);
VALA_EXTERN GamesUriGameFactory** games_plugin_get_uri_game_factories (GamesPlugin* self,
                                                           gint* result_length1);
VALA_EXTERN GamesRunnerFactory** games_plugin_get_runner_factories (GamesPlugin* self,
                                                        gint* result_length1);
VALA_EXTERN GtkWidget* games_runner_get_display (GamesRunner* self);
VALA_EXTERN GamesHeaderBarWidget* games_runner_get_extra_widget (GamesRunner* self);
VALA_EXTERN void games_runner_prepare (GamesRunner* self,
                           GError** error);
VALA_EXTERN void games_runner_start (GamesRunner* self,
                         GError** error);
VALA_EXTERN void games_runner_resume (GamesRunner* self);
VALA_EXTERN void games_runner_pause (GamesRunner* self);
VALA_EXTERN void games_runner_stop (GamesRunner* self);
VALA_EXTERN GamesSnapshot* games_runner_try_create_snapshot (GamesRunner* self,
                                                 gboolean is_automatic);
VALA_EXTERN void games_runner_delete_snapshot (GamesRunner* self,
                                   GamesSnapshot* snapshot);
VALA_EXTERN void games_runner_preview_snapshot (GamesRunner* self,
                                    GamesSnapshot* snapshot);
VALA_EXTERN void games_runner_preview_current_state (GamesRunner* self);
VALA_EXTERN void games_runner_load_previewed_snapshot (GamesRunner* self,
                                           GError** error);
VALA_EXTERN GamesSnapshot** games_runner_get_snapshots (GamesRunner* self,
                                            gint* result_length1);
VALA_EXTERN GamesInputMode* games_runner_get_available_input_modes (GamesRunner* self,
                                                        gint* result_length1);
VALA_EXTERN gboolean games_runner_key_press_event (GamesRunner* self,
                                       guint keyval,
                                       GdkModifierType state);
VALA_EXTERN gboolean games_runner_gamepad_button_press_event (GamesRunner* self,
                                                  guint16 button);
VALA_EXTERN gboolean games_runner_get_can_fullscreen (GamesRunner* self);
VALA_EXTERN gboolean games_runner_get_can_resume (GamesRunner* self);
VALA_EXTERN gboolean games_runner_get_supports_snapshots (GamesRunner* self);
VALA_EXTERN gboolean games_runner_get_is_integrated (GamesRunner* self);
VALA_EXTERN GamesMediaSet* games_runner_get_media_set (GamesRunner* self);
VALA_EXTERN GamesInputMode games_runner_get_input_mode (GamesRunner* self);
VALA_EXTERN void games_runner_set_input_mode (GamesRunner* self,
                                  GamesInputMode value);
VALA_EXTERN GamesPlatform** games_runner_factory_get_platforms (GamesRunnerFactory* self,
                                                    gint* result_length1);
VALA_EXTERN GamesRunner* games_runner_factory_create_runner (GamesRunnerFactory* self,
                                                 GamesGame* game,
                                                 GError** error);
VALA_EXTERN GamesSnapshot* games_snapshot_load (GamesPlatform* platform,
                                    const gchar* core_id,
                                    const gchar* path);
VALA_EXTERN gchar* games_snapshot_get_snapshot_path (GamesSnapshot* self);
VALA_EXTERN gchar* games_snapshot_get_save_ram_path (GamesSnapshot* self);
VALA_EXTERN gchar* games_snapshot_get_screenshot_path (GamesSnapshot* self);
VALA_EXTERN gchar* games_snapshot_get_save_directory_path (GamesSnapshot* self);
VALA_EXTERN gboolean games_snapshot_has_media_data (GamesSnapshot* self);
VALA_EXTERN gint games_snapshot_get_media_data (GamesSnapshot* self,
                                    GError** error);
VALA_EXTERN void games_snapshot_set_media_data (GamesSnapshot* self,
                                    GamesMediaSet* media_set,
                                    GError** error);
VALA_EXTERN void games_snapshot_load_metadata (GamesSnapshot* self,
                                   GKeyFile* keyfile,
                                   GError** error);
VALA_EXTERN void games_snapshot_save_metadata (GamesSnapshot* self,
                                   GKeyFile* keyfile);
VALA_EXTERN void games_snapshot_write_metadata (GamesSnapshot* self,
                                    GError** error);
VALA_EXTERN void games_snapshot_delete_from_disk (GamesSnapshot* self);
VALA_EXTERN GamesSnapshot* games_snapshot_create_empty (GamesGame* game,
                                            const gchar* core_id,
                                            const gchar* path,
                                            GError** error);
VALA_EXTERN GamesSnapshot* games_snapshot_move_to (GamesSnapshot* self,
                                       const gchar* dest_path,
                                       GError** error);
VALA_EXTERN void games_snapshot_copy_save_dir_to (GamesSnapshot* self,
                                      const gchar* dest,
                                      GError** error);
VALA_EXTERN gint games_snapshot_compare (GamesSnapshot* s1,
                             GamesSnapshot* s2);
VALA_EXTERN GamesSnapshot* games_snapshot_new (void);
VALA_EXTERN GamesSnapshot* games_snapshot_construct (GType object_type);
VALA_EXTERN const gchar* games_snapshot_get_path (GamesSnapshot* self);
VALA_EXTERN GamesPlatform* games_snapshot_get_platform (GamesSnapshot* self);
VALA_EXTERN const gchar* games_snapshot_get_core (GamesSnapshot* self);
VALA_EXTERN gboolean games_snapshot_get_is_automatic (GamesSnapshot* self);
VALA_EXTERN void games_snapshot_set_is_automatic (GamesSnapshot* self,
                                      gboolean value);
VALA_EXTERN const gchar* games_snapshot_get_name (GamesSnapshot* self);
VALA_EXTERN void games_snapshot_set_name (GamesSnapshot* self,
                              const gchar* value);
VALA_EXTERN GDateTime* games_snapshot_get_creation_date (GamesSnapshot* self);
VALA_EXTERN void games_snapshot_set_creation_date (GamesSnapshot* self,
                                       GDateTime* value);
VALA_EXTERN gdouble games_snapshot_get_screenshot_aspect_ratio (GamesSnapshot* self);
VALA_EXTERN void games_snapshot_set_screenshot_aspect_ratio (GamesSnapshot* self,
                                                 gdouble value);
VALA_EXTERN GType games_snapshot_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesSnapshotManager, g_object_unref)
VALA_EXTERN GamesSnapshotManager* games_snapshot_manager_new (GamesGame* game,
                                                  const gchar* core_id,
                                                  GError** error);
VALA_EXTERN GamesSnapshotManager* games_snapshot_manager_construct (GType object_type,
                                                        GamesGame* game,
                                                        const gchar* core_id,
                                                        GError** error);
VALA_EXTERN GamesSnapshot** games_snapshot_manager_get_snapshots (GamesSnapshotManager* self,
                                                      gint* result_length1);
VALA_EXTERN gboolean games_snapshot_manager_has_snapshots (GamesSnapshotManager* self);
VALA_EXTERN GamesSnapshot* games_snapshot_manager_get_latest_snapshot (GamesSnapshotManager* self);
VALA_EXTERN GamesSnapshot* games_snapshot_manager_create_snapshot (GamesSnapshotManager* self,
                                                       gboolean is_automatic,
                                                       GamesSnapshotManagerSnapshotFunc save_callback,
                                                       gpointer save_callback_target,
                                                       GError** error);
VALA_EXTERN void games_snapshot_manager_delete_snapshot (GamesSnapshotManager* self,
                                             GamesSnapshot* snapshot);
VALA_EXTERN gchar* games_title_get_title (GamesTitle* self,
                              GError** error);
VALA_EXTERN GamesUid* games_uid_new (const gchar* uid);
VALA_EXTERN GamesUid* games_uid_construct (GType object_type,
                               const gchar* uid);
VALA_EXTERN gchar* games_uid_to_string (GamesUid* self);
VALA_EXTERN guint games_uid_hash (GamesUid* key);
VALA_EXTERN gboolean games_uid_equal (GamesUid* a,
                          GamesUid* b);
VALA_EXTERN gint games_uid_compare (GamesUid* a,
                        GamesUid* b);
VALA_EXTERN gchar** games_uri_game_factory_get_mime_types (GamesUriGameFactory* self,
                                               gint* result_length1);
VALA_EXTERN gchar** games_uri_game_factory_get_schemes (GamesUriGameFactory* self,
                                            gint* result_length1);
VALA_EXTERN void games_uri_game_factory_add_uri (GamesUriGameFactory* self,
                                     GamesUri* uri);
VALA_EXTERN GamesGame* games_uri_game_factory_query_game_for_uri (GamesUriGameFactory* self,
                                                      GamesUri* uri);
VALA_EXTERN void games_uri_game_factory_foreach_game (GamesUriGameFactory* self,
                                          GamesGameCallback game_callback,
                                          gpointer game_callback_target);
VALA_EXTERN void games_uri_game_factory_set_game_added_callback (GamesUriGameFactory* self,
                                                     GamesGameCallback game_callback,
                                                     gpointer game_callback_target);
VALA_EXTERN GamesUri* games_uri_iterator_get (GamesUriIterator* self);
VALA_EXTERN gboolean games_uri_iterator_next (GamesUriIterator* self);
VALA_EXTERN GamesUriIterator* games_uri_source_iterator (GamesUriSource* self);
VALA_EXTERN GType games_dummy_cover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesDummyCover, g_object_unref)
VALA_EXTERN GamesDummyCover* games_dummy_cover_new (void);
VALA_EXTERN GamesDummyCover* games_dummy_cover_construct (GType object_type);
VALA_EXTERN GType games_dummy_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesDummyIcon, g_object_unref)
VALA_EXTERN GamesDummyIcon* games_dummy_icon_new (void);
VALA_EXTERN GamesDummyIcon* games_dummy_icon_construct (GType object_type);
VALA_EXTERN GType games_dummy_platform_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesDummyPlatform, g_object_unref)
VALA_EXTERN GamesDummyPlatform* games_dummy_platform_new (void);
VALA_EXTERN GamesDummyPlatform* games_dummy_platform_construct (GType object_type);
VALA_EXTERN GType games_gameinfo_doc_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGameinfoDoc, g_object_unref)
VALA_EXTERN GamesGameinfoDoc* games_gameinfo_doc_new_from_data (guint8* data,
                                                    gint data_length1,
                                                    GError** error);
VALA_EXTERN GamesGameinfoDoc* games_gameinfo_doc_construct_from_data (GType object_type,
                                                          guint8* data,
                                                          gint data_length1,
                                                          GError** error);
VALA_EXTERN gchar* games_gameinfo_doc_get_game_title_for_disc_id (GamesGameinfoDoc* self,
                                                      const gchar* disc_id,
                                                      GError** error);
VALA_EXTERN gchar** games_gameinfo_doc_get_game_controllers_for_disc_id (GamesGameinfoDoc* self,
                                                             const gchar* disc_id,
                                                             gint* result_length1,
                                                             GError** error);
VALA_EXTERN gchar* games_gameinfo_doc_get_disc_title_for_disc_id (GamesGameinfoDoc* self,
                                                      const gchar* disc_id,
                                                      GError** error);
VALA_EXTERN gchar* games_gameinfo_doc_get_disc_set_id_for_disc_id (GamesGameinfoDoc* self,
                                                       const gchar* disc_id,
                                                       GError** error);
VALA_EXTERN gint games_gameinfo_doc_get_disc_set_index_for_disc_id (GamesGameinfoDoc* self,
                                                        const gchar* disc_id,
                                                        GError** error);
VALA_EXTERN gint games_gameinfo_doc_get_disc_set_size_for_disc_id (GamesGameinfoDoc* self,
                                                       const gchar* disc_id,
                                                       GError** error);
VALA_EXTERN gchar** games_gameinfo_doc_get_disc_set_ids_for_disc_id (GamesGameinfoDoc* self,
                                                         const gchar* disc_id,
                                                         gint* result_length1,
                                                         GError** error);
VALA_EXTERN GamesGameinfoDoc* games_gameinfo_doc_new (void);
VALA_EXTERN GamesGameinfoDoc* games_gameinfo_doc_construct (GType object_type);
VALA_EXTERN GType games_gameinfo_disc_id_disc_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGameinfoDiscIdDiscTitle, g_object_unref)
VALA_EXTERN GamesGameinfoDiscIdDiscTitle* games_gameinfo_disc_id_disc_title_new (GamesGameinfoDoc* gameinfo,
                                                                     const gchar* disc_id,
                                                                     const gchar* domain);
VALA_EXTERN GamesGameinfoDiscIdDiscTitle* games_gameinfo_disc_id_disc_title_construct (GType object_type,
                                                                           GamesGameinfoDoc* gameinfo,
                                                                           const gchar* disc_id,
                                                                           const gchar* domain);
VALA_EXTERN GType games_gameinfo_disc_id_game_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGameinfoDiscIdGameTitle, g_object_unref)
VALA_EXTERN GamesGameinfoDiscIdGameTitle* games_gameinfo_disc_id_game_title_new (GamesGameinfoDoc* gameinfo,
                                                                     const gchar* disc_id,
                                                                     const gchar* domain);
VALA_EXTERN GamesGameinfoDiscIdGameTitle* games_gameinfo_disc_id_game_title_construct (GType object_type,
                                                                           GamesGameinfoDoc* gameinfo,
                                                                           const gchar* disc_id,
                                                                           const gchar* domain);
VALA_EXTERN GType games_generic_game_uri_adapter_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericGameUriAdapter, g_object_unref)
VALA_EXTERN GamesGenericGameUriAdapter* games_generic_game_uri_adapter_new (GamesGenericGameUriAdapterGameForUri callback,
                                                                gpointer callback_target,
                                                                GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN GamesGenericGameUriAdapter* games_generic_game_uri_adapter_construct (GType object_type,
                                                                      GamesGenericGameUriAdapterGameForUri callback,
                                                                      gpointer callback_target,
                                                                      GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN GType games_generic_input_capabilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericInputCapabilities, g_object_unref)
VALA_EXTERN GamesGenericInputCapabilities* games_generic_input_capabilities_new (gboolean allow_keyboard_mode,
                                                                     gboolean allow_gamepad_mode);
VALA_EXTERN GamesGenericInputCapabilities* games_generic_input_capabilities_construct (GType object_type,
                                                                           gboolean allow_keyboard_mode,
                                                                           gboolean allow_gamepad_mode);
VALA_EXTERN GType games_generic_platform_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericPlatform, g_object_unref)
VALA_EXTERN GamesGenericPlatform* games_generic_platform_new (const gchar* id,
                                                  const gchar* name,
                                                  const gchar* uid_prefix);
VALA_EXTERN GamesGenericPlatform* games_generic_platform_construct (GType object_type,
                                                        const gchar* id,
                                                        const gchar* name,
                                                        const gchar* uid_prefix);
VALA_EXTERN GType games_generic_runner_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericRunnerFactory, g_object_unref)
VALA_EXTERN GamesGenericRunnerFactory* games_generic_runner_factory_new (GamesGenericRunnerFactoryCreateRunner callback,
                                                             gpointer callback_target,
                                                             GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN GamesGenericRunnerFactory* games_generic_runner_factory_construct (GType object_type,
                                                                   GamesGenericRunnerFactoryCreateRunner callback,
                                                                   gpointer callback_target,
                                                                   GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN void games_generic_runner_factory_add_platform (GamesGenericRunnerFactory* self,
                                                GamesPlatform* platform);
VALA_EXTERN GType games_generic_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericTitle, g_object_unref)
VALA_EXTERN GamesGenericTitle* games_generic_title_new (const gchar* title);
VALA_EXTERN GamesGenericTitle* games_generic_title_construct (GType object_type,
                                                  const gchar* title);
VALA_EXTERN GType games_generic_uri_game_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGenericUriGameFactory, g_object_unref)
VALA_EXTERN GamesGenericUriGameFactory* games_generic_uri_game_factory_new (GamesGameUriAdapter* game_uri_adapter);
VALA_EXTERN GamesGenericUriGameFactory* games_generic_uri_game_factory_construct (GType object_type,
                                                                      GamesGameUriAdapter* game_uri_adapter);
VALA_EXTERN void games_generic_uri_game_factory_add_mime_type (GamesGenericUriGameFactory* self,
                                                   const gchar* mime_type);
VALA_EXTERN void games_generic_uri_game_factory_add_scheme (GamesGenericUriGameFactory* self,
                                                const gchar* scheme);
VALA_EXTERN GType games_grilo_cover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGriloCover, g_object_unref)
VALA_EXTERN GType games_grilo_media_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesGriloMedia, g_object_unref)
VALA_EXTERN GamesGriloCover* games_grilo_cover_new (GamesGriloMedia* media,
                                        GamesUid* uid);
VALA_EXTERN GamesGriloCover* games_grilo_cover_construct (GType object_type,
                                              GamesGriloMedia* media,
                                              GamesUid* uid);
VALA_EXTERN GamesGriloMedia* games_grilo_media_new (GamesTitle* title,
                                        const gchar* mime_type);
VALA_EXTERN GamesGriloMedia* games_grilo_media_construct (GType object_type,
                                              GamesTitle* title,
                                              const gchar* mime_type);
VALA_EXTERN void games_grilo_media_try_resolve_media (GamesGriloMedia* self);
VALA_EXTERN GType games_retro_core_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroCoreManager, g_object_unref)
VALA_EXTERN GamesRetroCoreManager* games_retro_core_manager_get_instance (void);
VALA_EXTERN RetroCoreDescriptor* games_retro_core_manager_get_core_for_id (GamesRetroCoreManager* self,
                                                               const gchar* id);
VALA_EXTERN GType games_retro_platform_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroPlatform, g_object_unref)
VALA_EXTERN void games_retro_core_manager_set_preferred_core (GamesRetroCoreManager* self,
                                                  GamesRetroPlatform* platform,
                                                  RetroCoreDescriptor* core_descriptor);
VALA_EXTERN RetroCoreDescriptor* games_retro_core_manager_get_preferred_core (GamesRetroCoreManager* self,
                                                                  GamesRetroPlatform* platform);
VALA_EXTERN RetroCoreDescriptor** games_retro_core_manager_get_cores_for_platform (GamesRetroCoreManager* self,
                                                                       GamesRetroPlatform* platform,
                                                                       gint* result_length1);
VALA_EXTERN GType games_retro_core_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroCoreSource, g_object_unref)
VALA_EXTERN GamesRetroCoreSource* games_retro_core_source_new (GamesRetroPlatform* platform);
VALA_EXTERN GamesRetroCoreSource* games_retro_core_source_construct (GType object_type,
                                                         GamesRetroPlatform* platform);
VALA_EXTERN GamesPlatform* games_retro_core_source_get_platform (GamesRetroCoreSource* self);
VALA_EXTERN gchar* games_retro_core_source_get_core_id (GamesRetroCoreSource* self,
                                            GError** error);
VALA_EXTERN gchar* games_retro_core_source_get_module_path (GamesRetroCoreSource* self,
                                                GError** error);
VALA_EXTERN GType games_retro_firmware_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroFirmware, g_object_unref)
VALA_EXTERN GamesRetroFirmware* games_retro_firmware_new (const gchar* name,
                                              RetroCoreDescriptor* core_descriptor,
                                              GError** error);
VALA_EXTERN GamesRetroFirmware* games_retro_firmware_construct (GType object_type,
                                                    const gchar* name,
                                                    RetroCoreDescriptor* core_descriptor,
                                                    GError** error);
VALA_EXTERN GamesRetroPlatform* games_retro_platform_new (const gchar* id,
                                              const gchar* name,
                                              gchar** mime_types,
                                              gint mime_types_length1,
                                              const gchar* prefix);
VALA_EXTERN GamesRetroPlatform* games_retro_platform_construct (GType object_type,
                                                    const gchar* id,
                                                    const gchar* name,
                                                    gchar** mime_types,
                                                    gint mime_types_length1,
                                                    const gchar* prefix);
VALA_EXTERN gchar** games_retro_platform_get_mime_types (GamesRetroPlatform* self,
                                             gint* result_length1);
VALA_EXTERN GType games_retro_platform_get_snapshot_type (GamesRetroPlatform* self);
VALA_EXTERN GType games_retro_runner_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroRunner, g_object_unref)
VALA_EXTERN GamesRetroRunner* games_retro_runner_new_from_source (GamesGame* game,
                                                      GamesRetroCoreSource* source);
VALA_EXTERN GamesRetroRunner* games_retro_runner_construct_from_source (GType object_type,
                                                            GamesGame* game,
                                                            GamesRetroCoreSource* source);
VALA_EXTERN GamesRetroRunner* games_retro_runner_new_from_descriptor (GamesGame* game,
                                                          RetroCoreDescriptor* descriptor);
VALA_EXTERN GamesRetroRunner* games_retro_runner_construct_from_descriptor (GType object_type,
                                                                GamesGame* game,
                                                                RetroCoreDescriptor* descriptor);
VALA_EXTERN GamesHeaderBarWidget* games_retro_runner_get_extra_widget (GamesRetroRunner* self);
VALA_EXTERN gboolean games_retro_runner_key_press_event (GamesRetroRunner* self,
                                             guint keyval,
                                             GdkModifierType state);
VALA_EXTERN gboolean games_retro_runner_gamepad_button_press_event (GamesRetroRunner* self,
                                                        guint16 button);
VALA_EXTERN RetroCore* games_retro_runner_get_core (GamesRetroRunner* self);
VALA_EXTERN void games_retro_runner_save_to_snapshot (GamesRetroRunner* self,
                                          GamesSnapshot* snapshot,
                                          GError** error);
VALA_EXTERN void games_retro_runner_load_from_snapshot (GamesRetroRunner* self,
                                            GamesSnapshot* snapshot,
                                            GError** error);
VALA_EXTERN void games_retro_runner_reset_with_snapshot (GamesRetroRunner* self,
                                             GamesSnapshot* last_snapshot,
                                             GError** error);
VALA_EXTERN GamesRetroRunner* games_retro_runner_new (void);
VALA_EXTERN GamesRetroRunner* games_retro_runner_construct (GType object_type);
VALA_EXTERN GamesInputCapabilities* games_retro_runner_get_input_capabilities (GamesRetroRunner* self);
VALA_EXTERN void games_retro_runner_set_input_capabilities (GamesRetroRunner* self,
                                                GamesInputCapabilities* value);
VALA_EXTERN GType games_retro_runner_factory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesRetroRunnerFactory, g_object_unref)
VALA_EXTERN GamesRetroRunnerFactory* games_retro_runner_factory_new (GamesRetroPlatform* platform);
VALA_EXTERN GamesRetroRunnerFactory* games_retro_runner_factory_construct (GType object_type,
                                                               GamesRetroPlatform* platform);
VALA_EXTERN GType games_screen_layout_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* games_screen_layout_get_icon (GamesScreenLayout self);
VALA_EXTERN gchar* games_screen_layout_get_title (GamesScreenLayout self);
VALA_EXTERN GamesScreenLayout* games_screen_layout_get_layouts (gint* result_length1);
VALA_EXTERN GType games_screen_layout_switcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesScreenLayoutSwitcher, g_object_unref)
VALA_EXTERN GamesScreenLayoutSwitcher* games_screen_layout_switcher_new (void);
VALA_EXTERN GamesScreenLayoutSwitcher* games_screen_layout_switcher_construct (GType object_type);
VALA_EXTERN GamesScreenLayout games_screen_layout_switcher_get_screen_layout (GamesScreenLayoutSwitcher* self);
VALA_EXTERN void games_screen_layout_switcher_set_screen_layout (GamesScreenLayoutSwitcher* self,
                                                     GamesScreenLayout value);
VALA_EXTERN gboolean games_screen_layout_switcher_get_view_bottom_screen (GamesScreenLayoutSwitcher* self);
VALA_EXTERN void games_screen_layout_switcher_set_view_bottom_screen (GamesScreenLayoutSwitcher* self,
                                                          gboolean value);
VALA_EXTERN GType games_tracker_uri_query_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesTrackerUriQuery, g_object_unref)
VALA_EXTERN GType games_mime_type_tracker_uri_query_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesMimeTypeTrackerUriQuery, g_object_unref)
VALA_EXTERN GamesMimeTypeTrackerUriQuery* games_mime_type_tracker_uri_query_new (const gchar* mime_type);
VALA_EXTERN GamesMimeTypeTrackerUriQuery* games_mime_type_tracker_uri_query_construct (GType object_type,
                                                                           const gchar* mime_type);
VALA_EXTERN GQuark tracker_error_quark (void);
VALA_EXTERN GType tracker_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* games_tracker_uri_query_get_query (GamesTrackerUriQuery* self);
VALA_EXTERN GType games_tracker_uri_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesTrackerUriSource, g_object_unref)
VALA_EXTERN GamesTrackerUriSource* games_tracker_uri_source_new (TrackerSparqlConnection* connection);
VALA_EXTERN GamesTrackerUriSource* games_tracker_uri_source_construct (GType object_type,
                                                           TrackerSparqlConnection* connection);
VALA_EXTERN void games_tracker_uri_source_add_query (GamesTrackerUriSource* self,
                                         GamesTrackerUriQuery* query);
VALA_EXTERN GType games_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesApplication, g_object_unref)
VALA_EXTERN gchar* games_application_get_data_dir (void);
VALA_EXTERN gchar* games_application_get_database_path (void);
VALA_EXTERN gchar* games_application_get_cache_dir (void);
VALA_EXTERN gchar* games_application_get_config_dir (void);
VALA_EXTERN gchar* games_application_get_platforms_dir (void);
VALA_EXTERN gchar* games_application_get_covers_dir (void);
VALA_EXTERN gchar* games_application_get_image_cache_dir (const gchar* dir_name,
                                              gint size,
                                              gint scale_factor);
VALA_EXTERN void games_application_try_make_dir (const gchar* path);
VALA_EXTERN gboolean games_application_is_running_in_flatpak (void);
VALA_EXTERN void games_application_add_game_files (GamesApplication* self);
VALA_EXTERN void games_application_set_pause_loading (GamesApplication* self,
                                          gboolean paused);
VALA_EXTERN GQuark games_extraction_error_quark (void);
VALA_EXTERN GType games_extraction_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void games_application_import_from (const gchar* archive_path,
                                    GError** error);
VALA_EXTERN GQuark games_compression_error_quark (void);
VALA_EXTERN GType games_compression_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void games_application_export_to (const gchar* file_path,
                                  GError** error);
VALA_EXTERN GType games_display_bin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesDisplayBin, g_object_unref)
VALA_EXTERN GamesDisplayBin* games_display_bin_new (void);
VALA_EXTERN GamesDisplayBin* games_display_bin_construct (GType object_type);
VALA_EXTERN gint games_display_bin_get_child_width (GamesDisplayBin* self);
VALA_EXTERN void games_display_bin_set_child_width (GamesDisplayBin* self,
                                        gint value);
VALA_EXTERN gboolean games_header_bar_widget_get_block_autohide (GamesHeaderBarWidget* self);
VALA_EXTERN void games_cairo_blur_blur_surface (cairo_surface_t* surface,
                                    gfloat radius);
VALA_EXTERN GType games_composite_cover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCompositeCover, g_object_unref)
VALA_EXTERN GamesCompositeCover* games_composite_cover_new (GamesCover** covers,
                                                gint covers_length1);
VALA_EXTERN GamesCompositeCover* games_composite_cover_construct (GType object_type,
                                                      GamesCover** covers,
                                                      gint covers_length1);
VALA_EXTERN GType games_composite_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCompositeTitle, g_object_unref)
VALA_EXTERN GamesCompositeTitle* games_composite_title_new (GamesTitle** titles,
                                                gint titles_length1);
VALA_EXTERN GamesCompositeTitle* games_composite_title_construct (GType object_type,
                                                      GamesTitle** titles,
                                                      gint titles_length1);
VALA_EXTERN GType games_cue_sheet_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCueSheet, g_object_unref)
VALA_EXTERN GamesCueSheet* games_cue_sheet_new (GFile* file,
                                    GError** error);
VALA_EXTERN GamesCueSheet* games_cue_sheet_construct (GType object_type,
                                          GFile* file,
                                          GError** error);
VALA_EXTERN GType games_cue_sheet_track_node_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCueSheetTrackNode, g_object_unref)
VALA_EXTERN GamesCueSheetTrackNode* games_cue_sheet_get_track (GamesCueSheet* self,
                                                   guint i,
                                                   GError** error);
VALA_EXTERN GFile* games_cue_sheet_get_file (GamesCueSheet* self);
VALA_EXTERN guint games_cue_sheet_get_tracks_number (GamesCueSheet* self);
VALA_EXTERN GType games_cue_sheet_file_format_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GamesCueSheetFileFormat games_cue_sheet_file_format_parse_string (const gchar* value);
VALA_EXTERN GType games_cue_sheet_file_node_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesCueSheetFileNode, g_object_unref)
VALA_EXTERN GamesCueSheetFileNode* games_cue_sheet_file_node_new (GFile* file,
                                                      GamesCueSheetFileFormat file_format);
VALA_EXTERN GamesCueSheetFileNode* games_cue_sheet_file_node_construct (GType object_type,
                                                            GFile* file,
                                                            GamesCueSheetFileFormat file_format);
VALA_EXTERN const gchar* games_cue_sheet_file_node_get_file_name (GamesCueSheetFileNode* self);
VALA_EXTERN GamesCueSheetFileFormat games_cue_sheet_file_node_get_file_format (GamesCueSheetFileNode* self);
VALA_EXTERN GFile* games_cue_sheet_file_node_get_file (GamesCueSheetFileNode* self);
VALA_EXTERN GType games_cue_sheet_track_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GamesCueSheetTrackMode games_cue_sheet_track_mode_parse_string (const gchar* value);
VALA_EXTERN gboolean games_cue_sheet_track_mode_is_mode1 (GamesCueSheetTrackMode self);
VALA_EXTERN GamesCueSheetTrackNode* games_cue_sheet_track_node_new (GamesCueSheetFileNode* file,
                                                        gint track_number,
                                                        GamesCueSheetTrackMode track_mode);
VALA_EXTERN GamesCueSheetTrackNode* games_cue_sheet_track_node_construct (GType object_type,
                                                              GamesCueSheetFileNode* file,
                                                              gint track_number,
                                                              GamesCueSheetTrackMode track_mode);
VALA_EXTERN GamesCueSheetFileNode* games_cue_sheet_track_node_get_file (GamesCueSheetTrackNode* self);
VALA_EXTERN gint games_cue_sheet_track_node_get_track_number (GamesCueSheetTrackNode* self);
VALA_EXTERN GamesCueSheetTrackMode games_cue_sheet_track_node_get_track_mode (GamesCueSheetTrackNode* self);
VALA_EXTERN GType games_directory_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesDirectory, g_object_unref)
VALA_EXTERN GamesDirectory* games_directory_new (GFile* file);
VALA_EXTERN GamesDirectory* games_directory_construct (GType object_type,
                                           GFile* file);
VALA_EXTERN void games_directory_foreach (GamesDirectory* self,
                              const gchar* attributes,
                              GamesDirectoryFileInfoTest file_info_test,
                              gpointer file_info_test_target,
                              GError** error);
VALA_EXTERN void games_directory_foreach_async (GamesDirectory* self,
                                    const gchar* attributes,
                                    GamesDirectoryFileInfoTest file_info_test,
                                    gpointer file_info_test_target,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void games_directory_foreach_finish (GamesDirectory* self,
                                     GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN gpointer games_file_operations_ref (gpointer instance);
VALA_EXTERN void games_file_operations_unref (gpointer instance);
VALA_EXTERN GParamSpec* games_param_spec_file_operations (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
VALA_EXTERN void games_value_set_file_operations (GValue* value,
                                      gpointer v_object);
VALA_EXTERN void games_value_take_file_operations (GValue* value,
                                       gpointer v_object);
VALA_EXTERN gpointer games_value_get_file_operations (const GValue* value);
VALA_EXTERN GType games_file_operations_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesFileOperations, games_file_operations_unref)
VALA_EXTERN void games_file_operations_compress_dir (const gchar* archive_path,
                                         GFile* exported_data,
                                         gchar** exclude_files,
                                         gint exclude_files_length1,
                                         GError** error);
VALA_EXTERN void games_file_operations_delete_files (GFile* file,
                                         gchar** excluded,
                                         gint excluded_length1,
                                         GError** error);
VALA_EXTERN gboolean games_file_operations_delete_files_recurse (GFile* file,
                                                     gchar** excluded,
                                                     gint excluded_length1,
                                                     GError** error);
VALA_EXTERN void games_file_operations_extract_archive (const gchar* archive_path,
                                            const gchar* extract_dir,
                                            gchar** exclude,
                                            gint exclude_length1,
                                            GError** error);
VALA_EXTERN void games_file_operations_copy_dir (GFile* src,
                                     GFile* dest,
                                     GError** error);
VALA_EXTERN void games_file_operations_copy_contents (GFile* src,
                                          GFile* dest,
                                          GError** error);
VALA_EXTERN GamesFileOperations* games_file_operations_new (void);
VALA_EXTERN GamesFileOperations* games_file_operations_construct (GType object_type);
VALA_EXTERN GType games_filename_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesFilenameTitle, g_object_unref)
VALA_EXTERN GamesFilenameTitle* games_filename_title_new (GamesUri* uri);
VALA_EXTERN GamesFilenameTitle* games_filename_title_construct (GType object_type,
                                                    GamesUri* uri);
VALA_EXTERN gchar* games_fingerprint_get_uid (GamesUri* uri,
                                  const gchar* prefix,
                                  GError** error);
VALA_EXTERN gchar* games_fingerprint_get_uid_for_chunk (GamesUri* uri,
                                            const gchar* prefix,
                                            gsize start,
                                            gsize length,
                                            GError** error);
VALA_EXTERN gsize* games_grep_get_offsets (const gchar* filename,
                               const gchar* text,
                               gint* result_length1);
VALA_EXTERN GType games_local_cover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesLocalCover, g_object_unref)
VALA_EXTERN GamesLocalCover* games_local_cover_new (GamesUri* uri);
VALA_EXTERN GamesLocalCover* games_local_cover_construct (GType object_type,
                                              GamesUri* uri);
VALA_EXTERN GType games_string_input_stream_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesStringInputStream, g_object_unref)
VALA_EXTERN GamesStringInputStream* games_string_input_stream_new (GFile* file);
VALA_EXTERN GamesStringInputStream* games_string_input_stream_construct (GType object_type,
                                                             GFile* file);
VALA_EXTERN gboolean games_string_input_stream_has_string (GamesStringInputStream* self,
                                               gsize offset,
                                               const gchar* value,
                                               GError** error);
VALA_EXTERN gchar* games_string_input_stream_read_string (GamesStringInputStream* self,
                                              gsize offset,
                                              GError** error);
VALA_EXTERN gchar* games_string_input_stream_read_string_for_size (GamesStringInputStream* self,
                                                       gsize offset,
                                                       gsize size,
                                                       GError** error);
VALA_EXTERN GType games_unicode_encoding_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* games_unicode_encoding_to_string (GamesUnicodeEncoding self);
VALA_EXTERN GInputStream* games_unicode_read (GFile* file,
                                  GamesUnicodeEncoding encoding,
                                  GError** error);
VALA_EXTERN GamesUri* games_uri_new (const gchar* uri);
VALA_EXTERN GamesUri* games_uri_construct (GType object_type,
                               const gchar* uri);
VALA_EXTERN GamesUri* games_uri_new_from_uri_and_scheme (GamesUri* uri,
                                             const gchar* scheme,
                                             GError** error);
VALA_EXTERN GamesUri* games_uri_construct_from_uri_and_scheme (GType object_type,
                                                   GamesUri* uri,
                                                   const gchar* scheme,
                                                   GError** error);
VALA_EXTERN GamesUri* games_uri_new_from_file (GFile* file);
VALA_EXTERN GamesUri* games_uri_construct_from_file (GType object_type,
                                         GFile* file);
VALA_EXTERN guint games_uri_hash (GamesUri* uri);
VALA_EXTERN gboolean games_uri_equal (GamesUri* a,
                          GamesUri* b);
VALA_EXTERN gchar* games_uri_to_string (GamesUri* self);
VALA_EXTERN GFile* games_uri_to_file (GamesUri* self);
VALA_EXTERN gchar* games_uri_get_scheme (GamesUri* self,
                             GError** error);

G_END_DECLS

#endif
