\doxysection{efreet\+\_\+desktop.\+h File Reference}
\hypertarget{efreet__desktop_8h}{}\label{efreet__desktop_8h}\index{efreet\_desktop.h@{efreet\_desktop.h}}


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


\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Efreet__Desktop__Action}{\+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action}}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop\+\_\+\+Action. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct__Efreet__Desktop}{\+\_\+\+Efreet\+\_\+\+Desktop}}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bfseries efreet\+\_\+desktop\+\_\+unref}(desktop)~\mbox{\hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\+\_\+desktop\+\_\+free}}((desktop))
\begin{DoxyCompactList}\small\item\em Alias for efreet\+\_\+desktop\+\_\+free(desktop) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Efreet__Desktop__Action}{\+\_\+\+Efreet\+\_\+\+Desktop\+\_\+\+Action}} \mbox{\hyperlink{group__Efreet__Desktop_ga518933d7fb5b30e282c10310c1825b88}{Efreet\+\_\+\+Desktop\+\_\+\+Action}}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop\+\_\+\+Action. \end{DoxyCompactList}\item 
typedef struct \mbox{\hyperlink{struct__Efreet__Desktop}{\+\_\+\+Efreet\+\_\+\+Desktop}} {\bfseries Efreet\+\_\+\+Desktop}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop. \end{DoxyCompactList}\item 
typedef void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}) (void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, char \texorpdfstring{$\ast$}{*}command, int remaining)
\begin{DoxyCompactList}\small\item\em A callback used with \doxylink{group__Efreet__Desktop_gaefb12d876c053a2652347de378fe5405}{efreet\+\_\+desktop\+\_\+command\+\_\+get()} \end{DoxyCompactList}\item 
typedef int(\texorpdfstring{$\ast$}{*} {\bfseries Efreet\+\_\+\+Desktop\+\_\+\+Progress\+\_\+\+Cb}) (void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, char \texorpdfstring{$\ast$}{*}uri, long int total, long int current)
\begin{DoxyCompactList}\small\item\em A callback used to get download progress of remote uris. \end{DoxyCompactList}\item 
typedef void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Parse\+\_\+\+Cb}) (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{structEfreet__Ini}{Efreet\+\_\+\+Ini}} \texorpdfstring{$\ast$}{*}ini)
\begin{DoxyCompactList}\small\item\em A callback used to parse data for custom types. \end{DoxyCompactList}\item 
typedef void(\texorpdfstring{$\ast$}{*} {\bfseries Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Save\+\_\+\+Cb}) (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{structEfreet__Ini}{Efreet\+\_\+\+Ini}} \texorpdfstring{$\ast$}{*}ini)
\begin{DoxyCompactList}\small\item\em A callback used to save data for custom types. \end{DoxyCompactList}\item 
typedef void \texorpdfstring{$\ast$}{*}(\texorpdfstring{$\ast$}{*} {\bfseries Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Free\+\_\+\+Cb}) (void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em A callback used to free data for custom types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga971dd7e8f48e40d92434ae4c99dd36a0}{efreet\+\_\+desktop\+\_\+get}} (const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Gets a reference to an Efreet\+\_\+\+Desktop structure representing the contents of {\itshape file} or NULL if {\itshape file} is not a valid .desktop file. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Desktop_ga45d70a94b4e86cc4e5014e4f07944edd}{efreet\+\_\+desktop\+\_\+ref}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop)
\begin{DoxyCompactList}\small\item\em Increases reference count on desktop. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_gab7b370c750f93ee0ab09e0e9c4da6c95}{efreet\+\_\+desktop\+\_\+empty\+\_\+new}} (const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Creates a new empty Efreet\+\_\+\+Desktop structure or NULL on failure. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga45917cf8b9ade3bce4a0d86f3bc77bd1}{efreet\+\_\+desktop\+\_\+new}} (const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Gets a reference to an Efreet\+\_\+\+Desktop structure representing the contents of {\itshape file} or NULL if {\itshape file} is not a valid .desktop file. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_gab3c8380d12dba2118e28faefa7f92270}{efreet\+\_\+desktop\+\_\+uncached\+\_\+new}} (const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Creates a new Efreet\+\_\+\+Desktop structure initialized from the contents of {\itshape file} or NULL on failure. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\+\_\+desktop\+\_\+free}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop)
\begin{DoxyCompactList}\small\item\em Frees the Efreet\+\_\+\+Desktop structure and all of it\textquotesingle{}s data. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Desktop_gad706e127f26677328ce5864090d5e408}{efreet\+\_\+desktop\+\_\+save}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\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 \mbox{\hyperlink{group__Efreet__Desktop_ga58591183299aadad39213ddeadbe6cc8}{efreet\+\_\+desktop\+\_\+save\+\_\+as}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Saves {\itshape desktop} to {\itshape file}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Desktop_ga39fb6a20108c5dcd6743ff683185b67b}{efreet\+\_\+desktop\+\_\+exec}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*}files, void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Parses the {\itshape desktop} exec line and runs the command. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Desktop_gae9fa73cfca6072527c3b144a12f98c9f}{efreet\+\_\+desktop\+\_\+environment\+\_\+set}} (const char \texorpdfstring{$\ast$}{*}environment)
\begin{DoxyCompactList}\small\item\em sets the global desktop environment name \end{DoxyCompactList}\item 
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_gac12727fc6e77041f5531bfa40dde8740}{efreet\+\_\+desktop\+\_\+environment\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em gets the global desktop environment name (e.\+g. "{}\+Enlightenment"{} or "{}\+Gnome"{}) \end{DoxyCompactList}\item 
void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga44409171379c91f1b5d4fe1e29d873a5}{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*}files, \mbox{\hyperlink{group__Efreet__Desktop_ga45f08d64fab3a6db8881da5d5435e36e}{Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}} cb\+\_\+command, \mbox{\hyperlink{group__Efreet__Desktop_gafe557466fdbebb5fc569f53ffc060393}{Efreet\+\_\+\+Desktop\+\_\+\+Progress\+\_\+\+Cb}} cb\+\_\+prog, void \texorpdfstring{$\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 URI\textquotesingle{}s passed in. \end{DoxyCompactList}\item 
void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_gaefb12d876c053a2652347de378fe5405}{efreet\+\_\+desktop\+\_\+command\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*}files, \mbox{\hyperlink{group__Efreet__Desktop_ga45f08d64fab3a6db8881da5d5435e36e}{Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}} func, void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Get a command to use to execute a desktop entry. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga807eaf40bad0618d94f4f1b711609fdf}{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*}files)
\begin{DoxyCompactList}\small\item\em Get the command to use to execute a desktop entry. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{group__Efreet__Desktop_gab514767ed12f0fd6772405087b37cba9}{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop)
\begin{DoxyCompactList}\small\item\em Retrieves the number of categories the given {\itshape desktop} belongs too. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Desktop_ga096d2e88f5f0d76d5b5406682e31d6a4}{efreet\+\_\+desktop\+\_\+category\+\_\+add}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\ast$}{*}category)
\begin{DoxyCompactList}\small\item\em add a category to a desktop \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Desktop_ga8223591c563f6ad2cc4e30d8b3c7ed9b}{efreet\+\_\+desktop\+\_\+category\+\_\+del}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\ast$}{*}category)
\begin{DoxyCompactList}\small\item\em removes a category from a desktop \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Desktop_ga6411cc4272b9cc9c29f7359c1bd1454e}{efreet\+\_\+desktop\+\_\+type\+\_\+add}} (const char \texorpdfstring{$\ast$}{*}type, \mbox{\hyperlink{group__Efreet__Desktop_ga288d63b016466c2d09242a64d661d9db}{Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Parse\+\_\+\+Cb}} parse\+\_\+func, \mbox{\hyperlink{group__Efreet__Desktop_ga658ad8a3a69de6daea18cfe41a5f73ef}{Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Save\+\_\+\+Cb}} save\+\_\+func, \mbox{\hyperlink{group__Efreet__Desktop_ga78d2b6583fbc70a5fddbc5374e2cb3ea}{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 \mbox{\hyperlink{group__Efreet__Desktop_ga2ce48bbdf2f837bb4697aeb498d53a2e}{efreet\+\_\+desktop\+\_\+type\+\_\+alias}} (int from\+\_\+type, const char \texorpdfstring{$\ast$}{*}alias)
\begin{DoxyCompactList}\small\item\em Add an alias for an existing desktop type. \end{DoxyCompactList}\item 
void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_gaaf2a59e438c6ec126f35408864511b67}{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop)
\begin{DoxyCompactList}\small\item\em get type specific data for custom desktop types \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga35eae47e5bad0899c8da84ac882ef89a}{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse}} (const char \texorpdfstring{$\ast$}{*}string)
\begin{DoxyCompactList}\small\item\em Parse \textquotesingle{};\textquotesingle{} separate list of strings according to the desktop spec. \end{DoxyCompactList}\item 
char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga7a1f4549fc7c9e2749f17dc7e4304f9b}{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join}} (\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} \texorpdfstring{$\ast$}{*}list)
\begin{DoxyCompactList}\small\item\em Create a \textquotesingle{};\textquotesingle{} separate list of strings according to the desktop spec. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Efreet__Desktop_ga5f5275ae397c5906b07452a2885d05e8}{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+set}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\ast$}{*}key, const char \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Set the value for a X-\/ field (Non spec) in the structure. \end{DoxyCompactList}\item 
const char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Desktop_ga256ece48744d5ad927ac6d4ace57e205}{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\ast$}{*}key)
\begin{DoxyCompactList}\small\item\em Get the value for a X-\/ field (Non spec) in the structure. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Efreet__Desktop_ga742cdceac91dbf128dc309230c82ea9b}{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+del}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, const char \texorpdfstring{$\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}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
int {\bfseries EFREET\+\_\+\+DESKTOP\+\_\+\+TYPE\+\_\+\+APPLICATION}
\item 
int {\bfseries EFREET\+\_\+\+DESKTOP\+\_\+\+TYPE\+\_\+\+LINK}
\item 
int {\bfseries EFREET\+\_\+\+DESKTOP\+\_\+\+TYPE\+\_\+\+DIRECTORY}
\item 
int \mbox{\hyperlink{group__Efreet__Desktop_gadca25af73e87552f89cd4aaca5b72f1e}{EFREET\+\_\+\+EVENT\+\_\+\+DESKTOP\+\_\+\+CACHE\+\_\+\+UPDATE}}
\begin{DoxyCompactList}\small\item\em Event id for cache update. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Desktop_gac7b141646654d10dd1d3d69e3ade18c1}{EFREET\+\_\+\+EVENT\+\_\+\+DESKTOP\+\_\+\+CACHE\+\_\+\+BUILD}}
\begin{DoxyCompactList}\small\item\em Event id for cache build complete. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Contains the structures and methods used to support the FDO desktop entry specificiation. 

