/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */

#ifndef __XDG_DESKTOP_PORTAL_DBUS_H__
#define __XDG_DESKTOP_PORTAL_DBUS_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.impl.portal.Notification */

#define PMP_IMPL_TYPE_NOTIFICATION (pmp_impl_notification_get_type ())
#define PMP_IMPL_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_NOTIFICATION, PmpImplNotification))
#define PMP_IMPL_IS_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_NOTIFICATION))
#define PMP_IMPL_NOTIFICATION_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), PMP_IMPL_TYPE_NOTIFICATION, PmpImplNotificationIface))

struct _PmpImplNotification;
typedef struct _PmpImplNotification PmpImplNotification;
typedef struct _PmpImplNotificationIface PmpImplNotificationIface;

struct _PmpImplNotificationIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_add_notification) (
    PmpImplNotification *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    const gchar *arg_app_id,
    const gchar *arg_id,
    GVariant *arg_notification);

  gboolean (*handle_remove_notification) (
    PmpImplNotification *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_app_id,
    const gchar *arg_id);

  GVariant * (*get_supported_options) (PmpImplNotification *object);

  guint  (*get_version) (PmpImplNotification *object);

  void (*action_invoked) (
    PmpImplNotification *object,
    const gchar *arg_app_id,
    const gchar *arg_id,
    const gchar *arg_action,
    GVariant *arg_parameter);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplNotification, g_object_unref)
#endif

GType pmp_impl_notification_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *pmp_impl_notification_interface_info (void);
guint pmp_impl_notification_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void pmp_impl_notification_complete_add_notification (
    PmpImplNotification *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list);

void pmp_impl_notification_complete_remove_notification (
    PmpImplNotification *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void pmp_impl_notification_emit_action_invoked (
    PmpImplNotification *object,
    const gchar *arg_app_id,
    const gchar *arg_id,
    const gchar *arg_action,
    GVariant *arg_parameter);



/* D-Bus method calls: */
void pmp_impl_notification_call_add_notification (
    PmpImplNotification *proxy,
    const gchar *arg_app_id,
    const gchar *arg_id,
    GVariant *arg_notification,
    GUnixFDList *fd_list,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_notification_call_add_notification_finish (
    PmpImplNotification *proxy,
    GUnixFDList **out_fd_list,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_notification_call_add_notification_sync (
    PmpImplNotification *proxy,
    const gchar *arg_app_id,
    const gchar *arg_id,
    GVariant *arg_notification,
    GUnixFDList  *fd_list,
    GUnixFDList **out_fd_list,
    GCancellable *cancellable,
    GError **error);

void pmp_impl_notification_call_remove_notification (
    PmpImplNotification *proxy,
    const gchar *arg_app_id,
    const gchar *arg_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_notification_call_remove_notification_finish (
    PmpImplNotification *proxy,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_notification_call_remove_notification_sync (
    PmpImplNotification *proxy,
    const gchar *arg_app_id,
    const gchar *arg_id,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
GVariant *pmp_impl_notification_get_supported_options (PmpImplNotification *object);
GVariant *pmp_impl_notification_dup_supported_options (PmpImplNotification *object);
void pmp_impl_notification_set_supported_options (PmpImplNotification *object, GVariant *value);

guint pmp_impl_notification_get_version (PmpImplNotification *object);
void pmp_impl_notification_set_version (PmpImplNotification *object, guint value);


/* ---- */

#define PMP_IMPL_TYPE_NOTIFICATION_PROXY (pmp_impl_notification_proxy_get_type ())
#define PMP_IMPL_NOTIFICATION_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_NOTIFICATION_PROXY, PmpImplNotificationProxy))
#define PMP_IMPL_NOTIFICATION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_NOTIFICATION_PROXY, PmpImplNotificationProxyClass))
#define PMP_IMPL_NOTIFICATION_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_NOTIFICATION_PROXY, PmpImplNotificationProxyClass))
#define PMP_IMPL_IS_NOTIFICATION_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_NOTIFICATION_PROXY))
#define PMP_IMPL_IS_NOTIFICATION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_NOTIFICATION_PROXY))

typedef struct _PmpImplNotificationProxy PmpImplNotificationProxy;
typedef struct _PmpImplNotificationProxyClass PmpImplNotificationProxyClass;
typedef struct _PmpImplNotificationProxyPrivate PmpImplNotificationProxyPrivate;

struct _PmpImplNotificationProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  PmpImplNotificationProxyPrivate *priv;
};

struct _PmpImplNotificationProxyClass
{
  GDBusProxyClass parent_class;
};

GType pmp_impl_notification_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplNotificationProxy, g_object_unref)
#endif

void pmp_impl_notification_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplNotification *pmp_impl_notification_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplNotification *pmp_impl_notification_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void pmp_impl_notification_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplNotification *pmp_impl_notification_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplNotification *pmp_impl_notification_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define PMP_IMPL_TYPE_NOTIFICATION_SKELETON (pmp_impl_notification_skeleton_get_type ())
#define PMP_IMPL_NOTIFICATION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_NOTIFICATION_SKELETON, PmpImplNotificationSkeleton))
#define PMP_IMPL_NOTIFICATION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_NOTIFICATION_SKELETON, PmpImplNotificationSkeletonClass))
#define PMP_IMPL_NOTIFICATION_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_NOTIFICATION_SKELETON, PmpImplNotificationSkeletonClass))
#define PMP_IMPL_IS_NOTIFICATION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_NOTIFICATION_SKELETON))
#define PMP_IMPL_IS_NOTIFICATION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_NOTIFICATION_SKELETON))

typedef struct _PmpImplNotificationSkeleton PmpImplNotificationSkeleton;
typedef struct _PmpImplNotificationSkeletonClass PmpImplNotificationSkeletonClass;
typedef struct _PmpImplNotificationSkeletonPrivate PmpImplNotificationSkeletonPrivate;

struct _PmpImplNotificationSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  PmpImplNotificationSkeletonPrivate *priv;
};

struct _PmpImplNotificationSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType pmp_impl_notification_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplNotificationSkeleton, g_object_unref)
#endif

PmpImplNotification *pmp_impl_notification_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.impl.portal.Request */

#define PMP_IMPL_TYPE_REQUEST (pmp_impl_request_get_type ())
#define PMP_IMPL_REQUEST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_REQUEST, PmpImplRequest))
#define PMP_IMPL_IS_REQUEST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_REQUEST))
#define PMP_IMPL_REQUEST_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), PMP_IMPL_TYPE_REQUEST, PmpImplRequestIface))

struct _PmpImplRequest;
typedef struct _PmpImplRequest PmpImplRequest;
typedef struct _PmpImplRequestIface PmpImplRequestIface;

struct _PmpImplRequestIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_close) (
    PmpImplRequest *object,
    GDBusMethodInvocation *invocation);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplRequest, g_object_unref)
#endif

GType pmp_impl_request_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *pmp_impl_request_interface_info (void);
guint pmp_impl_request_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void pmp_impl_request_complete_close (
    PmpImplRequest *object,
    GDBusMethodInvocation *invocation);



/* D-Bus method calls: */
void pmp_impl_request_call_close (
    PmpImplRequest *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_request_call_close_finish (
    PmpImplRequest *proxy,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_request_call_close_sync (
    PmpImplRequest *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define PMP_IMPL_TYPE_REQUEST_PROXY (pmp_impl_request_proxy_get_type ())
#define PMP_IMPL_REQUEST_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_REQUEST_PROXY, PmpImplRequestProxy))
#define PMP_IMPL_REQUEST_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_REQUEST_PROXY, PmpImplRequestProxyClass))
#define PMP_IMPL_REQUEST_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_REQUEST_PROXY, PmpImplRequestProxyClass))
#define PMP_IMPL_IS_REQUEST_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_REQUEST_PROXY))
#define PMP_IMPL_IS_REQUEST_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_REQUEST_PROXY))

typedef struct _PmpImplRequestProxy PmpImplRequestProxy;
typedef struct _PmpImplRequestProxyClass PmpImplRequestProxyClass;
typedef struct _PmpImplRequestProxyPrivate PmpImplRequestProxyPrivate;

struct _PmpImplRequestProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  PmpImplRequestProxyPrivate *priv;
};

struct _PmpImplRequestProxyClass
{
  GDBusProxyClass parent_class;
};

GType pmp_impl_request_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplRequestProxy, g_object_unref)
#endif

void pmp_impl_request_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplRequest *pmp_impl_request_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplRequest *pmp_impl_request_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void pmp_impl_request_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplRequest *pmp_impl_request_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplRequest *pmp_impl_request_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define PMP_IMPL_TYPE_REQUEST_SKELETON (pmp_impl_request_skeleton_get_type ())
#define PMP_IMPL_REQUEST_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_REQUEST_SKELETON, PmpImplRequestSkeleton))
#define PMP_IMPL_REQUEST_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_REQUEST_SKELETON, PmpImplRequestSkeletonClass))
#define PMP_IMPL_REQUEST_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_REQUEST_SKELETON, PmpImplRequestSkeletonClass))
#define PMP_IMPL_IS_REQUEST_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_REQUEST_SKELETON))
#define PMP_IMPL_IS_REQUEST_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_REQUEST_SKELETON))

typedef struct _PmpImplRequestSkeleton PmpImplRequestSkeleton;
typedef struct _PmpImplRequestSkeletonClass PmpImplRequestSkeletonClass;
typedef struct _PmpImplRequestSkeletonPrivate PmpImplRequestSkeletonPrivate;

struct _PmpImplRequestSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  PmpImplRequestSkeletonPrivate *priv;
};

struct _PmpImplRequestSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType pmp_impl_request_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplRequestSkeleton, g_object_unref)
#endif

PmpImplRequest *pmp_impl_request_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.impl.portal.Session */

#define PMP_IMPL_TYPE_SESSION (pmp_impl_session_get_type ())
#define PMP_IMPL_SESSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SESSION, PmpImplSession))
#define PMP_IMPL_IS_SESSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SESSION))
#define PMP_IMPL_SESSION_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), PMP_IMPL_TYPE_SESSION, PmpImplSessionIface))

struct _PmpImplSession;
typedef struct _PmpImplSession PmpImplSession;
typedef struct _PmpImplSessionIface PmpImplSessionIface;

struct _PmpImplSessionIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_close) (
    PmpImplSession *object,
    GDBusMethodInvocation *invocation);

  guint  (*get_version) (PmpImplSession *object);

  void (*closed) (
    PmpImplSession *object);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSession, g_object_unref)
#endif

GType pmp_impl_session_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *pmp_impl_session_interface_info (void);
guint pmp_impl_session_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void pmp_impl_session_complete_close (
    PmpImplSession *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void pmp_impl_session_emit_closed (
    PmpImplSession *object);



/* D-Bus method calls: */
void pmp_impl_session_call_close (
    PmpImplSession *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_session_call_close_finish (
    PmpImplSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_session_call_close_sync (
    PmpImplSession *proxy,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guint pmp_impl_session_get_version (PmpImplSession *object);
void pmp_impl_session_set_version (PmpImplSession *object, guint value);


/* ---- */

#define PMP_IMPL_TYPE_SESSION_PROXY (pmp_impl_session_proxy_get_type ())
#define PMP_IMPL_SESSION_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SESSION_PROXY, PmpImplSessionProxy))
#define PMP_IMPL_SESSION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_SESSION_PROXY, PmpImplSessionProxyClass))
#define PMP_IMPL_SESSION_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_SESSION_PROXY, PmpImplSessionProxyClass))
#define PMP_IMPL_IS_SESSION_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SESSION_PROXY))
#define PMP_IMPL_IS_SESSION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_SESSION_PROXY))

typedef struct _PmpImplSessionProxy PmpImplSessionProxy;
typedef struct _PmpImplSessionProxyClass PmpImplSessionProxyClass;
typedef struct _PmpImplSessionProxyPrivate PmpImplSessionProxyPrivate;

struct _PmpImplSessionProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  PmpImplSessionProxyPrivate *priv;
};

struct _PmpImplSessionProxyClass
{
  GDBusProxyClass parent_class;
};

GType pmp_impl_session_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSessionProxy, g_object_unref)
#endif

void pmp_impl_session_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplSession *pmp_impl_session_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplSession *pmp_impl_session_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void pmp_impl_session_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplSession *pmp_impl_session_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplSession *pmp_impl_session_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define PMP_IMPL_TYPE_SESSION_SKELETON (pmp_impl_session_skeleton_get_type ())
#define PMP_IMPL_SESSION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SESSION_SKELETON, PmpImplSessionSkeleton))
#define PMP_IMPL_SESSION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_SESSION_SKELETON, PmpImplSessionSkeletonClass))
#define PMP_IMPL_SESSION_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_SESSION_SKELETON, PmpImplSessionSkeletonClass))
#define PMP_IMPL_IS_SESSION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SESSION_SKELETON))
#define PMP_IMPL_IS_SESSION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_SESSION_SKELETON))

typedef struct _PmpImplSessionSkeleton PmpImplSessionSkeleton;
typedef struct _PmpImplSessionSkeletonClass PmpImplSessionSkeletonClass;
typedef struct _PmpImplSessionSkeletonPrivate PmpImplSessionSkeletonPrivate;

struct _PmpImplSessionSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  PmpImplSessionSkeletonPrivate *priv;
};

struct _PmpImplSessionSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType pmp_impl_session_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSessionSkeleton, g_object_unref)
#endif

PmpImplSession *pmp_impl_session_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.impl.portal.Settings */

#define PMP_IMPL_TYPE_SETTINGS (pmp_impl_settings_get_type ())
#define PMP_IMPL_SETTINGS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SETTINGS, PmpImplSettings))
#define PMP_IMPL_IS_SETTINGS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SETTINGS))
#define PMP_IMPL_SETTINGS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), PMP_IMPL_TYPE_SETTINGS, PmpImplSettingsIface))

struct _PmpImplSettings;
typedef struct _PmpImplSettings PmpImplSettings;
typedef struct _PmpImplSettingsIface PmpImplSettingsIface;

struct _PmpImplSettingsIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_read) (
    PmpImplSettings *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_namespace,
    const gchar *arg_key);

  gboolean (*handle_read_all) (
    PmpImplSettings *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_namespaces);

  guint  (*get_version) (PmpImplSettings *object);

  void (*setting_changed) (
    PmpImplSettings *object,
    const gchar *arg_namespace,
    const gchar *arg_key,
    GVariant *arg_value);

};

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSettings, g_object_unref)
#endif

GType pmp_impl_settings_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *pmp_impl_settings_interface_info (void);
guint pmp_impl_settings_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void pmp_impl_settings_complete_read_all (
    PmpImplSettings *object,
    GDBusMethodInvocation *invocation,
    GVariant *value);

void pmp_impl_settings_complete_read (
    PmpImplSettings *object,
    GDBusMethodInvocation *invocation,
    GVariant *value);



/* D-Bus signal emissions functions: */
void pmp_impl_settings_emit_setting_changed (
    PmpImplSettings *object,
    const gchar *arg_namespace,
    const gchar *arg_key,
    GVariant *arg_value);



/* D-Bus method calls: */
void pmp_impl_settings_call_read_all (
    PmpImplSettings *proxy,
    const gchar *const *arg_namespaces,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_settings_call_read_all_finish (
    PmpImplSettings *proxy,
    GVariant ** out_value,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_settings_call_read_all_sync (
    PmpImplSettings *proxy,
    const gchar *const *arg_namespaces,
    GVariant ** out_value,
    GCancellable *cancellable,
    GError **error);

void pmp_impl_settings_call_read (
    PmpImplSettings *proxy,
    const gchar *arg_namespace,
    const gchar *arg_key,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean pmp_impl_settings_call_read_finish (
    PmpImplSettings *proxy,
    GVariant ** out_value,
    GAsyncResult *res,
    GError **error);

gboolean pmp_impl_settings_call_read_sync (
    PmpImplSettings *proxy,
    const gchar *arg_namespace,
    const gchar *arg_key,
    GVariant ** out_value,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guint pmp_impl_settings_get_version (PmpImplSettings *object);
void pmp_impl_settings_set_version (PmpImplSettings *object, guint value);


/* ---- */

#define PMP_IMPL_TYPE_SETTINGS_PROXY (pmp_impl_settings_proxy_get_type ())
#define PMP_IMPL_SETTINGS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SETTINGS_PROXY, PmpImplSettingsProxy))
#define PMP_IMPL_SETTINGS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_SETTINGS_PROXY, PmpImplSettingsProxyClass))
#define PMP_IMPL_SETTINGS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_SETTINGS_PROXY, PmpImplSettingsProxyClass))
#define PMP_IMPL_IS_SETTINGS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SETTINGS_PROXY))
#define PMP_IMPL_IS_SETTINGS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_SETTINGS_PROXY))

typedef struct _PmpImplSettingsProxy PmpImplSettingsProxy;
typedef struct _PmpImplSettingsProxyClass PmpImplSettingsProxyClass;
typedef struct _PmpImplSettingsProxyPrivate PmpImplSettingsProxyPrivate;

struct _PmpImplSettingsProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  PmpImplSettingsProxyPrivate *priv;
};

struct _PmpImplSettingsProxyClass
{
  GDBusProxyClass parent_class;
};

GType pmp_impl_settings_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSettingsProxy, g_object_unref)
#endif

void pmp_impl_settings_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplSettings *pmp_impl_settings_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplSettings *pmp_impl_settings_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void pmp_impl_settings_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
PmpImplSettings *pmp_impl_settings_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
PmpImplSettings *pmp_impl_settings_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define PMP_IMPL_TYPE_SETTINGS_SKELETON (pmp_impl_settings_skeleton_get_type ())
#define PMP_IMPL_SETTINGS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PMP_IMPL_TYPE_SETTINGS_SKELETON, PmpImplSettingsSkeleton))
#define PMP_IMPL_SETTINGS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), PMP_IMPL_TYPE_SETTINGS_SKELETON, PmpImplSettingsSkeletonClass))
#define PMP_IMPL_SETTINGS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), PMP_IMPL_TYPE_SETTINGS_SKELETON, PmpImplSettingsSkeletonClass))
#define PMP_IMPL_IS_SETTINGS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), PMP_IMPL_TYPE_SETTINGS_SKELETON))
#define PMP_IMPL_IS_SETTINGS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PMP_IMPL_TYPE_SETTINGS_SKELETON))

typedef struct _PmpImplSettingsSkeleton PmpImplSettingsSkeleton;
typedef struct _PmpImplSettingsSkeletonClass PmpImplSettingsSkeletonClass;
typedef struct _PmpImplSettingsSkeletonPrivate PmpImplSettingsSkeletonPrivate;

struct _PmpImplSettingsSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  PmpImplSettingsSkeletonPrivate *priv;
};

struct _PmpImplSettingsSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType pmp_impl_settings_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PmpImplSettingsSkeleton, g_object_unref)
#endif

PmpImplSettings *pmp_impl_settings_skeleton_new (void);


G_END_DECLS

#endif /* __XDG_DESKTOP_PORTAL_DBUS_H__ */
