## File Types

File Types — functions for getting information about files based on their MIME type

## Synopsis

    #define     GNOME_VFS_MIME_TYPE_UNKNOWN
    const char* gnome_vfs_get_mime_type_for_data
                                                (gconstpointer data,
                                                 int data_size);
    char*       gnome_vfs_get_mime_type         (const char *text_uri);
    enum        GnomeVFSMimeActionType;
    enum        GnomeVFSMimeApplicationArgumentType;
    struct      GnomeVFSMimeApplication;
    GnomeVFSMimeApplication* gnome_vfs_mime_application_copy
                                                (GnomeVFSMimeApplication *application);
    GnomeVFSMimeActionType gnome_vfs_mime_get_default_action_type
                                                (const char *mime_type);
    GnomeVFSMimeAction* gnome_vfs_mime_get_default_action
                                                (const char *mime_type);
    GnomeVFSMimeApplication* gnome_vfs_mime_get_default_application
                                                (const char *mime_type);
    Bonobo_ServerInfo* gnome_vfs_mime_get_default_component
                                                (const char *mime_type);
    GList*      gnome_vfs_mime_get_short_list_applications
                                                (const char *mime_type);
    GList*      gnome_vfs_mime_get_short_list_components
                                                (const char *mime_type);
    GList*      gnome_vfs_mime_get_all_applications
                                                (const char *mime_type);
    GList*      gnome_vfs_mime_get_all_components
                                                (const char *mime_type);
    GnomeVFSResult gnome_vfs_mime_set_default_action_type
                                                (const char *mime_type,
                                                 GnomeVFSMimeActionType action_type);
    GnomeVFSResult gnome_vfs_mime_set_default_application
                                                (const char *mime_type,
                                                 const char *application_id);
    GnomeVFSResult gnome_vfs_mime_set_default_component
                                                (const char *mime_type,
                                                 const char *component_iid);
    const char* gnome_vfs_mime_get_icon         (const char *mime_type);
    GnomeVFSResult gnome_vfs_mime_set_icon      (const char *mime_type,
                                                 const char *filename);
    const char* gnome_vfs_mime_get_description  (const char *mime_type);
    GnomeVFSResult gnome_vfs_mime_set_description
                                                (const char *mime_type,
                                                 const char *description);
    gboolean    gnome_vfs_mime_can_be_executable
                                                (const char *mime_type);
    GnomeVFSResult gnome_vfs_mime_set_can_be_executable
                                                (const char *mime_type,
                                                 gboolean new_value);
    GnomeVFSResult gnome_vfs_mime_set_short_list_applications
                                                (const char *mime_type,
                                                 GList *application_ids);
    GnomeVFSResult gnome_vfs_mime_set_short_list_components
                                                (const char *mime_type,
                                                 GList *component_iids);
    GnomeVFSResult gnome_vfs_mime_add_application_to_short_list
                                                (const char *mime_type,
                                                 const char *application_id);
    GnomeVFSResult gnome_vfs_mime_remove_application_from_short_list
                                                (const char *mime_type,
                                                 const char *application_id);
    GnomeVFSResult gnome_vfs_mime_add_component_to_short_list
                                                (const char *mime_type,
                                                 const char *iid);
    GnomeVFSResult gnome_vfs_mime_remove_component_from_short_list
                                                (const char *mime_type,
                                                 const char *iid);
    GnomeVFSResult gnome_vfs_mime_add_extension (const char *mime_type,
                                                 const char *extension);
    GnomeVFSResult gnome_vfs_mime_remove_extension
                                                (const char *mime_type,
                                                 const char *extension);
    GnomeVFSResult gnome_vfs_mime_extend_all_applications
                                                (const char *mime_type,
                                                 GList *application_ids);
    GnomeVFSResult gnome_vfs_mime_remove_from_all_applications
                                                (const char *mime_type,
                                                 GList *application_ids);
    GnomeVFSMimeApplication* gnome_vfs_mime_application_new_from_id
                                                (const char *id);
    void        gnome_vfs_mime_application_free (GnomeVFSMimeApplication *application);
    void        gnome_vfs_mime_action_free      (GnomeVFSMimeAction *action);
    void        gnome_vfs_mime_application_list_free
                                                (GList *list);
    void        gnome_vfs_mime_component_list_free
                                                (GList *list);
    gboolean    gnome_vfs_mime_id_in_application_list
                                                (const char *id,
                                                 GList *applications);
    gboolean    gnome_vfs_mime_id_in_component_list
                                                (const char *iid,
                                                 GList *components);
    GList*      gnome_vfs_mime_remove_application_from_list
                                                (GList *applications,
                                                 const char *application_id,
                                                 gboolean *did_remove);
    GList*      gnome_vfs_mime_remove_component_from_list
                                                (GList *components,
                                                 const char *iid,
                                                 gboolean *did_remove);
    GList*      gnome_vfs_mime_id_list_from_component_list
                                                (GList *components);
    GList*      gnome_vfs_mime_id_list_from_application_list
                                                (GList *applications);
    void        gnome_vfs_mime_freeze           (void);
    void        gnome_vfs_mime_thaw             (void);
    void        gnome_vfs_mime_info_reload      (void);
    gboolean    gnome_vfs_mime_type_is_known    (const char *mime_type);
    const char* gnome_vfs_mime_get_value        (const char *mime_type,
                                                 const char *key);
    GnomeVFSResult gnome_vfs_mime_set_value     (const char *mime_type,
                                                 const char *key,
                                                 const char *value);
    GList*      gnome_vfs_mime_get_key_list     (const char *mime_type);
    void        gnome_vfs_mime_keys_list_free   (GList *mime_type_list);
    GList*      gnome_vfs_mime_get_extensions_list
                                                (const char *mime_type);
    void        gnome_vfs_mime_extensions_list_free
                                                (GList *list);
    char*       gnome_vfs_mime_get_extensions_string
                                                (const char *mime_type);
    char*       gnome_vfs_mime_get_extensions_pretty_string
                                                (const char *mime_type);
    GList*      gnome_vfs_get_registered_mime_types
                                                (void);
    void        gnome_vfs_mime_registered_mime_type_list_free
                                                (GList *list);
    GnomeVFSResult gnome_vfs_mime_set_registered_type_key
                                                (const char *mime_type,
                                                 const char *key,
                                                 const char *data);
    GnomeVFSResult gnome_vfs_mime_set_extensions_list
                                                (const char *mime_type,
                                                 const char *extensions_list);
    void        gnome_vfs_mime_registered_mime_type_delete
                                                (const char *mime_type);
    void        gnome_vfs_mime_reset            (void);

## Description

## Details

### GNOME_VFS_MIME_TYPE_UNKNOWN

    #define GNOME_VFS_MIME_TYPE_UNKNOWN "application/octet-stream"

The value returned for the MIME type when a file did not match any entries in the MIME database. May be treated as a file of an unknown type.

### gnome_vfs_get_mime_type_for_data ()

    const char* gnome_vfs_get_mime_type_for_data
                                                (gconstpointer data,
                                                 int data_size);

Tries to guess the mime type of the data in `data` using the magic patterns.

`data` : | A pointer to data in memory.
`data_size` : | Size of the data.
Returns : | the mime-type for this filename.

### gnome_vfs_get_mime_type ()

    char*       gnome_vfs_get_mime_type         (const char *text_uri);

Determine the mime type of `text_uri`. The mime type is determined in the same way as by `gnome_vfs_get_file_info()`. This is meant as a convenience function for times when you only want the mime type.

`text_uri` : | URI of the file for which to get the mime type
Returns : | The mime type, or NULL if there is an error reading the file.

### enum GnomeVFSMimeActionType

    typedef enum {
    	GNOME_VFS_MIME_ACTION_TYPE_NONE,
    	GNOME_VFS_MIME_ACTION_TYPE_APPLICATION,
    	GNOME_VFS_MIME_ACTION_TYPE_COMPONENT
    } GnomeVFSMimeActionType;

### enum GnomeVFSMimeApplicationArgumentType

    typedef enum {
    	GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS,
    	GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_PATHS,
    	GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS_FOR_NON_FILES
    } GnomeVFSMimeApplicationArgumentType;

### struct GnomeVFSMimeApplication

    struct GnomeVFSMimeApplication {

    	char *id;
    	char *name;
    	char *command;
    	gboolean can_open_multiple_files;
    	GnomeVFSMimeApplicationArgumentType expects_uris;
    	GList *supported_uri_schemes;
    	gboolean requires_terminal;

    	/* Padded to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;

    };

### gnome_vfs_mime_application_copy ()

    GnomeVFSMimeApplication* gnome_vfs_mime_application_copy
                                                (GnomeVFSMimeApplication *application);

Creates a newly referenced copy of a GnomeVFSMimeApplication object.

`application` : | The GnomeVFSMimeApplication to be duplicated.
Returns : | A copy of `application`

### gnome_vfs_mime_get_default_action_type ()

    GnomeVFSMimeActionType gnome_vfs_mime_get_default_action_type
                                                (const char *mime_type);

Query the MIME database for the type of action to be performed on a particular MIME type by default.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
Returns : | The type of action to be performed on a file of MIME type, `mime_type` by default.

### gnome_vfs_mime_get_default_action ()

    GnomeVFSMimeAction* gnome_vfs_mime_get_default_action
                                                (const char *mime_type);

Query the MIME database for default action associated with a particular MIME type `mime_type`.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
Returns : | A GnomeVFSMimeAction representing the default action to perform upon file of type `mime_type`.

### gnome_vfs_mime_get_default_application ()

    GnomeVFSMimeApplication* gnome_vfs_mime_get_default_application
                                                (const char *mime_type);

Query the MIME database for the application to be executed on files of MIME type `mime_type` by default.

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | A GnomeVFSMimeApplication representing the default handler of `mime_type`

### gnome_vfs_mime_get_default_component ()

    Bonobo_ServerInfo* gnome_vfs_mime_get_default_component
                                                (const char *mime_type);

Query the MIME database for the default Bonobo component to be activated to view files of MIME type `mime_type`.

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | An Bonobo_ServerInfo * representing the OAF server to be activated to get a reference to the proper component.

### gnome_vfs_mime_get_short_list_applications ()

    GList*      gnome_vfs_mime_get_short_list_applications
                                                (const char *mime_type);

Return an alphabetically sorted list of GnomeVFSMimeApplication data structures for the requested mime type. The short list contains "select" applications recommended for handling this MIME type, appropriate for display to the user.

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | A GList * where the elements are GnomeVFSMimeApplication * representing various applications to display in the short list for `mime_type`.

### gnome_vfs_mime_get_short_list_components ()

    GList*      gnome_vfs_mime_get_short_list_components
                                                (const char *mime_type);

Return an unsorted sorted list of Bonobo_ServerInfo * data structures for the requested mime type. The short list contains "select" components recommended for handling this MIME type, appropriate for display to the user.

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | A GList * where the elements are Bonobo_ServerInfo * representing various components to display in the short list for `mime_type`.

### gnome_vfs_mime_get_all_applications ()

    GList*      gnome_vfs_mime_get_all_applications
                                                (const char *mime_type);

Return an alphabetically sorted list of GnomeVFSMimeApplication data structures representing all applications in the MIME database registered to handle files of MIME type `mime_type` (and supertypes).

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | A GList * where the elements are GnomeVFSMimeApplication * representing applications that handle MIME type `mime_type`.

### gnome_vfs_mime_get_all_components ()

    GList*      gnome_vfs_mime_get_all_components
                                                (const char *mime_type);

Return an alphabetically sorted list of Bonobo_ServerInfo data structures representing all Bonobo components registered to handle files of MIME type `mime_type` (and supertypes).

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
Returns : | A GList * where the elements are Bonobo_ServerInfo * representing components that can handle MIME type `mime_type`.

### gnome_vfs_mime_set_default_action_type ()

    GnomeVFSResult gnome_vfs_mime_set_default_action_type
                                                (const char *mime_type,
                                                 GnomeVFSMimeActionType action_type);

Sets the default action type to be performed on files of MIME type `mime_type`.

`mime_type` : | A const char * containing a mime type, e.g. "image/png"
`action_type` : | A GnomeVFSMimeActionType containing the action to perform by default
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_set_default_application ()

    GnomeVFSResult gnome_vfs_mime_set_default_application
                                                (const char *mime_type,
                                                 const char *application_id);

Sets the default application to be run on files of MIME type `mime_type`.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_id` : | A key representing an application in the MIME database (GnomeVFSMimeApplication->id, for example)
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_set_default_component ()

    GnomeVFSResult gnome_vfs_mime_set_default_component
                                                (const char *mime_type,
                                                 const char *component_iid);

Sets the default component to be activated for files of MIME type `mime_type`.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`component_iid` : | The OAFIID of a component
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_get_icon ()

    const char* gnome_vfs_mime_get_icon         (const char *mime_type);

Query the MIME database for an icon representing the specified MIME type.

`mime_type` : | A const char * containing a MIME type

Returns :

The filename of the icon as listed in the MIME database. This is usually a filename without path information, e.g. "i-chardev.png", and sometimes does not have an extension, e.g. "i-regular" if the icon is supposed to be image type agnostic between icon themes. Icons are generic, and not theme specific. These will not necessarily match with the icons a user sees in Nautilus, you have been warned.

### gnome_vfs_mime_set_icon ()

    GnomeVFSResult gnome_vfs_mime_set_icon      (const char *mime_type,
                                                 const char *filename);

Set the icon entry for a particular MIME type in the MIME database. Note that icon entries need not necessarily contain the full path, and do not necessarily need to specify an extension. So "i-regular", "my-special-icon.png", and "some-icon" are all valid icon filenames.

`mime_type` : | A const char * containing a MIME type
`filename` : | a const char * containing an image filename
Returns : | A GnomeVFSResult indicating the success of the operation or any errors that may have occurred.

### gnome_vfs_mime_get_description ()

    const char* gnome_vfs_mime_get_description  (const char *mime_type);

Query the MIME database for a description of the specified MIME type.

`mime_type` : | the mime type
Returns : | A description of MIME type `mime_type`

### gnome_vfs_mime_set_description ()

    GnomeVFSResult gnome_vfs_mime_set_description
                                                (const char *mime_type,
                                                 const char *description);

Set the description of this MIME type in the MIME database. The description should be something like "Gnumeric spreadsheet".

`mime_type` : | A const char * containing a mime type
`description` : | A description of this MIME type
Returns : | GnomeVFSResult indicating the success of the operation or any errors that may have occurred.

### gnome_vfs_mime_can_be_executable ()

    gboolean    gnome_vfs_mime_can_be_executable
                                                (const char *mime_type);

Check whether files of this MIME type might conceivably be executable. Default for known types if FALSE. Default for unknown types is TRUE.

`mime_type` : | A const char * containing a mime type
Returns : | gboolean containing TRUE if some files of this MIME type are registered as being executable, and false otherwise.

### gnome_vfs_mime_set_can_be_executable ()

    GnomeVFSResult gnome_vfs_mime_set_can_be_executable
                                                (const char *mime_type,
                                                 gboolean new_value);

Set whether files of this MIME type might conceivably be executable.

`mime_type` : | A const char * containing a mime type
`new_value` : | A boolean value indicating whether `mime_type` could be executable.
Returns : | GnomeVFSResult indicating the success of the operation or any errors that may have occurred.

### gnome_vfs_mime_set_short_list_applications ()

    GnomeVFSResult gnome_vfs_mime_set_short_list_applications
                                                (const char *mime_type,
                                                 GList *application_ids);

Set the short list of applications for the specified MIME type. The short list contains applications recommended for possible selection by the user.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_ids` : | GList of const char * application ids
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_set_short_list_components ()

    GnomeVFSResult gnome_vfs_mime_set_short_list_components
                                                (const char *mime_type,
                                                 GList *component_iids);

Set the short list of components for the specified MIME type. The short list contains companents recommended for possible selection by the user. *

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`component_iids` : | GList of const char * OAF IIDs
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_add_application_to_short_list ()

    GnomeVFSResult gnome_vfs_mime_add_application_to_short_list
                                                (const char *mime_type,
                                                 const char *application_id);

Add an application to the short list for MIME type `mime_type`. The short list contains applications recommended for display as choices to the user for a particular MIME type.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_id` : | const char * containing the application's id in the MIME database
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_remove_application_from_short_list ()

    GnomeVFSResult gnome_vfs_mime_remove_application_from_short_list
                                                (const char *mime_type,
                                                 const char *application_id);

Remove an application from the short list for MIME type `mime_type`. The short list contains applications recommended for display as choices to the user for a particular MIME type.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_id` : | const char * containing the application's id in the MIME database
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_add_component_to_short_list ()

    GnomeVFSResult gnome_vfs_mime_add_component_to_short_list
                                                (const char *mime_type,
                                                 const char *iid);

Add a component to the short list for MIME type `mime_type`. The short list contains components recommended for display as choices to the user for a particular MIME type.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`iid` : | const char * containing the component's OAF IID
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_remove_component_from_short_list ()

    GnomeVFSResult gnome_vfs_mime_remove_component_from_short_list
                                                (const char *mime_type,
                                                 const char *iid);

Remove a component from the short list for MIME type `mime_type`. The short list contains components recommended for display as choices to the user for a particular MIME type.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`iid` : | const char * containing the component's OAF IID
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_add_extension ()

    GnomeVFSResult gnome_vfs_mime_add_extension (const char *mime_type,
                                                 const char *extension);

Add a file extension to the specificed MIME type in the MIME database.

`mime_type` : | The mime type to add the mapping to.
`extension` : | The extension to add (e.g. "txt")
Returns : | GnomeVFSResult indicating the success of the operation or any errors that may have occurred.

### gnome_vfs_mime_remove_extension ()

    GnomeVFSResult gnome_vfs_mime_remove_extension
                                                (const char *mime_type,
                                                 const char *extension);

Removes a file extension from the specificed MIME type in the MIME database.

`mime_type` : | The mime type to remove the extension from
`extension` : | The extension to remove
Returns : | GnomeVFSResult indicating the success of the operation or any errors that may have occurred.

### gnome_vfs_mime_extend_all_applications ()

    GnomeVFSResult gnome_vfs_mime_extend_all_applications
                                                (const char *mime_type,
                                                 GList *application_ids);

Register `mime_type` as being handled by all applications list in `application_ids`.

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_ids` : | a GList of const char * containing application ids
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_remove_from_all_applications ()

    GnomeVFSResult gnome_vfs_mime_remove_from_all_applications
                                                (const char *mime_type,
                                                 GList *application_ids);

Remove `mime_type` as a handled type from every application in `application_ids`

`mime_type` : | A const char * containing a mime type, e.g. "application/x-php"
`application_ids` : | a GList of const char * containing application ids
Returns : | A GnomeVFSResult indicating the success of the operation or reporting any errors encountered.

### gnome_vfs_mime_application_new_from_id ()

    GnomeVFSMimeApplication* gnome_vfs_mime_application_new_from_id
                                                (const char *id);

Fetches the GnomeVFSMimeApplication associated with the specified application ID from the MIME database.

`id` : | A const char * containing an application id
Returns : | GnomeVFSMimeApplication * corresponding to `id`

### gnome_vfs_mime_application_free ()

    void        gnome_vfs_mime_application_free (GnomeVFSMimeApplication *application);

Frees a GnomeVFSMimeApplication *.

`application` : | The GnomeVFSMimeApplication to be freed

### gnome_vfs_mime_action_free ()

    void        gnome_vfs_mime_action_free      (GnomeVFSMimeAction *action);

Frees a GnomeVFSMimeAction *.

`action` : | The GnomeVFSMimeAction to be freed

### gnome_vfs_mime_application_list_free ()

    void        gnome_vfs_mime_application_list_free
                                                (GList *list);

Frees lists of GnomeVFSApplications, as returned from functions such as `gnome_vfs_get_all_applications()`.

`list` : | a GList of GnomeVFSApplication * to be freed

### gnome_vfs_mime_component_list_free ()

    void        gnome_vfs_mime_component_list_free
                                                (GList *list);

Frees lists of Bonobo_ServerInfo * (as returned from functions such as `gnome_vfs_get_all_components`)

`list` : | a GList of Bonobo_ServerInfo * to be freed

### gnome_vfs_mime_id_in_application_list ()

    gboolean    gnome_vfs_mime_id_in_application_list
                                                (const char *id,
                                                 GList *applications);

Check whether an application id is in a list of GnomeVFSMimeApplications.

`id` : | An application id.
`applications` : | A GList * whose nodes are GnomeVFSMimeApplications, such as the result of `gnome_vfs_mime_get_short_list_applications()`.
Returns : | TRUE if an application whose id matches `id` is in `applications`.

### gnome_vfs_mime_id_in_component_list ()

    gboolean    gnome_vfs_mime_id_in_component_list
                                                (const char *iid,
                                                 GList *components);

Check whether a component iid is in a list of Bonobo_ServerInfos.

`iid` : | A component iid.
`components` : | A GList * whose nodes are Bonobo_ServerInfos, such as the result of `gnome_vfs_mime_get_short_list_components()`.
Returns : | TRUE if a component whose iid matches `iid` is in `components`.

### gnome_vfs_mime_remove_application_from_list ()

    GList*      gnome_vfs_mime_remove_application_from_list
                                                (GList *applications,
                                                 const char *application_id,
                                                 gboolean *did_remove);

Remove an application specified by id from a list of GnomeVFSMimeApplications.

`applications` : | A GList * whose nodes are GnomeVFSMimeApplications, such as the result of `gnome_vfs_mime_get_short_list_applications()`.
`application_id` : | The id of an application to remove from `applications`.
`did_remove` : | If non-NULL, this is filled in with TRUE if the application was found in the list, FALSE otherwise.
Returns : | The modified list. If the application is not found, the list will be unchanged.

### gnome_vfs_mime_remove_component_from_list ()

    GList*      gnome_vfs_mime_remove_component_from_list
                                                (GList *components,
                                                 const char *iid,
                                                 gboolean *did_remove);

Remove a component specified by iid from a list of Bonobo_ServerInfos.

`components` : | A GList * whose nodes are Bonobo_ServerInfos, such as the result of `gnome_vfs_mime_get_short_list_components()`.
`iid` : | The iid of a component to remove from `components`.
`did_remove` : | If non-NULL, this is filled in with TRUE if the component was found in the list, FALSE otherwise.
Returns : | The modified list. If the component is not found, the list will be unchanged.

### gnome_vfs_mime_id_list_from_component_list ()

    GList*      gnome_vfs_mime_id_list_from_component_list
                                                (GList *components);

Create a list of component iids from a list of Bonobo_ServerInfos.

`components` : | A GList * whose nodes are Bonobo_ServerInfos, such as the result of `gnome_vfs_mime_get_short_list_components()`.
Returns : | A new list where each Bonobo_ServerInfo in the original list is replaced by a char * with the component's iid. The original list is not modified.

### gnome_vfs_mime_id_list_from_application_list ()

    GList*      gnome_vfs_mime_id_list_from_application_list
                                                (GList *applications);

Create a list of application ids from a list of GnomeVFSMimeApplications.

`applications` : | A GList * whose nodes are GnomeVFSMimeApplications, such as the result of `gnome_vfs_mime_get_short_list_applications()`.
Returns : | A new list where each GnomeVFSMimeApplication in the original list is replaced by a char * with the application's id. The original list is not modified.

### gnome_vfs_mime_freeze ()

    void        gnome_vfs_mime_freeze           (void);

Freezes the mime data so that you can do multiple updates to the dat in one batch without needing to back the files to disk or readind them

### gnome_vfs_mime_thaw ()

    void        gnome_vfs_mime_thaw             (void);

UnFreezes the mime data so that you can do multiple updates to the dat in one batch without needing to back the files to disk or readind them

### gnome_vfs_mime_info_reload ()

    void        gnome_vfs_mime_info_reload      (void);

Reload the MIME database from disk and notify any listeners holding active GnomeVFSMIMEMonitor objects.

### gnome_vfs_mime_type_is_known ()

    gboolean    gnome_vfs_mime_type_is_known    (const char *mime_type);

This function returns TRUE if `mime_type` is in the MIME database at all.

`mime_type` : | a mime type.
Returns : | TRUE if anything is known about `mime_type`, otherwise FALSE

### gnome_vfs_mime_get_value ()

    const char* gnome_vfs_mime_get_value        (const char *mime_type,
                                                 const char *key);

This function retrieves the value associated with `key` in the given GnomeMimeContext. The string is private, you should not free the result.

`mime_type` : | a mime type.
`key` : | A key to lookup for the given mime-type
Returns : | GNOME_VFS_OK if the operation succeeded, otherwise an error code

### gnome_vfs_mime_set_value ()

    GnomeVFSResult gnome_vfs_mime_set_value     (const char *mime_type,
                                                 const char *key,
                                                 const char *value);

This function is going to set the value associated to the key and it will save it to the user' file if necessary. You should not free the key/values passed to this function. They are used internally.

`mime_type` : | a mime type.
`key` : | a key to store the value in.
`value` : | the value to store in the key.
Returns : | GNOME_VFS_OK if the operation succeeded, otherwise an error code

### gnome_vfs_mime_get_key_list ()

    GList*      gnome_vfs_mime_get_key_list     (const char *mime_type);

Gets a list of all keys associated with `mime_type`.

`mime_type` : | the MIME type to lookup
Returns : | a GList of const char * representing keys associated with `mime_type`

### gnome_vfs_mime_keys_list_free ()

    void        gnome_vfs_mime_keys_list_free   (GList *mime_type_list);

Frees the mime type list.

`mime_type_list` : | A mime type list to free.

### gnome_vfs_mime_get_extensions_list ()

    GList*      gnome_vfs_mime_get_extensions_list
                                                (const char *mime_type);

Get the file extensions associated with mime type `mime_type`.

`mime_type` : | type to get the extensions of
Returns : | a GList of char *s

### gnome_vfs_mime_extensions_list_free ()

    void        gnome_vfs_mime_extensions_list_free
                                                (GList *list);

Call this function on the list returned by gnome_vfs_mime_extensions to free the list and all of its elements.

`list` : | the extensions list

### gnome_vfs_mime_get_extensions_string ()

    char*       gnome_vfs_mime_get_extensions_string
                                                (const char *mime_type);

Retrieves the extensions associated with `mime_type` as a single space seperated string.

`mime_type` : | the mime type
Returns : | a string containing space seperated extensions for `mime_type`

### gnome_vfs_mime_get_extensions_pretty_string ()

    char*       gnome_vfs_mime_get_extensions_pretty_string
                                                (const char *mime_type);

Returns the supported extensions for `mime_type` as a comma-seperated list.

`mime_type` : | the mime type
Returns : | a string containing comma seperated extensions for this mime-type

### gnome_vfs_get_registered_mime_types ()

    GList*      gnome_vfs_get_registered_mime_types
                                                (void);

Returns : |

### gnome_vfs_mime_registered_mime_type_list_free ()

    void        gnome_vfs_mime_registered_mime_type_list_free
                                                (GList *list);

Call this function on the list returned by gnome_vfs_get_registered_mime_types to free the list and all of its elements.

`list` : | the extensions list

### gnome_vfs_mime_set_registered_type_key ()

    GnomeVFSResult gnome_vfs_mime_set_registered_type_key
                                                (const char *mime_type,
                                                 const char *key,
                                                 const char *data);

This function sets the key data for the registered mime type's hash table.

`mime_type` : | Mime type to set key for
`key` : | The key to set
`data` : | The data to set for the key
Returns : | GNOME_VFS_OK if the operation succeeded, otherwise an error code

### gnome_vfs_mime_set_extensions_list ()

    GnomeVFSResult gnome_vfs_mime_set_extensions_list
                                                (const char *mime_type,
                                                 const char *extensions_list);

Sets the extensions for a given mime type. Overrides the previously set extensions.

`mime_type` : | the mime type.
`extensions_list` : | a whitespace-separated list of the extensions to set for this mime type.
Returns : | GNOME_VFS_OK if the operation succeeded, otherwise an error code.

### gnome_vfs_mime_registered_mime_type_delete ()

    void        gnome_vfs_mime_registered_mime_type_delete
                                                (const char *mime_type);

Delete a mime type for the user which runs this command. You can undo this only by calling gnome_vfs_mime_reset

`mime_type` : | string representing the existing type to delete

### gnome_vfs_mime_reset ()

    void        gnome_vfs_mime_reset            (void);

resets the user's mime database to the system defaults.