MIME Handlers

Name

MIME Handlers -- functions for getting and manipulating the actions to be performed on mime types

Synopsis



enum        GnomeVFSMimeActionType;
enum        GnomeVFSMimeApplicationArgumentType;
typedef     GnomeVFSMimeApplication;
typedef     GnomeVFSMimeAction;
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);
OAF_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);

Description

Details

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;


GnomeVFSMimeApplication

typedef struct {
	char *id;
	char *name;
	char *command;
	gboolean can_open_multiple_files;
	GnomeVFSMimeApplicationArgumentType expects_uris;
	GList *supported_uri_schemes;
	gboolean requires_terminal;
} GnomeVFSMimeApplication;


GnomeVFSMimeAction

typedef struct {
	GnomeVFSMimeActionType action_type;
	union {
		OAF_ServerInfo *component;
		void *dummy_component;
		GnomeVFSMimeApplication *application;
	} action;
} GnomeVFSMimeAction;


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 ()

OAF_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 OAF_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 OAF_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 OAF_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 OAF_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 OAF_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 OAF_ServerInfo * (as returned from functions such as gnome_vfs_get_all_components)

list : a GList of OAF_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 OAF_ServerInfos.

iid : A component iid.
components : A GList * whose nodes are OAF_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 OAF_ServerInfos.

components : A GList * whose nodes are OAF_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 OAF_ServerInfos.

components : A GList * whose nodes are OAF_ServerInfos, such as the result of gnome_vfs_mime_get_short_list_components().
Returns : A new list where each OAF_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.