/*
 * 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 __GDM_SESSION_GLUE_H__
#define __GDM_SESSION_GLUE_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.DisplayManager.WorkerManager */

#define GDM_DBUS_TYPE_WORKER_MANAGER (gdm_dbus_worker_manager_get_type ())
#define GDM_DBUS_WORKER_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_WORKER_MANAGER, GdmDBusWorkerManager))
#define GDM_DBUS_IS_WORKER_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_WORKER_MANAGER))
#define GDM_DBUS_WORKER_MANAGER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDM_DBUS_TYPE_WORKER_MANAGER, GdmDBusWorkerManagerIface))

struct _GdmDBusWorkerManager;
typedef struct _GdmDBusWorkerManager GdmDBusWorkerManager;
typedef struct _GdmDBusWorkerManagerIface GdmDBusWorkerManagerIface;

struct _GdmDBusWorkerManagerIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_choice_list_query) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_prompt_message,
    GVariant *arg_query);

  gboolean (*handle_custom_json_request) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_protocol,
    guint arg_version,
    const gchar *arg_request);

  gboolean (*handle_hello) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_info) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_info);

  gboolean (*handle_info_query) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_query);

  gboolean (*handle_problem) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_problem);

  gboolean (*handle_secret_info_query) (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_query);

};

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

GType gdm_dbus_worker_manager_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdm_dbus_worker_manager_interface_info (void);
guint gdm_dbus_worker_manager_override_properties (GObjectClass *klass, guint property_id_begin);


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

void gdm_dbus_worker_manager_complete_info_query (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *answer);

void gdm_dbus_worker_manager_complete_secret_info_query (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *answer);

void gdm_dbus_worker_manager_complete_info (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_worker_manager_complete_problem (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_worker_manager_complete_choice_list_query (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *answer);

void gdm_dbus_worker_manager_complete_custom_json_request (
    GdmDBusWorkerManager *object,
    GDBusMethodInvocation *invocation,
    const gchar *response);



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

gboolean gdm_dbus_worker_manager_call_hello_finish (
    GdmDBusWorkerManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_hello_sync (
    GdmDBusWorkerManager *proxy,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_info_query (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_query,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_info_query_finish (
    GdmDBusWorkerManager *proxy,
    gchar ** out_answer,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_info_query_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_query,
    gchar ** out_answer,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_secret_info_query (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_query,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_secret_info_query_finish (
    GdmDBusWorkerManager *proxy,
    gchar ** out_answer,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_secret_info_query_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_query,
    gchar ** out_answer,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_info (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_info,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_info_finish (
    GdmDBusWorkerManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_info_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_info,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_problem (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_problem,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_problem_finish (
    GdmDBusWorkerManager *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_problem_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_problem,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_choice_list_query (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_prompt_message,
    GVariant *arg_query,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_choice_list_query_finish (
    GdmDBusWorkerManager *proxy,
    gchar ** out_answer,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_choice_list_query_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_prompt_message,
    GVariant *arg_query,
    gchar ** out_answer,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_worker_manager_call_custom_json_request (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_protocol,
    guint arg_version,
    const gchar *arg_request,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_worker_manager_call_custom_json_request_finish (
    GdmDBusWorkerManager *proxy,
    gchar ** out_response,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_worker_manager_call_custom_json_request_sync (
    GdmDBusWorkerManager *proxy,
    const gchar *arg_service_name,
    const gchar *arg_protocol,
    guint arg_version,
    const gchar *arg_request,
    gchar ** out_response,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDM_DBUS_TYPE_WORKER_MANAGER_PROXY (gdm_dbus_worker_manager_proxy_get_type ())
#define GDM_DBUS_WORKER_MANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_WORKER_MANAGER_PROXY, GdmDBusWorkerManagerProxy))
#define GDM_DBUS_WORKER_MANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_WORKER_MANAGER_PROXY, GdmDBusWorkerManagerProxyClass))
#define GDM_DBUS_WORKER_MANAGER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_WORKER_MANAGER_PROXY, GdmDBusWorkerManagerProxyClass))
#define GDM_DBUS_IS_WORKER_MANAGER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_WORKER_MANAGER_PROXY))
#define GDM_DBUS_IS_WORKER_MANAGER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_WORKER_MANAGER_PROXY))

typedef struct _GdmDBusWorkerManagerProxy GdmDBusWorkerManagerProxy;
typedef struct _GdmDBusWorkerManagerProxyClass GdmDBusWorkerManagerProxyClass;
typedef struct _GdmDBusWorkerManagerProxyPrivate GdmDBusWorkerManagerProxyPrivate;

struct _GdmDBusWorkerManagerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GdmDBusWorkerManagerProxyPrivate *priv;
};

struct _GdmDBusWorkerManagerProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdm_dbus_worker_manager_proxy_get_type (void) G_GNUC_CONST;

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

void gdm_dbus_worker_manager_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusWorkerManager *gdm_dbus_worker_manager_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusWorkerManager *gdm_dbus_worker_manager_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdm_dbus_worker_manager_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusWorkerManager *gdm_dbus_worker_manager_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusWorkerManager *gdm_dbus_worker_manager_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON (gdm_dbus_worker_manager_skeleton_get_type ())
#define GDM_DBUS_WORKER_MANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON, GdmDBusWorkerManagerSkeleton))
#define GDM_DBUS_WORKER_MANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON, GdmDBusWorkerManagerSkeletonClass))
#define GDM_DBUS_WORKER_MANAGER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON, GdmDBusWorkerManagerSkeletonClass))
#define GDM_DBUS_IS_WORKER_MANAGER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON))
#define GDM_DBUS_IS_WORKER_MANAGER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_WORKER_MANAGER_SKELETON))

typedef struct _GdmDBusWorkerManagerSkeleton GdmDBusWorkerManagerSkeleton;
typedef struct _GdmDBusWorkerManagerSkeletonClass GdmDBusWorkerManagerSkeletonClass;
typedef struct _GdmDBusWorkerManagerSkeletonPrivate GdmDBusWorkerManagerSkeletonPrivate;

struct _GdmDBusWorkerManagerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GdmDBusWorkerManagerSkeletonPrivate *priv;
};

struct _GdmDBusWorkerManagerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdm_dbus_worker_manager_skeleton_get_type (void) G_GNUC_CONST;

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

GdmDBusWorkerManager *gdm_dbus_worker_manager_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.DisplayManager.UserVerifier */

#define GDM_DBUS_TYPE_USER_VERIFIER (gdm_dbus_user_verifier_get_type ())
#define GDM_DBUS_USER_VERIFIER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER, GdmDBusUserVerifier))
#define GDM_DBUS_IS_USER_VERIFIER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER))
#define GDM_DBUS_USER_VERIFIER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDM_DBUS_TYPE_USER_VERIFIER, GdmDBusUserVerifierIface))

struct _GdmDBusUserVerifier;
typedef struct _GdmDBusUserVerifier GdmDBusUserVerifier;
typedef struct _GdmDBusUserVerifierIface GdmDBusUserVerifierIface;

struct _GdmDBusUserVerifierIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_answer_query) (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_answer);

  gboolean (*handle_begin_verification) (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name);

  gboolean (*handle_begin_verification_for_user) (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_username);

  gboolean (*handle_cancel) (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_enable_extensions) (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_extensions);

  void (*conversation_started) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

  void (*conversation_stopped) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

  void (*info) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_info);

  void (*info_query) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_query);

  void (*problem) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_problem);

  void (*reauthentication_started) (
    GdmDBusUserVerifier *object,
    gint arg_pid_of_caller);

  void (*reset) (
    GdmDBusUserVerifier *object);

  void (*secret_info_query) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_query);

  void (*service_unavailable) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_message);

  void (*verification_complete) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

  void (*verification_failed) (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

};

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

GType gdm_dbus_user_verifier_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdm_dbus_user_verifier_interface_info (void);
guint gdm_dbus_user_verifier_override_properties (GObjectClass *klass, guint property_id_begin);


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

void gdm_dbus_user_verifier_complete_begin_verification (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_user_verifier_complete_begin_verification_for_user (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_user_verifier_complete_answer_query (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_user_verifier_complete_cancel (
    GdmDBusUserVerifier *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void gdm_dbus_user_verifier_emit_conversation_started (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

void gdm_dbus_user_verifier_emit_conversation_stopped (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

void gdm_dbus_user_verifier_emit_reauthentication_started (
    GdmDBusUserVerifier *object,
    gint arg_pid_of_caller);

void gdm_dbus_user_verifier_emit_info (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_info);

void gdm_dbus_user_verifier_emit_problem (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_problem);

void gdm_dbus_user_verifier_emit_info_query (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_query);

void gdm_dbus_user_verifier_emit_secret_info_query (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_query);

void gdm_dbus_user_verifier_emit_reset (
    GdmDBusUserVerifier *object);

void gdm_dbus_user_verifier_emit_service_unavailable (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name,
    const gchar *arg_message);

void gdm_dbus_user_verifier_emit_verification_failed (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);

void gdm_dbus_user_verifier_emit_verification_complete (
    GdmDBusUserVerifier *object,
    const gchar *arg_service_name);



/* D-Bus method calls: */
void gdm_dbus_user_verifier_call_enable_extensions (
    GdmDBusUserVerifier *proxy,
    const gchar *const *arg_extensions,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_call_enable_extensions_finish (
    GdmDBusUserVerifier *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_call_enable_extensions_sync (
    GdmDBusUserVerifier *proxy,
    const gchar *const *arg_extensions,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_user_verifier_call_begin_verification (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_call_begin_verification_finish (
    GdmDBusUserVerifier *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_call_begin_verification_sync (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_user_verifier_call_begin_verification_for_user (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    const gchar *arg_username,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_call_begin_verification_for_user_finish (
    GdmDBusUserVerifier *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_call_begin_verification_for_user_sync (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    const gchar *arg_username,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_user_verifier_call_answer_query (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    const gchar *arg_answer,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_call_answer_query_finish (
    GdmDBusUserVerifier *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_call_answer_query_sync (
    GdmDBusUserVerifier *proxy,
    const gchar *arg_service_name,
    const gchar *arg_answer,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_user_verifier_call_cancel (
    GdmDBusUserVerifier *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_call_cancel_finish (
    GdmDBusUserVerifier *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_call_cancel_sync (
    GdmDBusUserVerifier *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_PROXY (gdm_dbus_user_verifier_proxy_get_type ())
#define GDM_DBUS_USER_VERIFIER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_PROXY, GdmDBusUserVerifierProxy))
#define GDM_DBUS_USER_VERIFIER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_PROXY, GdmDBusUserVerifierProxyClass))
#define GDM_DBUS_USER_VERIFIER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_PROXY, GdmDBusUserVerifierProxyClass))
#define GDM_DBUS_IS_USER_VERIFIER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_PROXY))
#define GDM_DBUS_IS_USER_VERIFIER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_PROXY))

typedef struct _GdmDBusUserVerifierProxy GdmDBusUserVerifierProxy;
typedef struct _GdmDBusUserVerifierProxyClass GdmDBusUserVerifierProxyClass;
typedef struct _GdmDBusUserVerifierProxyPrivate GdmDBusUserVerifierProxyPrivate;

struct _GdmDBusUserVerifierProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GdmDBusUserVerifierProxyPrivate *priv;
};

struct _GdmDBusUserVerifierProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdm_dbus_user_verifier_proxy_get_type (void) G_GNUC_CONST;

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

void gdm_dbus_user_verifier_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifier *gdm_dbus_user_verifier_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifier *gdm_dbus_user_verifier_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdm_dbus_user_verifier_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifier *gdm_dbus_user_verifier_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifier *gdm_dbus_user_verifier_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_SKELETON (gdm_dbus_user_verifier_skeleton_get_type ())
#define GDM_DBUS_USER_VERIFIER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_SKELETON, GdmDBusUserVerifierSkeleton))
#define GDM_DBUS_USER_VERIFIER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_SKELETON, GdmDBusUserVerifierSkeletonClass))
#define GDM_DBUS_USER_VERIFIER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_SKELETON, GdmDBusUserVerifierSkeletonClass))
#define GDM_DBUS_IS_USER_VERIFIER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_SKELETON))
#define GDM_DBUS_IS_USER_VERIFIER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_SKELETON))

typedef struct _GdmDBusUserVerifierSkeleton GdmDBusUserVerifierSkeleton;
typedef struct _GdmDBusUserVerifierSkeletonClass GdmDBusUserVerifierSkeletonClass;
typedef struct _GdmDBusUserVerifierSkeletonPrivate GdmDBusUserVerifierSkeletonPrivate;

struct _GdmDBusUserVerifierSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GdmDBusUserVerifierSkeletonPrivate *priv;
};

struct _GdmDBusUserVerifierSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdm_dbus_user_verifier_skeleton_get_type (void) G_GNUC_CONST;

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

GdmDBusUserVerifier *gdm_dbus_user_verifier_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.DisplayManager.UserVerifier.ChoiceList */

#define GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST (gdm_dbus_user_verifier_choice_list_get_type ())
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST, GdmDBusUserVerifierChoiceList))
#define GDM_DBUS_IS_USER_VERIFIER_CHOICE_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST))
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST, GdmDBusUserVerifierChoiceListIface))

struct _GdmDBusUserVerifierChoiceList;
typedef struct _GdmDBusUserVerifierChoiceList GdmDBusUserVerifierChoiceList;
typedef struct _GdmDBusUserVerifierChoiceListIface GdmDBusUserVerifierChoiceListIface;

struct _GdmDBusUserVerifierChoiceListIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_select_choice) (
    GdmDBusUserVerifierChoiceList *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_choice);

  void (*choice_query) (
    GdmDBusUserVerifierChoiceList *object,
    const gchar *arg_service_name,
    const gchar *arg_prompt_message,
    GVariant *arg_list);

};

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

GType gdm_dbus_user_verifier_choice_list_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdm_dbus_user_verifier_choice_list_interface_info (void);
guint gdm_dbus_user_verifier_choice_list_override_properties (GObjectClass *klass, guint property_id_begin);


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



/* D-Bus signal emissions functions: */
void gdm_dbus_user_verifier_choice_list_emit_choice_query (
    GdmDBusUserVerifierChoiceList *object,
    const gchar *arg_service_name,
    const gchar *arg_prompt_message,
    GVariant *arg_list);



/* D-Bus method calls: */
void gdm_dbus_user_verifier_choice_list_call_select_choice (
    GdmDBusUserVerifierChoiceList *proxy,
    const gchar *arg_service_name,
    const gchar *arg_choice,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_choice_list_call_select_choice_finish (
    GdmDBusUserVerifierChoiceList *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_choice_list_call_select_choice_sync (
    GdmDBusUserVerifierChoiceList *proxy,
    const gchar *arg_service_name,
    const gchar *arg_choice,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY (gdm_dbus_user_verifier_choice_list_proxy_get_type ())
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY, GdmDBusUserVerifierChoiceListProxy))
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY, GdmDBusUserVerifierChoiceListProxyClass))
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY, GdmDBusUserVerifierChoiceListProxyClass))
#define GDM_DBUS_IS_USER_VERIFIER_CHOICE_LIST_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY))
#define GDM_DBUS_IS_USER_VERIFIER_CHOICE_LIST_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_PROXY))

typedef struct _GdmDBusUserVerifierChoiceListProxy GdmDBusUserVerifierChoiceListProxy;
typedef struct _GdmDBusUserVerifierChoiceListProxyClass GdmDBusUserVerifierChoiceListProxyClass;
typedef struct _GdmDBusUserVerifierChoiceListProxyPrivate GdmDBusUserVerifierChoiceListProxyPrivate;

struct _GdmDBusUserVerifierChoiceListProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GdmDBusUserVerifierChoiceListProxyPrivate *priv;
};

struct _GdmDBusUserVerifierChoiceListProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdm_dbus_user_verifier_choice_list_proxy_get_type (void) G_GNUC_CONST;

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

void gdm_dbus_user_verifier_choice_list_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifierChoiceList *gdm_dbus_user_verifier_choice_list_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifierChoiceList *gdm_dbus_user_verifier_choice_list_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdm_dbus_user_verifier_choice_list_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifierChoiceList *gdm_dbus_user_verifier_choice_list_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifierChoiceList *gdm_dbus_user_verifier_choice_list_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON (gdm_dbus_user_verifier_choice_list_skeleton_get_type ())
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON, GdmDBusUserVerifierChoiceListSkeleton))
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON, GdmDBusUserVerifierChoiceListSkeletonClass))
#define GDM_DBUS_USER_VERIFIER_CHOICE_LIST_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON, GdmDBusUserVerifierChoiceListSkeletonClass))
#define GDM_DBUS_IS_USER_VERIFIER_CHOICE_LIST_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON))
#define GDM_DBUS_IS_USER_VERIFIER_CHOICE_LIST_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_CHOICE_LIST_SKELETON))

typedef struct _GdmDBusUserVerifierChoiceListSkeleton GdmDBusUserVerifierChoiceListSkeleton;
typedef struct _GdmDBusUserVerifierChoiceListSkeletonClass GdmDBusUserVerifierChoiceListSkeletonClass;
typedef struct _GdmDBusUserVerifierChoiceListSkeletonPrivate GdmDBusUserVerifierChoiceListSkeletonPrivate;

struct _GdmDBusUserVerifierChoiceListSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GdmDBusUserVerifierChoiceListSkeletonPrivate *priv;
};

struct _GdmDBusUserVerifierChoiceListSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdm_dbus_user_verifier_choice_list_skeleton_get_type (void) G_GNUC_CONST;

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

GdmDBusUserVerifierChoiceList *gdm_dbus_user_verifier_choice_list_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.DisplayManager.UserVerifier.CustomJSON */

#define GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON (gdm_dbus_user_verifier_custom_json_get_type ())
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON, GdmDBusUserVerifierCustomJSON))
#define GDM_DBUS_IS_USER_VERIFIER_CUSTOM_JSON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON))
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON, GdmDBusUserVerifierCustomJSONIface))

struct _GdmDBusUserVerifierCustomJSON;
typedef struct _GdmDBusUserVerifierCustomJSON GdmDBusUserVerifierCustomJSON;
typedef struct _GdmDBusUserVerifierCustomJSONIface GdmDBusUserVerifierCustomJSONIface;

struct _GdmDBusUserVerifierCustomJSONIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_reply) (
    GdmDBusUserVerifierCustomJSON *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_reply);

  gboolean (*handle_report_error) (
    GdmDBusUserVerifierCustomJSON *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    const gchar *arg_error);

  void (*request) (
    GdmDBusUserVerifierCustomJSON *object,
    const gchar *arg_service_name,
    const gchar *arg_protocol,
    guint arg_version,
    const gchar *arg_request);

};

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

GType gdm_dbus_user_verifier_custom_json_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdm_dbus_user_verifier_custom_json_interface_info (void);
guint gdm_dbus_user_verifier_custom_json_override_properties (GObjectClass *klass, guint property_id_begin);


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

void gdm_dbus_user_verifier_custom_json_complete_report_error (
    GdmDBusUserVerifierCustomJSON *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void gdm_dbus_user_verifier_custom_json_emit_request (
    GdmDBusUserVerifierCustomJSON *object,
    const gchar *arg_service_name,
    const gchar *arg_protocol,
    guint arg_version,
    const gchar *arg_request);



/* D-Bus method calls: */
void gdm_dbus_user_verifier_custom_json_call_reply (
    GdmDBusUserVerifierCustomJSON *proxy,
    const gchar *arg_service_name,
    const gchar *arg_reply,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_custom_json_call_reply_finish (
    GdmDBusUserVerifierCustomJSON *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_custom_json_call_reply_sync (
    GdmDBusUserVerifierCustomJSON *proxy,
    const gchar *arg_service_name,
    const gchar *arg_reply,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_user_verifier_custom_json_call_report_error (
    GdmDBusUserVerifierCustomJSON *proxy,
    const gchar *arg_service_name,
    const gchar *arg_error,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_user_verifier_custom_json_call_report_error_finish (
    GdmDBusUserVerifierCustomJSON *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_user_verifier_custom_json_call_report_error_sync (
    GdmDBusUserVerifierCustomJSON *proxy,
    const gchar *arg_service_name,
    const gchar *arg_error,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY (gdm_dbus_user_verifier_custom_json_proxy_get_type ())
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY, GdmDBusUserVerifierCustomJSONProxy))
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY, GdmDBusUserVerifierCustomJSONProxyClass))
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY, GdmDBusUserVerifierCustomJSONProxyClass))
#define GDM_DBUS_IS_USER_VERIFIER_CUSTOM_JSON_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY))
#define GDM_DBUS_IS_USER_VERIFIER_CUSTOM_JSON_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_PROXY))

typedef struct _GdmDBusUserVerifierCustomJSONProxy GdmDBusUserVerifierCustomJSONProxy;
typedef struct _GdmDBusUserVerifierCustomJSONProxyClass GdmDBusUserVerifierCustomJSONProxyClass;
typedef struct _GdmDBusUserVerifierCustomJSONProxyPrivate GdmDBusUserVerifierCustomJSONProxyPrivate;

struct _GdmDBusUserVerifierCustomJSONProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GdmDBusUserVerifierCustomJSONProxyPrivate *priv;
};

struct _GdmDBusUserVerifierCustomJSONProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdm_dbus_user_verifier_custom_json_proxy_get_type (void) G_GNUC_CONST;

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

void gdm_dbus_user_verifier_custom_json_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifierCustomJSON *gdm_dbus_user_verifier_custom_json_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifierCustomJSON *gdm_dbus_user_verifier_custom_json_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdm_dbus_user_verifier_custom_json_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusUserVerifierCustomJSON *gdm_dbus_user_verifier_custom_json_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusUserVerifierCustomJSON *gdm_dbus_user_verifier_custom_json_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON (gdm_dbus_user_verifier_custom_json_skeleton_get_type ())
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON, GdmDBusUserVerifierCustomJSONSkeleton))
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON, GdmDBusUserVerifierCustomJSONSkeletonClass))
#define GDM_DBUS_USER_VERIFIER_CUSTOM_JSON_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON, GdmDBusUserVerifierCustomJSONSkeletonClass))
#define GDM_DBUS_IS_USER_VERIFIER_CUSTOM_JSON_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON))
#define GDM_DBUS_IS_USER_VERIFIER_CUSTOM_JSON_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_USER_VERIFIER_CUSTOM_JSON_SKELETON))

typedef struct _GdmDBusUserVerifierCustomJSONSkeleton GdmDBusUserVerifierCustomJSONSkeleton;
typedef struct _GdmDBusUserVerifierCustomJSONSkeletonClass GdmDBusUserVerifierCustomJSONSkeletonClass;
typedef struct _GdmDBusUserVerifierCustomJSONSkeletonPrivate GdmDBusUserVerifierCustomJSONSkeletonPrivate;

struct _GdmDBusUserVerifierCustomJSONSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GdmDBusUserVerifierCustomJSONSkeletonPrivate *priv;
};

struct _GdmDBusUserVerifierCustomJSONSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdm_dbus_user_verifier_custom_json_skeleton_get_type (void) G_GNUC_CONST;

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

GdmDBusUserVerifierCustomJSON *gdm_dbus_user_verifier_custom_json_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.DisplayManager.Greeter */

#define GDM_DBUS_TYPE_GREETER (gdm_dbus_greeter_get_type ())
#define GDM_DBUS_GREETER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_GREETER, GdmDBusGreeter))
#define GDM_DBUS_IS_GREETER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_GREETER))
#define GDM_DBUS_GREETER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDM_DBUS_TYPE_GREETER, GdmDBusGreeterIface))

struct _GdmDBusGreeter;
typedef struct _GdmDBusGreeter GdmDBusGreeter;
typedef struct _GdmDBusGreeterIface GdmDBusGreeterIface;

struct _GdmDBusGreeterIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_begin_auto_login) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_username);

  gboolean (*handle_get_timed_login_details) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_select_session) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_session);

  gboolean (*handle_select_user) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_username);

  gboolean (*handle_start_session_when_ready) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_service_name,
    gboolean arg_should_start_session);

  gboolean (*handle_stop_conflicting_session) (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);

  void (*default_language_name_changed) (
    GdmDBusGreeter *object,
    const gchar *arg_language_name);

  void (*default_session_name_changed) (
    GdmDBusGreeter *object,
    const gchar *arg_session_name);

  void (*reauthenticated) (
    GdmDBusGreeter *object,
    const gchar *arg_service_name);

  void (*selected_user_changed) (
    GdmDBusGreeter *object,
    const gchar *arg_username);

  void (*session_opened) (
    GdmDBusGreeter *object,
    const gchar *arg_service_name,
    const gchar *arg_session_id);

  void (*timed_login_requested) (
    GdmDBusGreeter *object,
    const gchar *arg_username,
    gint arg_delay);

};

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

GType gdm_dbus_greeter_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gdm_dbus_greeter_interface_info (void);
guint gdm_dbus_greeter_override_properties (GObjectClass *klass, guint property_id_begin);


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

void gdm_dbus_greeter_complete_select_user (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_greeter_complete_begin_auto_login (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_greeter_complete_get_timed_login_details (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation,
    gboolean enabled,
    const gchar *username,
    gint delay);

void gdm_dbus_greeter_complete_start_session_when_ready (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);

void gdm_dbus_greeter_complete_stop_conflicting_session (
    GdmDBusGreeter *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void gdm_dbus_greeter_emit_selected_user_changed (
    GdmDBusGreeter *object,
    const gchar *arg_username);

void gdm_dbus_greeter_emit_default_language_name_changed (
    GdmDBusGreeter *object,
    const gchar *arg_language_name);

void gdm_dbus_greeter_emit_default_session_name_changed (
    GdmDBusGreeter *object,
    const gchar *arg_session_name);

void gdm_dbus_greeter_emit_timed_login_requested (
    GdmDBusGreeter *object,
    const gchar *arg_username,
    gint arg_delay);

void gdm_dbus_greeter_emit_session_opened (
    GdmDBusGreeter *object,
    const gchar *arg_service_name,
    const gchar *arg_session_id);

void gdm_dbus_greeter_emit_reauthenticated (
    GdmDBusGreeter *object,
    const gchar *arg_service_name);



/* D-Bus method calls: */
void gdm_dbus_greeter_call_select_session (
    GdmDBusGreeter *proxy,
    const gchar *arg_session,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_select_session_finish (
    GdmDBusGreeter *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_select_session_sync (
    GdmDBusGreeter *proxy,
    const gchar *arg_session,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_greeter_call_select_user (
    GdmDBusGreeter *proxy,
    const gchar *arg_username,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_select_user_finish (
    GdmDBusGreeter *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_select_user_sync (
    GdmDBusGreeter *proxy,
    const gchar *arg_username,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_greeter_call_begin_auto_login (
    GdmDBusGreeter *proxy,
    const gchar *arg_username,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_begin_auto_login_finish (
    GdmDBusGreeter *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_begin_auto_login_sync (
    GdmDBusGreeter *proxy,
    const gchar *arg_username,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_greeter_call_get_timed_login_details (
    GdmDBusGreeter *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_get_timed_login_details_finish (
    GdmDBusGreeter *proxy,
    gboolean* out_enabled,
    gchar ** out_username,
    gint* out_delay,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_get_timed_login_details_sync (
    GdmDBusGreeter *proxy,
    gboolean* out_enabled,
    gchar ** out_username,
    gint* out_delay,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_greeter_call_start_session_when_ready (
    GdmDBusGreeter *proxy,
    const gchar *arg_service_name,
    gboolean arg_should_start_session,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_start_session_when_ready_finish (
    GdmDBusGreeter *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_start_session_when_ready_sync (
    GdmDBusGreeter *proxy,
    const gchar *arg_service_name,
    gboolean arg_should_start_session,
    GCancellable *cancellable,
    GError **error);

void gdm_dbus_greeter_call_stop_conflicting_session (
    GdmDBusGreeter *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gdm_dbus_greeter_call_stop_conflicting_session_finish (
    GdmDBusGreeter *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gdm_dbus_greeter_call_stop_conflicting_session_sync (
    GdmDBusGreeter *proxy,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GDM_DBUS_TYPE_GREETER_PROXY (gdm_dbus_greeter_proxy_get_type ())
#define GDM_DBUS_GREETER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_GREETER_PROXY, GdmDBusGreeterProxy))
#define GDM_DBUS_GREETER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_GREETER_PROXY, GdmDBusGreeterProxyClass))
#define GDM_DBUS_GREETER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_GREETER_PROXY, GdmDBusGreeterProxyClass))
#define GDM_DBUS_IS_GREETER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_GREETER_PROXY))
#define GDM_DBUS_IS_GREETER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_GREETER_PROXY))

typedef struct _GdmDBusGreeterProxy GdmDBusGreeterProxy;
typedef struct _GdmDBusGreeterProxyClass GdmDBusGreeterProxyClass;
typedef struct _GdmDBusGreeterProxyPrivate GdmDBusGreeterProxyPrivate;

struct _GdmDBusGreeterProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GdmDBusGreeterProxyPrivate *priv;
};

struct _GdmDBusGreeterProxyClass
{
  GDBusProxyClass parent_class;
};

GType gdm_dbus_greeter_proxy_get_type (void) G_GNUC_CONST;

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

void gdm_dbus_greeter_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusGreeter *gdm_dbus_greeter_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusGreeter *gdm_dbus_greeter_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gdm_dbus_greeter_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GdmDBusGreeter *gdm_dbus_greeter_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GdmDBusGreeter *gdm_dbus_greeter_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GDM_DBUS_TYPE_GREETER_SKELETON (gdm_dbus_greeter_skeleton_get_type ())
#define GDM_DBUS_GREETER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDM_DBUS_TYPE_GREETER_SKELETON, GdmDBusGreeterSkeleton))
#define GDM_DBUS_GREETER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GDM_DBUS_TYPE_GREETER_SKELETON, GdmDBusGreeterSkeletonClass))
#define GDM_DBUS_GREETER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDM_DBUS_TYPE_GREETER_SKELETON, GdmDBusGreeterSkeletonClass))
#define GDM_DBUS_IS_GREETER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDM_DBUS_TYPE_GREETER_SKELETON))
#define GDM_DBUS_IS_GREETER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDM_DBUS_TYPE_GREETER_SKELETON))

typedef struct _GdmDBusGreeterSkeleton GdmDBusGreeterSkeleton;
typedef struct _GdmDBusGreeterSkeletonClass GdmDBusGreeterSkeletonClass;
typedef struct _GdmDBusGreeterSkeletonPrivate GdmDBusGreeterSkeletonPrivate;

struct _GdmDBusGreeterSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GdmDBusGreeterSkeletonPrivate *priv;
};

struct _GdmDBusGreeterSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gdm_dbus_greeter_skeleton_get_type (void) G_GNUC_CONST;

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

GdmDBusGreeter *gdm_dbus_greeter_skeleton_new (void);


G_END_DECLS

#endif /* __GDM_SESSION_GLUE_H__ */
