\hypertarget{efreet__desktop_8h}{\section{efreet\-\_\-desktop.\-h File Reference}
\label{efreet__desktop_8h}\index{efreet\-\_\-desktop.\-h@{efreet\-\_\-desktop.\-h}}
}


Contains the structures and methods used to support the F\-D\-O desktop entry specificiation.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Efreet__Desktop}{\-\_\-\-Efreet\-\_\-\-Desktop}
\begin{DoxyCompactList}\small\item\em Efreet\-\_\-\-Desktop. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Desktop_gaceed6ae96a871cf248d0433810271aee}{\#define \hyperlink{group__Efreet__Desktop_gaceed6ae96a871cf248d0433810271aee}{efreet\-\_\-desktop\-\_\-unref}(desktop)~\hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\-\_\-desktop\-\_\-free}((desktop))}\label{group__Efreet__Desktop_gaceed6ae96a871cf248d0433810271aee}

\begin{DoxyCompactList}\small\item\em Alias for efreet\-\_\-desktop\-\_\-free(desktop) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{typedef struct \hyperlink{struct__Efreet__Desktop}{\-\_\-\-Efreet\-\_\-\-Desktop} \hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop}}\label{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}

\begin{DoxyCompactList}\small\item\em Efreet\-\_\-\-Desktop. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Desktop_ga43de4c99c798902b45ec98d4ec306048}{typedef void $\ast$($\ast$ \hyperlink{group__Efreet__Desktop_ga43de4c99c798902b45ec98d4ec306048}{Efreet\-\_\-\-Desktop\-\_\-\-Command\-\_\-\-Cb} )(void $\ast$data, \hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, char $\ast$command, int remaining)}\label{group__Efreet__Desktop_ga43de4c99c798902b45ec98d4ec306048}

\begin{DoxyCompactList}\small\item\em A callback used with \hyperlink{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}{efreet\-\_\-desktop\-\_\-command\-\_\-get()} \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Desktop_ga540dda3e25a4c1f5e114264051bb1520}{typedef int($\ast$ \hyperlink{group__Efreet__Desktop_ga540dda3e25a4c1f5e114264051bb1520}{Efreet\-\_\-\-Desktop\-\_\-\-Progress\-\_\-\-Cb} )(void $\ast$data, \hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, char $\ast$uri, long int total, long int current)}\label{group__Efreet__Desktop_ga540dda3e25a4c1f5e114264051bb1520}

\begin{DoxyCompactList}\small\item\em A callback used to get download progress of remote uris. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Desktop_ga9ae3789b0deb60e0ec22215210b4621f}{typedef void $\ast$($\ast$ \hyperlink{group__Efreet__Desktop_ga9ae3789b0deb60e0ec22215210b4621f}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Parse\-\_\-\-Cb} )(\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{structEfreet__Ini}{Efreet\-\_\-\-Ini} $\ast$ini)}\label{group__Efreet__Desktop_ga9ae3789b0deb60e0ec22215210b4621f}

\begin{DoxyCompactList}\small\item\em A callback used to parse data for custom types. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Desktop_gae8f0014dc5fcba6b748803cff7501eff}{typedef void($\ast$ \hyperlink{group__Efreet__Desktop_gae8f0014dc5fcba6b748803cff7501eff}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Save\-\_\-\-Cb} )(\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{structEfreet__Ini}{Efreet\-\_\-\-Ini} $\ast$ini)}\label{group__Efreet__Desktop_gae8f0014dc5fcba6b748803cff7501eff}

\begin{DoxyCompactList}\small\item\em A callback used to save data for custom types. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Desktop_gaa4fe25cbec2a880f8eb73582c4001b46}{typedef void $\ast$($\ast$ \hyperlink{group__Efreet__Desktop_gaa4fe25cbec2a880f8eb73582c4001b46}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Free\-\_\-\-Cb} )(void $\ast$data)}\label{group__Efreet__Desktop_gaa4fe25cbec2a880f8eb73582c4001b46}

\begin{DoxyCompactList}\small\item\em A callback used to free data for custom types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$ \hyperlink{group__Efreet__Desktop_gab2388b6d3f911a2a6552578e187c6476}{efreet\-\_\-desktop\-\_\-get} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Gets a reference to an Efreet\-\_\-\-Desktop structure representing the contents of {\itshape file} or N\-U\-L\-L if {\itshape file} is not a valid .desktop file. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_ga45d70a94b4e86cc4e5014e4f07944edd}{efreet\-\_\-desktop\-\_\-ref} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Increases reference count on desktop. \end{DoxyCompactList}\item 
\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$ \hyperlink{group__Efreet__Desktop_gac2d69239271b68a3344f74974a2f20a6}{efreet\-\_\-desktop\-\_\-empty\-\_\-new} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Creates a new empty Efreet\-\_\-\-Desktop structure or N\-U\-L\-L on failure. \end{DoxyCompactList}\item 
\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$ \hyperlink{group__Efreet__Desktop_ga43744c71f0c2cd24a04d34355c10b448}{efreet\-\_\-desktop\-\_\-new} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Gets a reference to an Efreet\-\_\-\-Desktop structure representing the contents of {\itshape file} or N\-U\-L\-L if {\itshape file} is not a valid .desktop file. \end{DoxyCompactList}\item 
\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$ \hyperlink{group__Efreet__Desktop_gab4bb6ffa5d872b46b07ce1d9488cc60c}{efreet\-\_\-desktop\-\_\-uncached\-\_\-new} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Creates a new Efreet\-\_\-\-Desktop structure initialized from the contents of {\itshape file} or N\-U\-L\-L on failure. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\-\_\-desktop\-\_\-free} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Frees the Efreet\-\_\-\-Desktop structure and all of it's data. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_gad706e127f26677328ce5864090d5e408}{efreet\-\_\-desktop\-\_\-save} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Saves any changes made to {\itshape desktop} back to the file on the filesystem. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_ga58591183299aadad39213ddeadbe6cc8}{efreet\-\_\-desktop\-\_\-save\-\_\-as} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Saves {\itshape desktop} to {\itshape file}. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Desktop_ga39fb6a20108c5dcd6743ff683185b67b}{efreet\-\_\-desktop\-\_\-exec} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$files, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Parses the {\itshape desktop} exec line and runs the command. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Desktop_gae9fa73cfca6072527c3b144a12f98c9f}{efreet\-\_\-desktop\-\_\-environment\-\_\-set} (const char $\ast$environment)
\begin{DoxyCompactList}\small\item\em sets the global desktop environment name \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Efreet__Desktop_ga1d9bd595ec6834a484d4e937db836c57}{efreet\-\_\-desktop\-\_\-environment\-\_\-get} (void)
\begin{DoxyCompactList}\small\item\em gets the global desktop environment name (e.\-g. \char`\"{}\-Enlightenment\char`\"{} or \char`\"{}\-Gnome\char`\"{}) \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Efreet__Desktop_ga0470d05526fc20c1399dd21af45d4248}{efreet\-\_\-desktop\-\_\-command\-\_\-progress\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$files, \hyperlink{group__Efreet__Desktop_ga43de4c99c798902b45ec98d4ec306048}{Efreet\-\_\-\-Desktop\-\_\-\-Command\-\_\-\-Cb} cb\-\_\-command, \hyperlink{group__Efreet__Desktop_ga540dda3e25a4c1f5e114264051bb1520}{Efreet\-\_\-\-Desktop\-\_\-\-Progress\-\_\-\-Cb} cb\-\_\-prog, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Get a command to use to execute a desktop entry, and receive progress updates for downloading of remote U\-R\-I's passed in. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}{efreet\-\_\-desktop\-\_\-command\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$files, \hyperlink{group__Efreet__Desktop_ga43de4c99c798902b45ec98d4ec306048}{Efreet\-\_\-\-Desktop\-\_\-\-Command\-\_\-\-Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Get a command to use to execute a desktop entry. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$ \hyperlink{group__Efreet__Desktop_gaabb37ce6c09b970a921055c7237a5035}{efreet\-\_\-desktop\-\_\-command\-\_\-local\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$files)
\begin{DoxyCompactList}\small\item\em Get the command to use to execute a desktop entry. \end{DoxyCompactList}\item 
unsigned int \hyperlink{group__Efreet__Desktop_gab514767ed12f0fd6772405087b37cba9}{efreet\-\_\-desktop\-\_\-category\-\_\-count\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Retrieves the number of categories the given {\itshape desktop} belongs too. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Desktop_ga096d2e88f5f0d76d5b5406682e31d6a4}{efreet\-\_\-desktop\-\_\-category\-\_\-add} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$category)
\begin{DoxyCompactList}\small\item\em add a category to a desktop \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_ga8223591c563f6ad2cc4e30d8b3c7ed9b}{efreet\-\_\-desktop\-\_\-category\-\_\-del} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$category)
\begin{DoxyCompactList}\small\item\em removes a category from a desktop \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_ga6411cc4272b9cc9c29f7359c1bd1454e}{efreet\-\_\-desktop\-\_\-type\-\_\-add} (const char $\ast$type, \hyperlink{group__Efreet__Desktop_ga9ae3789b0deb60e0ec22215210b4621f}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Parse\-\_\-\-Cb} parse\-\_\-func, \hyperlink{group__Efreet__Desktop_gae8f0014dc5fcba6b748803cff7501eff}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Save\-\_\-\-Cb} save\-\_\-func, \hyperlink{group__Efreet__Desktop_gaa4fe25cbec2a880f8eb73582c4001b46}{Efreet\-\_\-\-Desktop\-\_\-\-Type\-\_\-\-Free\-\_\-\-Cb} free\-\_\-func)
\begin{DoxyCompactList}\small\item\em Adds the given type to the list of types in the system. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_ga2ce48bbdf2f837bb4697aeb498d53a2e}{efreet\-\_\-desktop\-\_\-type\-\_\-alias} (int from\-\_\-type, const char $\ast$alias)
\begin{DoxyCompactList}\small\item\em Add an alias for an existing desktop type. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Efreet__Desktop_ga0b55136b8642c5688fd88cbfe51c32e3}{efreet\-\_\-desktop\-\_\-type\-\_\-data\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em get type specific data for custom desktop types \end{DoxyCompactList}\item 
\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$ \hyperlink{group__Efreet__Desktop_gaec162fbc1680085d934b56ae37fad7de}{efreet\-\_\-desktop\-\_\-string\-\_\-list\-\_\-parse} (const char $\ast$string)
\begin{DoxyCompactList}\small\item\em Parse ';' separate list of strings according to the desktop spec. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Efreet__Desktop_ga05bb228b3d7a498453e66b6c26e5c070}{efreet\-\_\-desktop\-\_\-string\-\_\-list\-\_\-join} (\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\-\_\-\-List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Create a ';' separate list of strings according to the desktop spec. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Efreet__Desktop_ga5f5275ae397c5906b07452a2885d05e8}{efreet\-\_\-desktop\-\_\-x\-\_\-field\-\_\-set} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$key, const char $\ast$data)
\begin{DoxyCompactList}\small\item\em Set the value for a X-\/ field (Non spec) in the structure. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Efreet__Desktop_ga34d49be66b6d2a030f9314bc808d853d}{efreet\-\_\-desktop\-\_\-x\-\_\-field\-\_\-get} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Get the value for a X-\/ field (Non spec) in the structure. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\-\_\-\-Bool} \hyperlink{group__Efreet__Desktop_ga742cdceac91dbf128dc309230c82ea9b}{efreet\-\_\-desktop\-\_\-x\-\_\-field\-\_\-del} (\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\-\_\-\-Desktop} $\ast$desktop, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Delete the key and value for a X-\/ field (Non spec) in the structure. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Desktop_ga790456b2f95702e2f3db3894ac63271c}{int {\bfseries E\-F\-R\-E\-E\-T\-\_\-\-D\-E\-S\-K\-T\-O\-P\-\_\-\-T\-Y\-P\-E\-\_\-\-A\-P\-P\-L\-I\-C\-A\-T\-I\-O\-N}}\label{group__Efreet__Desktop_ga790456b2f95702e2f3db3894ac63271c}

\item 
\hypertarget{group__Efreet__Desktop_ga156c20fe914e0177c4251c27b831320e}{int {\bfseries E\-F\-R\-E\-E\-T\-\_\-\-D\-E\-S\-K\-T\-O\-P\-\_\-\-T\-Y\-P\-E\-\_\-\-L\-I\-N\-K}}\label{group__Efreet__Desktop_ga156c20fe914e0177c4251c27b831320e}

\item 
\hypertarget{group__Efreet__Desktop_ga53b7febd49be5ca6bcedc8b9ee77a49d}{int {\bfseries E\-F\-R\-E\-E\-T\-\_\-\-D\-E\-S\-K\-T\-O\-P\-\_\-\-T\-Y\-P\-E\-\_\-\-D\-I\-R\-E\-C\-T\-O\-R\-Y}}\label{group__Efreet__Desktop_ga53b7febd49be5ca6bcedc8b9ee77a49d}

\item 
int \hyperlink{group__Efreet__Desktop_gadca25af73e87552f89cd4aaca5b72f1e}{E\-F\-R\-E\-E\-T\-\_\-\-E\-V\-E\-N\-T\-\_\-\-D\-E\-S\-K\-T\-O\-P\-\_\-\-C\-A\-C\-H\-E\-\_\-\-U\-P\-D\-A\-T\-E}
\begin{DoxyCompactList}\small\item\em Event id for cache update. \end{DoxyCompactList}\item 
int \hyperlink{group__Efreet__Desktop_gac7b141646654d10dd1d3d69e3ade18c1}{E\-F\-R\-E\-E\-T\-\_\-\-E\-V\-E\-N\-T\-\_\-\-D\-E\-S\-K\-T\-O\-P\-\_\-\-C\-A\-C\-H\-E\-\_\-\-B\-U\-I\-L\-D}
\begin{DoxyCompactList}\small\item\em Event id for cache build complete. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Contains the structures and methods used to support the F\-D\-O desktop entry specificiation. 