|  |  |  | GnomeVFS - Filesystem Abstraction library |  | 
|---|---|---|---|---|
| Top | Description | ||||
| Locating Standard DirectoriesLocating Standard Directories — Utilities for locating standard directories such as the desktop and trash | 
enum GnomeVFSFindDirectoryKind; GnomeVFSResult gnome_vfs_find_directory (GnomeVFSURI *near_uri,GnomeVFSFindDirectoryKind kind,GnomeVFSURI **result,gboolean create_if_needed,gboolean find_if_needed,guint permissions);
typedef enum {
	GNOME_VFS_DIRECTORY_KIND_DESKTOP = 1000,
	GNOME_VFS_DIRECTORY_KIND_TRASH = 1001
} GnomeVFSFindDirectoryKind;
Specifies what directory gnome_vfs_find_directory() or
gnome_vfs_find_directory_cancellable() should find.
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 create_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.
| 
 | find a well known directory on the same volume as near_uri. | 
| 
 | kind of well known directory. | 
| 
 | newly created uri of the directory we found. | 
| 
 | if directory we are looking for does not exist, try to create it. | 
| 
 | if we don't know where directory is yet, look for it. | 
| 
 | if creating, use these permissions. | 
| Returns : | an integer representing the result of the operation. |