MIME typing

MIME typing — functions to get a mime-type for a file using its name or its content

Synopsis




const char* gnome_vfs_mime_type_from_name   (const char *filename);
const char* gnome_vfs_mime_type_from_name_or_default
                                            (const char *filename,
                                             const char *defaultv);
const char* gnome_vfs_get_mime_type_common  (GnomeVFSURI *uri);
const char* gnome_vfs_get_mime_type_from_uri
                                            (GnomeVFSURI *uri);
const char* gnome_vfs_get_mime_type_from_file_data
                                            (GnomeVFSURI *uri);
const char* gnome_vfs_get_file_mime_type_fast
                                            (const char *path,
                                             const struct stat *optional_stat_info);
const char* gnome_vfs_get_file_mime_type    (const char *path,
                                             const struct stat *optional_stat_info,
                                             gboolean suffix_only);
gboolean    gnome_vfs_mime_type_is_supertype
                                            (const char *mime_type);
char*       gnome_vfs_get_supertype_from_mime_type
                                            (const char *mime_type);
void        gnome_vfs_mime_info_cache_reload
                                            (const char *dir);
void        gnome_vfs_mime_reload           (void);
void        gnome_vfs_mime_shutdown         (void);

Description

Details

gnome_vfs_mime_type_from_name ()

const char* gnome_vfs_mime_type_from_name   (const char *filename);

Warning

gnome_vfs_mime_type_from_name is deprecated and should not be used in newly-written code. This function is deprecated, use gnome_vfs_get_mime_type_for_name() instead.

Determine the mime type for filename.

Returns:

filename : a filename (the file does not necessarily exist).
Returns : the mime-type for this filename. Will return GNOME_VFS_MIME_TYPE_UNKNOWN if mime-type could not be found.

gnome_vfs_mime_type_from_name_or_default ()

const char* gnome_vfs_mime_type_from_name_or_default
                                            (const char *filename,
                                             const char *defaultv);

This routine tries to determine the mime-type of the filename only by looking at the filename from the GNOME database of mime-types.

filename : a filename (the file does not necessarily exist).
defaultv : a default value to be returned if no match is found.
Returns : the mime-type of the filename. If no value could be determined, it will return defaultv.

gnome_vfs_get_mime_type_common ()

const char* gnome_vfs_get_mime_type_common  (GnomeVFSURI *uri);

Tries to guess the mime type of the file represented by uri. Favors using the file data to the uri extension. Handles uri of a non-existent file by falling back on returning a type based on the extension. If cant find the mime-type based on the extension also then returns 'application/octet-stream'.

FIXME: This function will not necessarily return the same mime type as doing a get file info on the text uri.

uri : a real file or a non-existent uri.
Returns : the mime-type for uri.

gnome_vfs_get_mime_type_from_uri ()

const char* gnome_vfs_get_mime_type_from_uri
                                            (GnomeVFSURI *uri);

Tries to guess the mime type of the file uri by checking the file name extension. Works on non-existent files.

uri : a file uri.
Returns : the mime-type for file at uri.

gnome_vfs_get_mime_type_from_file_data ()

const char* gnome_vfs_get_mime_type_from_file_data
                                            (GnomeVFSURI *uri);

Warning

gnome_vfs_get_mime_type_from_file_data is deprecated and should not be used in newly-written code.

Tries to guess the mime type of the file uri by checking the file data using the magic patterns. Does not handle text files properly.

Returns:

uri : a file uri.
Returns : the mime-type for this filename.

gnome_vfs_get_file_mime_type_fast ()

const char* gnome_vfs_get_file_mime_type_fast
                                            (const char *path,
                                             const struct stat *optional_stat_info);

Tries to guess the mime type of the file represented by path. It uses extention/name detection first, and if that fails it falls back to mime-magic based lookup. This is faster than always doing mime-magic but doesn't always produce the right answer, so for important decisions you should use gnome_vfs_get_file_mime_type().

path : path of the file whose mime type is to be found out.
optional_stat_info : optional stat buffer.
Returns : the mime-type for file at path.

gnome_vfs_get_file_mime_type ()

const char* gnome_vfs_get_file_mime_type    (const char *path,
                                             const struct stat *optional_stat_info,
                                             gboolean suffix_only);

Tries to guess the mime type of the file represented by path. If suffix_only is false, uses the mime-magic based lookup first. Handles path of a non-existent file by falling back on returning a type based on the extension.

If you need a faster, less accurate version, use gnome_vfs_get_file_mime_type_fast().

path : path of a file whose mime type is to be found out.
optional_stat_info : optional stat buffer.
suffix_only : whether or not to do a magic-based lookup.
Returns : the mime-type for file at path.

gnome_vfs_mime_type_is_supertype ()

gboolean    gnome_vfs_mime_type_is_supertype
                                            (const char *mime_type);

mime_type : a const char * identifying a mime type.
Returns : Whether mime_type is of the form "foo/*".

gnome_vfs_get_supertype_from_mime_type ()

char*       gnome_vfs_get_supertype_from_mime_type
                                            (const char *mime_type);

mime_type : mime type to get the supertype for.
Returns : The supertype for mime_type, allocating new memory. The supertype of an application is computed by removing its suffix, and replacing it with "*". Thus, "foo/bar" will be converted to "foo/*".

Note

If this function is called on a supertype, it will return a copy of the supertype.

gnome_vfs_mime_info_cache_reload ()

void        gnome_vfs_mime_info_cache_reload
                                            (const char *dir);

Reload the mime information for the dir.

dir : directory path which needs reloading.

gnome_vfs_mime_reload ()

void        gnome_vfs_mime_reload           (void);

Reload the MIME database.


gnome_vfs_mime_shutdown ()

void        gnome_vfs_mime_shutdown         (void);

Warning

gnome_vfs_mime_shutdown is deprecated and should not be used in newly-written code. This function doesn't have to be called as the operating system automatically cleans up resources when exiting.

Unload the MIME database from memory.