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

#ifndef __SRC_PLUGINS_PORTAL_FT_PLUGIN_PORTAL_H__
#define __SRC_PLUGINS_PORTAL_FT_PLUGIN_PORTAL_H__

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>
#include "ft_core.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 PORTAL_TYPE_SHORTCUT (portal_shortcut_get_type ())
typedef struct _PortalShortcut PortalShortcut;

#define PORTAL_TYPE_REQUEST (portal_request_get_type ())
#define PORTAL_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_REQUEST, PortalRequest))
#define PORTAL_IS_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_REQUEST))
#define PORTAL_REQUEST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PORTAL_TYPE_REQUEST, PortalRequestIface))

typedef struct _PortalRequest PortalRequest;
typedef struct _PortalRequestIface PortalRequestIface;

#define PORTAL_TYPE_REQUEST_PROXY (portal_request_proxy_get_type ())

#define PORTAL_TYPE_BACKGROUND (portal_background_get_type ())
#define PORTAL_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_BACKGROUND, PortalBackground))
#define PORTAL_IS_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_BACKGROUND))
#define PORTAL_BACKGROUND_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PORTAL_TYPE_BACKGROUND, PortalBackgroundIface))

typedef struct _PortalBackground PortalBackground;
typedef struct _PortalBackgroundIface PortalBackgroundIface;

#define PORTAL_TYPE_BACKGROUND_PROXY (portal_background_proxy_get_type ())

#define PORTAL_TYPE_GLOBAL_SHORTCUTS (portal_global_shortcuts_get_type ())
#define PORTAL_GLOBAL_SHORTCUTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS, PortalGlobalShortcuts))
#define PORTAL_IS_GLOBAL_SHORTCUTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS))
#define PORTAL_GLOBAL_SHORTCUTS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS, PortalGlobalShortcutsIface))

typedef struct _PortalGlobalShortcuts PortalGlobalShortcuts;
typedef struct _PortalGlobalShortcutsIface PortalGlobalShortcutsIface;

#define PORTAL_TYPE_GLOBAL_SHORTCUTS_PROXY (portal_global_shortcuts_proxy_get_type ())

#define PORTAL_TYPE_NOTIFICATION (portal_notification_get_type ())
#define PORTAL_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_NOTIFICATION, PortalNotification))
#define PORTAL_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_NOTIFICATION))
#define PORTAL_NOTIFICATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PORTAL_TYPE_NOTIFICATION, PortalNotificationIface))

typedef struct _PortalNotification PortalNotification;
typedef struct _PortalNotificationIface PortalNotificationIface;

#define PORTAL_TYPE_NOTIFICATION_PROXY (portal_notification_proxy_get_type ())
typedef void (*PortalRequestCallback) (guint32 response, GVariant* results, gpointer user_data);

#define PORTAL_TYPE_BACKGROUND_PROVIDER (portal_background_provider_get_type ())
#define PORTAL_BACKGROUND_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_BACKGROUND_PROVIDER, PortalBackgroundProvider))
#define PORTAL_BACKGROUND_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PORTAL_TYPE_BACKGROUND_PROVIDER, PortalBackgroundProviderClass))
#define PORTAL_IS_BACKGROUND_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_BACKGROUND_PROVIDER))
#define PORTAL_IS_BACKGROUND_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PORTAL_TYPE_BACKGROUND_PROVIDER))
#define PORTAL_BACKGROUND_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PORTAL_TYPE_BACKGROUND_PROVIDER, PortalBackgroundProviderClass))

typedef struct _PortalBackgroundProvider PortalBackgroundProvider;
typedef struct _PortalBackgroundProviderClass PortalBackgroundProviderClass;
typedef struct _PortalBackgroundProviderPrivate PortalBackgroundProviderPrivate;

#define PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER (portal_global_shortcuts_provider_get_type ())
#define PORTAL_GLOBAL_SHORTCUTS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER, PortalGlobalShortcutsProvider))
#define PORTAL_GLOBAL_SHORTCUTS_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER, PortalGlobalShortcutsProviderClass))
#define PORTAL_IS_GLOBAL_SHORTCUTS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER))
#define PORTAL_IS_GLOBAL_SHORTCUTS_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER))
#define PORTAL_GLOBAL_SHORTCUTS_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PORTAL_TYPE_GLOBAL_SHORTCUTS_PROVIDER, PortalGlobalShortcutsProviderClass))

typedef struct _PortalGlobalShortcutsProvider PortalGlobalShortcutsProvider;
typedef struct _PortalGlobalShortcutsProviderClass PortalGlobalShortcutsProviderClass;
typedef struct _PortalGlobalShortcutsProviderPrivate PortalGlobalShortcutsProviderPrivate;

#define PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER (portal_notification_backend_provider_get_type ())
#define PORTAL_NOTIFICATION_BACKEND_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER, PortalNotificationBackendProvider))
#define PORTAL_NOTIFICATION_BACKEND_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER, PortalNotificationBackendProviderClass))
#define PORTAL_IS_NOTIFICATION_BACKEND_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER))
#define PORTAL_IS_NOTIFICATION_BACKEND_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER))
#define PORTAL_NOTIFICATION_BACKEND_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PORTAL_TYPE_NOTIFICATION_BACKEND_PROVIDER, PortalNotificationBackendProviderClass))

typedef struct _PortalNotificationBackendProvider PortalNotificationBackendProvider;
typedef struct _PortalNotificationBackendProviderClass PortalNotificationBackendProviderClass;
typedef struct _PortalNotificationBackendProviderPrivate PortalNotificationBackendProviderPrivate;

struct _PortalShortcut {
	gchar* id;
	gchar* description;
	gchar* preferred_trigger;
	gchar* trigger_description;
};

struct _PortalRequestIface {
	GTypeInterface parent_iface;
	void (*close) (PortalRequest* self, GError** error);
};

struct _PortalBackgroundIface {
	GTypeInterface parent_iface;
	void (*request_background) (PortalBackground* self, const gchar* parent_window, GVariant* options, GAsyncReadyCallback _callback_, gpointer _user_data_);
	char* (*request_background_finish) (PortalBackground* self, GAsyncResult* _res_, GError** error);
	guint32 (*get_version) (PortalBackground* self);
};

struct _PortalGlobalShortcutsIface {
	GTypeInterface parent_iface;
	void (*create_session) (PortalGlobalShortcuts* self, GVariant* options, GAsyncReadyCallback _callback_, gpointer _user_data_);
	char* (*create_session_finish) (PortalGlobalShortcuts* self, GAsyncResult* _res_, GError** error);
	void (*bind_shortcuts) (PortalGlobalShortcuts* self, const char* session_handle, GVariant* shortcuts, const gchar* parent_window, GVariant* options, GAsyncReadyCallback _callback_, gpointer _user_data_);
	char* (*bind_shortcuts_finish) (PortalGlobalShortcuts* self, GAsyncResult* _res_, GError** error);
	void (*list_shortcuts) (PortalGlobalShortcuts* self, const char* session_handle, GVariant* options, GAsyncReadyCallback _callback_, gpointer _user_data_);
	char* (*list_shortcuts_finish) (PortalGlobalShortcuts* self, GAsyncResult* _res_, GError** error);
	void (*configure_shortcuts) (PortalGlobalShortcuts* self, const char* session_handle, const gchar* parent_window, GVariant* options, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*configure_shortcuts_finish) (PortalGlobalShortcuts* self, GAsyncResult* _res_, GError** error);
	guint32 (*get_version) (PortalGlobalShortcuts* self);
};

struct _PortalNotificationIface {
	GTypeInterface parent_iface;
	void (*add_notification) (PortalNotification* self, const gchar* id, GVariant* notification, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*add_notification_finish) (PortalNotification* self, GAsyncResult* _res_, GError** error);
	void (*remove_notification) (PortalNotification* self, const gchar* id, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*remove_notification_finish) (PortalNotification* self, GAsyncResult* _res_, GError** error);
	guint32 (*get_version) (PortalNotification* self);
	GVariant* (*get_supported_options) (PortalNotification* self);
};

struct _PortalBackgroundProvider {
	FtProvider parent_instance;
	PortalBackgroundProviderPrivate * priv;
};

struct _PortalBackgroundProviderClass {
	FtProviderClass parent_class;
};

struct _PortalGlobalShortcutsProvider {
	FtProvider parent_instance;
	PortalGlobalShortcutsProviderPrivate * priv;
};

struct _PortalGlobalShortcutsProviderClass {
	FtProviderClass parent_class;
};

struct _PortalNotificationBackendProvider {
	FtProvider parent_instance;
	PortalNotificationBackendProviderPrivate * priv;
};

struct _PortalNotificationBackendProviderClass {
	FtProviderClass parent_class;
};

VALA_EXTERN GType portal_shortcut_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PortalShortcut* portal_shortcut_dup (const PortalShortcut* self);
VALA_EXTERN void portal_shortcut_free (PortalShortcut* self);
VALA_EXTERN void portal_shortcut_copy (const PortalShortcut* self,
                           PortalShortcut* dest);
VALA_EXTERN void portal_shortcut_destroy (PortalShortcut* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (PortalShortcut, portal_shortcut_destroy)
VALA_EXTERN GType portal_request_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void portal_request_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint portal_request_register_object (void* object,
                                      GDBusConnection* connection,
                                      const gchar* path,
                                      GError** error);
GType portal_request_register_type (GTypeModule * module);
VALA_EXTERN GType portal_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalRequest, g_object_unref)
VALA_EXTERN void portal_request_close (PortalRequest* self,
                           GError** error);
VALA_EXTERN GType portal_background_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void portal_background_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint portal_background_register_object (void* object,
                                         GDBusConnection* connection,
                                         const gchar* path,
                                         GError** error);
GType portal_background_register_type (GTypeModule * module);
VALA_EXTERN GType portal_background_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalBackground, g_object_unref)
VALA_EXTERN void portal_background_request_background (PortalBackground* self,
                                           const gchar* parent_window,
                                           GVariant* options,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN char* portal_background_request_background_finish (PortalBackground* self,
                                                   GAsyncResult* _res_,
                                                   GError** error);
VALA_EXTERN guint32 portal_background_get_version (PortalBackground* self);
VALA_EXTERN GType portal_global_shortcuts_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void portal_global_shortcuts_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint portal_global_shortcuts_register_object (void* object,
                                               GDBusConnection* connection,
                                               const gchar* path,
                                               GError** error);
GType portal_global_shortcuts_register_type (GTypeModule * module);
VALA_EXTERN GType portal_global_shortcuts_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalGlobalShortcuts, g_object_unref)
VALA_EXTERN void portal_global_shortcuts_create_session (PortalGlobalShortcuts* self,
                                             GVariant* options,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN char* portal_global_shortcuts_create_session_finish (PortalGlobalShortcuts* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void portal_global_shortcuts_bind_shortcuts (PortalGlobalShortcuts* self,
                                             const char* session_handle,
                                             GVariant* shortcuts,
                                             const gchar* parent_window,
                                             GVariant* options,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN char* portal_global_shortcuts_bind_shortcuts_finish (PortalGlobalShortcuts* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void portal_global_shortcuts_list_shortcuts (PortalGlobalShortcuts* self,
                                             const char* session_handle,
                                             GVariant* options,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN char* portal_global_shortcuts_list_shortcuts_finish (PortalGlobalShortcuts* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN void portal_global_shortcuts_configure_shortcuts (PortalGlobalShortcuts* self,
                                                  const char* session_handle,
                                                  const gchar* parent_window,
                                                  GVariant* options,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void portal_global_shortcuts_configure_shortcuts_finish (PortalGlobalShortcuts* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN guint32 portal_global_shortcuts_get_version (PortalGlobalShortcuts* self);
VALA_EXTERN GType portal_notification_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void portal_notification_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint portal_notification_register_object (void* object,
                                           GDBusConnection* connection,
                                           const gchar* path,
                                           GError** error);
GType portal_notification_register_type (GTypeModule * module);
VALA_EXTERN GType portal_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalNotification, g_object_unref)
VALA_EXTERN void portal_notification_add_notification (PortalNotification* self,
                                           const gchar* id,
                                           GVariant* notification,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN void portal_notification_add_notification_finish (PortalNotification* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void portal_notification_remove_notification (PortalNotification* self,
                                              const gchar* id,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void portal_notification_remove_notification_finish (PortalNotification* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN guint32 portal_notification_get_version (PortalNotification* self);
VALA_EXTERN GVariant* portal_notification_get_supported_options (PortalNotification* self);
VALA_EXTERN void portal_peas_register_types (GTypeModule* module);
VALA_EXTERN void portal_create_request (GDBusConnection* connection,
                            PortalRequestCallback callback,
                            gpointer callback_target,
                            GAsyncReadyCallback _callback_,
                            gpointer _user_data_);
VALA_EXTERN gchar* portal_create_request_finish (GAsyncResult* _res_,
                                     GError** error);
VALA_EXTERN gboolean portal_destroy_request (const gchar* handle_token);
GType portal_background_provider_register_type (GTypeModule * module);
VALA_EXTERN GType portal_background_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalBackgroundProvider, g_object_unref)
VALA_EXTERN PortalBackgroundProvider* portal_background_provider_new (void);
VALA_EXTERN PortalBackgroundProvider* portal_background_provider_construct (GType object_type);
VALA_EXTERN FtPriority portal_background_provider_get_priority (PortalBackgroundProvider* self);
GType portal_global_shortcuts_provider_register_type (GTypeModule * module);
VALA_EXTERN GType portal_global_shortcuts_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalGlobalShortcutsProvider, g_object_unref)
VALA_EXTERN PortalGlobalShortcutsProvider* portal_global_shortcuts_provider_new (void);
VALA_EXTERN PortalGlobalShortcutsProvider* portal_global_shortcuts_provider_construct (GType object_type);
GType portal_notification_backend_provider_register_type (GTypeModule * module);
VALA_EXTERN GType portal_notification_backend_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PortalNotificationBackendProvider, g_object_unref)
VALA_EXTERN PortalNotificationBackendProvider* portal_notification_backend_provider_new (void);
VALA_EXTERN PortalNotificationBackendProvider* portal_notification_backend_provider_construct (GType object_type);
VALA_EXTERN FtPriority portal_notification_backend_provider_get_priority (PortalNotificationBackendProvider* self);

G_END_DECLS

#endif
