/* vfs.h generated by valac 0.10.4, the Vala compiler, do not modify */


#ifndef __DEFAULT_LIBDESKTOP_AGNOSTIC_VFS_H__
#define __DEFAULT_LIBDESKTOP_AGNOSTIC_VFS_H__

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>

G_BEGIN_DECLS


#define DESKTOP_AGNOSTIC_VFS_TYPE_IMPLEMENTATION (desktop_agnostic_vfs_implementation_get_type ())
#define DESKTOP_AGNOSTIC_VFS_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_IMPLEMENTATION, DesktopAgnosticVFSImplementation))
#define DESKTOP_AGNOSTIC_VFS_IS_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_IMPLEMENTATION))
#define DESKTOP_AGNOSTIC_VFS_IMPLEMENTATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_IMPLEMENTATION, DesktopAgnosticVFSImplementationIface))

typedef struct _DesktopAgnosticVFSImplementation DesktopAgnosticVFSImplementation;
typedef struct _DesktopAgnosticVFSImplementationIface DesktopAgnosticVFSImplementationIface;

#define DESKTOP_AGNOSTIC_VFS_TYPE_FILE (desktop_agnostic_vfs_file_get_type ())
#define DESKTOP_AGNOSTIC_VFS_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE, DesktopAgnosticVFSFile))
#define DESKTOP_AGNOSTIC_VFS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_FILE, DesktopAgnosticVFSFileClass))
#define DESKTOP_AGNOSTIC_VFS_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE))
#define DESKTOP_AGNOSTIC_VFS_IS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_FILE))
#define DESKTOP_AGNOSTIC_VFS_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE, DesktopAgnosticVFSFileClass))

typedef struct _DesktopAgnosticVFSFile DesktopAgnosticVFSFile;
typedef struct _DesktopAgnosticVFSFileClass DesktopAgnosticVFSFileClass;

#define DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME_MONITOR (desktop_agnostic_vfs_volume_monitor_get_type ())
#define DESKTOP_AGNOSTIC_VFS_VOLUME_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME_MONITOR, DesktopAgnosticVFSVolumeMonitor))
#define DESKTOP_AGNOSTIC_VFS_IS_VOLUME_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME_MONITOR))
#define DESKTOP_AGNOSTIC_VFS_VOLUME_MONITOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME_MONITOR, DesktopAgnosticVFSVolumeMonitorIface))

typedef struct _DesktopAgnosticVFSVolumeMonitor DesktopAgnosticVFSVolumeMonitor;
typedef struct _DesktopAgnosticVFSVolumeMonitorIface DesktopAgnosticVFSVolumeMonitorIface;

#define DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME (desktop_agnostic_vfs_volume_get_type ())
#define DESKTOP_AGNOSTIC_VFS_VOLUME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME, DesktopAgnosticVFSVolume))
#define DESKTOP_AGNOSTIC_VFS_IS_VOLUME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME))
#define DESKTOP_AGNOSTIC_VFS_VOLUME_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_VOLUME, DesktopAgnosticVFSVolumeIface))

typedef struct _DesktopAgnosticVFSVolume DesktopAgnosticVFSVolume;
typedef struct _DesktopAgnosticVFSVolumeIface DesktopAgnosticVFSVolumeIface;

#define DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK (desktop_agnostic_vfs_bookmark_get_type ())
#define DESKTOP_AGNOSTIC_VFS_BOOKMARK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK, DesktopAgnosticVFSBookmark))
#define DESKTOP_AGNOSTIC_VFS_BOOKMARK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK, DesktopAgnosticVFSBookmarkClass))
#define DESKTOP_AGNOSTIC_VFS_IS_BOOKMARK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK))
#define DESKTOP_AGNOSTIC_VFS_IS_BOOKMARK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK))
#define DESKTOP_AGNOSTIC_VFS_BOOKMARK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_BOOKMARK, DesktopAgnosticVFSBookmarkClass))

typedef struct _DesktopAgnosticVFSBookmark DesktopAgnosticVFSBookmark;
typedef struct _DesktopAgnosticVFSBookmarkClass DesktopAgnosticVFSBookmarkClass;
typedef struct _DesktopAgnosticVFSBookmarkPrivate DesktopAgnosticVFSBookmarkPrivate;

#define DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS (desktop_agnostic_vfs_gtk_bookmarks_get_type ())
#define DESKTOP_AGNOSTIC_VFS_GTK_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS, DesktopAgnosticVFSGtkBookmarks))
#define DESKTOP_AGNOSTIC_VFS_GTK_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS, DesktopAgnosticVFSGtkBookmarksClass))
#define DESKTOP_AGNOSTIC_VFS_IS_GTK_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS))
#define DESKTOP_AGNOSTIC_VFS_IS_GTK_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS))
#define DESKTOP_AGNOSTIC_VFS_GTK_BOOKMARKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GTK_BOOKMARKS, DesktopAgnosticVFSGtkBookmarksClass))

typedef struct _DesktopAgnosticVFSGtkBookmarks DesktopAgnosticVFSGtkBookmarks;
typedef struct _DesktopAgnosticVFSGtkBookmarksClass DesktopAgnosticVFSGtkBookmarksClass;
typedef struct _DesktopAgnosticVFSGtkBookmarksPrivate DesktopAgnosticVFSGtkBookmarksPrivate;

#define DESKTOP_AGNOSTIC_VFS_TYPE_FILE_TYPE (desktop_agnostic_vfs_file_type_get_type ())

#define DESKTOP_AGNOSTIC_VFS_TYPE_ACCESS_FLAGS (desktop_agnostic_vfs_access_flags_get_type ())
typedef struct _DesktopAgnosticVFSFilePrivate DesktopAgnosticVFSFilePrivate;

#define DESKTOP_AGNOSTIC_VFS_TYPE_FILE_MONITOR (desktop_agnostic_vfs_file_monitor_get_type ())
#define DESKTOP_AGNOSTIC_VFS_FILE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE_MONITOR, DesktopAgnosticVFSFileMonitor))
#define DESKTOP_AGNOSTIC_VFS_IS_FILE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE_MONITOR))
#define DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_FILE_MONITOR, DesktopAgnosticVFSFileMonitorIface))

typedef struct _DesktopAgnosticVFSFileMonitor DesktopAgnosticVFSFileMonitor;
typedef struct _DesktopAgnosticVFSFileMonitorIface DesktopAgnosticVFSFileMonitorIface;

#define DESKTOP_AGNOSTIC_VFS_TYPE_FILE_MONITOR_EVENT (desktop_agnostic_vfs_file_monitor_event_get_type ())

#define DESKTOP_AGNOSTIC_VFS_TYPE_GLOB (desktop_agnostic_vfs_glob_get_type ())
#define DESKTOP_AGNOSTIC_VFS_GLOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GLOB, DesktopAgnosticVFSGlob))
#define DESKTOP_AGNOSTIC_VFS_GLOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_GLOB, DesktopAgnosticVFSGlobClass))
#define DESKTOP_AGNOSTIC_VFS_IS_GLOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GLOB))
#define DESKTOP_AGNOSTIC_VFS_IS_GLOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_AGNOSTIC_VFS_TYPE_GLOB))
#define DESKTOP_AGNOSTIC_VFS_GLOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_GLOB, DesktopAgnosticVFSGlobClass))

typedef struct _DesktopAgnosticVFSGlob DesktopAgnosticVFSGlob;
typedef struct _DesktopAgnosticVFSGlobClass DesktopAgnosticVFSGlobClass;
typedef struct _DesktopAgnosticVFSGlobPrivate DesktopAgnosticVFSGlobPrivate;

#define DESKTOP_AGNOSTIC_VFS_TYPE_TRASH (desktop_agnostic_vfs_trash_get_type ())
#define DESKTOP_AGNOSTIC_VFS_TRASH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_TRASH, DesktopAgnosticVFSTrash))
#define DESKTOP_AGNOSTIC_VFS_IS_TRASH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_TRASH))
#define DESKTOP_AGNOSTIC_VFS_TRASH_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DESKTOP_AGNOSTIC_VFS_TYPE_TRASH, DesktopAgnosticVFSTrashIface))

typedef struct _DesktopAgnosticVFSTrash DesktopAgnosticVFSTrash;
typedef struct _DesktopAgnosticVFSTrashIface DesktopAgnosticVFSTrashIface;

typedef void (*DesktopAgnosticVFSVolumeCallback) (void* user_data);
typedef enum  {
	DESKTOP_AGNOSTIC_VFS_VOLUME_ERROR_MOUNT,
	DESKTOP_AGNOSTIC_VFS_VOLUME_ERROR_UNMOUNT,
	DESKTOP_AGNOSTIC_VFS_VOLUME_ERROR_EJECT
} DesktopAgnosticVFSVolumeError;
#define DESKTOP_AGNOSTIC_VFS_VOLUME_ERROR desktop_agnostic_vfs_volume_error_quark ()
struct _DesktopAgnosticVFSVolumeIface {
	GTypeInterface parent_iface;
	gboolean (*is_mounted) (DesktopAgnosticVFSVolume* self);
	void (*mount) (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
	gboolean (*mount_finish) (DesktopAgnosticVFSVolume* self, GError** error);
	void (*unmount) (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
	gboolean (*unmount_finish) (DesktopAgnosticVFSVolume* self, GError** error);
	gboolean (*can_eject) (DesktopAgnosticVFSVolume* self);
	void (*eject) (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
	gboolean (*eject_finish) (DesktopAgnosticVFSVolume* self, GError** error);
	const char* (*get_name) (DesktopAgnosticVFSVolume* self);
	DesktopAgnosticVFSFile* (*get_uri) (DesktopAgnosticVFSVolume* self);
	char* (*get_icon) (DesktopAgnosticVFSVolume* self);
};

struct _DesktopAgnosticVFSVolumeMonitorIface {
	GTypeInterface parent_iface;
	void* (*get_implementation) (DesktopAgnosticVFSVolumeMonitor* self);
	GList* (*get_volumes) (DesktopAgnosticVFSVolumeMonitor* self);
};

struct _DesktopAgnosticVFSImplementationIface {
	GTypeInterface parent_iface;
	void (*init) (DesktopAgnosticVFSImplementation* self);
	GSList* (*files_from_uri_list) (DesktopAgnosticVFSImplementation* self, const char* uri_list, GError** error);
	DesktopAgnosticVFSVolumeMonitor* (*volume_monitor_get_default) (DesktopAgnosticVFSImplementation* self);
	void (*shutdown) (DesktopAgnosticVFSImplementation* self);
	const char* (*get_name) (DesktopAgnosticVFSImplementation* self);
	GType (*get_file_type) (DesktopAgnosticVFSImplementation* self);
	GType (*get_file_monitor_type) (DesktopAgnosticVFSImplementation* self);
	GType (*get_trash_type) (DesktopAgnosticVFSImplementation* self);
	GType (*get_volume_type) (DesktopAgnosticVFSImplementation* self);
};

struct _DesktopAgnosticVFSBookmark {
	GObject parent_instance;
	DesktopAgnosticVFSBookmarkPrivate * priv;
};

struct _DesktopAgnosticVFSBookmarkClass {
	GObjectClass parent_class;
};

struct _DesktopAgnosticVFSGtkBookmarks {
	GObject parent_instance;
	DesktopAgnosticVFSGtkBookmarksPrivate * priv;
};

struct _DesktopAgnosticVFSGtkBookmarksClass {
	GObjectClass parent_class;
};

typedef enum  {
	DESKTOP_AGNOSTIC_VFS_FILE_ERROR_FILE_NOT_FOUND,
	DESKTOP_AGNOSTIC_VFS_FILE_ERROR_EXISTS,
	DESKTOP_AGNOSTIC_VFS_FILE_ERROR_INVALID_TYPE
} DesktopAgnosticVFSFileError;
#define DESKTOP_AGNOSTIC_VFS_FILE_ERROR desktop_agnostic_vfs_file_error_quark ()
typedef enum  {
	DESKTOP_AGNOSTIC_VFS_FILE_TYPE_UNKNOWN = 0,
	DESKTOP_AGNOSTIC_VFS_FILE_TYPE_REGULAR,
	DESKTOP_AGNOSTIC_VFS_FILE_TYPE_DIRECTORY,
	DESKTOP_AGNOSTIC_VFS_FILE_TYPE_SYMBOLIC_LINK,
	DESKTOP_AGNOSTIC_VFS_FILE_TYPE_SPECIAL
} DesktopAgnosticVFSFileType;

typedef enum  {
	DESKTOP_AGNOSTIC_VFS_ACCESS_FLAGS_NONE = 0,
	DESKTOP_AGNOSTIC_VFS_ACCESS_FLAGS_READ = 1 << 0,
	DESKTOP_AGNOSTIC_VFS_ACCESS_FLAGS_WRITE = 1 << 1,
	DESKTOP_AGNOSTIC_VFS_ACCESS_FLAGS_EXECUTE = 1 << 2
} DesktopAgnosticVFSAccessFlags;

typedef enum  {
	DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_EVENT_UNKNOWN = 0,
	DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_EVENT_CHANGED,
	DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_EVENT_CREATED,
	DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_EVENT_DELETED,
	DESKTOP_AGNOSTIC_VFS_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED
} DesktopAgnosticVFSFileMonitorEvent;

struct _DesktopAgnosticVFSFileMonitorIface {
	GTypeInterface parent_iface;
	void (*emit) (DesktopAgnosticVFSFileMonitor* self, DesktopAgnosticVFSFile* other, DesktopAgnosticVFSFileMonitorEvent event);
	gboolean (*cancel) (DesktopAgnosticVFSFileMonitor* self);
	gboolean (*get_cancelled) (DesktopAgnosticVFSFileMonitor* self);
};

struct _DesktopAgnosticVFSFile {
	GObject parent_instance;
	DesktopAgnosticVFSFilePrivate * priv;
};

struct _DesktopAgnosticVFSFileClass {
	GObjectClass parent_class;
	void (*init) (DesktopAgnosticVFSFile* self, const char* uri);
	gboolean (*exists) (DesktopAgnosticVFSFile* self);
	DesktopAgnosticVFSFileMonitor* (*monitor) (DesktopAgnosticVFSFile* self);
	gboolean (*load_contents) (DesktopAgnosticVFSFile* self, char** contents, gsize* length, GError** error);
	gboolean (*replace_contents) (DesktopAgnosticVFSFile* self, const char* contents, GError** error);
	gboolean (*launch) (DesktopAgnosticVFSFile* self, GError** error);
	GSList* (*enumerate_children) (DesktopAgnosticVFSFile* self, GError** error);
	gboolean (*copy) (DesktopAgnosticVFSFile* self, DesktopAgnosticVFSFile* destination, gboolean overwrite, GError** error);
	gboolean (*remove) (DesktopAgnosticVFSFile* self, GError** error);
	gboolean (*is_native) (DesktopAgnosticVFSFile* self);
	char* (*get_mime_type) (DesktopAgnosticVFSFile* self, GError** error);
	char** (*get_icon_names) (DesktopAgnosticVFSFile* self, int* result_length1, GError** error);
	char* (*get_thumbnail_path) (DesktopAgnosticVFSFile* self);
	void* (*get_implementation) (DesktopAgnosticVFSFile* self);
	char* (*get_impl_uri) (DesktopAgnosticVFSFile* self);
	char* (*get_impl_path) (DesktopAgnosticVFSFile* self);
	DesktopAgnosticVFSFileType (*get_file_type) (DesktopAgnosticVFSFile* self);
	DesktopAgnosticVFSAccessFlags (*get_access_flags) (DesktopAgnosticVFSFile* self);
	DesktopAgnosticVFSFile* (*get_parent) (DesktopAgnosticVFSFile* self);
};

typedef enum  {
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_NOSPACE,
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_ABORTED,
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_NOMATCH,
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_BAD_PATTERN,
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_BAD_FLAGS,
	DESKTOP_AGNOSTIC_VFS_GLOB_ERROR_ERRNO
} DesktopAgnosticVFSGlobError;
#define DESKTOP_AGNOSTIC_VFS_GLOB_ERROR desktop_agnostic_vfs_glob_error_quark ()
struct _DesktopAgnosticVFSGlob {
	GObject parent_instance;
	DesktopAgnosticVFSGlobPrivate * priv;
};

struct _DesktopAgnosticVFSGlobClass {
	GObjectClass parent_class;
};

struct _DesktopAgnosticVFSTrashIface {
	GTypeInterface parent_iface;
	void (*send_to_trash) (DesktopAgnosticVFSTrash* self, DesktopAgnosticVFSFile* file, GError** error);
	void (*empty) (DesktopAgnosticVFSTrash* self);
	guint (*get_file_count) (DesktopAgnosticVFSTrash* self);
};


GType desktop_agnostic_vfs_file_get_type (void) G_GNUC_CONST;
GQuark desktop_agnostic_vfs_volume_error_quark (void);
GType desktop_agnostic_vfs_volume_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_vfs_volume_monitor_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_vfs_implementation_get_type (void) G_GNUC_CONST;
void desktop_agnostic_vfs_implementation_init (DesktopAgnosticVFSImplementation* self);
GSList* desktop_agnostic_vfs_implementation_files_from_uri_list (DesktopAgnosticVFSImplementation* self, const char* uri_list, GError** error);
DesktopAgnosticVFSVolumeMonitor* desktop_agnostic_vfs_implementation_volume_monitor_get_default (DesktopAgnosticVFSImplementation* self);
void desktop_agnostic_vfs_implementation_shutdown (DesktopAgnosticVFSImplementation* self);
const char* desktop_agnostic_vfs_implementation_get_name (DesktopAgnosticVFSImplementation* self);
GType desktop_agnostic_vfs_implementation_get_file_type (DesktopAgnosticVFSImplementation* self);
GType desktop_agnostic_vfs_implementation_get_file_monitor_type (DesktopAgnosticVFSImplementation* self);
GType desktop_agnostic_vfs_implementation_get_trash_type (DesktopAgnosticVFSImplementation* self);
GType desktop_agnostic_vfs_implementation_get_volume_type (DesktopAgnosticVFSImplementation* self);
DesktopAgnosticVFSImplementation* desktop_agnostic_vfs_get_default (GError** error);
void desktop_agnostic_vfs_init (GError** error);
void desktop_agnostic_vfs_shutdown (GError** error);
GSList* desktop_agnostic_vfs_files_from_uri_list (const char* uri_list, GError** error);
GType desktop_agnostic_vfs_bookmark_get_type (void) G_GNUC_CONST;
DesktopAgnosticVFSBookmark* desktop_agnostic_vfs_bookmark_new (void);
DesktopAgnosticVFSBookmark* desktop_agnostic_vfs_bookmark_construct (GType object_type);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_bookmark_get_file (DesktopAgnosticVFSBookmark* self);
void desktop_agnostic_vfs_bookmark_set_file (DesktopAgnosticVFSBookmark* self, DesktopAgnosticVFSFile* value);
const char* desktop_agnostic_vfs_bookmark_get_alias (DesktopAgnosticVFSBookmark* self);
void desktop_agnostic_vfs_bookmark_set_alias (DesktopAgnosticVFSBookmark* self, const char* value);
GType desktop_agnostic_vfs_gtk_bookmarks_get_type (void) G_GNUC_CONST;
DesktopAgnosticVFSGtkBookmarks* desktop_agnostic_vfs_gtk_bookmarks_new (DesktopAgnosticVFSFile* file, gboolean monitor);
DesktopAgnosticVFSGtkBookmarks* desktop_agnostic_vfs_gtk_bookmarks_construct (GType object_type, DesktopAgnosticVFSFile* file, gboolean monitor);
GSList* desktop_agnostic_vfs_gtk_bookmarks_get_bookmarks (DesktopAgnosticVFSGtkBookmarks* self);
GQuark desktop_agnostic_vfs_file_error_quark (void);
GType desktop_agnostic_vfs_file_type_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_vfs_access_flags_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_vfs_file_monitor_event_get_type (void) G_GNUC_CONST;
GType desktop_agnostic_vfs_file_monitor_get_type (void) G_GNUC_CONST;
void desktop_agnostic_vfs_file_init (DesktopAgnosticVFSFile* self, const char* uri);
gboolean desktop_agnostic_vfs_file_exists (DesktopAgnosticVFSFile* self);
gboolean desktop_agnostic_vfs_file_is_readable (DesktopAgnosticVFSFile* self);
gboolean desktop_agnostic_vfs_file_is_writable (DesktopAgnosticVFSFile* self);
gboolean desktop_agnostic_vfs_file_is_executable (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSFileMonitor* desktop_agnostic_vfs_file_monitor (DesktopAgnosticVFSFile* self);
gboolean desktop_agnostic_vfs_file_load_contents (DesktopAgnosticVFSFile* self, char** contents, gsize* length, GError** error);
gboolean desktop_agnostic_vfs_file_replace_contents (DesktopAgnosticVFSFile* self, const char* contents, GError** error);
gboolean desktop_agnostic_vfs_file_launch (DesktopAgnosticVFSFile* self, GError** error);
GSList* desktop_agnostic_vfs_file_enumerate_children (DesktopAgnosticVFSFile* self, GError** error);
gboolean desktop_agnostic_vfs_file_copy (DesktopAgnosticVFSFile* self, DesktopAgnosticVFSFile* destination, gboolean overwrite, GError** error);
gboolean desktop_agnostic_vfs_file_remove (DesktopAgnosticVFSFile* self, GError** error);
gboolean desktop_agnostic_vfs_file_is_native (DesktopAgnosticVFSFile* self);
char* desktop_agnostic_vfs_file_get_mime_type (DesktopAgnosticVFSFile* self, GError** error);
char** desktop_agnostic_vfs_file_get_icon_names (DesktopAgnosticVFSFile* self, int* result_length1, GError** error);
char* desktop_agnostic_vfs_file_get_thumbnail_path (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_file_construct (GType object_type);
void* desktop_agnostic_vfs_file_get_implementation (DesktopAgnosticVFSFile* self);
char* desktop_agnostic_vfs_file_get_impl_uri (DesktopAgnosticVFSFile* self);
char* desktop_agnostic_vfs_file_get_uri (DesktopAgnosticVFSFile* self);
char* desktop_agnostic_vfs_file_get_impl_path (DesktopAgnosticVFSFile* self);
char* desktop_agnostic_vfs_file_get_path (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSFileType desktop_agnostic_vfs_file_get_file_type (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSAccessFlags desktop_agnostic_vfs_file_get_access_flags (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_file_get_parent (DesktopAgnosticVFSFile* self);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_file_new_for_path (const char* path, GError** error);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_file_new_for_uri (const char* uri, GError** error);
char** desktop_agnostic_vfs_get_icon_names_for_mime_type (const char* mime_type, int* result_length1);
void desktop_agnostic_vfs_file_monitor_emit (DesktopAgnosticVFSFileMonitor* self, DesktopAgnosticVFSFile* other, DesktopAgnosticVFSFileMonitorEvent event);
gboolean desktop_agnostic_vfs_file_monitor_cancel (DesktopAgnosticVFSFileMonitor* self);
gboolean desktop_agnostic_vfs_file_monitor_get_cancelled (DesktopAgnosticVFSFileMonitor* self);
GQuark desktop_agnostic_vfs_glob_error_quark (void);
GType desktop_agnostic_vfs_glob_get_type (void) G_GNUC_CONST;
DesktopAgnosticVFSGlob* desktop_agnostic_vfs_glob_execute (const char* pattern, GError** error);
DesktopAgnosticVFSGlob* desktop_agnostic_vfs_glob_execute_with_flags (const char* pattern, gint flags, GError** error);
void desktop_agnostic_vfs_glob_append (DesktopAgnosticVFSGlob* self, const char* pattern, GError** error);
char** desktop_agnostic_vfs_glob_get_paths (DesktopAgnosticVFSGlob* self, int* result_length1);
DesktopAgnosticVFSGlob* desktop_agnostic_vfs_glob_new (void);
DesktopAgnosticVFSGlob* desktop_agnostic_vfs_glob_construct (GType object_type);
gsize desktop_agnostic_vfs_glob_get_offset (DesktopAgnosticVFSGlob* self);
const char* desktop_agnostic_vfs_glob_get_pattern (DesktopAgnosticVFSGlob* self);
void desktop_agnostic_vfs_glob_set_pattern (DesktopAgnosticVFSGlob* self, const char* value);
gint desktop_agnostic_vfs_glob_get_flags (DesktopAgnosticVFSGlob* self);
void desktop_agnostic_vfs_glob_set_flags (DesktopAgnosticVFSGlob* self, gint value);
GType desktop_agnostic_vfs_trash_get_type (void) G_GNUC_CONST;
void desktop_agnostic_vfs_trash_send_to_trash (DesktopAgnosticVFSTrash* self, DesktopAgnosticVFSFile* file, GError** error);
void desktop_agnostic_vfs_trash_empty (DesktopAgnosticVFSTrash* self);
guint desktop_agnostic_vfs_trash_get_file_count (DesktopAgnosticVFSTrash* self);
DesktopAgnosticVFSTrash* desktop_agnostic_vfs_trash_get_default (GError** error);
gboolean desktop_agnostic_vfs_volume_is_mounted (DesktopAgnosticVFSVolume* self);
void desktop_agnostic_vfs_volume_mount (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
gboolean desktop_agnostic_vfs_volume_mount_finish (DesktopAgnosticVFSVolume* self, GError** error);
void desktop_agnostic_vfs_volume_unmount (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
gboolean desktop_agnostic_vfs_volume_unmount_finish (DesktopAgnosticVFSVolume* self, GError** error);
gboolean desktop_agnostic_vfs_volume_can_eject (DesktopAgnosticVFSVolume* self);
void desktop_agnostic_vfs_volume_eject (DesktopAgnosticVFSVolume* self, DesktopAgnosticVFSVolumeCallback callback, void* callback_target);
gboolean desktop_agnostic_vfs_volume_eject_finish (DesktopAgnosticVFSVolume* self, GError** error);
const char* desktop_agnostic_vfs_volume_get_name (DesktopAgnosticVFSVolume* self);
DesktopAgnosticVFSFile* desktop_agnostic_vfs_volume_get_uri (DesktopAgnosticVFSVolume* self);
char* desktop_agnostic_vfs_volume_get_icon (DesktopAgnosticVFSVolume* self);
void* desktop_agnostic_vfs_volume_monitor_get_implementation (DesktopAgnosticVFSVolumeMonitor* self);
GList* desktop_agnostic_vfs_volume_monitor_get_volumes (DesktopAgnosticVFSVolumeMonitor* self);
DesktopAgnosticVFSVolumeMonitor* desktop_agnostic_vfs_volume_monitor_get_default (GError** error);


G_END_DECLS

#endif
