/*
 * Generated by gdbus-codegen 2.53.0. DO NOT EDIT.
 *
 * The license of this code is the same as for the source it was derived from.
 */

#ifndef __GVFSVOLUMEMONITORDBUS_H__
#define __GVFSVOLUMEMONITORDBUS_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.gtk.Private.RemoteVolumeMonitor */

#define GVFS_TYPE_REMOTE_VOLUME_MONITOR (gvfs_remote_volume_monitor_get_type ())
#define GVFS_REMOTE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR, GVfsRemoteVolumeMonitor))
#define GVFS_IS_REMOTE_VOLUME_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR))
#define GVFS_REMOTE_VOLUME_MONITOR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR, GVfsRemoteVolumeMonitorIface))

struct _GVfsRemoteVolumeMonitor;
typedef struct _GVfsRemoteVolumeMonitor GVfsRemoteVolumeMonitor;
typedef struct _GVfsRemoteVolumeMonitorIface GVfsRemoteVolumeMonitorIface;

struct _GVfsRemoteVolumeMonitorIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_cancel_operation) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_cancellation_id);

  gboolean (*handle_drive_eject) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id);

  gboolean (*handle_drive_poll_for_media) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id);

  gboolean (*handle_drive_start) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_flags,
    const gchar *arg_mount_op_id);

  gboolean (*handle_drive_stop) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id);

  gboolean (*handle_is_supported) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_list) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_mount_op_reply) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_mount_op_id,
    gint arg_result,
    const gchar *arg_user_name,
    const gchar *arg_domain,
    const gchar *arg_encoded_password,
    gint arg_password_save,
    gint arg_choice,
    gboolean arg_anonymous);

  gboolean (*handle_mount_unmount) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id);

  gboolean (*handle_volume_mount) (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_mount_flags,
    const gchar *arg_mount_op_id);

  void (*drive_changed) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

  void (*drive_connected) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

  void (*drive_disconnected) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

  void (*drive_eject_button) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

  void (*drive_stop_button) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

  void (*mount_added) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

  void (*mount_changed) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

  void (*mount_op_aborted) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id);

  void (*mount_op_ask_password) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    const gchar *arg_default_user,
    const gchar *arg_default_domain,
    guint arg_flags);

  void (*mount_op_ask_question) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    const gchar *const *arg_choices);

  void (*mount_op_show_processes) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    GVariant *arg_pid,
    const gchar *const *arg_choices);

  void (*mount_op_show_unmount_progress) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    gint64 arg_time_left,
    gint64 arg_bytes_left);

  void (*mount_pre_unmount) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

  void (*mount_removed) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

  void (*volume_added) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

  void (*volume_changed) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

  void (*volume_removed) (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

};

GType gvfs_remote_volume_monitor_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *gvfs_remote_volume_monitor_interface_info (void);
guint gvfs_remote_volume_monitor_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void gvfs_remote_volume_monitor_complete_is_supported (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    gboolean is_supported);

void gvfs_remote_volume_monitor_complete_list (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    GVariant *drives,
    GVariant *volumes,
    GVariant *mounts);

void gvfs_remote_volume_monitor_complete_cancel_operation (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation,
    gboolean was_cancelled);

void gvfs_remote_volume_monitor_complete_mount_unmount (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_volume_mount (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_drive_eject (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_drive_poll_for_media (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_drive_start (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_drive_stop (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);

void gvfs_remote_volume_monitor_complete_mount_op_reply (
    GVfsRemoteVolumeMonitor *object,
    GDBusMethodInvocation *invocation);



/* D-Bus signal emissions functions: */
void gvfs_remote_volume_monitor_emit_drive_changed (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

void gvfs_remote_volume_monitor_emit_drive_connected (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

void gvfs_remote_volume_monitor_emit_drive_disconnected (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

void gvfs_remote_volume_monitor_emit_drive_eject_button (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

void gvfs_remote_volume_monitor_emit_drive_stop_button (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_drive);

void gvfs_remote_volume_monitor_emit_volume_changed (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

void gvfs_remote_volume_monitor_emit_volume_added (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

void gvfs_remote_volume_monitor_emit_volume_removed (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_volume);

void gvfs_remote_volume_monitor_emit_mount_changed (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

void gvfs_remote_volume_monitor_emit_mount_added (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

void gvfs_remote_volume_monitor_emit_mount_pre_unmount (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

void gvfs_remote_volume_monitor_emit_mount_removed (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    GVariant *arg_mount);

void gvfs_remote_volume_monitor_emit_mount_op_ask_password (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    const gchar *arg_default_user,
    const gchar *arg_default_domain,
    guint arg_flags);

void gvfs_remote_volume_monitor_emit_mount_op_ask_question (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    const gchar *const *arg_choices);

void gvfs_remote_volume_monitor_emit_mount_op_show_processes (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    GVariant *arg_pid,
    const gchar *const *arg_choices);

void gvfs_remote_volume_monitor_emit_mount_op_show_unmount_progress (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id,
    const gchar *arg_message_to_show,
    gint64 arg_time_left,
    gint64 arg_bytes_left);

void gvfs_remote_volume_monitor_emit_mount_op_aborted (
    GVfsRemoteVolumeMonitor *object,
    const gchar *arg_dbus_name,
    const gchar *arg_id);



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

gboolean gvfs_remote_volume_monitor_call_is_supported_finish (
    GVfsRemoteVolumeMonitor *proxy,
    gboolean *out_is_supported,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_is_supported_sync (
    GVfsRemoteVolumeMonitor *proxy,
    gboolean *out_is_supported,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_list (
    GVfsRemoteVolumeMonitor *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_list_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GVariant **out_drives,
    GVariant **out_volumes,
    GVariant **out_mounts,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_list_sync (
    GVfsRemoteVolumeMonitor *proxy,
    GVariant **out_drives,
    GVariant **out_volumes,
    GVariant **out_mounts,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_cancel_operation (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_cancellation_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_cancel_operation_finish (
    GVfsRemoteVolumeMonitor *proxy,
    gboolean *out_was_cancelled,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_cancel_operation_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_cancellation_id,
    gboolean *out_was_cancelled,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_mount_unmount (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_mount_unmount_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_mount_unmount_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_volume_mount (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_mount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_volume_mount_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_volume_mount_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_mount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_drive_eject (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_drive_eject_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_drive_eject_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_drive_poll_for_media (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_drive_poll_for_media_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_drive_poll_for_media_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_drive_start (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_drive_start_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_drive_start_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_drive_stop (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_drive_stop_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_drive_stop_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_id,
    const gchar *arg_cancellation_id,
    guint arg_unmount_flags,
    const gchar *arg_mount_op_id,
    GCancellable *cancellable,
    GError **error);

void gvfs_remote_volume_monitor_call_mount_op_reply (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_mount_op_id,
    gint arg_result,
    const gchar *arg_user_name,
    const gchar *arg_domain,
    const gchar *arg_encoded_password,
    gint arg_password_save,
    gint arg_choice,
    gboolean arg_anonymous,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean gvfs_remote_volume_monitor_call_mount_op_reply_finish (
    GVfsRemoteVolumeMonitor *proxy,
    GAsyncResult *res,
    GError **error);

gboolean gvfs_remote_volume_monitor_call_mount_op_reply_sync (
    GVfsRemoteVolumeMonitor *proxy,
    const gchar *arg_mount_op_id,
    gint arg_result,
    const gchar *arg_user_name,
    const gchar *arg_domain,
    const gchar *arg_encoded_password,
    gint arg_password_save,
    gint arg_choice,
    gboolean arg_anonymous,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY (gvfs_remote_volume_monitor_proxy_get_type ())
#define GVFS_REMOTE_VOLUME_MONITOR_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY, GVfsRemoteVolumeMonitorProxy))
#define GVFS_REMOTE_VOLUME_MONITOR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY, GVfsRemoteVolumeMonitorProxyClass))
#define GVFS_REMOTE_VOLUME_MONITOR_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY, GVfsRemoteVolumeMonitorProxyClass))
#define GVFS_IS_REMOTE_VOLUME_MONITOR_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY))
#define GVFS_IS_REMOTE_VOLUME_MONITOR_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GVFS_TYPE_REMOTE_VOLUME_MONITOR_PROXY))

typedef struct _GVfsRemoteVolumeMonitorProxy GVfsRemoteVolumeMonitorProxy;
typedef struct _GVfsRemoteVolumeMonitorProxyClass GVfsRemoteVolumeMonitorProxyClass;
typedef struct _GVfsRemoteVolumeMonitorProxyPrivate GVfsRemoteVolumeMonitorProxyPrivate;

struct _GVfsRemoteVolumeMonitorProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  GVfsRemoteVolumeMonitorProxyPrivate *priv;
};

struct _GVfsRemoteVolumeMonitorProxyClass
{
  GDBusProxyClass parent_class;
};

GType gvfs_remote_volume_monitor_proxy_get_type (void) G_GNUC_CONST;

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

void gvfs_remote_volume_monitor_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GVfsRemoteVolumeMonitor *gvfs_remote_volume_monitor_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
GVfsRemoteVolumeMonitor *gvfs_remote_volume_monitor_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void gvfs_remote_volume_monitor_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
GVfsRemoteVolumeMonitor *gvfs_remote_volume_monitor_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GVfsRemoteVolumeMonitor *gvfs_remote_volume_monitor_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON (gvfs_remote_volume_monitor_skeleton_get_type ())
#define GVFS_REMOTE_VOLUME_MONITOR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON, GVfsRemoteVolumeMonitorSkeleton))
#define GVFS_REMOTE_VOLUME_MONITOR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON, GVfsRemoteVolumeMonitorSkeletonClass))
#define GVFS_REMOTE_VOLUME_MONITOR_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON, GVfsRemoteVolumeMonitorSkeletonClass))
#define GVFS_IS_REMOTE_VOLUME_MONITOR_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON))
#define GVFS_IS_REMOTE_VOLUME_MONITOR_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GVFS_TYPE_REMOTE_VOLUME_MONITOR_SKELETON))

typedef struct _GVfsRemoteVolumeMonitorSkeleton GVfsRemoteVolumeMonitorSkeleton;
typedef struct _GVfsRemoteVolumeMonitorSkeletonClass GVfsRemoteVolumeMonitorSkeletonClass;
typedef struct _GVfsRemoteVolumeMonitorSkeletonPrivate GVfsRemoteVolumeMonitorSkeletonPrivate;

struct _GVfsRemoteVolumeMonitorSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  GVfsRemoteVolumeMonitorSkeletonPrivate *priv;
};

struct _GVfsRemoteVolumeMonitorSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType gvfs_remote_volume_monitor_skeleton_get_type (void) G_GNUC_CONST;

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

GVfsRemoteVolumeMonitor *gvfs_remote_volume_monitor_skeleton_new (void);


G_END_DECLS

#endif /* __GVFSVOLUMEMONITORDBUS_H__ */
