/* ft_plugin_gnome.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_PLUGINS_GNOME_FT_PLUGIN_GNOME_H__
#define __SRC_PLUGINS_GNOME_FT_PLUGIN_GNOME_H__

#include "ft_ui.h"
#include <glib-object.h>
#include "ft_core.h"
#include <gio/gio.h>
#include <adwaita.h>
#include <glib.h>
#include <stdlib.h>
#include <string.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 GNOME_SHELL_EXTENSION_EXTENSION_UUID "focus-timer@focustimerhq.github.io"
#define GNOME_SHELL_EXTENSION_IS_PUBLISHED FALSE

#define GNOME_TYPE_APPLICATION_EXTENSION (gnome_application_extension_get_type ())
#define GNOME_APPLICATION_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_APPLICATION_EXTENSION, GnomeApplicationExtension))
#define GNOME_APPLICATION_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_APPLICATION_EXTENSION, GnomeApplicationExtensionClass))
#define GNOME_IS_APPLICATION_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_APPLICATION_EXTENSION))
#define GNOME_IS_APPLICATION_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_APPLICATION_EXTENSION))
#define GNOME_APPLICATION_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_APPLICATION_EXTENSION, GnomeApplicationExtensionClass))

typedef struct _GnomeApplicationExtension GnomeApplicationExtension;
typedef struct _GnomeApplicationExtensionClass GnomeApplicationExtensionClass;
typedef struct _GnomeApplicationExtensionPrivate GnomeApplicationExtensionPrivate;

#define GNOME_TYPE_IDLE_MONITOR_PROVIDER (gnome_idle_monitor_provider_get_type ())
#define GNOME_IDLE_MONITOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_IDLE_MONITOR_PROVIDER, GnomeIdleMonitorProvider))
#define GNOME_IDLE_MONITOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_IDLE_MONITOR_PROVIDER, GnomeIdleMonitorProviderClass))
#define GNOME_IS_IDLE_MONITOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_IDLE_MONITOR_PROVIDER))
#define GNOME_IS_IDLE_MONITOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_IDLE_MONITOR_PROVIDER))
#define GNOME_IDLE_MONITOR_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_IDLE_MONITOR_PROVIDER, GnomeIdleMonitorProviderClass))

typedef struct _GnomeIdleMonitorProvider GnomeIdleMonitorProvider;
typedef struct _GnomeIdleMonitorProviderClass GnomeIdleMonitorProviderClass;
typedef struct _GnomeIdleMonitorProviderPrivate GnomeIdleMonitorProviderPrivate;

#define GNOME_TYPE_INDICATOR_PROVIDER (gnome_indicator_provider_get_type ())
#define GNOME_INDICATOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_INDICATOR_PROVIDER, GnomeIndicatorProvider))
#define GNOME_INDICATOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_INDICATOR_PROVIDER, GnomeIndicatorProviderClass))
#define GNOME_IS_INDICATOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_INDICATOR_PROVIDER))
#define GNOME_IS_INDICATOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_INDICATOR_PROVIDER))
#define GNOME_INDICATOR_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_INDICATOR_PROVIDER, GnomeIndicatorProviderClass))

typedef struct _GnomeIndicatorProvider GnomeIndicatorProvider;
typedef struct _GnomeIndicatorProviderClass GnomeIndicatorProviderClass;
typedef struct _GnomeIndicatorProviderPrivate GnomeIndicatorProviderPrivate;

#define GNOME_TYPE_INSTALL_EXTENSION_DIALOG (gnome_install_extension_dialog_get_type ())
#define GNOME_INSTALL_EXTENSION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_INSTALL_EXTENSION_DIALOG, GnomeInstallExtensionDialog))
#define GNOME_INSTALL_EXTENSION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_INSTALL_EXTENSION_DIALOG, GnomeInstallExtensionDialogClass))
#define GNOME_IS_INSTALL_EXTENSION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_INSTALL_EXTENSION_DIALOG))
#define GNOME_IS_INSTALL_EXTENSION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_INSTALL_EXTENSION_DIALOG))
#define GNOME_INSTALL_EXTENSION_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_INSTALL_EXTENSION_DIALOG, GnomeInstallExtensionDialogClass))

typedef struct _GnomeInstallExtensionDialog GnomeInstallExtensionDialog;
typedef struct _GnomeInstallExtensionDialogClass GnomeInstallExtensionDialogClass;
typedef struct _GnomeInstallExtensionDialogPrivate GnomeInstallExtensionDialogPrivate;

#define GNOME_TYPE_SCREEN_SAVER (gnome_screen_saver_get_type ())
#define GNOME_SCREEN_SAVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SCREEN_SAVER, GnomeScreenSaver))
#define GNOME_IS_SCREEN_SAVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SCREEN_SAVER))
#define GNOME_SCREEN_SAVER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_TYPE_SCREEN_SAVER, GnomeScreenSaverIface))

typedef struct _GnomeScreenSaver GnomeScreenSaver;
typedef struct _GnomeScreenSaverIface GnomeScreenSaverIface;

#define GNOME_TYPE_SCREEN_SAVER_PROXY (gnome_screen_saver_proxy_get_type ())

#define GNOME_TYPE_IDLE_MONITOR (gnome_idle_monitor_get_type ())
#define GNOME_IDLE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitor))
#define GNOME_IS_IDLE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_IDLE_MONITOR))
#define GNOME_IDLE_MONITOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_TYPE_IDLE_MONITOR, GnomeIdleMonitorIface))

typedef struct _GnomeIdleMonitor GnomeIdleMonitor;
typedef struct _GnomeIdleMonitorIface GnomeIdleMonitorIface;

#define GNOME_TYPE_IDLE_MONITOR_PROXY (gnome_idle_monitor_proxy_get_type ())

#define GNOME_TYPE_SHELL (gnome_shell_get_type ())
#define GNOME_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SHELL, GnomeShell))
#define GNOME_IS_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SHELL))
#define GNOME_SHELL_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_TYPE_SHELL, GnomeShellIface))

typedef struct _GnomeShell GnomeShell;
typedef struct _GnomeShellIface GnomeShellIface;

#define GNOME_TYPE_SHELL_PROXY (gnome_shell_proxy_get_type ())
typedef enum  {
	GNOME_EXTENSION_TYPE_UNKNOWN = 0,
	GNOME_EXTENSION_TYPE_SYSTEM = 1,
	GNOME_EXTENSION_TYPE_PER_USER = 2
} GnomeExtensionType;

#define GNOME_TYPE_EXTENSION_TYPE (gnome_extension_type_get_type ())
typedef enum  {
	GNOME_EXTENSION_STATE_UNKNOWN = 0,
	GNOME_EXTENSION_STATE_ENABLED = 1,
	GNOME_EXTENSION_STATE_INACTIVE = 2,
	GNOME_EXTENSION_STATE_ERROR = 3,
	GNOME_EXTENSION_STATE_OUT_OF_DATE = 4,
	GNOME_EXTENSION_STATE_DOWNLOADING = 5,
	GNOME_EXTENSION_STATE_INITIALIZED = 6,
	GNOME_EXTENSION_STATE_DEACTIVATING = 7,
	GNOME_EXTENSION_STATE_ACTIVATING = 8,
	GNOME_EXTENSION_STATE_UNINSTALLED = 99
} GnomeExtensionState;

#define GNOME_TYPE_EXTENSION_STATE (gnome_extension_state_get_type ())

#define GNOME_TYPE_EXTENSION_INFO (gnome_extension_info_get_type ())
typedef struct _GnomeExtensionInfo GnomeExtensionInfo;

#define GNOME_TYPE_SHELL_EXTENSIONS (gnome_shell_extensions_get_type ())
#define GNOME_SHELL_EXTENSIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SHELL_EXTENSIONS, GnomeShellExtensions))
#define GNOME_IS_SHELL_EXTENSIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SHELL_EXTENSIONS))
#define GNOME_SHELL_EXTENSIONS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_TYPE_SHELL_EXTENSIONS, GnomeShellExtensionsIface))

typedef struct _GnomeShellExtensions GnomeShellExtensions;
typedef struct _GnomeShellExtensionsIface GnomeShellExtensionsIface;

#define GNOME_TYPE_SHELL_EXTENSIONS_PROXY (gnome_shell_extensions_proxy_get_type ())

#define GNOME_TYPE_SHELL_INTEGRATION (gnome_shell_integration_get_type ())
#define GNOME_SHELL_INTEGRATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SHELL_INTEGRATION, GnomeShellIntegration))
#define GNOME_IS_SHELL_INTEGRATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SHELL_INTEGRATION))
#define GNOME_SHELL_INTEGRATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GNOME_TYPE_SHELL_INTEGRATION, GnomeShellIntegrationIface))

typedef struct _GnomeShellIntegration GnomeShellIntegration;
typedef struct _GnomeShellIntegrationIface GnomeShellIntegrationIface;

#define GNOME_TYPE_SHELL_INTEGRATION_PROXY (gnome_shell_integration_proxy_get_type ())

#define GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION (gnome_preferences_window_extension_get_type ())
#define GNOME_PREFERENCES_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION, GnomePreferencesWindowExtension))
#define GNOME_PREFERENCES_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION, GnomePreferencesWindowExtensionClass))
#define GNOME_IS_PREFERENCES_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION))
#define GNOME_IS_PREFERENCES_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION))
#define GNOME_PREFERENCES_WINDOW_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_PREFERENCES_WINDOW_EXTENSION, GnomePreferencesWindowExtensionClass))

typedef struct _GnomePreferencesWindowExtension GnomePreferencesWindowExtension;
typedef struct _GnomePreferencesWindowExtensionClass GnomePreferencesWindowExtensionClass;
typedef struct _GnomePreferencesWindowExtensionPrivate GnomePreferencesWindowExtensionPrivate;

#define GNOME_TYPE_SCREEN_OVERLAY_PROVIDER (gnome_screen_overlay_provider_get_type ())
#define GNOME_SCREEN_OVERLAY_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SCREEN_OVERLAY_PROVIDER, GnomeScreenOverlayProvider))
#define GNOME_SCREEN_OVERLAY_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_SCREEN_OVERLAY_PROVIDER, GnomeScreenOverlayProviderClass))
#define GNOME_IS_SCREEN_OVERLAY_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SCREEN_OVERLAY_PROVIDER))
#define GNOME_IS_SCREEN_OVERLAY_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_SCREEN_OVERLAY_PROVIDER))
#define GNOME_SCREEN_OVERLAY_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_SCREEN_OVERLAY_PROVIDER, GnomeScreenOverlayProviderClass))

typedef struct _GnomeScreenOverlayProvider GnomeScreenOverlayProvider;
typedef struct _GnomeScreenOverlayProviderClass GnomeScreenOverlayProviderClass;
typedef struct _GnomeScreenOverlayProviderPrivate GnomeScreenOverlayProviderPrivate;

#define GNOME_TYPE_SCREEN_SAVER_PROVIDER (gnome_screen_saver_provider_get_type ())
#define GNOME_SCREEN_SAVER_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SCREEN_SAVER_PROVIDER, GnomeScreenSaverProvider))
#define GNOME_SCREEN_SAVER_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_SCREEN_SAVER_PROVIDER, GnomeScreenSaverProviderClass))
#define GNOME_IS_SCREEN_SAVER_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SCREEN_SAVER_PROVIDER))
#define GNOME_IS_SCREEN_SAVER_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_SCREEN_SAVER_PROVIDER))
#define GNOME_SCREEN_SAVER_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_SCREEN_SAVER_PROVIDER, GnomeScreenSaverProviderClass))

typedef struct _GnomeScreenSaverProvider GnomeScreenSaverProvider;
typedef struct _GnomeScreenSaverProviderClass GnomeScreenSaverProviderClass;
typedef struct _GnomeScreenSaverProviderPrivate GnomeScreenSaverProviderPrivate;

#define GNOME_TYPE_SHELL_EXTENSION_ERROR (gnome_shell_extension_error_get_type ())

#define GNOME_TYPE_SHELL_EXTENSION (gnome_shell_extension_get_type ())
#define GNOME_SHELL_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SHELL_EXTENSION, GnomeShellExtension))
#define GNOME_SHELL_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_SHELL_EXTENSION, GnomeShellExtensionClass))
#define GNOME_IS_SHELL_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SHELL_EXTENSION))
#define GNOME_IS_SHELL_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_SHELL_EXTENSION))
#define GNOME_SHELL_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_SHELL_EXTENSION, GnomeShellExtensionClass))

typedef struct _GnomeShellExtension GnomeShellExtension;
typedef struct _GnomeShellExtensionClass GnomeShellExtensionClass;
typedef struct _GnomeShellExtensionPrivate GnomeShellExtensionPrivate;

#define GNOME_TYPE_SHELL_EXTENSION_SETTINGS (gnome_shell_extension_settings_get_type ())
#define GNOME_SHELL_EXTENSION_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_SHELL_EXTENSION_SETTINGS, GnomeShellExtensionSettings))
#define GNOME_SHELL_EXTENSION_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_SHELL_EXTENSION_SETTINGS, GnomeShellExtensionSettingsClass))
#define GNOME_IS_SHELL_EXTENSION_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_SHELL_EXTENSION_SETTINGS))
#define GNOME_IS_SHELL_EXTENSION_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_SHELL_EXTENSION_SETTINGS))
#define GNOME_SHELL_EXTENSION_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_SHELL_EXTENSION_SETTINGS, GnomeShellExtensionSettingsClass))

typedef struct _GnomeShellExtensionSettings GnomeShellExtensionSettings;
typedef struct _GnomeShellExtensionSettingsClass GnomeShellExtensionSettingsClass;
typedef struct _GnomeShellExtensionSettingsPrivate GnomeShellExtensionSettingsPrivate;

#define GNOME_TYPE_WINDOW_EXTENSION (gnome_window_extension_get_type ())
#define GNOME_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_WINDOW_EXTENSION, GnomeWindowExtension))
#define GNOME_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_WINDOW_EXTENSION, GnomeWindowExtensionClass))
#define GNOME_IS_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_WINDOW_EXTENSION))
#define GNOME_IS_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_WINDOW_EXTENSION))
#define GNOME_WINDOW_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_TYPE_WINDOW_EXTENSION, GnomeWindowExtensionClass))

typedef struct _GnomeWindowExtension GnomeWindowExtension;
typedef struct _GnomeWindowExtensionClass GnomeWindowExtensionClass;
typedef struct _GnomeWindowExtensionPrivate GnomeWindowExtensionPrivate;

struct _GnomeApplicationExtension {
	FtApplicationExtension parent_instance;
	GnomeApplicationExtensionPrivate * priv;
};

struct _GnomeApplicationExtensionClass {
	FtApplicationExtensionClass parent_class;
};

struct _GnomeIdleMonitorProvider {
	FtProvider parent_instance;
	GnomeIdleMonitorProviderPrivate * priv;
};

struct _GnomeIdleMonitorProviderClass {
	FtProviderClass parent_class;
};

struct _GnomeIndicatorProvider {
	FtProvider parent_instance;
	GnomeIndicatorProviderPrivate * priv;
};

struct _GnomeIndicatorProviderClass {
	FtProviderClass parent_class;
};

struct _GnomeInstallExtensionDialog {
	AdwDialog parent_instance;
	GnomeInstallExtensionDialogPrivate * priv;
};

struct _GnomeInstallExtensionDialogClass {
	AdwDialogClass parent_class;
};

struct _GnomeScreenSaverIface {
	GTypeInterface parent_iface;
	void (*get_active) (GnomeScreenSaver* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*get_active_finish) (GnomeScreenSaver* self, GAsyncResult* _res_, GError** error);
	void (*lock) (GnomeScreenSaver* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*lock_finish) (GnomeScreenSaver* self, GAsyncResult* _res_, GError** error);
};

struct _GnomeIdleMonitorIface {
	GTypeInterface parent_iface;
	guint32 (*add_idle_watch) (GnomeIdleMonitor* self, guint64 interval, GError** error);
	guint32 (*add_user_active_watch) (GnomeIdleMonitor* self, GError** error);
	guint64 (*get_idletime) (GnomeIdleMonitor* self, GError** error);
	void (*remove_watch) (GnomeIdleMonitor* self, guint32 id, GError** error);
};

struct _GnomeShellIface {
	GTypeInterface parent_iface;
	gboolean (*get_overview_active) (GnomeShell* self);
	void (*set_overview_active) (GnomeShell* self, gboolean value);
};

struct _GnomeExtensionInfo {
	gchar* uuid;
	GnomeExtensionType type;
	GnomeExtensionState state;
	gboolean enabled;
	gchar* path;
	gchar* error;
	gchar* settings_schema;
	gboolean has_prefs;
	gboolean has_update;
};

struct _GnomeShellExtensionsIface {
	GTypeInterface parent_iface;
	void (*enable_extension) (GnomeShellExtensions* self, const gchar* uuid, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*enable_extension_finish) (GnomeShellExtensions* self, GAsyncResult* _res_, GError** error);
	void (*disable_extension) (GnomeShellExtensions* self, const gchar* uuid, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*disable_extension_finish) (GnomeShellExtensions* self, GAsyncResult* _res_, GError** error);
	void (*get_extension_info) (GnomeShellExtensions* self, const gchar* uuid, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GHashTable* (*get_extension_info_finish) (GnomeShellExtensions* self, GAsyncResult* _res_, GError** error);
	void (*install_remote_extension) (GnomeShellExtensions* self, const gchar* uuid, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar* (*install_remote_extension_finish) (GnomeShellExtensions* self, GAsyncResult* _res_, GError** error);
	void (*uninstall_extension) (GnomeShellExtensions* self, const gchar* uuid, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*uninstall_extension_finish) (GnomeShellExtensions* self, GAsyncResult* _res_, GError** error);
	gboolean (*get_user_extensions_enabled) (GnomeShellExtensions* self);
	void (*set_user_extensions_enabled) (GnomeShellExtensions* self, gboolean value);
};

struct _GnomeShellIntegrationIface {
	GTypeInterface parent_iface;
	void (*open_screen_overlay) (GnomeShellIntegration* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*open_screen_overlay_finish) (GnomeShellIntegration* self, GAsyncResult* _res_, GError** error);
	gchar* (*get_version) (GnomeShellIntegration* self);
	gchar* (*get_indicator_type) (GnomeShellIntegration* self);
	void (*set_indicator_type) (GnomeShellIntegration* self, const gchar* value);
	gboolean (*get_enable_blur_effect) (GnomeShellIntegration* self);
	void (*set_enable_blur_effect) (GnomeShellIntegration* self, gboolean value);
	gboolean (*get_enable_dismiss_gesture) (GnomeShellIntegration* self);
	void (*set_enable_dismiss_gesture) (GnomeShellIntegration* self, gboolean value);
	gboolean (*get_enable_manage_notifications) (GnomeShellIntegration* self);
	void (*set_enable_manage_notifications) (GnomeShellIntegration* self, gboolean value);
};

struct _GnomePreferencesWindowExtension {
	FtPreferencesWindowExtension parent_instance;
	GnomePreferencesWindowExtensionPrivate * priv;
};

struct _GnomePreferencesWindowExtensionClass {
	FtPreferencesWindowExtensionClass parent_class;
};

struct _GnomeScreenOverlayProvider {
	FtProvider parent_instance;
	GnomeScreenOverlayProviderPrivate * priv;
};

struct _GnomeScreenOverlayProviderClass {
	FtProviderClass parent_class;
};

struct _GnomeScreenSaverProvider {
	FtProvider parent_instance;
	GnomeScreenSaverProviderPrivate * priv;
};

struct _GnomeScreenSaverProviderClass {
	FtProviderClass parent_class;
};

typedef enum  {
	GNOME_SHELL_EXTENSION_ERROR_TIMED_OUT,
	GNOME_SHELL_EXTENSION_ERROR_NOT_ALLOWED,
	GNOME_SHELL_EXTENSION_ERROR_DOWNLOAD_FAILED,
	GNOME_SHELL_EXTENSION_ERROR_OTHER
} GnomeShellExtensionError;
#define GNOME_SHELL_EXTENSION_ERROR gnome_shell_extension_error_quark ()

struct _GnomeShellExtension {
	GObject parent_instance;
	GnomeShellExtensionPrivate * priv;
};

struct _GnomeShellExtensionClass {
	GObjectClass parent_class;
};

struct _GnomeShellExtensionSettings {
	GObject parent_instance;
	GnomeShellExtensionSettingsPrivate * priv;
};

struct _GnomeShellExtensionSettingsClass {
	GObjectClass parent_class;
};

struct _GnomeWindowExtension {
	FtWindowExtension parent_instance;
	GnomeWindowExtensionPrivate * priv;
};

struct _GnomeWindowExtensionClass {
	FtWindowExtensionClass parent_class;
};

GType gnome_application_extension_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_application_extension_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeApplicationExtension, g_object_unref)
VALA_EXTERN GnomeApplicationExtension* gnome_application_extension_new (void);
VALA_EXTERN GnomeApplicationExtension* gnome_application_extension_construct (GType object_type);
VALA_EXTERN void gnome_peas_register_types (GTypeModule* module);
GType gnome_idle_monitor_provider_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_idle_monitor_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeIdleMonitorProvider, g_object_unref)
VALA_EXTERN GnomeIdleMonitorProvider* gnome_idle_monitor_provider_new (void);
VALA_EXTERN GnomeIdleMonitorProvider* gnome_idle_monitor_provider_construct (GType object_type);
VALA_EXTERN FtPriority gnome_idle_monitor_provider_get_priority (GnomeIdleMonitorProvider* self);
GType gnome_indicator_provider_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_indicator_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeIndicatorProvider, g_object_unref)
VALA_EXTERN GnomeIndicatorProvider* gnome_indicator_provider_new (void);
VALA_EXTERN GnomeIndicatorProvider* gnome_indicator_provider_construct (GType object_type);
GType gnome_install_extension_dialog_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_install_extension_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeInstallExtensionDialog, g_object_unref)
VALA_EXTERN GnomeInstallExtensionDialog* gnome_install_extension_dialog_new (void);
VALA_EXTERN GnomeInstallExtensionDialog* gnome_install_extension_dialog_construct (GType object_type);
VALA_EXTERN GType gnome_screen_saver_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gnome_screen_saver_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint gnome_screen_saver_register_object (void* object,
                                          GDBusConnection* connection,
                                          const gchar* path,
                                          GError** error);
GType gnome_screen_saver_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_screen_saver_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeScreenSaver, g_object_unref)
VALA_EXTERN void gnome_screen_saver_get_active (GnomeScreenSaver* self,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN gboolean gnome_screen_saver_get_active_finish (GnomeScreenSaver* self,
                                               GAsyncResult* _res_,
                                               GError** error);
VALA_EXTERN void gnome_screen_saver_lock (GnomeScreenSaver* self,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void gnome_screen_saver_lock_finish (GnomeScreenSaver* self,
                                     GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN GType gnome_idle_monitor_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gnome_idle_monitor_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint gnome_idle_monitor_register_object (void* object,
                                          GDBusConnection* connection,
                                          const gchar* path,
                                          GError** error);
GType gnome_idle_monitor_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_idle_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeIdleMonitor, g_object_unref)
VALA_EXTERN guint32 gnome_idle_monitor_add_idle_watch (GnomeIdleMonitor* self,
                                           guint64 interval,
                                           GError** error);
VALA_EXTERN guint32 gnome_idle_monitor_add_user_active_watch (GnomeIdleMonitor* self,
                                                  GError** error);
VALA_EXTERN guint64 gnome_idle_monitor_get_idletime (GnomeIdleMonitor* self,
                                         GError** error);
VALA_EXTERN void gnome_idle_monitor_remove_watch (GnomeIdleMonitor* self,
                                      guint32 id,
                                      GError** error);
GType gnome_shell_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_shell_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShell, g_object_unref)
VALA_EXTERN GType gnome_shell_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gnome_shell_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint gnome_shell_register_object (void* object,
                                   GDBusConnection* connection,
                                   const gchar* path,
                                   GError** error);
VALA_EXTERN gboolean gnome_shell_get_overview_active (GnomeShell* self);
VALA_EXTERN void gnome_shell_set_overview_active (GnomeShell* self,
                                      gboolean value);
VALA_EXTERN GType gnome_extension_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* gnome_extension_type_to_string (GnomeExtensionType self);
VALA_EXTERN GType gnome_extension_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* gnome_extension_state_to_string (GnomeExtensionState self);
VALA_EXTERN GType gnome_extension_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GnomeExtensionInfo* gnome_extension_info_dup (const GnomeExtensionInfo* self);
VALA_EXTERN void gnome_extension_info_free (GnomeExtensionInfo* self);
VALA_EXTERN void gnome_extension_info_copy (const GnomeExtensionInfo* self,
                                GnomeExtensionInfo* dest);
VALA_EXTERN void gnome_extension_info_destroy (GnomeExtensionInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GnomeExtensionInfo, gnome_extension_info_destroy)
VALA_EXTERN void gnome_extension_info_init (GnomeExtensionInfo *self,
                                const gchar* uuid);
VALA_EXTERN void gnome_extension_info_init_deserialize (GnomeExtensionInfo *self,
                                            const gchar* uuid,
                                            GHashTable* data);
VALA_EXTERN gchar* gnome_extension_info_to_representation (GnomeExtensionInfo *self);
VALA_EXTERN GType gnome_shell_extensions_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gnome_shell_extensions_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint gnome_shell_extensions_register_object (void* object,
                                              GDBusConnection* connection,
                                              const gchar* path,
                                              GError** error);
GType gnome_shell_extensions_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_shell_extensions_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShellExtensions, g_object_unref)
VALA_EXTERN void gnome_shell_extensions_enable_extension (GnomeShellExtensions* self,
                                              const gchar* uuid,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extensions_enable_extension_finish (GnomeShellExtensions* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN void gnome_shell_extensions_disable_extension (GnomeShellExtensions* self,
                                               const gchar* uuid,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extensions_disable_extension_finish (GnomeShellExtensions* self,
                                                          GAsyncResult* _res_,
                                                          GError** error);
VALA_EXTERN void gnome_shell_extensions_get_extension_info (GnomeShellExtensions* self,
                                                const gchar* uuid,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN GHashTable* gnome_shell_extensions_get_extension_info_finish (GnomeShellExtensions* self,
                                                              GAsyncResult* _res_,
                                                              GError** error);
VALA_EXTERN void gnome_shell_extensions_install_remote_extension (GnomeShellExtensions* self,
                                                      const gchar* uuid,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gchar* gnome_shell_extensions_install_remote_extension_finish (GnomeShellExtensions* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
VALA_EXTERN void gnome_shell_extensions_uninstall_extension (GnomeShellExtensions* self,
                                                 const gchar* uuid,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extensions_uninstall_extension_finish (GnomeShellExtensions* self,
                                                            GAsyncResult* _res_,
                                                            GError** error);
VALA_EXTERN gboolean gnome_shell_extensions_get_user_extensions_enabled (GnomeShellExtensions* self);
VALA_EXTERN void gnome_shell_extensions_set_user_extensions_enabled (GnomeShellExtensions* self,
                                                         gboolean value);
VALA_EXTERN GType gnome_shell_integration_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gnome_shell_integration_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint gnome_shell_integration_register_object (void* object,
                                               GDBusConnection* connection,
                                               const gchar* path,
                                               GError** error);
GType gnome_shell_integration_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_shell_integration_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShellIntegration, g_object_unref)
VALA_EXTERN void gnome_shell_integration_open_screen_overlay (GnomeShellIntegration* self,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void gnome_shell_integration_open_screen_overlay_finish (GnomeShellIntegration* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN gchar* gnome_shell_integration_get_version (GnomeShellIntegration* self);
VALA_EXTERN gchar* gnome_shell_integration_get_indicator_type (GnomeShellIntegration* self);
VALA_EXTERN void gnome_shell_integration_set_indicator_type (GnomeShellIntegration* self,
                                                 const gchar* value);
VALA_EXTERN gboolean gnome_shell_integration_get_enable_blur_effect (GnomeShellIntegration* self);
VALA_EXTERN void gnome_shell_integration_set_enable_blur_effect (GnomeShellIntegration* self,
                                                     gboolean value);
VALA_EXTERN gboolean gnome_shell_integration_get_enable_dismiss_gesture (GnomeShellIntegration* self);
VALA_EXTERN void gnome_shell_integration_set_enable_dismiss_gesture (GnomeShellIntegration* self,
                                                         gboolean value);
VALA_EXTERN gboolean gnome_shell_integration_get_enable_manage_notifications (GnomeShellIntegration* self);
VALA_EXTERN void gnome_shell_integration_set_enable_manage_notifications (GnomeShellIntegration* self,
                                                              gboolean value);
GType gnome_preferences_window_extension_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_preferences_window_extension_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePreferencesWindowExtension, g_object_unref)
VALA_EXTERN GnomePreferencesWindowExtension* gnome_preferences_window_extension_new (void);
VALA_EXTERN GnomePreferencesWindowExtension* gnome_preferences_window_extension_construct (GType object_type);
GType gnome_screen_overlay_provider_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_screen_overlay_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeScreenOverlayProvider, g_object_unref)
VALA_EXTERN GnomeScreenOverlayProvider* gnome_screen_overlay_provider_new (void);
VALA_EXTERN GnomeScreenOverlayProvider* gnome_screen_overlay_provider_construct (GType object_type);
GType gnome_screen_saver_provider_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_screen_saver_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeScreenSaverProvider, g_object_unref)
VALA_EXTERN GnomeScreenSaverProvider* gnome_screen_saver_provider_new (void);
VALA_EXTERN GnomeScreenSaverProvider* gnome_screen_saver_provider_construct (GType object_type);
VALA_EXTERN GQuark gnome_shell_extension_error_quark (void);
VALA_EXTERN GType gnome_shell_extension_error_get_type (void) G_GNUC_CONST ;
GType gnome_shell_extension_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_shell_extension_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShellExtension, g_object_unref)
VALA_EXTERN void gnome_shell_extension_wait (GnomeShellExtension* self,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void gnome_shell_extension_wait_finish (GnomeShellExtension* self,
                                        GAsyncResult* _res_);
VALA_EXTERN gboolean gnome_shell_extension_is_installed (GnomeShellExtension* self);
VALA_EXTERN gboolean gnome_shell_extension_has_update (GnomeShellExtension* self);
VALA_EXTERN void gnome_shell_extension_enable_extension (GnomeShellExtension* self,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extension_enable_extension_finish (GnomeShellExtension* self,
                                                        GAsyncResult* _res_);
VALA_EXTERN void gnome_shell_extension_disable_extension (GnomeShellExtension* self,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extension_disable_extension_finish (GnomeShellExtension* self,
                                                         GAsyncResult* _res_);
VALA_EXTERN void gnome_shell_extension_install_extension (GnomeShellExtension* self,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extension_install_extension_finish (GnomeShellExtension* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN void gnome_shell_extension_uninstall_extension (GnomeShellExtension* self,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gboolean gnome_shell_extension_uninstall_extension_finish (GnomeShellExtension* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN GnomeShellExtension* gnome_shell_extension_new (void);
VALA_EXTERN GnomeShellExtension* gnome_shell_extension_construct (GType object_type);
VALA_EXTERN gboolean gnome_shell_extension_get_available (GnomeShellExtension* self);
VALA_EXTERN gboolean gnome_shell_extension_get_enabled (GnomeShellExtension* self);
VALA_EXTERN GnomeExtensionState gnome_shell_extension_get_state (GnomeShellExtension* self);
GType gnome_shell_extension_settings_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_shell_extension_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeShellExtensionSettings, g_object_unref)
VALA_EXTERN GnomeShellExtensionSettings* gnome_shell_extension_get_settings (GnomeShellExtension* self);
VALA_EXTERN GnomeShellExtensionSettings* gnome_shell_extension_settings_new (GnomeShellIntegration* shell_integration_proxy);
VALA_EXTERN GnomeShellExtensionSettings* gnome_shell_extension_settings_construct (GType object_type,
                                                                       GnomeShellIntegration* shell_integration_proxy);
VALA_EXTERN gchar* gnome_shell_extension_settings_get_indicator_type (GnomeShellExtensionSettings* self);
VALA_EXTERN void gnome_shell_extension_settings_set_indicator_type (GnomeShellExtensionSettings* self,
                                                        const gchar* value);
VALA_EXTERN gboolean gnome_shell_extension_settings_get_blur_effect (GnomeShellExtensionSettings* self);
VALA_EXTERN void gnome_shell_extension_settings_set_blur_effect (GnomeShellExtensionSettings* self,
                                                     gboolean value);
VALA_EXTERN gboolean gnome_shell_extension_settings_get_dismiss_gesture (GnomeShellExtensionSettings* self);
VALA_EXTERN void gnome_shell_extension_settings_set_dismiss_gesture (GnomeShellExtensionSettings* self,
                                                         gboolean value);
VALA_EXTERN gboolean gnome_shell_extension_settings_get_manage_notifications (GnomeShellExtensionSettings* self);
VALA_EXTERN void gnome_shell_extension_settings_set_manage_notifications (GnomeShellExtensionSettings* self,
                                                              gboolean value);
GType gnome_window_extension_register_type (GTypeModule * module);
VALA_EXTERN GType gnome_window_extension_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomeWindowExtension, g_object_unref)
VALA_EXTERN GnomeWindowExtension* gnome_window_extension_new (void);
VALA_EXTERN GnomeWindowExtension* gnome_window_extension_construct (GType object_type);

G_END_DECLS

#endif
