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

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.Accounts.User */

#define ACCOUNTS_TYPE_USER (accounts_user_get_type ())
#define ACCOUNTS_USER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACCOUNTS_TYPE_USER, AccountsUser))
#define ACCOUNTS_IS_USER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ACCOUNTS_TYPE_USER))
#define ACCOUNTS_USER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), ACCOUNTS_TYPE_USER, AccountsUserIface))

struct _AccountsUser;
typedef struct _AccountsUser AccountsUser;
typedef struct _AccountsUserIface AccountsUserIface;

struct _AccountsUserIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_get_password_expiration_policy) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_set_account_type) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gint arg_accountType);

  gboolean (*handle_set_automatic_login) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_enabled);

  gboolean (*handle_set_email) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_email);

  gboolean (*handle_set_home_directory) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_homedir);

  gboolean (*handle_set_icon_file) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_filename);

  gboolean (*handle_set_language) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_language);

  gboolean (*handle_set_languages) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_languages);

  gboolean (*handle_set_location) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_location);

  gboolean (*handle_set_locked) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_locked);

  gboolean (*handle_set_password) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_password,
    const gchar *arg_hint);

  gboolean (*handle_set_password_expiration_policy) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gint64 arg_min_days_between_changes,
    gint64 arg_max_days_between_changes,
    gint64 arg_days_to_warn,
    gint64 arg_days_after_expiration_until_lock);

  gboolean (*handle_set_password_hint) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_hint);

  gboolean (*handle_set_password_mode) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gint arg_mode);

  gboolean (*handle_set_real_name) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

  gboolean (*handle_set_session) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_session);

  gboolean (*handle_set_session_type) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_session_type);

  gboolean (*handle_set_shell) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_shell);

  gboolean (*handle_set_user_expiration_policy) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gint64 arg_expiration_time);

  gboolean (*handle_set_user_name) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_name);

  gboolean (*handle_set_xsession) (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_x_session);

  gint  (*get_account_type) (AccountsUser *object);

  gboolean  (*get_automatic_login) (AccountsUser *object);

  const gchar * (*get_email) (AccountsUser *object);

  const gchar * (*get_home_directory) (AccountsUser *object);

  const gchar * (*get_icon_file) (AccountsUser *object);

  const gchar * (*get_language) (AccountsUser *object);

  const gchar *const * (*get_languages) (AccountsUser *object);

  gboolean  (*get_local_account) (AccountsUser *object);

  const gchar * (*get_location) (AccountsUser *object);

  gboolean  (*get_locked) (AccountsUser *object);

  guint64  (*get_login_frequency) (AccountsUser *object);

  GVariant * (*get_login_history) (AccountsUser *object);

  gint64  (*get_login_time) (AccountsUser *object);

  const gchar * (*get_password_hint) (AccountsUser *object);

  gint  (*get_password_mode) (AccountsUser *object);

  const gchar * (*get_real_name) (AccountsUser *object);

  gboolean  (*get_saved) (AccountsUser *object);

  const gchar * (*get_session) (AccountsUser *object);

  const gchar * (*get_session_type) (AccountsUser *object);

  const gchar * (*get_shell) (AccountsUser *object);

  gboolean  (*get_system_account) (AccountsUser *object);

  guint64  (*get_uid) (AccountsUser *object);

  const gchar * (*get_user_name) (AccountsUser *object);

  gboolean  (*get_uses_homed) (AccountsUser *object);

  const gchar * (*get_xsession) (AccountsUser *object);

  void (*changed) (
    AccountsUser *object);

};

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

GType accounts_user_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *accounts_user_interface_info (void);
guint accounts_user_override_properties (GObjectClass *klass, guint property_id_begin);


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

void accounts_user_complete_set_real_name (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_email (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_language (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_languages (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_xsession (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_session (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_session_type (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_location (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_home_directory (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_shell (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_icon_file (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_locked (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_account_type (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_password_mode (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_password (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_password_hint (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_automatic_login (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_get_password_expiration_policy (
    AccountsUser *object,
    GDBusMethodInvocation *invocation,
    gint64 expiration_time,
    gint64 last_change_time,
    gint64 min_days_between_changes,
    gint64 max_days_between_changes,
    gint64 days_to_warn,
    gint64 days_after_expiration_until_lock);

void accounts_user_complete_set_password_expiration_policy (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);

void accounts_user_complete_set_user_expiration_policy (
    AccountsUser *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void accounts_user_emit_changed (
    AccountsUser *object);



/* D-Bus method calls: */
void accounts_user_call_set_user_name (
    AccountsUser *proxy,
    const gchar *arg_name,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_user_name_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_user_name_sync (
    AccountsUser *proxy,
    const gchar *arg_name,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_real_name (
    AccountsUser *proxy,
    const gchar *arg_name,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_real_name_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_real_name_sync (
    AccountsUser *proxy,
    const gchar *arg_name,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_email (
    AccountsUser *proxy,
    const gchar *arg_email,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_email_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_email_sync (
    AccountsUser *proxy,
    const gchar *arg_email,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_language (
    AccountsUser *proxy,
    const gchar *arg_language,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_language_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_language_sync (
    AccountsUser *proxy,
    const gchar *arg_language,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_languages (
    AccountsUser *proxy,
    const gchar *const *arg_languages,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_languages_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_languages_sync (
    AccountsUser *proxy,
    const gchar *const *arg_languages,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_xsession (
    AccountsUser *proxy,
    const gchar *arg_x_session,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_xsession_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_xsession_sync (
    AccountsUser *proxy,
    const gchar *arg_x_session,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_session (
    AccountsUser *proxy,
    const gchar *arg_session,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_session_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_session_sync (
    AccountsUser *proxy,
    const gchar *arg_session,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_session_type (
    AccountsUser *proxy,
    const gchar *arg_session_type,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_session_type_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_session_type_sync (
    AccountsUser *proxy,
    const gchar *arg_session_type,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_location (
    AccountsUser *proxy,
    const gchar *arg_location,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_location_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_location_sync (
    AccountsUser *proxy,
    const gchar *arg_location,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_home_directory (
    AccountsUser *proxy,
    const gchar *arg_homedir,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_home_directory_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_home_directory_sync (
    AccountsUser *proxy,
    const gchar *arg_homedir,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_shell (
    AccountsUser *proxy,
    const gchar *arg_shell,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_shell_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_shell_sync (
    AccountsUser *proxy,
    const gchar *arg_shell,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_icon_file (
    AccountsUser *proxy,
    const gchar *arg_filename,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_icon_file_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_icon_file_sync (
    AccountsUser *proxy,
    const gchar *arg_filename,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_locked (
    AccountsUser *proxy,
    gboolean arg_locked,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_locked_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_locked_sync (
    AccountsUser *proxy,
    gboolean arg_locked,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_account_type (
    AccountsUser *proxy,
    gint arg_accountType,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_account_type_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_account_type_sync (
    AccountsUser *proxy,
    gint arg_accountType,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_password_mode (
    AccountsUser *proxy,
    gint arg_mode,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_password_mode_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_password_mode_sync (
    AccountsUser *proxy,
    gint arg_mode,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_password (
    AccountsUser *proxy,
    const gchar *arg_password,
    const gchar *arg_hint,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_password_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_password_sync (
    AccountsUser *proxy,
    const gchar *arg_password,
    const gchar *arg_hint,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_password_hint (
    AccountsUser *proxy,
    const gchar *arg_hint,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_password_hint_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_password_hint_sync (
    AccountsUser *proxy,
    const gchar *arg_hint,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_automatic_login (
    AccountsUser *proxy,
    gboolean arg_enabled,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_automatic_login_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_automatic_login_sync (
    AccountsUser *proxy,
    gboolean arg_enabled,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_get_password_expiration_policy (
    AccountsUser *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_get_password_expiration_policy_finish (
    AccountsUser *proxy,
    gint64* out_expiration_time,
    gint64* out_last_change_time,
    gint64* out_min_days_between_changes,
    gint64* out_max_days_between_changes,
    gint64* out_days_to_warn,
    gint64* out_days_after_expiration_until_lock,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_get_password_expiration_policy_sync (
    AccountsUser *proxy,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    gint64* out_expiration_time,
    gint64* out_last_change_time,
    gint64* out_min_days_between_changes,
    gint64* out_max_days_between_changes,
    gint64* out_days_to_warn,
    gint64* out_days_after_expiration_until_lock,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_password_expiration_policy (
    AccountsUser *proxy,
    gint64 arg_min_days_between_changes,
    gint64 arg_max_days_between_changes,
    gint64 arg_days_to_warn,
    gint64 arg_days_after_expiration_until_lock,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_password_expiration_policy_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_password_expiration_policy_sync (
    AccountsUser *proxy,
    gint64 arg_min_days_between_changes,
    gint64 arg_max_days_between_changes,
    gint64 arg_days_to_warn,
    gint64 arg_days_after_expiration_until_lock,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);

void accounts_user_call_set_user_expiration_policy (
    AccountsUser *proxy,
    gint64 arg_expiration_time,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean accounts_user_call_set_user_expiration_policy_finish (
    AccountsUser *proxy,
    GAsyncResult *res,
    GError **error);

gboolean accounts_user_call_set_user_expiration_policy_sync (
    AccountsUser *proxy,
    gint64 arg_expiration_time,
    GDBusCallFlags call_flags,
    gint timeout_msec,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
guint64 accounts_user_get_uid (AccountsUser *object);
void accounts_user_set_uid (AccountsUser *object, guint64 value);

const gchar *accounts_user_get_user_name (AccountsUser *object);
gchar *accounts_user_dup_user_name (AccountsUser *object);
void accounts_user_set_user_name (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_real_name (AccountsUser *object);
gchar *accounts_user_dup_real_name (AccountsUser *object);
void accounts_user_set_real_name (AccountsUser *object, const gchar *value);

gint accounts_user_get_account_type (AccountsUser *object);
void accounts_user_set_account_type (AccountsUser *object, gint value);

const gchar *accounts_user_get_home_directory (AccountsUser *object);
gchar *accounts_user_dup_home_directory (AccountsUser *object);
void accounts_user_set_home_directory (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_shell (AccountsUser *object);
gchar *accounts_user_dup_shell (AccountsUser *object);
void accounts_user_set_shell (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_email (AccountsUser *object);
gchar *accounts_user_dup_email (AccountsUser *object);
void accounts_user_set_email (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_language (AccountsUser *object);
gchar *accounts_user_dup_language (AccountsUser *object);
void accounts_user_set_language (AccountsUser *object, const gchar *value);

const gchar *const *accounts_user_get_languages (AccountsUser *object);
gchar **accounts_user_dup_languages (AccountsUser *object);
void accounts_user_set_languages (AccountsUser *object, const gchar *const *value);

const gchar *accounts_user_get_session (AccountsUser *object);
gchar *accounts_user_dup_session (AccountsUser *object);
void accounts_user_set_session (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_session_type (AccountsUser *object);
gchar *accounts_user_dup_session_type (AccountsUser *object);
void accounts_user_set_session_type (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_xsession (AccountsUser *object);
gchar *accounts_user_dup_xsession (AccountsUser *object);
void accounts_user_set_xsession (AccountsUser *object, const gchar *value);

const gchar *accounts_user_get_location (AccountsUser *object);
gchar *accounts_user_dup_location (AccountsUser *object);
void accounts_user_set_location (AccountsUser *object, const gchar *value);

guint64 accounts_user_get_login_frequency (AccountsUser *object);
void accounts_user_set_login_frequency (AccountsUser *object, guint64 value);

gint64 accounts_user_get_login_time (AccountsUser *object);
void accounts_user_set_login_time (AccountsUser *object, gint64 value);

GVariant *accounts_user_get_login_history (AccountsUser *object);
GVariant *accounts_user_dup_login_history (AccountsUser *object);
void accounts_user_set_login_history (AccountsUser *object, GVariant *value);

const gchar *accounts_user_get_icon_file (AccountsUser *object);
gchar *accounts_user_dup_icon_file (AccountsUser *object);
void accounts_user_set_icon_file (AccountsUser *object, const gchar *value);

gboolean accounts_user_get_saved (AccountsUser *object);
void accounts_user_set_saved (AccountsUser *object, gboolean value);

gboolean accounts_user_get_locked (AccountsUser *object);
void accounts_user_set_locked (AccountsUser *object, gboolean value);

gint accounts_user_get_password_mode (AccountsUser *object);
void accounts_user_set_password_mode (AccountsUser *object, gint value);

const gchar *accounts_user_get_password_hint (AccountsUser *object);
gchar *accounts_user_dup_password_hint (AccountsUser *object);
void accounts_user_set_password_hint (AccountsUser *object, const gchar *value);

gboolean accounts_user_get_automatic_login (AccountsUser *object);
void accounts_user_set_automatic_login (AccountsUser *object, gboolean value);

gboolean accounts_user_get_system_account (AccountsUser *object);
void accounts_user_set_system_account (AccountsUser *object, gboolean value);

gboolean accounts_user_get_local_account (AccountsUser *object);
void accounts_user_set_local_account (AccountsUser *object, gboolean value);

gboolean accounts_user_get_uses_homed (AccountsUser *object);
void accounts_user_set_uses_homed (AccountsUser *object, gboolean value);


/* ---- */

#define ACCOUNTS_TYPE_USER_PROXY (accounts_user_proxy_get_type ())
#define ACCOUNTS_USER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACCOUNTS_TYPE_USER_PROXY, AccountsUserProxy))
#define ACCOUNTS_USER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), ACCOUNTS_TYPE_USER_PROXY, AccountsUserProxyClass))
#define ACCOUNTS_USER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ACCOUNTS_TYPE_USER_PROXY, AccountsUserProxyClass))
#define ACCOUNTS_IS_USER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ACCOUNTS_TYPE_USER_PROXY))
#define ACCOUNTS_IS_USER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ACCOUNTS_TYPE_USER_PROXY))

typedef struct _AccountsUserProxy AccountsUserProxy;
typedef struct _AccountsUserProxyClass AccountsUserProxyClass;
typedef struct _AccountsUserProxyPrivate AccountsUserProxyPrivate;

struct _AccountsUserProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  AccountsUserProxyPrivate *priv;
};

struct _AccountsUserProxyClass
{
  GDBusProxyClass parent_class;
};

GType accounts_user_proxy_get_type (void) G_GNUC_CONST;

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

void accounts_user_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AccountsUser *accounts_user_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
AccountsUser *accounts_user_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void accounts_user_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
AccountsUser *accounts_user_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
AccountsUser *accounts_user_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define ACCOUNTS_TYPE_USER_SKELETON (accounts_user_skeleton_get_type ())
#define ACCOUNTS_USER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACCOUNTS_TYPE_USER_SKELETON, AccountsUserSkeleton))
#define ACCOUNTS_USER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), ACCOUNTS_TYPE_USER_SKELETON, AccountsUserSkeletonClass))
#define ACCOUNTS_USER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), ACCOUNTS_TYPE_USER_SKELETON, AccountsUserSkeletonClass))
#define ACCOUNTS_IS_USER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), ACCOUNTS_TYPE_USER_SKELETON))
#define ACCOUNTS_IS_USER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ACCOUNTS_TYPE_USER_SKELETON))

typedef struct _AccountsUserSkeleton AccountsUserSkeleton;
typedef struct _AccountsUserSkeletonClass AccountsUserSkeletonClass;
typedef struct _AccountsUserSkeletonPrivate AccountsUserSkeletonPrivate;

struct _AccountsUserSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  AccountsUserSkeletonPrivate *priv;
};

struct _AccountsUserSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType accounts_user_skeleton_get_type (void) G_GNUC_CONST;

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

AccountsUser *accounts_user_skeleton_new (void);


G_END_DECLS

#endif /* __ACCOUNTS_USER_GENERATED_H__ */
