summaryrefslogtreecommitdiff
path: root/gtk/gtkfilesystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkfilesystem.h')
-rw-r--r--gtk/gtkfilesystem.h51
1 files changed, 46 insertions, 5 deletions
diff --git a/gtk/gtkfilesystem.h b/gtk/gtkfilesystem.h
index e3c061870d..3949388645 100644
--- a/gtk/gtkfilesystem.h
+++ b/gtk/gtkfilesystem.h
@@ -36,11 +36,12 @@ G_BEGIN_DECLS
typedef gint64 GtkFileTime;
-typedef struct _GtkFileFolder GtkFileFolder;
-typedef struct _GtkFileFolderIface GtkFileFolderIface;
-typedef struct _GtkFileInfo GtkFileInfo;
-typedef struct _GtkFileSystem GtkFileSystem;
-typedef struct _GtkFileSystemIface GtkFileSystemIface;
+typedef struct _GtkFileFolder GtkFileFolder;
+typedef struct _GtkFileFolderIface GtkFileFolderIface;
+typedef struct _GtkFileInfo GtkFileInfo;
+typedef struct _GtkFileSystem GtkFileSystem;
+typedef struct _GtkFileSystemIface GtkFileSystemIface;
+typedef struct _GtkFileSystemVolume GtkFileSystemVolume;
typedef struct _GtkFilePath GtkFilePath;
@@ -143,6 +144,7 @@ struct _GtkFileSystemIface
/* Methods
*/
+ GSList * (*list_volumes) (GtkFileSystem *file_system);
GSList * (*list_roots) (GtkFileSystem *file_system);
GtkFileInfo * (*get_root_info) (GtkFileSystem *file_system,
@@ -158,6 +160,26 @@ struct _GtkFileSystemIface
const GtkFilePath *path,
GError **error);
+ /* Volumes
+ */
+
+ void (*volume_free) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+ GtkFilePath * (*volume_get_base_path) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+ gboolean (*volume_get_is_mounted) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+ gboolean (*volume_mount) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume,
+ GError **error);
+ char * (*volume_get_display_name) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+ GdkPixbuf * (*volume_render_icon) (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume,
+ GtkWidget *widget,
+ gint pixel_size,
+ GError **error);
+
/* Path Manipulation
*/
gboolean (*get_parent) (GtkFileSystem *file_system,
@@ -203,18 +225,37 @@ struct _GtkFileSystemIface
/* Signals
*/
+ void (*volumes_changed) (GtkFileSystem *file_system);
void (*roots_changed) (GtkFileSystem *file_system);
void (*bookmarks_changed) (GtkFileSystem *file_system);
};
GType gtk_file_system_get_type (void);
+GSList * gtk_file_system_list_volumes (GtkFileSystem *file_system);
GSList * gtk_file_system_list_roots (GtkFileSystem *file_system);
GtkFileInfo * gtk_file_system_get_root_info (GtkFileSystem *file_system,
const GtkFilePath *path,
GtkFileInfoType types,
GError **error);
+void gtk_file_system_volume_free (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+GtkFilePath * gtk_file_system_volume_get_base_path (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+gboolean gtk_file_system_volume_get_is_mounted (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+gboolean gtk_file_system_volume_mount (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume,
+ GError **error);
+char * gtk_file_system_volume_get_display_name (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume);
+GdkPixbuf * gtk_file_system_volume_render_icon (GtkFileSystem *file_system,
+ GtkFileSystemVolume *volume,
+ GtkWidget *widget,
+ gint pixel_size,
+ GError **error);
+
gboolean gtk_file_system_get_parent (GtkFileSystem *file_system,
const GtkFilePath *path,
GtkFilePath **parent,