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

#ifndef __PLUGINS_LIBRETRO_SRC_GAMES_LIBRETRO_PLUGIN_H__
#define __PLUGINS_LIBRETRO_SRC_GAMES_LIBRETRO_PLUGIN_H__

#include <glib-object.h>
#include "gnome-games.h"
#include <retro-gtk.h>
#include <glib.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_LIBRETRO_ICON (games_libretro_icon_get_type ())
#define GAMES_LIBRETRO_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_ICON, GamesLibretroIcon))
#define GAMES_LIBRETRO_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_LIBRETRO_ICON, GamesLibretroIconClass))
#define GAMES_IS_LIBRETRO_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_LIBRETRO_ICON))
#define GAMES_IS_LIBRETRO_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_LIBRETRO_ICON))
#define GAMES_LIBRETRO_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_LIBRETRO_ICON, GamesLibretroIconClass))

typedef struct _GamesLibretroIcon GamesLibretroIcon;
typedef struct _GamesLibretroIconClass GamesLibretroIconClass;
typedef struct _GamesLibretroIconPrivate GamesLibretroIconPrivate;

#define GAMES_TYPE_LIBRETRO_TITLE (games_libretro_title_get_type ())
#define GAMES_LIBRETRO_TITLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_TITLE, GamesLibretroTitle))
#define GAMES_LIBRETRO_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_LIBRETRO_TITLE, GamesLibretroTitleClass))
#define GAMES_IS_LIBRETRO_TITLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_LIBRETRO_TITLE))
#define GAMES_IS_LIBRETRO_TITLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_LIBRETRO_TITLE))
#define GAMES_LIBRETRO_TITLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_LIBRETRO_TITLE, GamesLibretroTitleClass))

typedef struct _GamesLibretroTitle GamesLibretroTitle;
typedef struct _GamesLibretroTitleClass GamesLibretroTitleClass;
typedef struct _GamesLibretroTitlePrivate GamesLibretroTitlePrivate;

#define GAMES_TYPE_LIBRETRO_URI_ITERATOR (games_libretro_uri_iterator_get_type ())
#define GAMES_LIBRETRO_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIterator))
#define GAMES_LIBRETRO_URI_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIteratorClass))
#define GAMES_IS_LIBRETRO_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_LIBRETRO_URI_ITERATOR))
#define GAMES_IS_LIBRETRO_URI_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_LIBRETRO_URI_ITERATOR))
#define GAMES_LIBRETRO_URI_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIteratorClass))

typedef struct _GamesLibretroUriIterator GamesLibretroUriIterator;
typedef struct _GamesLibretroUriIteratorClass GamesLibretroUriIteratorClass;
typedef struct _GamesLibretroUriIteratorPrivate GamesLibretroUriIteratorPrivate;

#define GAMES_TYPE_LIBRETRO_URI_SOURCE (games_libretro_uri_source_get_type ())
#define GAMES_LIBRETRO_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_URI_SOURCE, GamesLibretroUriSource))
#define GAMES_LIBRETRO_URI_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_LIBRETRO_URI_SOURCE, GamesLibretroUriSourceClass))
#define GAMES_IS_LIBRETRO_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_LIBRETRO_URI_SOURCE))
#define GAMES_IS_LIBRETRO_URI_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_LIBRETRO_URI_SOURCE))
#define GAMES_LIBRETRO_URI_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_LIBRETRO_URI_SOURCE, GamesLibretroUriSourceClass))

typedef struct _GamesLibretroUriSource GamesLibretroUriSource;
typedef struct _GamesLibretroUriSourceClass GamesLibretroUriSourceClass;
typedef struct _GamesLibretroUriSourcePrivate GamesLibretroUriSourcePrivate;

struct _GamesLibretroIcon {
	GObject parent_instance;
	GamesLibretroIconPrivate * priv;
};

struct _GamesLibretroIconClass {
	GObjectClass parent_class;
};

struct _GamesLibretroTitle {
	GObject parent_instance;
	GamesLibretroTitlePrivate * priv;
};

struct _GamesLibretroTitleClass {
	GObjectClass parent_class;
};

struct _GamesLibretroUriIterator {
	GObject parent_instance;
	GamesLibretroUriIteratorPrivate * priv;
};

struct _GamesLibretroUriIteratorClass {
	GObjectClass parent_class;
};

struct _GamesLibretroUriSource {
	GObject parent_instance;
	GamesLibretroUriSourcePrivate * priv;
};

struct _GamesLibretroUriSourceClass {
	GObjectClass parent_class;
};

GType games_libretro_icon_register_type (GTypeModule * module);
VALA_EXTERN GType games_libretro_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesLibretroIcon, g_object_unref)
VALA_EXTERN GamesLibretroIcon* games_libretro_icon_new (RetroCoreDescriptor* core_descriptor);
VALA_EXTERN GamesLibretroIcon* games_libretro_icon_construct (GType object_type,
                                                  RetroCoreDescriptor* core_descriptor);
VALA_EXTERN GType register_games_plugin (GTypeModule* module);
GType games_libretro_title_register_type (GTypeModule * module);
VALA_EXTERN GType games_libretro_title_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesLibretroTitle, g_object_unref)
VALA_EXTERN GamesLibretroTitle* games_libretro_title_new (RetroCoreDescriptor* core_descriptor);
VALA_EXTERN GamesLibretroTitle* games_libretro_title_construct (GType object_type,
                                                    RetroCoreDescriptor* core_descriptor);
GType games_libretro_uri_iterator_register_type (GTypeModule * module);
VALA_EXTERN GType games_libretro_uri_iterator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesLibretroUriIterator, g_object_unref)
VALA_EXTERN GamesLibretroUriIterator* games_libretro_uri_iterator_new (void);
VALA_EXTERN GamesLibretroUriIterator* games_libretro_uri_iterator_construct (GType object_type);
GType games_libretro_uri_source_register_type (GTypeModule * module);
VALA_EXTERN GType games_libretro_uri_source_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesLibretroUriSource, g_object_unref)
VALA_EXTERN GamesLibretroUriSource* games_libretro_uri_source_new (void);
VALA_EXTERN GamesLibretroUriSource* games_libretro_uri_source_construct (GType object_type);

G_END_DECLS

#endif
