\hypertarget{efreet__desktop_8h}{}\doxysection{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 FDO desktop entry specificiation.  


\doxysubsection*{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}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Efreet__Desktop_gaceed6ae96a871cf248d0433810271aee}{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}
\doxysubsection*{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}} \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}}
\begin{DoxyCompactList}\small\item\em Efreet\+\_\+\+Desktop. \end{DoxyCompactList}\item 
typedef void $\ast$($\ast$ \mbox{\hyperlink{group__Efreet__Desktop_ga8a9ea5486b4e0d0a295d13e5e3cce4f5}{Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, char $\ast$command, int remaining)
\begin{DoxyCompactList}\small\item\em A callback used with \mbox{\hyperlink{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}{efreet\+\_\+desktop\+\_\+command\+\_\+get()}} \end{DoxyCompactList}\item 
typedef int($\ast$ \mbox{\hyperlink{group__Efreet__Desktop_gafe557466fdbebb5fc569f53ffc060393}{Efreet\+\_\+\+Desktop\+\_\+\+Progress\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, char $\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 $\ast$($\ast$ \mbox{\hyperlink{group__Efreet__Desktop_ga12c5fe47a5f9f99b2792777c59844cb8}{Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Parse\+\_\+\+Cb}}) (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, \mbox{\hyperlink{structEfreet__Ini}{Efreet\+\_\+\+Ini}} $\ast$ini)
\begin{DoxyCompactList}\small\item\em A callback used to parse data for custom types. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Efreet__Desktop_ga658ad8a3a69de6daea18cfe41a5f73ef}{Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Save\+\_\+\+Cb}}) (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, \mbox{\hyperlink{structEfreet__Ini}{Efreet\+\_\+\+Ini}} $\ast$ini)
\begin{DoxyCompactList}\small\item\em A callback used to save data for custom types. \end{DoxyCompactList}\item 
typedef void $\ast$($\ast$ \mbox{\hyperlink{group__Efreet__Desktop_gae47821f0083da9f0739ceca7876c9176}{Efreet\+\_\+\+Desktop\+\_\+\+Type\+\_\+\+Free\+\_\+\+Cb}}) (void $\ast$data)
\begin{DoxyCompactList}\small\item\em A callback used to free data for custom types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$ \mbox{\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 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}} $\ast$desktop)
\begin{DoxyCompactList}\small\item\em Increases reference count on desktop. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$ \mbox{\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 NULL on failure. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$ \mbox{\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 NULL if {\itshape file} is not a valid .desktop file. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$ \mbox{\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 NULL on failure. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\+\_\+desktop\+\_\+free}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\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}} $\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}} $\ast$desktop, const char $\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}} $\ast$desktop, \mbox{\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 \mbox{\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$ \mbox{\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$ \mbox{\hyperlink{group__Efreet__Desktop_ga0470d05526fc20c1399dd21af45d4248}{efreet\+\_\+desktop\+\_\+command\+\_\+progress\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$files, \mbox{\hyperlink{group__Efreet__Desktop_ga8a9ea5486b4e0d0a295d13e5e3cce4f5}{Efreet\+\_\+\+Desktop\+\_\+\+Command\+\_\+\+Cb}} cb\+\_\+command, \mbox{\hyperlink{group__Efreet__Desktop_gafe557466fdbebb5fc569f53ffc060393}{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 URI\textquotesingle{}s passed in. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{group__Efreet__Desktop_gaaeb2d2c074f32ea7b19e270d9a9a33d6}{efreet\+\_\+desktop\+\_\+command\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$files, \mbox{\hyperlink{group__Efreet__Desktop_ga8a9ea5486b4e0d0a295d13e5e3cce4f5}{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 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Efreet__Desktop_gaabb37ce6c09b970a921055c7237a5035}{efreet\+\_\+desktop\+\_\+command\+\_\+local\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\ast$desktop, \mbox{\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 \mbox{\hyperlink{group__Efreet__Desktop_gab514767ed12f0fd6772405087b37cba9}{efreet\+\_\+desktop\+\_\+category\+\_\+count\+\_\+get}} (\mbox{\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 \mbox{\hyperlink{group__Efreet__Desktop_ga096d2e88f5f0d76d5b5406682e31d6a4}{efreet\+\_\+desktop\+\_\+category\+\_\+add}} (\mbox{\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 \mbox{\hyperlink{group__Efreet__Desktop_ga8223591c563f6ad2cc4e30d8b3c7ed9b}{efreet\+\_\+desktop\+\_\+category\+\_\+del}} (\mbox{\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 \mbox{\hyperlink{group__Efreet__Desktop_ga6411cc4272b9cc9c29f7359c1bd1454e}{efreet\+\_\+desktop\+\_\+type\+\_\+add}} (const char $\ast$type, \mbox{\hyperlink{group__Efreet__Desktop_ga12c5fe47a5f9f99b2792777c59844cb8}{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_gae47821f0083da9f0739ceca7876c9176}{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 $\ast$alias)
\begin{DoxyCompactList}\small\item\em Add an alias for an existing desktop type. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{group__Efreet__Desktop_ga0b55136b8642c5688fd88cbfe51c32e3}{efreet\+\_\+desktop\+\_\+type\+\_\+data\+\_\+get}} (\mbox{\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 
\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Efreet__Desktop_gaec162fbc1680085d934b56ae37fad7de}{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+parse}} (const char $\ast$string)
\begin{DoxyCompactList}\small\item\em Parse \textquotesingle{};\textquotesingle{} separate list of strings according to the desktop spec. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__Efreet__Desktop_ga05bb228b3d7a498453e66b6c26e5c070}{efreet\+\_\+desktop\+\_\+string\+\_\+list\+\_\+join}} (\mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\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}} $\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$ \mbox{\hyperlink{group__Efreet__Desktop_ga34d49be66b6d2a030f9314bc808d853d}{efreet\+\_\+desktop\+\_\+x\+\_\+field\+\_\+get}} (\mbox{\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 
\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}} $\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}
\doxysubsection*{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. 

