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

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.Nemo.FileOperations */

#define NEMO_DBUS_TYPE_FILE_OPERATIONS (nemo_dbus_file_operations_get_type ())
#define NEMO_DBUS_FILE_OPERATIONS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS, NemoDBusFileOperations))
#define NEMO_DBUS_IS_FILE_OPERATIONS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS))
#define NEMO_DBUS_FILE_OPERATIONS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS, NemoDBusFileOperationsIface))

struct _NemoDBusFileOperations;
typedef struct _NemoDBusFileOperations NemoDBusFileOperations;
typedef struct _NemoDBusFileOperationsIface NemoDBusFileOperationsIface;

struct _NemoDBusFileOperationsIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_copy_file) (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_SourceFileURI,
    const gchar *arg_SourceDisplayName,
    const gchar *arg_DestinationDirectoryURI,
    const gchar *arg_DestinationDisplayName);

  gboolean (*handle_copy_uris) (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI);

  gboolean (*handle_empty_trash) (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_move_uris) (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI);

};

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

GType nemo_dbus_file_operations_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *nemo_dbus_file_operations_interface_info (void);
guint nemo_dbus_file_operations_override_properties (GObjectClass *klass, guint property_id_begin);


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

void nemo_dbus_file_operations_complete_move_uris (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation);

void nemo_dbus_file_operations_complete_empty_trash (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation);

void nemo_dbus_file_operations_complete_copy_file (
    NemoDBusFileOperations *object,
    GDBusMethodInvocation *invocation);



/* D-Bus method calls: */
void nemo_dbus_file_operations_call_copy_uris (
    NemoDBusFileOperations *proxy,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean nemo_dbus_file_operations_call_copy_uris_finish (
    NemoDBusFileOperations *proxy,
    GAsyncResult *res,
    GError **error);

gboolean nemo_dbus_file_operations_call_copy_uris_sync (
    NemoDBusFileOperations *proxy,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI,
    GCancellable *cancellable,
    GError **error);

void nemo_dbus_file_operations_call_move_uris (
    NemoDBusFileOperations *proxy,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean nemo_dbus_file_operations_call_move_uris_finish (
    NemoDBusFileOperations *proxy,
    GAsyncResult *res,
    GError **error);

gboolean nemo_dbus_file_operations_call_move_uris_sync (
    NemoDBusFileOperations *proxy,
    const gchar *const *arg_SourceFilesURIList,
    const gchar *arg_DestinationDirectoryURI,
    GCancellable *cancellable,
    GError **error);

void nemo_dbus_file_operations_call_empty_trash (
    NemoDBusFileOperations *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean nemo_dbus_file_operations_call_empty_trash_finish (
    NemoDBusFileOperations *proxy,
    GAsyncResult *res,
    GError **error);

gboolean nemo_dbus_file_operations_call_empty_trash_sync (
    NemoDBusFileOperations *proxy,
    GCancellable *cancellable,
    GError **error);

void nemo_dbus_file_operations_call_copy_file (
    NemoDBusFileOperations *proxy,
    const gchar *arg_SourceFileURI,
    const gchar *arg_SourceDisplayName,
    const gchar *arg_DestinationDirectoryURI,
    const gchar *arg_DestinationDisplayName,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean nemo_dbus_file_operations_call_copy_file_finish (
    NemoDBusFileOperations *proxy,
    GAsyncResult *res,
    GError **error);

gboolean nemo_dbus_file_operations_call_copy_file_sync (
    NemoDBusFileOperations *proxy,
    const gchar *arg_SourceFileURI,
    const gchar *arg_SourceDisplayName,
    const gchar *arg_DestinationDirectoryURI,
    const gchar *arg_DestinationDisplayName,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY (nemo_dbus_file_operations_proxy_get_type ())
#define NEMO_DBUS_FILE_OPERATIONS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY, NemoDBusFileOperationsProxy))
#define NEMO_DBUS_FILE_OPERATIONS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY, NemoDBusFileOperationsProxyClass))
#define NEMO_DBUS_FILE_OPERATIONS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY, NemoDBusFileOperationsProxyClass))
#define NEMO_DBUS_IS_FILE_OPERATIONS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY))
#define NEMO_DBUS_IS_FILE_OPERATIONS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_DBUS_TYPE_FILE_OPERATIONS_PROXY))

typedef struct _NemoDBusFileOperationsProxy NemoDBusFileOperationsProxy;
typedef struct _NemoDBusFileOperationsProxyClass NemoDBusFileOperationsProxyClass;
typedef struct _NemoDBusFileOperationsProxyPrivate NemoDBusFileOperationsProxyPrivate;

struct _NemoDBusFileOperationsProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  NemoDBusFileOperationsProxyPrivate *priv;
};

struct _NemoDBusFileOperationsProxyClass
{
  GDBusProxyClass parent_class;
};

GType nemo_dbus_file_operations_proxy_get_type (void) G_GNUC_CONST;

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

void nemo_dbus_file_operations_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
NemoDBusFileOperations *nemo_dbus_file_operations_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
NemoDBusFileOperations *nemo_dbus_file_operations_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void nemo_dbus_file_operations_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
NemoDBusFileOperations *nemo_dbus_file_operations_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
NemoDBusFileOperations *nemo_dbus_file_operations_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON (nemo_dbus_file_operations_skeleton_get_type ())
#define NEMO_DBUS_FILE_OPERATIONS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON, NemoDBusFileOperationsSkeleton))
#define NEMO_DBUS_FILE_OPERATIONS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON, NemoDBusFileOperationsSkeletonClass))
#define NEMO_DBUS_FILE_OPERATIONS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON, NemoDBusFileOperationsSkeletonClass))
#define NEMO_DBUS_IS_FILE_OPERATIONS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON))
#define NEMO_DBUS_IS_FILE_OPERATIONS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_DBUS_TYPE_FILE_OPERATIONS_SKELETON))

typedef struct _NemoDBusFileOperationsSkeleton NemoDBusFileOperationsSkeleton;
typedef struct _NemoDBusFileOperationsSkeletonClass NemoDBusFileOperationsSkeletonClass;
typedef struct _NemoDBusFileOperationsSkeletonPrivate NemoDBusFileOperationsSkeletonPrivate;

struct _NemoDBusFileOperationsSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  NemoDBusFileOperationsSkeletonPrivate *priv;
};

struct _NemoDBusFileOperationsSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType nemo_dbus_file_operations_skeleton_get_type (void) G_GNUC_CONST;

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

NemoDBusFileOperations *nemo_dbus_file_operations_skeleton_new (void);


/* ---- */

#define NEMO_DBUS_TYPE_OBJECT (nemo_dbus_object_get_type ())
#define NEMO_DBUS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_OBJECT, NemoDBusObject))
#define NEMO_DBUS_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_OBJECT))
#define NEMO_DBUS_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), NEMO_DBUS_TYPE_OBJECT, NemoDBusObject))

struct _NemoDBusObject;
typedef struct _NemoDBusObject NemoDBusObject;
typedef struct _NemoDBusObjectIface NemoDBusObjectIface;

struct _NemoDBusObjectIface
{
  GTypeInterface parent_iface;
};

GType nemo_dbus_object_get_type (void) G_GNUC_CONST;

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

NemoDBusFileOperations *nemo_dbus_object_get_file_operations (NemoDBusObject *object);
NemoDBusFileOperations *nemo_dbus_object_peek_file_operations (NemoDBusObject *object);

#define NEMO_DBUS_TYPE_OBJECT_PROXY (nemo_dbus_object_proxy_get_type ())
#define NEMO_DBUS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_OBJECT_PROXY, NemoDBusObjectProxy))
#define NEMO_DBUS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NEMO_DBUS_TYPE_OBJECT_PROXY, NemoDBusObjectProxyClass))
#define NEMO_DBUS_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_DBUS_TYPE_OBJECT_PROXY, NemoDBusObjectProxyClass))
#define NEMO_DBUS_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_OBJECT_PROXY))
#define NEMO_DBUS_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_DBUS_TYPE_OBJECT_PROXY))

typedef struct _NemoDBusObjectProxy NemoDBusObjectProxy;
typedef struct _NemoDBusObjectProxyClass NemoDBusObjectProxyClass;
typedef struct _NemoDBusObjectProxyPrivate NemoDBusObjectProxyPrivate;

struct _NemoDBusObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  NemoDBusObjectProxyPrivate *priv;
};

struct _NemoDBusObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType nemo_dbus_object_proxy_get_type (void) G_GNUC_CONST;

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

NemoDBusObjectProxy *nemo_dbus_object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define NEMO_DBUS_TYPE_OBJECT_SKELETON (nemo_dbus_object_skeleton_get_type ())
#define NEMO_DBUS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_OBJECT_SKELETON, NemoDBusObjectSkeleton))
#define NEMO_DBUS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NEMO_DBUS_TYPE_OBJECT_SKELETON, NemoDBusObjectSkeletonClass))
#define NEMO_DBUS_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_DBUS_TYPE_OBJECT_SKELETON, NemoDBusObjectSkeletonClass))
#define NEMO_DBUS_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_OBJECT_SKELETON))
#define NEMO_DBUS_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_DBUS_TYPE_OBJECT_SKELETON))

typedef struct _NemoDBusObjectSkeleton NemoDBusObjectSkeleton;
typedef struct _NemoDBusObjectSkeletonClass NemoDBusObjectSkeletonClass;
typedef struct _NemoDBusObjectSkeletonPrivate NemoDBusObjectSkeletonPrivate;

struct _NemoDBusObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  NemoDBusObjectSkeletonPrivate *priv;
};

struct _NemoDBusObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType nemo_dbus_object_skeleton_get_type (void) G_GNUC_CONST;

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

NemoDBusObjectSkeleton *nemo_dbus_object_skeleton_new (const gchar *object_path);
void nemo_dbus_object_skeleton_set_file_operations (NemoDBusObjectSkeleton *object, NemoDBusFileOperations *interface_);

/* ---- */

#define NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT (nemo_dbus_object_manager_client_get_type ())
#define NEMO_DBUS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT, NemoDBusObjectManagerClient))
#define NEMO_DBUS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT, NemoDBusObjectManagerClientClass))
#define NEMO_DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT, NemoDBusObjectManagerClientClass))
#define NEMO_DBUS_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT))
#define NEMO_DBUS_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NEMO_DBUS_TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _NemoDBusObjectManagerClient NemoDBusObjectManagerClient;
typedef struct _NemoDBusObjectManagerClientClass NemoDBusObjectManagerClientClass;
typedef struct _NemoDBusObjectManagerClientPrivate NemoDBusObjectManagerClientPrivate;

struct _NemoDBusObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  NemoDBusObjectManagerClientPrivate *priv;
};

struct _NemoDBusObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

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

GType nemo_dbus_object_manager_client_get_type (void) G_GNUC_CONST;

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

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

void nemo_dbus_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 *nemo_dbus_object_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *nemo_dbus_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 /* __NEMO_GENERATED_H__ */
