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

#ifndef __PLUGINS_NINTENDO_64_SRC_GAMES_NINTENDO_64_PLUGIN_H__
#define __PLUGINS_NINTENDO_64_SRC_GAMES_NINTENDO_64_PLUGIN_H__

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "gnome-games.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

typedef enum  {
	GAMES_NINTENDO64_PAK_MEMORY,
	GAMES_NINTENDO64_PAK_RUMBLE,
	GAMES_NINTENDO64_PAK_NONE
} GamesNintendo64Pak;

#define GAMES_TYPE_NINTENDO64_PAK (games_nintendo64_pak_get_type ())

#define GAMES_TYPE_NINTENDO64_PLATFORM (games_nintendo64_platform_get_type ())
#define GAMES_NINTENDO64_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_NINTENDO64_PLATFORM, GamesNintendo64Platform))
#define GAMES_NINTENDO64_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_NINTENDO64_PLATFORM, GamesNintendo64PlatformClass))
#define GAMES_IS_NINTENDO64_PLATFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_NINTENDO64_PLATFORM))
#define GAMES_IS_NINTENDO64_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_NINTENDO64_PLATFORM))
#define GAMES_NINTENDO64_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_NINTENDO64_PLATFORM, GamesNintendo64PlatformClass))

typedef struct _GamesNintendo64Platform GamesNintendo64Platform;
typedef struct _GamesNintendo64PlatformClass GamesNintendo64PlatformClass;
typedef struct _GamesNintendo64PlatformPrivate GamesNintendo64PlatformPrivate;

#define GAMES_TYPE_NINTENDO64_SNAPSHOT (games_nintendo64_snapshot_get_type ())
#define GAMES_NINTENDO64_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_NINTENDO64_SNAPSHOT, GamesNintendo64Snapshot))
#define GAMES_NINTENDO64_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMES_TYPE_NINTENDO64_SNAPSHOT, GamesNintendo64SnapshotClass))
#define GAMES_IS_NINTENDO64_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMES_TYPE_NINTENDO64_SNAPSHOT))
#define GAMES_IS_NINTENDO64_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMES_TYPE_NINTENDO64_SNAPSHOT))
#define GAMES_NINTENDO64_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAMES_TYPE_NINTENDO64_SNAPSHOT, GamesNintendo64SnapshotClass))

typedef struct _GamesNintendo64Snapshot GamesNintendo64Snapshot;
typedef struct _GamesNintendo64SnapshotClass GamesNintendo64SnapshotClass;
typedef struct _GamesNintendo64SnapshotPrivate GamesNintendo64SnapshotPrivate;

struct _GamesNintendo64Platform {
	GamesRetroPlatform parent_instance;
	GamesNintendo64PlatformPrivate * priv;
};

struct _GamesNintendo64PlatformClass {
	GamesRetroPlatformClass parent_class;
};

struct _GamesNintendo64Snapshot {
	GamesSnapshot parent_instance;
	GamesNintendo64SnapshotPrivate * priv;
};

struct _GamesNintendo64SnapshotClass {
	GamesSnapshotClass parent_class;
};

VALA_EXTERN GType games_nintendo64_pak_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* games_nintendo64_pak_get_value (GamesNintendo64Pak self);
VALA_EXTERN GamesNintendo64Pak* games_nintendo64_pak_from_value (const gchar* value);
GType games_nintendo64_platform_register_type (GTypeModule * module);
VALA_EXTERN GType games_nintendo64_platform_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesNintendo64Platform, g_object_unref)
VALA_EXTERN GamesNintendo64Platform* games_nintendo64_platform_new (const gchar* id,
                                                        const gchar* name,
                                                        gchar** mime_types,
                                                        gint mime_types_length1,
                                                        const gchar* prefix);
VALA_EXTERN GamesNintendo64Platform* games_nintendo64_platform_construct (GType object_type,
                                                              const gchar* id,
                                                              const gchar* name,
                                                              gchar** mime_types,
                                                              gint mime_types_length1,
                                                              const gchar* prefix);
VALA_EXTERN GType register_games_plugin (GTypeModule* module);
GType games_nintendo64_snapshot_register_type (GTypeModule * module);
VALA_EXTERN GType games_nintendo64_snapshot_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesNintendo64Snapshot, g_object_unref)
VALA_EXTERN GamesNintendo64Snapshot* games_nintendo64_snapshot_new (void);
VALA_EXTERN GamesNintendo64Snapshot* games_nintendo64_snapshot_construct (GType object_type);
VALA_EXTERN GamesNintendo64Pak games_nintendo64_snapshot_get_pak1 (GamesNintendo64Snapshot* self);
VALA_EXTERN void games_nintendo64_snapshot_set_pak1 (GamesNintendo64Snapshot* self,
                                         GamesNintendo64Pak value);
VALA_EXTERN GamesNintendo64Pak games_nintendo64_snapshot_get_pak2 (GamesNintendo64Snapshot* self);
VALA_EXTERN void games_nintendo64_snapshot_set_pak2 (GamesNintendo64Snapshot* self,
                                         GamesNintendo64Pak value);
VALA_EXTERN GamesNintendo64Pak games_nintendo64_snapshot_get_pak3 (GamesNintendo64Snapshot* self);
VALA_EXTERN void games_nintendo64_snapshot_set_pak3 (GamesNintendo64Snapshot* self,
                                         GamesNintendo64Pak value);
VALA_EXTERN GamesNintendo64Pak games_nintendo64_snapshot_get_pak4 (GamesNintendo64Snapshot* self);
VALA_EXTERN void games_nintendo64_snapshot_set_pak4 (GamesNintendo64Snapshot* self,
                                         GamesNintendo64Pak value);

G_END_DECLS

#endif
