Locating Standard Directories

Name

Locating Standard Directories -- utilities for locating standard directories such as the desktop and trash

Synopsis



enum        GnomeVFSFindDirectoryKind;
GnomeVFSResult gnome_vfs_find_directory     (GnomeVFSURI *near_uri,
                                             GnomeVFSFindDirectoryKind kind,
                                             GnomeVFSURI **result,
                                             gboolean create_if_needed,
                                             gboolean find_if_needed,
                                             guint permissions);

Description

Details

enum GnomeVFSFindDirectoryKind

typedef enum {
	GNOME_VFS_DIRECTORY_KIND_DESKTOP = 1000,
	GNOME_VFS_DIRECTORY_KIND_TRASH = 1001
} GnomeVFSFindDirectoryKind;


gnome_vfs_find_directory ()

GnomeVFSResult gnome_vfs_find_directory     (GnomeVFSURI *near_uri,
                                             GnomeVFSFindDirectoryKind kind,
                                             GnomeVFSURI **result,
                                             gboolean create_if_needed,
                                             gboolean find_if_needed,
                                             guint permissions);

Used to return well known directories such as Trash, Desktop, etc. from different file systems.

There is quite a complicated logic behind finding/creating a Trash directory and you need to be aware of some implications: Finding the Trash the first time when using the file method may be pretty expensive. A cache file is used to store the location of that Trash file for next time. If ceate_if_needed is specified without find_if_needed, you may end up creating a Trash file when there already is one. Your app should start out by doing a gnome_vfs_find_directory with the find_if_needed to avoid this and then use the create_if_needed flag to create Trash lazily when it is needed for throwing away an item on a given disk.

near_uri :

find a well known directory on the same volume as near_uri

kind :

kind of well known directory

result :

newly created URI of the directory we found

create_if_needed :

If directory we are looking for does not exist, try to create it

find_if_needed :

If we don't know where trash is yet, look for it.

permissions :

If creating, use these permissions

Returns :

An integer representing the result of the operation