efreet_desktop.h File Reference

Contains the structures and methods used to support the FDO desktop entry specificiation. More...

## Data Structures

struct | _Efreet_Desktop_Action
| Efreet_Desktop_Action. More...
struct | _Efreet_Desktop
| Efreet_Desktop. More...

## Macros

#define | efreet_desktop_unref(desktop)
| Alias for efreet_desktop_free(desktop).

## Typedefs

typedef struct _Efreet_Desktop_Action | Efreet_Desktop_Action
| Efreet_Desktop_Action.
typedef struct _Efreet_Desktop | Efreet_Desktop
| Efreet_Desktop.
typedef void *(* | Efreet_Desktop_Command_Cb) (void *data, Efreet_Desktop *desktop, char *command, int remaining)
| A callback used with efreet_desktop_command_get().
typedef int(* | Efreet_Desktop_Progress_Cb) (void *data, Efreet_Desktop *desktop, char *uri, long int total, long int current)
| A callback used to get download progress of remote uris.
typedef void *(* | Efreet_Desktop_Type_Parse_Cb) (Efreet_Desktop *desktop, Efreet_Ini *ini)
| A callback used to parse data for custom types.
typedef void(* | Efreet_Desktop_Type_Save_Cb) (Efreet_Desktop *desktop, Efreet_Ini *ini)
| A callback used to save data for custom types.
typedef void *(* | Efreet_Desktop_Type_Free_Cb) (void *data)
| A callback used to free data for custom types.

## Functions

Efreet_Desktop * | efreet_desktop_get (const char *file)
| Gets a reference to an Efreet_Desktop structure representing the contents of file or NULL if file is not a valid .desktop file.
int | efreet_desktop_ref (Efreet_Desktop *desktop)
| Increases reference count on desktop.
Efreet_Desktop * | efreet_desktop_empty_new (const char *file)
| Creates a new empty Efreet_Desktop structure or NULL on failure.
Efreet_Desktop * | efreet_desktop_new (const char *file)
| Gets a reference to an Efreet_Desktop structure representing the contents of file or NULL if file is not a valid .desktop file.
Efreet_Desktop * | efreet_desktop_uncached_new (const char *file)
| Creates a new Efreet_Desktop structure initialized from the contents of file or NULL on failure.
void | efreet_desktop_free (Efreet_Desktop *desktop)
| Frees the Efreet_Desktop structure and all of it's data.
int | efreet_desktop_save (Efreet_Desktop *desktop)
| Saves any changes made to desktop back to the file on the filesystem.
int | efreet_desktop_save_as (Efreet_Desktop *desktop, const char *file)
| Saves desktop to file.
void | efreet_desktop_exec (Efreet_Desktop *desktop, Eina_List *files, void *data)
| Parses the desktop exec line and runs the command.
void | efreet_desktop_environment_set (const char *environment)
| sets the global desktop environment name
const char * | efreet_desktop_environment_get (void)
| gets the global desktop environment name (e.g. "Enlightenment" or "Gnome")
void * | efreet_desktop_command_progress_get (Efreet_Desktop *desktop, Eina_List *files, Efreet_Desktop_Command_Cb cb_command, Efreet_Desktop_Progress_Cb cb_prog, void *data)
| Get a command to use to execute a desktop entry, and receive progress updates for downloading of remote URI's passed in.
void * | efreet_desktop_command_get (Efreet_Desktop *desktop, Eina_List *files, Efreet_Desktop_Command_Cb func, void *data)
| Get a command to use to execute a desktop entry.
Eina_List * | efreet_desktop_command_local_get (Efreet_Desktop *desktop, Eina_List *files)
| Get the command to use to execute a desktop entry.
unsigned int | efreet_desktop_category_count_get (Efreet_Desktop *desktop)
| Retrieves the number of categories the given desktop belongs too.
void | efreet_desktop_category_add (Efreet_Desktop *desktop, const char *category)
| add a category to a desktop
int | efreet_desktop_category_del (Efreet_Desktop *desktop, const char *category)
| removes a category from a desktop
int | efreet_desktop_type_add (const char *type, Efreet_Desktop_Type_Parse_Cb parse_func, Efreet_Desktop_Type_Save_Cb save_func, Efreet_Desktop_Type_Free_Cb free_func)
| Adds the given type to the list of types in the system.
int | efreet_desktop_type_alias (int from_type, const char *alias)
| Add an alias for an existing desktop type.
void * | efreet_desktop_type_data_get (Efreet_Desktop *desktop)
| get type specific data for custom desktop types
Eina_List * | efreet_desktop_string_list_parse (const char *string)
| Parse ';' separate list of strings according to the desktop spec.
char * | efreet_desktop_string_list_join (Eina_List *list)
| Create a ';' separate list of strings according to the desktop spec.
Eina_Bool | efreet_desktop_x_field_set (Efreet_Desktop *desktop, const char *key, const char *data)
| Set the value for a X- field (Non spec) in the structure.
const char * | efreet_desktop_x_field_get (Efreet_Desktop *desktop, const char *key)
| Get the value for a X- field (Non spec) in the structure.
Eina_Bool | efreet_desktop_x_field_del (Efreet_Desktop *desktop, const char *key)
| Delete the key and value for a X- field (Non spec) in the structure.

## Variables

int | EFREET_DESKTOP_TYPE_APPLICATION
int | EFREET_DESKTOP_TYPE_LINK
int | EFREET_DESKTOP_TYPE_DIRECTORY
int | EFREET_EVENT_DESKTOP_CACHE_UPDATE
| Event id for cache update.
int | EFREET_EVENT_DESKTOP_CACHE_BUILD
| Event id for cache build complete.

## Detailed Description

Contains the structures and methods used to support the FDO desktop entry specificiation.