+
+typedef void (* GtkFileSystemGetInfoCallback) (GCancellable *cancellable,
+ GFileInfo *file_info,
+ const GError *error,
+ gpointer data);
+typedef void (* GtkFileSystemVolumeMountCallback) (GCancellable *cancellable,
+ GtkFileSystemVolume *volume,
+ const GError *error,
+ gpointer data);
+
+/* GtkFileSystem methods */
+GType _gtk_file_system_get_type (void) G_GNUC_CONST;
+
+GtkFileSystem * _gtk_file_system_new (void);
+
+GSList * _gtk_file_system_list_volumes (GtkFileSystem *file_system);
+GSList * _gtk_file_system_list_bookmarks (GtkFileSystem *file_system);
+
+GCancellable * _gtk_file_system_get_info (GtkFileSystem *file_system,
+ GFile *file,
+ const gchar *attributes,
+ GtkFileSystemGetInfoCallback callback,
+ gpointer data);
+GCancellable * _gtk_file_system_mount_volume (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume,
+ GMountOperation *mount_operation,
+ GtkFileSystemVolumeMountCallback callback,
+ gpointer data);
+GCancellable * _gtk_file_system_mount_enclosing_volume (GtkFileSystem *file_system,
+ GFile *file,
+ GMountOperation *mount_operation,
+ GtkFileSystemVolumeMountCallback callback,
+ gpointer data);
+
+gboolean _gtk_file_system_insert_bookmark (GtkFileSystem *file_system,
+ GFile *file,
+ gint position,
+ GError **error);
+gboolean _gtk_file_system_remove_bookmark (GtkFileSystem *file_system,
+ GFile *file,
+ GError **error);
+
+gchar * _gtk_file_system_get_bookmark_label (GtkFileSystem *file_system,
+ GFile *file);
+void _gtk_file_system_set_bookmark_label (GtkFileSystem *file_system,
+ GFile *file,
+ const gchar *label);
+
+GtkFileSystemVolume * _gtk_file_system_get_volume_for_file (GtkFileSystem *file_system,
+ GFile *file);
+
+/* GtkFileSystemVolume methods */
+gchar * _gtk_file_system_volume_get_display_name (GtkFileSystemVolume *volume);
+gboolean _gtk_file_system_volume_is_mounted (GtkFileSystemVolume *volume);
+GFile * _gtk_file_system_volume_get_root (GtkFileSystemVolume *volume);
+GdkPixbuf * _gtk_file_system_volume_render_icon (GtkFileSystemVolume *volume,
+ GtkWidget *widget,
+ gint icon_size,
+ GError **error);
+
+GtkFileSystemVolume *_gtk_file_system_volume_ref (GtkFileSystemVolume *volume);
+void _gtk_file_system_volume_unref (GtkFileSystemVolume *volume);
+
+/* GtkFileSystemBookmark methods */
+void _gtk_file_system_bookmark_free (GtkFileSystemBookmark *bookmark);
+
+/* GFileInfo helper functions */
+GdkPixbuf * _gtk_file_info_render_icon (GFileInfo *info,
+ GtkWidget *widget,
+ gint icon_size);
+
+gboolean _gtk_file_info_consider_as_directory (GFileInfo *info);
+
+/* GFile helper functions */
+gboolean _gtk_file_has_native_path (GFile *file);