/*
 * Generated by gdbus-codegen 2.56.0. DO NOT EDIT.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from.
 */

#ifndef __LOGIND_SESSION_H__
#define __LOGIND_SESSION_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.login1.Session */

#define LOGIND_TYPE_SESSION (logind_session_get_type ())
#define LOGIND_SESSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_SESSION, LogindSession))
#define LOGIND_IS_SESSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_SESSION))
#define LOGIND_SESSION_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), LOGIND_TYPE_SESSION, LogindSessionIface))

struct _LogindSession;
typedef struct _LogindSession LogindSession;
typedef struct _LogindSessionIface LogindSessionIface;

struct _LogindSessionIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_activate) (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_kill) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_unnamed_arg0,
    gint arg_unnamed_arg1);

  gboolean (*handle_lock) (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_pause_device_complete) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1);

  gboolean (*handle_release_control) (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_release_device) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1);

  gboolean (*handle_set_idle_hint) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_unnamed_arg0);

  gboolean (*handle_set_locked_hint) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_unnamed_arg0);

  gboolean (*handle_take_control) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    gboolean arg_unnamed_arg0);

  gboolean (*handle_take_device) (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1);

  gboolean (*handle_terminate) (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_unlock) (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

  gboolean  (*get_active) (LogindSession *object);

  guint  (*get_audit) (LogindSession *object);

  const gchar * (*get_class) (LogindSession *object);

  const gchar * (*get_desktop) (LogindSession *object);

  const gchar * (*get_display) (LogindSession *object);

  const gchar * (*get_id) (LogindSession *object);

  gboolean  (*get_idle_hint) (LogindSession *object);

  guint64  (*get_idle_since_hint) (LogindSession *object);

  guint64  (*get_idle_since_hint_monotonic) (LogindSession *object);

  guint  (*get_leader) (LogindSession *object);

  gboolean  (*get_locked_hint) (LogindSession *object);

  const gchar * (*get_name) (LogindSession *object);

  gboolean  (*get_remote) (LogindSession *object);

  const gchar * (*get_remote_host) (LogindSession *object);

  const gchar * (*get_remote_user) (LogindSession *object);

  const gchar * (*get_scope) (LogindSession *object);

  GVariant * (*get_seat) (LogindSession *object);

  const gchar * (*get_service) (LogindSession *object);

  const gchar * (*get_state) (LogindSession *object);

  guint64  (*get_timestamp) (LogindSession *object);

  guint64  (*get_timestamp_monotonic) (LogindSession *object);

  const gchar * (*get_tty) (LogindSession *object);

  const gchar * (*get_type_) (LogindSession *object);

  GVariant * (*get_user) (LogindSession *object);

  guint  (*get_vtnr) (LogindSession *object);

  void (*lock) (
    LogindSession *object);

  void (*pause_device) (
    LogindSession *object,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    const gchar *arg_unnamed_arg2);

  void (*resume_device) (
    LogindSession *object,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GVariant *arg_unnamed_arg2);

  void (*unlock) (
    LogindSession *object);

};

GType logind_session_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *logind_session_interface_info (void);
guint logind_session_override_properties (GObjectClass *klass, guint property_id_begin);


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

void logind_session_complete_activate (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_lock (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_unlock (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_set_idle_hint (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_set_locked_hint (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_kill (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_take_control (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_release_control (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_take_device (
    LogindSession *object,
    GDBusMethodInvocation *invocation,
    GVariant *unnamed_arg2,
    gboolean unnamed_arg3);

void logind_session_complete_release_device (
    LogindSession *object,
    GDBusMethodInvocation *invocation);

void logind_session_complete_pause_device_complete (
    LogindSession *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void logind_session_emit_pause_device (
    LogindSession *object,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    const gchar *arg_unnamed_arg2);

void logind_session_emit_resume_device (
    LogindSession *object,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GVariant *arg_unnamed_arg2);

void logind_session_emit_lock (
    LogindSession *object);

void logind_session_emit_unlock (
    LogindSession *object);



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

gboolean logind_session_call_terminate_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_terminate_sync (
    LogindSession *proxy,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_activate (
    LogindSession *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_activate_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_activate_sync (
    LogindSession *proxy,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_lock (
    LogindSession *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_lock_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_lock_sync (
    LogindSession *proxy,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_unlock (
    LogindSession *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_unlock_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_unlock_sync (
    LogindSession *proxy,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_set_idle_hint (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_set_idle_hint_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_set_idle_hint_sync (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_set_locked_hint (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_set_locked_hint_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_set_locked_hint_sync (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_kill (
    LogindSession *proxy,
    const gchar *arg_unnamed_arg0,
    gint arg_unnamed_arg1,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_kill_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_kill_sync (
    LogindSession *proxy,
    const gchar *arg_unnamed_arg0,
    gint arg_unnamed_arg1,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_take_control (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_take_control_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_take_control_sync (
    LogindSession *proxy,
    gboolean arg_unnamed_arg0,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_release_control (
    LogindSession *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_release_control_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_release_control_sync (
    LogindSession *proxy,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_take_device (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_take_device_finish (
    LogindSession *proxy,
    GVariant **out_unnamed_arg2,
    gboolean *out_unnamed_arg3,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_take_device_sync (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GVariant **out_unnamed_arg2,
    gboolean *out_unnamed_arg3,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_release_device (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_release_device_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_release_device_sync (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GCancellable *cancellable,
    GError **error);

void logind_session_call_pause_device_complete (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean logind_session_call_pause_device_complete_finish (
    LogindSession *proxy,
    GAsyncResult *res,
    GError **error);

gboolean logind_session_call_pause_device_complete_sync (
    LogindSession *proxy,
    guint arg_unnamed_arg0,
    guint arg_unnamed_arg1,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *logind_session_get_id (LogindSession *object);
gchar *logind_session_dup_id (LogindSession *object);
void logind_session_set_id (LogindSession *object, const gchar *value);

GVariant *logind_session_get_user (LogindSession *object);
GVariant *logind_session_dup_user (LogindSession *object);
void logind_session_set_user (LogindSession *object, GVariant *value);

const gchar *logind_session_get_name (LogindSession *object);
gchar *logind_session_dup_name (LogindSession *object);
void logind_session_set_name (LogindSession *object, const gchar *value);

guint64 logind_session_get_timestamp (LogindSession *object);
void logind_session_set_timestamp (LogindSession *object, guint64 value);

guint64 logind_session_get_timestamp_monotonic (LogindSession *object);
void logind_session_set_timestamp_monotonic (LogindSession *object, guint64 value);

guint logind_session_get_vtnr (LogindSession *object);
void logind_session_set_vtnr (LogindSession *object, guint value);

GVariant *logind_session_get_seat (LogindSession *object);
GVariant *logind_session_dup_seat (LogindSession *object);
void logind_session_set_seat (LogindSession *object, GVariant *value);

const gchar *logind_session_get_tty (LogindSession *object);
gchar *logind_session_dup_tty (LogindSession *object);
void logind_session_set_tty (LogindSession *object, const gchar *value);

const gchar *logind_session_get_display (LogindSession *object);
gchar *logind_session_dup_display (LogindSession *object);
void logind_session_set_display (LogindSession *object, const gchar *value);

gboolean logind_session_get_remote (LogindSession *object);
void logind_session_set_remote (LogindSession *object, gboolean value);

const gchar *logind_session_get_remote_host (LogindSession *object);
gchar *logind_session_dup_remote_host (LogindSession *object);
void logind_session_set_remote_host (LogindSession *object, const gchar *value);

const gchar *logind_session_get_remote_user (LogindSession *object);
gchar *logind_session_dup_remote_user (LogindSession *object);
void logind_session_set_remote_user (LogindSession *object, const gchar *value);

const gchar *logind_session_get_service (LogindSession *object);
gchar *logind_session_dup_service (LogindSession *object);
void logind_session_set_service (LogindSession *object, const gchar *value);

const gchar *logind_session_get_desktop (LogindSession *object);
gchar *logind_session_dup_desktop (LogindSession *object);
void logind_session_set_desktop (LogindSession *object, const gchar *value);

const gchar *logind_session_get_scope (LogindSession *object);
gchar *logind_session_dup_scope (LogindSession *object);
void logind_session_set_scope (LogindSession *object, const gchar *value);

guint logind_session_get_leader (LogindSession *object);
void logind_session_set_leader (LogindSession *object, guint value);

guint logind_session_get_audit (LogindSession *object);
void logind_session_set_audit (LogindSession *object, guint value);

const gchar *logind_session_get_type_ (LogindSession *object);
gchar *logind_session_dup_type_ (LogindSession *object);
void logind_session_set_type_ (LogindSession *object, const gchar *value);

const gchar *logind_session_get_class (LogindSession *object);
gchar *logind_session_dup_class (LogindSession *object);
void logind_session_set_class (LogindSession *object, const gchar *value);

gboolean logind_session_get_active (LogindSession *object);
void logind_session_set_active (LogindSession *object, gboolean value);

const gchar *logind_session_get_state (LogindSession *object);
gchar *logind_session_dup_state (LogindSession *object);
void logind_session_set_state (LogindSession *object, const gchar *value);

gboolean logind_session_get_idle_hint (LogindSession *object);
void logind_session_set_idle_hint (LogindSession *object, gboolean value);

guint64 logind_session_get_idle_since_hint (LogindSession *object);
void logind_session_set_idle_since_hint (LogindSession *object, guint64 value);

guint64 logind_session_get_idle_since_hint_monotonic (LogindSession *object);
void logind_session_set_idle_since_hint_monotonic (LogindSession *object, guint64 value);

gboolean logind_session_get_locked_hint (LogindSession *object);
void logind_session_set_locked_hint (LogindSession *object, gboolean value);


/* ---- */

#define LOGIND_TYPE_SESSION_PROXY (logind_session_proxy_get_type ())
#define LOGIND_SESSION_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_SESSION_PROXY, LogindSessionProxy))
#define LOGIND_SESSION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOGIND_TYPE_SESSION_PROXY, LogindSessionProxyClass))
#define LOGIND_SESSION_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOGIND_TYPE_SESSION_PROXY, LogindSessionProxyClass))
#define LOGIND_IS_SESSION_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_SESSION_PROXY))
#define LOGIND_IS_SESSION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIND_TYPE_SESSION_PROXY))

typedef struct _LogindSessionProxy LogindSessionProxy;
typedef struct _LogindSessionProxyClass LogindSessionProxyClass;
typedef struct _LogindSessionProxyPrivate LogindSessionProxyPrivate;

struct _LogindSessionProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  LogindSessionProxyPrivate *priv;
};

struct _LogindSessionProxyClass
{
  GDBusProxyClass parent_class;
};

GType logind_session_proxy_get_type (void) G_GNUC_CONST;

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

void logind_session_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
LogindSession *logind_session_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
LogindSession *logind_session_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void logind_session_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
LogindSession *logind_session_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
LogindSession *logind_session_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define LOGIND_TYPE_SESSION_SKELETON (logind_session_skeleton_get_type ())
#define LOGIND_SESSION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), LOGIND_TYPE_SESSION_SKELETON, LogindSessionSkeleton))
#define LOGIND_SESSION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), LOGIND_TYPE_SESSION_SKELETON, LogindSessionSkeletonClass))
#define LOGIND_SESSION_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LOGIND_TYPE_SESSION_SKELETON, LogindSessionSkeletonClass))
#define LOGIND_IS_SESSION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LOGIND_TYPE_SESSION_SKELETON))
#define LOGIND_IS_SESSION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), LOGIND_TYPE_SESSION_SKELETON))

typedef struct _LogindSessionSkeleton LogindSessionSkeleton;
typedef struct _LogindSessionSkeletonClass LogindSessionSkeletonClass;
typedef struct _LogindSessionSkeletonPrivate LogindSessionSkeletonPrivate;

struct _LogindSessionSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  LogindSessionSkeletonPrivate *priv;
};

struct _LogindSessionSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType logind_session_skeleton_get_type (void) G_GNUC_CONST;

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

LogindSession *logind_session_skeleton_new (void);


G_END_DECLS

#endif /* __LOGIND_SESSION_H__ */
