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

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP (grd_dbus_remote_desktop_org_gnome_remote_desktop_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP, GrdDBusRemoteDesktopOrgGnomeRemoteDesktop))
#define GRD_DBUS_REMOTE_DESKTOP_IS_ORG_GNOME_REMOTE_DESKTOP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP))
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopIface))

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktop;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktop GrdDBusRemoteDesktopOrgGnomeRemoteDesktop;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopIface GrdDBusRemoteDesktopOrgGnomeRemoteDesktopIface;

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopIface
{
  GTypeInterface parent_iface;

  const gchar * (*get_runtime_mode) (GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *object);

};

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

GType grd_dbus_remote_desktop_org_gnome_remote_desktop_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_org_gnome_remote_desktop_interface_info (void);
guint grd_dbus_remote_desktop_org_gnome_remote_desktop_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus property accessors: */
const gchar *grd_dbus_remote_desktop_org_gnome_remote_desktop_get_runtime_mode (GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *object);
gchar *grd_dbus_remote_desktop_org_gnome_remote_desktop_dup_runtime_mode (GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *object);
void grd_dbus_remote_desktop_org_gnome_remote_desktop_set_runtime_mode (GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *object, const gchar *value);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY (grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxy))
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_ORG_GNOME_REMOTE_DESKTOP_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_ORG_GNOME_REMOTE_DESKTOP_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_PROXY))

typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxy GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxy;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyClass GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyClass;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyPrivate GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyPrivate;

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_org_gnome_remote_desktop_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON (grd_dbus_remote_desktop_org_gnome_remote_desktop_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_ORG_GNOME_REMOTE_DESKTOP_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON, GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_ORG_GNOME_REMOTE_DESKTOP_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_ORG_GNOME_REMOTE_DESKTOP_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_ORG_GNOME_REMOTE_DESKTOP_SKELETON))

typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeleton GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeleton;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonClass GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonClass;
typedef struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonPrivate GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonPrivate;

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopOrgGnomeRemoteDesktopSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_org_gnome_remote_desktop_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_org_gnome_remote_desktop_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop.Rdp.Server */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER (grd_dbus_remote_desktop_rdp_server_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER, GrdDBusRemoteDesktopRdpServer))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER, GrdDBusRemoteDesktopRdpServerIface))

struct _GrdDBusRemoteDesktopRdpServer;
typedef struct _GrdDBusRemoteDesktopRdpServer GrdDBusRemoteDesktopRdpServer;
typedef struct _GrdDBusRemoteDesktopRdpServerIface GrdDBusRemoteDesktopRdpServerIface;

struct _GrdDBusRemoteDesktopRdpServerIface
{
  GTypeInterface parent_iface;


  guint  (*get_auth_methods) (GrdDBusRemoteDesktopRdpServer *object);

  gboolean  (*get_enabled) (GrdDBusRemoteDesktopRdpServer *object);

  const gchar * (*get_kerberos_keytab) (GrdDBusRemoteDesktopRdpServer *object);

  gboolean  (*get_negotiate_port) (GrdDBusRemoteDesktopRdpServer *object);

  gint  (*get_port) (GrdDBusRemoteDesktopRdpServer *object);

  const gchar * (*get_tls_cert) (GrdDBusRemoteDesktopRdpServer *object);

  const gchar * (*get_tls_fingerprint) (GrdDBusRemoteDesktopRdpServer *object);

  const gchar * (*get_tls_key) (GrdDBusRemoteDesktopRdpServer *object);

  gboolean  (*get_view_only) (GrdDBusRemoteDesktopRdpServer *object);

  void (*binding) (
    GrdDBusRemoteDesktopRdpServer *object,
    gint arg_port);

  void (*new_connection) (
    GrdDBusRemoteDesktopRdpServer *object);

};

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

GType grd_dbus_remote_desktop_rdp_server_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_rdp_server_interface_info (void);
guint grd_dbus_remote_desktop_rdp_server_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus signal emissions functions: */
void grd_dbus_remote_desktop_rdp_server_emit_binding (
    GrdDBusRemoteDesktopRdpServer *object,
    gint arg_port);

void grd_dbus_remote_desktop_rdp_server_emit_new_connection (
    GrdDBusRemoteDesktopRdpServer *object);



/* D-Bus property accessors: */
gboolean grd_dbus_remote_desktop_rdp_server_get_enabled (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_enabled (GrdDBusRemoteDesktopRdpServer *object, gboolean value);

gint grd_dbus_remote_desktop_rdp_server_get_port (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_port (GrdDBusRemoteDesktopRdpServer *object, gint value);

gboolean grd_dbus_remote_desktop_rdp_server_get_negotiate_port (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_negotiate_port (GrdDBusRemoteDesktopRdpServer *object, gboolean value);

const gchar *grd_dbus_remote_desktop_rdp_server_get_tls_cert (GrdDBusRemoteDesktopRdpServer *object);
gchar *grd_dbus_remote_desktop_rdp_server_dup_tls_cert (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_tls_cert (GrdDBusRemoteDesktopRdpServer *object, const gchar *value);

const gchar *grd_dbus_remote_desktop_rdp_server_get_tls_fingerprint (GrdDBusRemoteDesktopRdpServer *object);
gchar *grd_dbus_remote_desktop_rdp_server_dup_tls_fingerprint (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_tls_fingerprint (GrdDBusRemoteDesktopRdpServer *object, const gchar *value);

const gchar *grd_dbus_remote_desktop_rdp_server_get_tls_key (GrdDBusRemoteDesktopRdpServer *object);
gchar *grd_dbus_remote_desktop_rdp_server_dup_tls_key (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_tls_key (GrdDBusRemoteDesktopRdpServer *object, const gchar *value);

guint grd_dbus_remote_desktop_rdp_server_get_auth_methods (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_auth_methods (GrdDBusRemoteDesktopRdpServer *object, guint value);

const gchar *grd_dbus_remote_desktop_rdp_server_get_kerberos_keytab (GrdDBusRemoteDesktopRdpServer *object);
gchar *grd_dbus_remote_desktop_rdp_server_dup_kerberos_keytab (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_kerberos_keytab (GrdDBusRemoteDesktopRdpServer *object, const gchar *value);

gboolean grd_dbus_remote_desktop_rdp_server_get_view_only (GrdDBusRemoteDesktopRdpServer *object);
void grd_dbus_remote_desktop_rdp_server_set_view_only (GrdDBusRemoteDesktopRdpServer *object, gboolean value);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY (grd_dbus_remote_desktop_rdp_server_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY, GrdDBusRemoteDesktopRdpServerProxy))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY, GrdDBusRemoteDesktopRdpServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY, GrdDBusRemoteDesktopRdpServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_PROXY))

typedef struct _GrdDBusRemoteDesktopRdpServerProxy GrdDBusRemoteDesktopRdpServerProxy;
typedef struct _GrdDBusRemoteDesktopRdpServerProxyClass GrdDBusRemoteDesktopRdpServerProxyClass;
typedef struct _GrdDBusRemoteDesktopRdpServerProxyPrivate GrdDBusRemoteDesktopRdpServerProxyPrivate;

struct _GrdDBusRemoteDesktopRdpServerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopRdpServerProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpServerProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_server_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_rdp_server_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_rdp_server_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_rdp_server_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_rdp_server_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_rdp_server_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_rdp_server_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON (grd_dbus_remote_desktop_rdp_server_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopRdpServerSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopRdpServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_SERVER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopRdpServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_SERVER_SKELETON))

typedef struct _GrdDBusRemoteDesktopRdpServerSkeleton GrdDBusRemoteDesktopRdpServerSkeleton;
typedef struct _GrdDBusRemoteDesktopRdpServerSkeletonClass GrdDBusRemoteDesktopRdpServerSkeletonClass;
typedef struct _GrdDBusRemoteDesktopRdpServerSkeletonPrivate GrdDBusRemoteDesktopRdpServerSkeletonPrivate;

struct _GrdDBusRemoteDesktopRdpServerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopRdpServerSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpServerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_server_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_rdp_server_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop.Configuration.Rdp.Server */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER (grd_dbus_remote_desktop_configuration_rdp_server_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER, GrdDBusRemoteDesktopConfigurationRdpServer))
#define GRD_DBUS_REMOTE_DESKTOP_IS_CONFIGURATION_RDP_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER))
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER, GrdDBusRemoteDesktopConfigurationRdpServerIface))

struct _GrdDBusRemoteDesktopConfigurationRdpServer;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServer GrdDBusRemoteDesktopConfigurationRdpServer;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerIface GrdDBusRemoteDesktopConfigurationRdpServerIface;

struct _GrdDBusRemoteDesktopConfigurationRdpServerIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_disable) (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_enable) (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_credentials) (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_import_certificate) (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    GVariant *arg_Certificate,
    GVariant *arg_PrivateKey);

  gboolean (*handle_set_credentials) (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation,
    GVariant *arg_credentials);

  guint  (*get_auth_methods) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  gboolean  (*get_enabled) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  const gchar * (*get_kerberos_keytab) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  gint  (*get_port) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  const gchar * (*get_tls_cert) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  const gchar * (*get_tls_fingerprint) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

  const gchar * (*get_tls_key) (GrdDBusRemoteDesktopConfigurationRdpServer *object);

};

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

GType grd_dbus_remote_desktop_configuration_rdp_server_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_configuration_rdp_server_interface_info (void);
guint grd_dbus_remote_desktop_configuration_rdp_server_override_properties (GObjectClass *klass, guint property_id_begin);


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

void grd_dbus_remote_desktop_configuration_rdp_server_complete_disable (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation);

void grd_dbus_remote_desktop_configuration_rdp_server_complete_get_credentials (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation,
    GVariant *credentials);

void grd_dbus_remote_desktop_configuration_rdp_server_complete_set_credentials (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation);

void grd_dbus_remote_desktop_configuration_rdp_server_complete_import_certificate (
    GrdDBusRemoteDesktopConfigurationRdpServer *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list);



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

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_enable_finish (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_enable_sync (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_configuration_rdp_server_call_disable (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_disable_finish (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_disable_sync (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_configuration_rdp_server_call_get_credentials (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_get_credentials_finish (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant ** out_credentials,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_get_credentials_sync (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant ** out_credentials,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_configuration_rdp_server_call_set_credentials (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant *arg_credentials,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_set_credentials_finish (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_set_credentials_sync (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant *arg_credentials,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_configuration_rdp_server_call_import_certificate (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant *arg_Certificate,
    GVariant *arg_PrivateKey,
    GUnixFDList *fd_list,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_import_certificate_finish (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GUnixFDList **out_fd_list,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_configuration_rdp_server_call_import_certificate_sync (
    GrdDBusRemoteDesktopConfigurationRdpServer *proxy,
    GVariant *arg_Certificate,
    GVariant *arg_PrivateKey,
    GUnixFDList  *fd_list,
    GUnixFDList **out_fd_list,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
gboolean grd_dbus_remote_desktop_configuration_rdp_server_get_enabled (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_enabled (GrdDBusRemoteDesktopConfigurationRdpServer *object, gboolean value);

gint grd_dbus_remote_desktop_configuration_rdp_server_get_port (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_port (GrdDBusRemoteDesktopConfigurationRdpServer *object, gint value);

const gchar *grd_dbus_remote_desktop_configuration_rdp_server_get_tls_cert (GrdDBusRemoteDesktopConfigurationRdpServer *object);
gchar *grd_dbus_remote_desktop_configuration_rdp_server_dup_tls_cert (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_tls_cert (GrdDBusRemoteDesktopConfigurationRdpServer *object, const gchar *value);

const gchar *grd_dbus_remote_desktop_configuration_rdp_server_get_tls_fingerprint (GrdDBusRemoteDesktopConfigurationRdpServer *object);
gchar *grd_dbus_remote_desktop_configuration_rdp_server_dup_tls_fingerprint (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_tls_fingerprint (GrdDBusRemoteDesktopConfigurationRdpServer *object, const gchar *value);

const gchar *grd_dbus_remote_desktop_configuration_rdp_server_get_tls_key (GrdDBusRemoteDesktopConfigurationRdpServer *object);
gchar *grd_dbus_remote_desktop_configuration_rdp_server_dup_tls_key (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_tls_key (GrdDBusRemoteDesktopConfigurationRdpServer *object, const gchar *value);

guint grd_dbus_remote_desktop_configuration_rdp_server_get_auth_methods (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_auth_methods (GrdDBusRemoteDesktopConfigurationRdpServer *object, guint value);

const gchar *grd_dbus_remote_desktop_configuration_rdp_server_get_kerberos_keytab (GrdDBusRemoteDesktopConfigurationRdpServer *object);
gchar *grd_dbus_remote_desktop_configuration_rdp_server_dup_kerberos_keytab (GrdDBusRemoteDesktopConfigurationRdpServer *object);
void grd_dbus_remote_desktop_configuration_rdp_server_set_kerberos_keytab (GrdDBusRemoteDesktopConfigurationRdpServer *object, const gchar *value);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY (grd_dbus_remote_desktop_configuration_rdp_server_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY, GrdDBusRemoteDesktopConfigurationRdpServerProxy))
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY, GrdDBusRemoteDesktopConfigurationRdpServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY, GrdDBusRemoteDesktopConfigurationRdpServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_CONFIGURATION_RDP_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_CONFIGURATION_RDP_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_PROXY))

typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerProxy GrdDBusRemoteDesktopConfigurationRdpServerProxy;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerProxyClass GrdDBusRemoteDesktopConfigurationRdpServerProxyClass;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerProxyPrivate GrdDBusRemoteDesktopConfigurationRdpServerProxyPrivate;

struct _GrdDBusRemoteDesktopConfigurationRdpServerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopConfigurationRdpServerProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopConfigurationRdpServerProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_configuration_rdp_server_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_configuration_rdp_server_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_configuration_rdp_server_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_configuration_rdp_server_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_configuration_rdp_server_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_configuration_rdp_server_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_configuration_rdp_server_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON (grd_dbus_remote_desktop_configuration_rdp_server_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopConfigurationRdpServerSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopConfigurationRdpServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_CONFIGURATION_RDP_SERVER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON, GrdDBusRemoteDesktopConfigurationRdpServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_CONFIGURATION_RDP_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_CONFIGURATION_RDP_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_CONFIGURATION_RDP_SERVER_SKELETON))

typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerSkeleton GrdDBusRemoteDesktopConfigurationRdpServerSkeleton;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerSkeletonClass GrdDBusRemoteDesktopConfigurationRdpServerSkeletonClass;
typedef struct _GrdDBusRemoteDesktopConfigurationRdpServerSkeletonPrivate GrdDBusRemoteDesktopConfigurationRdpServerSkeletonPrivate;

struct _GrdDBusRemoteDesktopConfigurationRdpServerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopConfigurationRdpServerSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopConfigurationRdpServerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_configuration_rdp_server_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_configuration_rdp_server_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop.Vnc.Server */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER (grd_dbus_remote_desktop_vnc_server_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER, GrdDBusRemoteDesktopVncServer))
#define GRD_DBUS_REMOTE_DESKTOP_IS_VNC_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER))
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER, GrdDBusRemoteDesktopVncServerIface))

struct _GrdDBusRemoteDesktopVncServer;
typedef struct _GrdDBusRemoteDesktopVncServer GrdDBusRemoteDesktopVncServer;
typedef struct _GrdDBusRemoteDesktopVncServerIface GrdDBusRemoteDesktopVncServerIface;

struct _GrdDBusRemoteDesktopVncServerIface
{
  GTypeInterface parent_iface;

  const gchar * (*get_auth_method) (GrdDBusRemoteDesktopVncServer *object);

  gboolean  (*get_enabled) (GrdDBusRemoteDesktopVncServer *object);

  gboolean  (*get_negotiate_port) (GrdDBusRemoteDesktopVncServer *object);

  gint  (*get_port) (GrdDBusRemoteDesktopVncServer *object);

  gboolean  (*get_view_only) (GrdDBusRemoteDesktopVncServer *object);

};

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

GType grd_dbus_remote_desktop_vnc_server_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_vnc_server_interface_info (void);
guint grd_dbus_remote_desktop_vnc_server_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus property accessors: */
gboolean grd_dbus_remote_desktop_vnc_server_get_enabled (GrdDBusRemoteDesktopVncServer *object);
void grd_dbus_remote_desktop_vnc_server_set_enabled (GrdDBusRemoteDesktopVncServer *object, gboolean value);

gint grd_dbus_remote_desktop_vnc_server_get_port (GrdDBusRemoteDesktopVncServer *object);
void grd_dbus_remote_desktop_vnc_server_set_port (GrdDBusRemoteDesktopVncServer *object, gint value);

gboolean grd_dbus_remote_desktop_vnc_server_get_negotiate_port (GrdDBusRemoteDesktopVncServer *object);
void grd_dbus_remote_desktop_vnc_server_set_negotiate_port (GrdDBusRemoteDesktopVncServer *object, gboolean value);

const gchar *grd_dbus_remote_desktop_vnc_server_get_auth_method (GrdDBusRemoteDesktopVncServer *object);
gchar *grd_dbus_remote_desktop_vnc_server_dup_auth_method (GrdDBusRemoteDesktopVncServer *object);
void grd_dbus_remote_desktop_vnc_server_set_auth_method (GrdDBusRemoteDesktopVncServer *object, const gchar *value);

gboolean grd_dbus_remote_desktop_vnc_server_get_view_only (GrdDBusRemoteDesktopVncServer *object);
void grd_dbus_remote_desktop_vnc_server_set_view_only (GrdDBusRemoteDesktopVncServer *object, gboolean value);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY (grd_dbus_remote_desktop_vnc_server_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY, GrdDBusRemoteDesktopVncServerProxy))
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY, GrdDBusRemoteDesktopVncServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY, GrdDBusRemoteDesktopVncServerProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_VNC_SERVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_VNC_SERVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_PROXY))

typedef struct _GrdDBusRemoteDesktopVncServerProxy GrdDBusRemoteDesktopVncServerProxy;
typedef struct _GrdDBusRemoteDesktopVncServerProxyClass GrdDBusRemoteDesktopVncServerProxyClass;
typedef struct _GrdDBusRemoteDesktopVncServerProxyPrivate GrdDBusRemoteDesktopVncServerProxyPrivate;

struct _GrdDBusRemoteDesktopVncServerProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopVncServerProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopVncServerProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_vnc_server_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_vnc_server_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_vnc_server_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_vnc_server_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_vnc_server_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_vnc_server_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_vnc_server_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON (grd_dbus_remote_desktop_vnc_server_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON, GrdDBusRemoteDesktopVncServerSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON, GrdDBusRemoteDesktopVncServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_VNC_SERVER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON, GrdDBusRemoteDesktopVncServerSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_VNC_SERVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_VNC_SERVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_VNC_SERVER_SKELETON))

typedef struct _GrdDBusRemoteDesktopVncServerSkeleton GrdDBusRemoteDesktopVncServerSkeleton;
typedef struct _GrdDBusRemoteDesktopVncServerSkeletonClass GrdDBusRemoteDesktopVncServerSkeletonClass;
typedef struct _GrdDBusRemoteDesktopVncServerSkeletonPrivate GrdDBusRemoteDesktopVncServerSkeletonPrivate;

struct _GrdDBusRemoteDesktopVncServerSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopVncServerSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopVncServerSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_vnc_server_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_vnc_server_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop.Rdp.Dispatcher */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER (grd_dbus_remote_desktop_rdp_dispatcher_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER, GrdDBusRemoteDesktopRdpDispatcher))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_DISPATCHER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER, GrdDBusRemoteDesktopRdpDispatcherIface))

struct _GrdDBusRemoteDesktopRdpDispatcher;
typedef struct _GrdDBusRemoteDesktopRdpDispatcher GrdDBusRemoteDesktopRdpDispatcher;
typedef struct _GrdDBusRemoteDesktopRdpDispatcherIface GrdDBusRemoteDesktopRdpDispatcherIface;

struct _GrdDBusRemoteDesktopRdpDispatcherIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_request_handover) (
    GrdDBusRemoteDesktopRdpDispatcher *object,
    GDBusMethodInvocation *invocation);

};

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

GType grd_dbus_remote_desktop_rdp_dispatcher_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_rdp_dispatcher_interface_info (void);
guint grd_dbus_remote_desktop_rdp_dispatcher_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void grd_dbus_remote_desktop_rdp_dispatcher_complete_request_handover (
    GrdDBusRemoteDesktopRdpDispatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *handover);



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

gboolean grd_dbus_remote_desktop_rdp_dispatcher_call_request_handover_finish (
    GrdDBusRemoteDesktopRdpDispatcher *proxy,
    gchar ** out_handover,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_rdp_dispatcher_call_request_handover_sync (
    GrdDBusRemoteDesktopRdpDispatcher *proxy,
    gchar ** out_handover,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY (grd_dbus_remote_desktop_rdp_dispatcher_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY, GrdDBusRemoteDesktopRdpDispatcherProxy))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY, GrdDBusRemoteDesktopRdpDispatcherProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY, GrdDBusRemoteDesktopRdpDispatcherProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_DISPATCHER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_DISPATCHER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_PROXY))

typedef struct _GrdDBusRemoteDesktopRdpDispatcherProxy GrdDBusRemoteDesktopRdpDispatcherProxy;
typedef struct _GrdDBusRemoteDesktopRdpDispatcherProxyClass GrdDBusRemoteDesktopRdpDispatcherProxyClass;
typedef struct _GrdDBusRemoteDesktopRdpDispatcherProxyPrivate GrdDBusRemoteDesktopRdpDispatcherProxyPrivate;

struct _GrdDBusRemoteDesktopRdpDispatcherProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopRdpDispatcherProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpDispatcherProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_dispatcher_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_rdp_dispatcher_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_rdp_dispatcher_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_rdp_dispatcher_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_rdp_dispatcher_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_rdp_dispatcher_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_rdp_dispatcher_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON (grd_dbus_remote_desktop_rdp_dispatcher_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON, GrdDBusRemoteDesktopRdpDispatcherSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON, GrdDBusRemoteDesktopRdpDispatcherSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_DISPATCHER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON, GrdDBusRemoteDesktopRdpDispatcherSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_DISPATCHER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_DISPATCHER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_DISPATCHER_SKELETON))

typedef struct _GrdDBusRemoteDesktopRdpDispatcherSkeleton GrdDBusRemoteDesktopRdpDispatcherSkeleton;
typedef struct _GrdDBusRemoteDesktopRdpDispatcherSkeletonClass GrdDBusRemoteDesktopRdpDispatcherSkeletonClass;
typedef struct _GrdDBusRemoteDesktopRdpDispatcherSkeletonPrivate GrdDBusRemoteDesktopRdpDispatcherSkeletonPrivate;

struct _GrdDBusRemoteDesktopRdpDispatcherSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopRdpDispatcherSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpDispatcherSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_dispatcher_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_rdp_dispatcher_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.gnome.RemoteDesktop.Rdp.Handover */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER (grd_dbus_remote_desktop_rdp_handover_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER, GrdDBusRemoteDesktopRdpHandover))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_HANDOVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER, GrdDBusRemoteDesktopRdpHandoverIface))

struct _GrdDBusRemoteDesktopRdpHandover;
typedef struct _GrdDBusRemoteDesktopRdpHandover GrdDBusRemoteDesktopRdpHandover;
typedef struct _GrdDBusRemoteDesktopRdpHandoverIface GrdDBusRemoteDesktopRdpHandoverIface;

struct _GrdDBusRemoteDesktopRdpHandoverIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_get_system_credentials) (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_start_handover) (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_username,
    const gchar *arg_password);

  gboolean (*handle_take_client) (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list);

  gboolean  (*get_handover_is_waiting) (GrdDBusRemoteDesktopRdpHandover *object);

  void (*redirect_client) (
    GrdDBusRemoteDesktopRdpHandover *object,
    const gchar *arg_routing_token,
    const gchar *arg_username,
    const gchar *arg_password);

  void (*take_client_ready) (
    GrdDBusRemoteDesktopRdpHandover *object,
    gboolean arg_use_system_credentials);

};

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

GType grd_dbus_remote_desktop_rdp_handover_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *grd_dbus_remote_desktop_rdp_handover_interface_info (void);
guint grd_dbus_remote_desktop_rdp_handover_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void grd_dbus_remote_desktop_rdp_handover_complete_start_handover (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation,
    const gchar *certificate,
    const gchar *key);

void grd_dbus_remote_desktop_rdp_handover_complete_take_client (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    GVariant *fd);

void grd_dbus_remote_desktop_rdp_handover_complete_get_system_credentials (
    GrdDBusRemoteDesktopRdpHandover *object,
    GDBusMethodInvocation *invocation,
    const gchar *username,
    const gchar *password);



/* D-Bus signal emissions functions: */
void grd_dbus_remote_desktop_rdp_handover_emit_redirect_client (
    GrdDBusRemoteDesktopRdpHandover *object,
    const gchar *arg_routing_token,
    const gchar *arg_username,
    const gchar *arg_password);

void grd_dbus_remote_desktop_rdp_handover_emit_take_client_ready (
    GrdDBusRemoteDesktopRdpHandover *object,
    gboolean arg_use_system_credentials);



/* D-Bus method calls: */
void grd_dbus_remote_desktop_rdp_handover_call_start_handover (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    const gchar *arg_username,
    const gchar *arg_password,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_rdp_handover_call_start_handover_finish (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    gchar ** out_certificate,
    gchar ** out_key,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_rdp_handover_call_start_handover_sync (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    const gchar *arg_username,
    const gchar *arg_password,
    gchar ** out_certificate,
    gchar ** out_key,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_rdp_handover_call_take_client (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    GUnixFDList *fd_list,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_rdp_handover_call_take_client_finish (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    GVariant ** out_fd,
    GUnixFDList **out_fd_list,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_rdp_handover_call_take_client_sync (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    GUnixFDList  *fd_list,
    GVariant ** out_fd,
    GUnixFDList **out_fd_list,
    GCancellable *cancellable,
    GError **error);

void grd_dbus_remote_desktop_rdp_handover_call_get_system_credentials (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean grd_dbus_remote_desktop_rdp_handover_call_get_system_credentials_finish (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    gchar ** out_username,
    gchar ** out_password,
    GAsyncResult *res,
    GError **error);

gboolean grd_dbus_remote_desktop_rdp_handover_call_get_system_credentials_sync (
    GrdDBusRemoteDesktopRdpHandover *proxy,
    gchar ** out_username,
    gchar ** out_password,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
gboolean grd_dbus_remote_desktop_rdp_handover_get_handover_is_waiting (GrdDBusRemoteDesktopRdpHandover *object);
void grd_dbus_remote_desktop_rdp_handover_set_handover_is_waiting (GrdDBusRemoteDesktopRdpHandover *object, gboolean value);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY (grd_dbus_remote_desktop_rdp_handover_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY, GrdDBusRemoteDesktopRdpHandoverProxy))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY, GrdDBusRemoteDesktopRdpHandoverProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY, GrdDBusRemoteDesktopRdpHandoverProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_HANDOVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_HANDOVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_PROXY))

typedef struct _GrdDBusRemoteDesktopRdpHandoverProxy GrdDBusRemoteDesktopRdpHandoverProxy;
typedef struct _GrdDBusRemoteDesktopRdpHandoverProxyClass GrdDBusRemoteDesktopRdpHandoverProxyClass;
typedef struct _GrdDBusRemoteDesktopRdpHandoverProxyPrivate GrdDBusRemoteDesktopRdpHandoverProxyPrivate;

struct _GrdDBusRemoteDesktopRdpHandoverProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GrdDBusRemoteDesktopRdpHandoverProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpHandoverProxyClass
{
  GDBusProxyClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_handover_proxy_get_type (void) G_GNUC_CONST;

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

void grd_dbus_remote_desktop_rdp_handover_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_rdp_handover_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_rdp_handover_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void grd_dbus_remote_desktop_rdp_handover_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_rdp_handover_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_rdp_handover_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON (grd_dbus_remote_desktop_rdp_handover_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON, GrdDBusRemoteDesktopRdpHandoverSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON, GrdDBusRemoteDesktopRdpHandoverSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_RDP_HANDOVER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON, GrdDBusRemoteDesktopRdpHandoverSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_HANDOVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_RDP_HANDOVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_RDP_HANDOVER_SKELETON))

typedef struct _GrdDBusRemoteDesktopRdpHandoverSkeleton GrdDBusRemoteDesktopRdpHandoverSkeleton;
typedef struct _GrdDBusRemoteDesktopRdpHandoverSkeletonClass GrdDBusRemoteDesktopRdpHandoverSkeletonClass;
typedef struct _GrdDBusRemoteDesktopRdpHandoverSkeletonPrivate GrdDBusRemoteDesktopRdpHandoverSkeletonPrivate;

struct _GrdDBusRemoteDesktopRdpHandoverSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GrdDBusRemoteDesktopRdpHandoverSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopRdpHandoverSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_rdp_handover_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_rdp_handover_skeleton_new (void);


/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT (grd_dbus_remote_desktop_object_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT, GrdDBusRemoteDesktopObject))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT, GrdDBusRemoteDesktopObject))

struct _GrdDBusRemoteDesktopObject;
typedef struct _GrdDBusRemoteDesktopObject GrdDBusRemoteDesktopObject;
typedef struct _GrdDBusRemoteDesktopObjectIface GrdDBusRemoteDesktopObjectIface;

struct _GrdDBusRemoteDesktopObjectIface
{
  GTypeInterface parent_iface;
};

GType grd_dbus_remote_desktop_object_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_object_get_org_gnome_remote_desktop (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_object_get_rdp_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_object_get_configuration_rdp_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_object_get_vnc_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_object_get_rdp_dispatcher (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_object_get_rdp_handover (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *grd_dbus_remote_desktop_object_peek_org_gnome_remote_desktop (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpServer *grd_dbus_remote_desktop_object_peek_rdp_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopConfigurationRdpServer *grd_dbus_remote_desktop_object_peek_configuration_rdp_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopVncServer *grd_dbus_remote_desktop_object_peek_vnc_server (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpDispatcher *grd_dbus_remote_desktop_object_peek_rdp_dispatcher (GrdDBusRemoteDesktopObject *object);
GrdDBusRemoteDesktopRdpHandover *grd_dbus_remote_desktop_object_peek_rdp_handover (GrdDBusRemoteDesktopObject *object);

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY (grd_dbus_remote_desktop_object_proxy_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY, GrdDBusRemoteDesktopObjectProxy))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY, GrdDBusRemoteDesktopObjectProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY, GrdDBusRemoteDesktopObjectProxyClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_PROXY))

typedef struct _GrdDBusRemoteDesktopObjectProxy GrdDBusRemoteDesktopObjectProxy;
typedef struct _GrdDBusRemoteDesktopObjectProxyClass GrdDBusRemoteDesktopObjectProxyClass;
typedef struct _GrdDBusRemoteDesktopObjectProxyPrivate GrdDBusRemoteDesktopObjectProxyPrivate;

struct _GrdDBusRemoteDesktopObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  GrdDBusRemoteDesktopObjectProxyPrivate *priv;
};

struct _GrdDBusRemoteDesktopObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType grd_dbus_remote_desktop_object_proxy_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopObjectProxy *grd_dbus_remote_desktop_object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON (grd_dbus_remote_desktop_object_skeleton_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON, GrdDBusRemoteDesktopObjectSkeleton))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON, GrdDBusRemoteDesktopObjectSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON, GrdDBusRemoteDesktopObjectSkeletonClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_SKELETON))

typedef struct _GrdDBusRemoteDesktopObjectSkeleton GrdDBusRemoteDesktopObjectSkeleton;
typedef struct _GrdDBusRemoteDesktopObjectSkeletonClass GrdDBusRemoteDesktopObjectSkeletonClass;
typedef struct _GrdDBusRemoteDesktopObjectSkeletonPrivate GrdDBusRemoteDesktopObjectSkeletonPrivate;

struct _GrdDBusRemoteDesktopObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  GrdDBusRemoteDesktopObjectSkeletonPrivate *priv;
};

struct _GrdDBusRemoteDesktopObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType grd_dbus_remote_desktop_object_skeleton_get_type (void) G_GNUC_CONST;

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

GrdDBusRemoteDesktopObjectSkeleton *grd_dbus_remote_desktop_object_skeleton_new (const gchar *object_path);
void grd_dbus_remote_desktop_object_skeleton_set_org_gnome_remote_desktop (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopOrgGnomeRemoteDesktop *interface_);
void grd_dbus_remote_desktop_object_skeleton_set_rdp_server (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopRdpServer *interface_);
void grd_dbus_remote_desktop_object_skeleton_set_configuration_rdp_server (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopConfigurationRdpServer *interface_);
void grd_dbus_remote_desktop_object_skeleton_set_vnc_server (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopVncServer *interface_);
void grd_dbus_remote_desktop_object_skeleton_set_rdp_dispatcher (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopRdpDispatcher *interface_);
void grd_dbus_remote_desktop_object_skeleton_set_rdp_handover (GrdDBusRemoteDesktopObjectSkeleton *object, GrdDBusRemoteDesktopRdpHandover *interface_);

/* ---- */

#define GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT (grd_dbus_remote_desktop_object_manager_client_get_type ())
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT, GrdDBusRemoteDesktopObjectManagerClient))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT, GrdDBusRemoteDesktopObjectManagerClientClass))
#define GRD_DBUS_REMOTE_DESKTOP_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT, GrdDBusRemoteDesktopObjectManagerClientClass))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT))
#define GRD_DBUS_REMOTE_DESKTOP_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GRD_DBUS_REMOTE_DESKTOP_TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _GrdDBusRemoteDesktopObjectManagerClient GrdDBusRemoteDesktopObjectManagerClient;
typedef struct _GrdDBusRemoteDesktopObjectManagerClientClass GrdDBusRemoteDesktopObjectManagerClientClass;
typedef struct _GrdDBusRemoteDesktopObjectManagerClientPrivate GrdDBusRemoteDesktopObjectManagerClientPrivate;

struct _GrdDBusRemoteDesktopObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  GrdDBusRemoteDesktopObjectManagerClientPrivate *priv;
};

struct _GrdDBusRemoteDesktopObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

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

GType grd_dbus_remote_desktop_object_manager_client_get_type (void) G_GNUC_CONST;

GType grd_dbus_remote_desktop_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);

void grd_dbus_remote_desktop_object_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *grd_dbus_remote_desktop_object_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *grd_dbus_remote_desktop_object_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);

void grd_dbus_remote_desktop_object_manager_client_new_for_bus (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *grd_dbus_remote_desktop_object_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *grd_dbus_remote_desktop_object_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);


G_END_DECLS

#endif /* __GRD_DBUS_REMOTE_DESKTOP_H__ */
