\hypertarget{group__Efreet__Desktop}{\section{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}
\label{group__Efreet__Desktop}\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
}


Specification functions and structures.  


\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}
Specification functions and structures. 



\subsection{Typedef Documentation}
\hypertarget{group__Efreet__Desktop_ga518933d7fb5b30e282c10310c1825b88}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!Efreet\+\_\+\+Desktop\+\_\+\+Action@{Efreet\+\_\+\+Desktop\+\_\+\+Action}}
\index{Efreet\+\_\+\+Desktop\+\_\+\+Action@{Efreet\+\_\+\+Desktop\+\_\+\+Action}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{Efreet\+\_\+\+Desktop\+\_\+\+Action}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action} {\bf Efreet\+\_\+\+Desktop\+\_\+\+Action}}}\label{group__Efreet__Desktop_ga518933d7fb5b30e282c10310c1825b88}


Efreet\+\_\+\+Desktop\+\_\+\+Action. 

\begin{DoxySince}{Since}
1.\+12 
\end{DoxySince}


\subsection{Function Documentation}
\hypertarget{group__Efreet__Desktop_gab2388b6d3f911a2a6552578e187c6476}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+get@{efreet\+\_\+desktop\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+get@{efreet\+\_\+desktop\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Desktop}$\ast$ efreet\+\_\+desktop\+\_\+get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gab2388b6d3f911a2a6552578e187c6476}


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. 


\begin{DoxyParams}{Parameters}
{\em file} & The file to get the Efreet\+\_\+\+Desktop from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a reference to a cached Efreet\+\_\+\+Desktop on success, N\+U\+L\+L on failure By using efreet\+\_\+desktop\+\_\+get the Efreet\+\_\+\+Desktop will be saved in an internal cache for quicker loading.
\end{DoxyReturn}
Users of this command should listen to 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 event, if the application is to keep the reference. When the event fires the Efreet\+\_\+\+Desktop struct should be invalidated and reloaded from a new cache file. 

References \+\_\+\+Efreet\+\_\+\+Desktop\+::eet, efreet\+\_\+desktop\+\_\+new(), eina\+\_\+list\+\_\+nth(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::type.



Referenced by efreet\+\_\+util\+\_\+desktop\+\_\+exec\+\_\+find(), efreet\+\_\+util\+\_\+desktop\+\_\+exec\+\_\+glob\+\_\+list(), and efreet\+\_\+util\+\_\+desktop\+\_\+file\+\_\+id\+\_\+find().

\hypertarget{group__Efreet__Desktop_ga45d70a94b4e86cc4e5014e4f07944edd}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+ref@{efreet\+\_\+desktop\+\_\+ref}}
\index{efreet\+\_\+desktop\+\_\+ref@{efreet\+\_\+desktop\+\_\+ref}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+ref}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+ref (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga45d70a94b4e86cc4e5014e4f07944edd}


Increases reference count on desktop. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The Efreet\+\_\+\+Desktop to ref \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the new reference count 
\end{DoxyReturn}


References eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::ref.



Referenced by efreet\+\_\+menu\+\_\+desktop\+\_\+insert().

\hypertarget{group__Efreet__Desktop_gac2d69239271b68a3344f74974a2f20a6}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+empty\+\_\+new@{efreet\+\_\+desktop\+\_\+empty\+\_\+new}}
\index{efreet\+\_\+desktop\+\_\+empty\+\_\+new@{efreet\+\_\+desktop\+\_\+empty\+\_\+new}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+empty\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Desktop}$\ast$ efreet\+\_\+desktop\+\_\+empty\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gac2d69239271b68a3344f74974a2f20a6}


Creates a new empty Efreet\+\_\+\+Desktop structure or N\+U\+L\+L on failure. 


\begin{DoxyParams}{Parameters}
{\em file} & The file to create the Efreet\+\_\+\+Desktop from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a new empty\+\_\+\+Efreet\+\_\+\+Desktop on success, N\+U\+L\+L on failure 
\end{DoxyReturn}


References ecore\+\_\+file\+\_\+mod\+\_\+time(), \+\_\+\+Efreet\+\_\+\+Desktop\+::load\+\_\+time, \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path, and \+\_\+\+Efreet\+\_\+\+Desktop\+::ref.

\hypertarget{group__Efreet__Desktop_ga43744c71f0c2cd24a04d34355c10b448}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+new@{efreet\+\_\+desktop\+\_\+new}}
\index{efreet\+\_\+desktop\+\_\+new@{efreet\+\_\+desktop\+\_\+new}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Desktop}$\ast$ efreet\+\_\+desktop\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga43744c71f0c2cd24a04d34355c10b448}


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. 


\begin{DoxyParams}{Parameters}
{\em file} & The file to get the Efreet\+\_\+\+Desktop from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a reference to a cached Efreet\+\_\+\+Desktop on success, N\+U\+L\+L on failure Users of this command should listen to 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 event, if the application is to keep the reference. When the event fires the Efreet\+\_\+\+Desktop struct should be invalidated and reloaded from a new cache file. 
\end{DoxyReturn}


References efreet\+\_\+desktop\+\_\+free(), efreet\+\_\+desktop\+\_\+uncached\+\_\+new(), eina\+\_\+file\+\_\+path\+\_\+sanitize(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::ref.



Referenced by efreet\+\_\+desktop\+\_\+get().

\hypertarget{group__Efreet__Desktop_gab4bb6ffa5d872b46b07ce1d9488cc60c}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+uncached\+\_\+new@{efreet\+\_\+desktop\+\_\+uncached\+\_\+new}}
\index{efreet\+\_\+desktop\+\_\+uncached\+\_\+new@{efreet\+\_\+desktop\+\_\+uncached\+\_\+new}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+uncached\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Desktop}$\ast$ efreet\+\_\+desktop\+\_\+uncached\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gab4bb6ffa5d872b46b07ce1d9488cc60c}


Creates a new Efreet\+\_\+\+Desktop structure initialized from the contents of {\itshape file} or N\+U\+L\+L on failure. 


\begin{DoxyParams}{Parameters}
{\em file} & The file to create the Efreet\+\_\+\+Desktop from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a new Efreet\+\_\+\+Desktop on success, N\+U\+L\+L on failure By using efreet\+\_\+desktop\+\_\+uncached\+\_\+new the Efreet\+\_\+\+Desktop structure will be read from disk, and not from any cache.
\end{DoxyReturn}
Data in the structure is allocated with strdup, so use free and strdup to change values. 

References ecore\+\_\+file\+\_\+exists(), efreet\+\_\+desktop\+\_\+free(), eina\+\_\+file\+\_\+path\+\_\+sanitize(), \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path, and \+\_\+\+Efreet\+\_\+\+Desktop\+::ref.



Referenced by efreet\+\_\+desktop\+\_\+new().

\hypertarget{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+free@{efreet\+\_\+desktop\+\_\+free}}
\index{efreet\+\_\+desktop\+\_\+free@{efreet\+\_\+desktop\+\_\+free}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+desktop\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}


Frees the Efreet\+\_\+\+Desktop structure and all of it's data. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The Efreet\+\_\+\+Desktop to work with \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::actions, \+\_\+\+Efreet\+\_\+\+Desktop\+::categories, \+\_\+\+Efreet\+\_\+\+Desktop\+::comment, \+\_\+\+Efreet\+\_\+\+Desktop\+::eet, E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+E\+E, eina\+\_\+list\+\_\+nth(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), eina\+\_\+stringshare\+\_\+del(), \+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action\+::exec, \+\_\+\+Efreet\+\_\+\+Desktop\+::exec, \+\_\+\+Efreet\+\_\+\+Desktop\+::generic\+\_\+name, \+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action\+::icon, \+\_\+\+Efreet\+\_\+\+Desktop\+::icon, \+\_\+\+Efreet\+\_\+\+Desktop\+::implements, \+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action\+::key, \+\_\+\+Efreet\+\_\+\+Desktop\+::keywords, \+\_\+\+Efreet\+\_\+\+Desktop\+::mime\+\_\+types, \+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action\+::name, \+\_\+\+Efreet\+\_\+\+Desktop\+::name, \+\_\+\+Efreet\+\_\+\+Desktop\+::not\+\_\+show\+\_\+in, \+\_\+\+Efreet\+\_\+\+Desktop\+::only\+\_\+show\+\_\+in, \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path, \+\_\+\+Efreet\+\_\+\+Desktop\+::path, \+\_\+\+Efreet\+\_\+\+Desktop\+::ref, \+\_\+\+Efreet\+\_\+\+Desktop\+::startup\+\_\+wm\+\_\+class, \+\_\+\+Efreet\+\_\+\+Desktop\+::try\+\_\+exec, \+\_\+\+Efreet\+\_\+\+Desktop\+::type, \+\_\+\+Efreet\+\_\+\+Desktop\+::type\+\_\+data, \+\_\+\+Efreet\+\_\+\+Desktop\+::url, \+\_\+\+Efreet\+\_\+\+Desktop\+::version, and \+\_\+\+Efreet\+\_\+\+Desktop\+::x.



Referenced by efreet\+\_\+desktop\+\_\+new(), efreet\+\_\+desktop\+\_\+uncached\+\_\+new(), and efreet\+\_\+menu\+\_\+free().

\hypertarget{group__Efreet__Desktop_gad706e127f26677328ce5864090d5e408}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+save@{efreet\+\_\+desktop\+\_\+save}}
\index{efreet\+\_\+desktop\+\_\+save@{efreet\+\_\+desktop\+\_\+save}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+save}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+save (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gad706e127f26677328ce5864090d5e408}


Saves any changes made to {\itshape desktop} back to the file on the filesystem. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The desktop file to save \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success or 0 on failure 
\end{DoxyReturn}


References efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join(), eina\+\_\+list\+\_\+nth(), \+\_\+\+Efreet\+\_\+\+Desktop\+::not\+\_\+show\+\_\+in, \+\_\+\+Efreet\+\_\+\+Desktop\+::only\+\_\+show\+\_\+in, \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path, and \+\_\+\+Efreet\+\_\+\+Desktop\+::type.



Referenced by efreet\+\_\+desktop\+\_\+save\+\_\+as().

\hypertarget{group__Efreet__Desktop_ga58591183299aadad39213ddeadbe6cc8}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+save\+\_\+as@{efreet\+\_\+desktop\+\_\+save\+\_\+as}}
\index{efreet\+\_\+desktop\+\_\+save\+\_\+as@{efreet\+\_\+desktop\+\_\+save\+\_\+as}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+save\+\_\+as}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+save\+\_\+as (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga58591183299aadad39213ddeadbe6cc8}


Saves {\itshape desktop} to {\itshape file}. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The desktop file to save \\
\hline
{\em file} & The filename to save as \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success or 0 on failure Please use \hyperlink{group__Efreet__Desktop_gab4bb6ffa5d872b46b07ce1d9488cc60c}{efreet\+\_\+desktop\+\_\+uncached\+\_\+new()} on an existing file before using \hyperlink{group__Efreet__Desktop_ga58591183299aadad39213ddeadbe6cc8}{efreet\+\_\+desktop\+\_\+save\+\_\+as()} 
\end{DoxyReturn}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::eet, efreet\+\_\+desktop\+\_\+save(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path.

\hypertarget{group__Efreet__Desktop_ga39fb6a20108c5dcd6743ff683185b67b}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+exec@{efreet\+\_\+desktop\+\_\+exec}}
\index{efreet\+\_\+desktop\+\_\+exec@{efreet\+\_\+desktop\+\_\+exec}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+exec}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+desktop\+\_\+exec (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{files, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga39fb6a20108c5dcd6743ff683185b67b}


Parses the {\itshape desktop} exec line and runs the command. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The desktop file to work with \\
\hline
{\em files} & The files to be substituted into the exec line \\
\hline
{\em data} & The data pointer to pass \\
\hline
\end{DoxyParams}


References efreet\+\_\+desktop\+\_\+command\+\_\+get().

\hypertarget{group__Efreet__Desktop_gae9fa73cfca6072527c3b144a12f98c9f}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+environment\+\_\+set@{efreet\+\_\+desktop\+\_\+environment\+\_\+set}}
\index{efreet\+\_\+desktop\+\_\+environment\+\_\+set@{efreet\+\_\+desktop\+\_\+environment\+\_\+set}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+environment\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+desktop\+\_\+environment\+\_\+set (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{environment}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gae9fa73cfca6072527c3b144a12f98c9f}


sets the global desktop environment name 


\begin{DoxyParams}{Parameters}
{\em environment} & the environment name \\
\hline
\end{DoxyParams}
\hypertarget{group__Efreet__Desktop_ga1d9bd595ec6834a484d4e937db836c57}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+environment\+\_\+get@{efreet\+\_\+desktop\+\_\+environment\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+environment\+\_\+get@{efreet\+\_\+desktop\+\_\+environment\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+environment\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ efreet\+\_\+desktop\+\_\+environment\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga1d9bd595ec6834a484d4e937db836c57}


gets the global desktop environment name (e.\+g. \char`\"{}\+Enlightenment\char`\"{} or \char`\"{}\+Gnome\char`\"{}) 

\begin{DoxyReturn}{Returns}
environment the environment name 
\end{DoxyReturn}


Referenced by efreet\+\_\+mime\+\_\+type\+\_\+icon\+\_\+get().

\hypertarget{group__Efreet__Desktop_ga0470d05526fc20c1399dd21af45d4248}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{files, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}}]{cb\+\_\+command, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Progress\+\_\+\+Cb}}]{cb\+\_\+prog, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga0470d05526fc20c1399dd21af45d4248}


Get a command to use to execute a desktop entry, and receive progress updates for downloading of remote U\+R\+I's passed in. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop entry \\
\hline
{\em files} & an eina list of file names to execute, as either absolute paths, relative paths, or uris \\
\hline
{\em cb\+\_\+command} & a callback to call for each prepared command line \\
\hline
{\em cb\+\_\+prog} & a callback to get progress for the downloads \\
\hline
{\em data} & user data passed to the callback \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success or 0 on failure 
\end{DoxyReturn}


References eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, eina\+\_\+list\+\_\+free(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::exec.



Referenced by efreet\+\_\+desktop\+\_\+command\+\_\+get().

\hypertarget{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+command\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+command\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+command\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ efreet\+\_\+desktop\+\_\+command\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{files, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}


Get a command to use to execute a desktop entry. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop entry \\
\hline
{\em files} & an eina list of file names to execute, as either absolute paths, relative paths, or uris \\
\hline
{\em func} & a callback to call for each prepared command line \\
\hline
{\em data} & user data passed to the callback \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the return value of {\ttfamily func} on success or N\+U\+L\+L on failure 
\end{DoxyReturn}


References efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get().



Referenced by efreet\+\_\+desktop\+\_\+exec().

\hypertarget{group__Efreet__Desktop_gaabb37ce6c09b970a921055c7237a5035}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get@{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+List}$\ast$ efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{files}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gaabb37ce6c09b970a921055c7237a5035}


Get the command to use to execute a desktop entry. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop entry \\
\hline
{\em files} & an eina list of local files, as absolute paths, local paths, or file// uris (or N\+U\+L\+L to get exec string with no files appended) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns an eina list of exec strings The returned list and each of its elements must be freed. 
\end{DoxyReturn}


References eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and \+\_\+\+Efreet\+\_\+\+Desktop\+::exec.

\hypertarget{group__Efreet__Desktop_gab514767ed12f0fd6772405087b37cba9}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get@{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get@{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gab514767ed12f0fd6772405087b37cba9}


Retrieves the number of categories the given {\itshape desktop} belongs too. 


\begin{DoxyParams}{Parameters}
{\em desktop} & The desktop to work with \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of categories assigned to this desktop 
\end{DoxyReturn}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::categories, and eina\+\_\+list\+\_\+count().

\hypertarget{group__Efreet__Desktop_ga096d2e88f5f0d76d5b5406682e31d6a4}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+category\+\_\+add@{efreet\+\_\+desktop\+\_\+category\+\_\+add}}
\index{efreet\+\_\+desktop\+\_\+category\+\_\+add@{efreet\+\_\+desktop\+\_\+category\+\_\+add}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+category\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+desktop\+\_\+category\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{category}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga096d2e88f5f0d76d5b5406682e31d6a4}


add a category to a desktop 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
{\em category} & the category name \\
\hline
\end{DoxyParams}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::categories, E\+I\+N\+A\+\_\+\+C\+O\+M\+P\+A\+R\+E\+\_\+\+C\+B, eina\+\_\+list\+\_\+append(), eina\+\_\+list\+\_\+search\+\_\+unsorted(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), and eina\+\_\+stringshare\+\_\+add().

\hypertarget{group__Efreet__Desktop_ga8223591c563f6ad2cc4e30d8b3c7ed9b}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+category\+\_\+del@{efreet\+\_\+desktop\+\_\+category\+\_\+del}}
\index{efreet\+\_\+desktop\+\_\+category\+\_\+del@{efreet\+\_\+desktop\+\_\+category\+\_\+del}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+category\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+category\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{category}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga8223591c563f6ad2cc4e30d8b3c7ed9b}


removes a category from a desktop 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
{\em category} & the category name \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if the desktop had his category listed, 0 otherwise 
\end{DoxyReturn}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::categories, E\+I\+N\+A\+\_\+\+C\+O\+M\+P\+A\+R\+E\+\_\+\+C\+B, eina\+\_\+list\+\_\+remove(), eina\+\_\+list\+\_\+search\+\_\+unsorted(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), and eina\+\_\+stringshare\+\_\+del().

\hypertarget{group__Efreet__Desktop_ga6411cc4272b9cc9c29f7359c1bd1454e}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+type\+\_\+add@{efreet\+\_\+desktop\+\_\+type\+\_\+add}}
\index{efreet\+\_\+desktop\+\_\+type\+\_\+add@{efreet\+\_\+desktop\+\_\+type\+\_\+add}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+type\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+type\+\_\+add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{type, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Parse\+\_\+\+Cb}}]{parse\+\_\+func, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Save\+\_\+\+Cb}}]{save\+\_\+func, }
\item[{{\bf Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Free\+\_\+\+Cb}}]{free\+\_\+func}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga6411cc4272b9cc9c29f7359c1bd1454e}


Adds the given type to the list of types in the system. 


\begin{DoxyParams}{Parameters}
{\em type} & The type to add to the list of matching types \\
\hline
{\em parse\+\_\+func} & a function to parse out custom fields \\
\hline
{\em save\+\_\+func} & a function to save data returned from {\itshape parse\+\_\+func} \\
\hline
{\em free\+\_\+func} & a function to free data returned from {\itshape parse\+\_\+func} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the id of the new type 
\end{DoxyReturn}


References eina\+\_\+list\+\_\+append(), eina\+\_\+list\+\_\+count(), and eina\+\_\+stringshare\+\_\+add().



Referenced by efreet\+\_\+desktop\+\_\+type\+\_\+alias().

\hypertarget{group__Efreet__Desktop_ga2ce48bbdf2f837bb4697aeb498d53a2e}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+type\+\_\+alias@{efreet\+\_\+desktop\+\_\+type\+\_\+alias}}
\index{efreet\+\_\+desktop\+\_\+type\+\_\+alias@{efreet\+\_\+desktop\+\_\+type\+\_\+alias}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+type\+\_\+alias}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+desktop\+\_\+type\+\_\+alias (
\begin{DoxyParamCaption}
\item[{int}]{from\+\_\+type, }
\item[{const char $\ast$}]{alias}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga2ce48bbdf2f837bb4697aeb498d53a2e}


Add an alias for an existing desktop type. 


\begin{DoxyParams}{Parameters}
{\em from\+\_\+type} & the type to alias (e.\+g. E\+F\+R\+E\+E\+\_\+\+D\+E\+S\+K\+T\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+P\+P\+L\+I\+C\+A\+T\+I\+O\+N) \\
\hline
{\em alias} & the alias \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the new type id, or -\/1 if {\ttfamily from\+\_\+type} was not valid
\end{DoxyReturn}
This allows applications to add non-\/standard types that behave exactly as standard types. 

References efreet\+\_\+desktop\+\_\+type\+\_\+add(), and eina\+\_\+list\+\_\+nth().

\hypertarget{group__Efreet__Desktop_ga0b55136b8642c5688fd88cbfe51c32e3}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get@{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get@{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga0b55136b8642c5688fd88cbfe51c32e3}


get type specific data for custom desktop types 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
type specific data, or N\+U\+L\+L if there is none 
\end{DoxyReturn}


References \+\_\+\+Efreet\+\_\+\+Desktop\+::type\+\_\+data.

\hypertarget{group__Efreet__Desktop_gaec162fbc1680085d934b56ae37fad7de}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse@{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse}}
\index{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse@{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+List}$\ast$ efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{string}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_gaec162fbc1680085d934b56ae37fad7de}


Parse ';' separate list of strings according to the desktop spec. 


\begin{DoxyParams}{Parameters}
{\em string} & the raw string list \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an Eina\+\_\+\+List of ecore string's 
\end{DoxyReturn}


References alloca(), eina\+\_\+list\+\_\+append(), eina\+\_\+stringshare\+\_\+add(), and W\+R\+N.

\hypertarget{group__Efreet__Desktop_ga05bb228b3d7a498453e66b6c26e5c070}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join@{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join}}
\index{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join@{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga05bb228b3d7a498453e66b6c26e5c070}


Create a ';' separate list of strings according to the desktop spec. 


\begin{DoxyParams}{Parameters}
{\em list} & Eina\+\_\+\+List with strings \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a raw string list 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.



Referenced by efreet\+\_\+desktop\+\_\+save().

\hypertarget{group__Efreet__Desktop_ga5f5275ae397c5906b07452a2885d05e8}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set}}
\index{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{key, }
\item[{const char $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga5f5275ae397c5906b07452a2885d05e8}


Set the value for a X-\/ field (Non spec) in the structure. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
{\em key} & the key name to set \\
\hline
{\em data} & the value to set \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success
\end{DoxyReturn}
The key has to start with \char`\"{}\+X-\/\char`\"{} 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+F\+R\+E\+E\+\_\+\+C\+B, eina\+\_\+hash\+\_\+add(), eina\+\_\+hash\+\_\+del\+\_\+by\+\_\+key(), eina\+\_\+hash\+\_\+string\+\_\+superfast\+\_\+new(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), eina\+\_\+stringshare\+\_\+add(), eina\+\_\+stringshare\+\_\+del(), E\+I\+N\+A\+\_\+\+T\+R\+U\+E, and \+\_\+\+Efreet\+\_\+\+Desktop\+::x.

\hypertarget{group__Efreet__Desktop_ga34d49be66b6d2a030f9314bc808d853d}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get}}
\index{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga34d49be66b6d2a030f9314bc808d853d}


Get the value for a X-\/ field (Non spec) in the structure. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
{\em key} & the key \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The value referenced by the key, or N\+U\+L\+L if the key does not exist 
\end{DoxyReturn}


References eina\+\_\+hash\+\_\+find(), eina\+\_\+stringshare\+\_\+add(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::x.

\hypertarget{group__Efreet__Desktop_ga742cdceac91dbf128dc309230c82ea9b}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del}}
\index{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del@{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Desktop_ga742cdceac91dbf128dc309230c82ea9b}


Delete the key and value for a X-\/ field (Non spec) in the structure. 


\begin{DoxyParams}{Parameters}
{\em desktop} & the desktop \\
\hline
{\em key} & the key \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if the key existed 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+hash\+\_\+del\+\_\+by\+\_\+key(), eina\+\_\+lock\+\_\+release(), eina\+\_\+lock\+\_\+take(), and \+\_\+\+Efreet\+\_\+\+Desktop\+::x.



\subsection{Variable Documentation}
\hypertarget{group__Efreet__Desktop_gadca25af73e87552f89cd4aaca5b72f1e}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!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@{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}}
\index{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@{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}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{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}]{\setlength{\rightskip}{0pt plus 5cm}int 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}}\label{group__Efreet__Desktop_gadca25af73e87552f89cd4aaca5b72f1e}


Event id for cache update. 

All users of efreet\+\_\+desktop\+\_\+get must listen to this event and refetch. The old eet cache will be closed and mem will be invalidated. \hypertarget{group__Efreet__Desktop_gac7b141646654d10dd1d3d69e3ade18c1}{\index{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}!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@{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}}
\index{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@{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}!Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry@{Efreet\+\_\+\+Desktop\+: The F\+D\+O Desktop Entry}}
\subsubsection[{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}]{\setlength{\rightskip}{0pt plus 5cm}int 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}}\label{group__Efreet__Desktop_gac7b141646654d10dd1d3d69e3ade18c1}


Event id for cache build complete. 

\begin{DoxySince}{Since}
1.\+1.\+0 
\end{DoxySince}
