GnomeVFS - Filesystem Abstraction library | ||||
---|---|---|---|---|
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.
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 directory is yet, look for it. |
permissions : |
if creating, use these permissions. |
Returns : | an integer representing the result of the operation. |