\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__Action}{\+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop\+\_\+\+Action. \end{DoxyCompactList}\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 
typedef struct \\*
\hyperlink{struct__Efreet__Desktop__Action}{\+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action} \hyperlink{group__Efreet__Desktop_ga518933d7fb5b30e282c10310c1825b88}{Efreet\+\_\+\+Desktop\+\_\+\+Action}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop\+\_\+\+Action. \end{DoxyCompactList}\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. 

