\doxysubsection{Efreet\+\_\+\+Menu\+: The FDO Desktop Menu Specification}
\hypertarget{group__Efreet__Menu}{}\label{group__Efreet__Menu}\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}


functions and structures  


\doxysubsubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}
\begin{DoxyCompactList}\small\item\em \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} Stores information on a entry in the menu. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{group__Efreet__Menu_gafcc34135a0afead16b11288bb84e1ee9}\label{group__Efreet__Menu_gafcc34135a0afead16b11288bb84e1ee9} 
typedef enum \mbox{\hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}} {\bfseries Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}
\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\item 
\Hypertarget{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}\label{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7} 
typedef struct Efreet\+\_\+\+Menu {\bfseries Efreet\+\_\+\+Menu}
\begin{DoxyCompactList}\small\item\em \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu}. \end{DoxyCompactList}\item 
typedef void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}) (void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu)
\begin{DoxyCompactList}\small\item\em A callback used with \doxylink{group__Efreet__Menu_ga8576ba3d80be3b268aee283b13eba7ac}{efreet\+\_\+menu\+\_\+async\+\_\+get()} and \doxylink{group__Efreet__Menu_gad309812a2041617dd855e3c40de84ebb}{efreet\+\_\+menu\+\_\+async\+\_\+parse()} \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}\label{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150} 
enum \mbox{\hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}} \{ \newline
{\bfseries EFREET\+\_\+\+MENU\+\_\+\+ENTRY\+\_\+\+MENU}
, \newline
{\bfseries EFREET\+\_\+\+MENU\+\_\+\+ENTRY\+\_\+\+DESKTOP}
, \newline
{\bfseries EFREET\+\_\+\+MENU\+\_\+\+ENTRY\+\_\+\+SEPARATOR}
, \newline
{\bfseries EFREET\+\_\+\+MENU\+\_\+\+ENTRY\+\_\+\+HEADER}
 \}
\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}{efreet\+\_\+menu\+\_\+kde\+\_\+legacy\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Initialize legacy kde support. This function blocks while the kde-\/config script is run. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Menu_ga5a6d995d4f1e3c6f4bd660869f60dd2b}{efreet\+\_\+menu\+\_\+new}} (const char \texorpdfstring{$\ast$}{*}name)
\begin{DoxyCompactList}\small\item\em Creates a new menu. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}{efreet\+\_\+menu\+\_\+file\+\_\+set}} (const char \texorpdfstring{$\ast$}{*}file)
\begin{DoxyCompactList}\small\item\em Override which file is used for menu creation. \end{DoxyCompactList}\item 
EFREET\+\_\+\+DEPRECATED\+\_\+\+API void \mbox{\hyperlink{group__Efreet__Menu_ga8576ba3d80be3b268aee283b13eba7ac}{efreet\+\_\+menu\+\_\+async\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}} func, const void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Creates the \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or NULL if none found and returns it in the callback. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Menu_ga7d3bd603d4956fbb6dc315e3af8275bf}{efreet\+\_\+menu\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Creates the default menu representation. \end{DoxyCompactList}\item 
EFREET\+\_\+\+DEPRECATED\+\_\+\+API void \mbox{\hyperlink{group__Efreet__Menu_gad309812a2041617dd855e3c40de84ebb}{efreet\+\_\+menu\+\_\+async\+\_\+parse}} (const char \texorpdfstring{$\ast$}{*}path, \mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}} func, const void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Parses the given .menu file and creates the menu representation, and returns it in the callback. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Efreet__Menu_ga2d4b22d42c74714622d6df39e320ab36}{efreet\+\_\+menu\+\_\+parse}} (const char \texorpdfstring{$\ast$}{*}path)
\begin{DoxyCompactList}\small\item\em Parses the given .menu file and creates the menu representation. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}{efreet\+\_\+menu\+\_\+save}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu, const char \texorpdfstring{$\ast$}{*}path)
\begin{DoxyCompactList}\small\item\em Saves the menu to file. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu)
\begin{DoxyCompactList}\small\item\em Frees the given structure (if refcount at 1 at the time of this call) \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}{efreet\+\_\+menu\+\_\+ref}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu)
\begin{DoxyCompactList}\small\item\em Incriments refcount for the menu. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}{efreet\+\_\+menu\+\_\+unref}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu)
\begin{DoxyCompactList}\small\item\em Decrements refcount for the menu, and on 0 frees. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}{efreet\+\_\+menu\+\_\+desktop\+\_\+insert}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop, int pos)
\begin{DoxyCompactList}\small\item\em Insert a desktop element in a menu structure. Only accepts desktop files in default directories. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}{efreet\+\_\+menu\+\_\+desktop\+\_\+remove}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}desktop)
\begin{DoxyCompactList}\small\item\em Remove a desktop element in a menu structure. Only accepts desktop files in default directories. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}{efreet\+\_\+menu\+\_\+dump}} (\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu, const char \texorpdfstring{$\ast$}{*}indent)
\begin{DoxyCompactList}\small\item\em Dumps the contents of the menu to the command line. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
functions and structures 



\doxysubsubsection{Typedef Documentation}
\Hypertarget{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}\label{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!Efreet\_Menu\_Cb@{Efreet\_Menu\_Cb}}
\index{Efreet\_Menu\_Cb@{Efreet\_Menu\_Cb}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{Efreet\_Menu\_Cb}{Efreet\_Menu\_Cb}}
{\footnotesize\ttfamily typedef void(\texorpdfstring{$\ast$}{*} Efreet\+\_\+\+Menu\+\_\+\+Cb) (void \texorpdfstring{$\ast$}{*}data, \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}menu)}



A callback used with \doxylink{group__Efreet__Menu_ga8576ba3d80be3b268aee283b13eba7ac}{efreet\+\_\+menu\+\_\+async\+\_\+get()} and \doxylink{group__Efreet__Menu_gad309812a2041617dd855e3c40de84ebb}{efreet\+\_\+menu\+\_\+async\+\_\+parse()} 

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


\doxysubsubsection{Function Documentation}
\Hypertarget{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}\label{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_kde\_legacy\_init@{efreet\_menu\_kde\_legacy\_init}}
\index{efreet\_menu\_kde\_legacy\_init@{efreet\_menu\_kde\_legacy\_init}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_kde\_legacy\_init()}{efreet\_menu\_kde\_legacy\_init()}}
{\footnotesize\ttfamily int efreet\+\_\+menu\+\_\+kde\+\_\+legacy\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialize legacy kde support. This function blocks while the kde-\/config script is run. 

\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Stringshare__Group_ga5538b4a134987b8a01744fad1a845ba4}{eina\+\_\+stringshare\+\_\+del()}}.

\Hypertarget{group__Efreet__Menu_ga5a6d995d4f1e3c6f4bd660869f60dd2b}\label{group__Efreet__Menu_ga5a6d995d4f1e3c6f4bd660869f60dd2b} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_new@{efreet\_menu\_new}}
\index{efreet\_menu\_new@{efreet\_menu\_new}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_new()}{efreet\_menu\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} efreet\+\_\+menu\+\_\+new (\begin{DoxyParamCaption}\item[{const char \texorpdfstring{$\ast$}{*}}]{name }\end{DoxyParamCaption})}



Creates a new menu. 


\begin{DoxyParams}{Parameters}
{\em name} & The internal name of the menu \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} on success or NULL on failure 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{structEfreet__Menu_a2a050059045cd96190755bcd6f3c886c}{name}}.

\Hypertarget{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}\label{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_file\_set@{efreet\_menu\_file\_set}}
\index{efreet\_menu\_file\_set@{efreet\_menu\_file\_set}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_file\_set()}{efreet\_menu\_file\_set()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+file\+\_\+set (\begin{DoxyParamCaption}\item[{const char \texorpdfstring{$\ast$}{*}}]{file }\end{DoxyParamCaption})}



Override which file is used for menu creation. 


\begin{DoxyParams}{Parameters}
{\em file} & The file to use for menu creation\\
\hline
\end{DoxyParams}
This file is only used if it exists, else the standard files will be used for the menu. 

References \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}.

\Hypertarget{group__Efreet__Menu_ga8576ba3d80be3b268aee283b13eba7ac}\label{group__Efreet__Menu_ga8576ba3d80be3b268aee283b13eba7ac} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_async\_get@{efreet\_menu\_async\_get}}
\index{efreet\_menu\_async\_get@{efreet\_menu\_async\_get}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_async\_get()}{efreet\_menu\_async\_get()}}
{\footnotesize\ttfamily EFREET\+\_\+\+DEPRECATED\+\_\+\+API void efreet\+\_\+menu\+\_\+async\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}}]{func,  }\item[{const void \texorpdfstring{$\ast$}{*}}]{data }\end{DoxyParamCaption})}



Creates the \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or NULL if none found and returns it in the callback. 


\begin{DoxyParams}{Parameters}
{\em func} & function to call when menu is created \\
\hline
{\em data} & user data to return in callback\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000060}{Deprecated}}]\end{DoxyRefDesc}
\Hypertarget{group__Efreet__Menu_ga7d3bd603d4956fbb6dc315e3af8275bf}\label{group__Efreet__Menu_ga7d3bd603d4956fbb6dc315e3af8275bf} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_get@{efreet\_menu\_get}}
\index{efreet\_menu\_get@{efreet\_menu\_get}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_get()}{efreet\_menu\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} efreet\+\_\+menu\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Creates the default menu representation. 

\begin{DoxyReturn}{Returns}
Returns the \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or NULL if none found 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Ecore__File__Group_gaf5a3cc8bd9bf69a3ebce0678fe799016}{ecore\+\_\+file\+\_\+exists()}}, \mbox{\hyperlink{group__Efreet__Base_gac244d765b17100e82a736dc7b2a24b95}{efreet\+\_\+config\+\_\+dirs\+\_\+get()}}, \mbox{\hyperlink{group__Efreet__Base_gaf90fc6423d4c23d282ba963f1ab7b078}{efreet\+\_\+config\+\_\+home\+\_\+get()}}, \mbox{\hyperlink{group__Efreet__Menu_ga2d4b22d42c74714622d6df39e320ab36}{efreet\+\_\+menu\+\_\+parse()}}, and \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}.

\Hypertarget{group__Efreet__Menu_gad309812a2041617dd855e3c40de84ebb}\label{group__Efreet__Menu_gad309812a2041617dd855e3c40de84ebb} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_async\_parse@{efreet\_menu\_async\_parse}}
\index{efreet\_menu\_async\_parse@{efreet\_menu\_async\_parse}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_async\_parse()}{efreet\_menu\_async\_parse()}}
{\footnotesize\ttfamily EFREET\+\_\+\+DEPRECATED\+\_\+\+API void efreet\+\_\+menu\+\_\+async\+\_\+parse (\begin{DoxyParamCaption}\item[{const char \texorpdfstring{$\ast$}{*}}]{path,  }\item[{\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}}]{func,  }\item[{const void \texorpdfstring{$\ast$}{*}}]{data }\end{DoxyParamCaption})}



Parses the given .menu file and creates the menu representation, and returns it in the callback. 


\begin{DoxyParams}{Parameters}
{\em path} & The path of the menu to load \\
\hline
{\em func} & function to call when menu is created \\
\hline
{\em data} & user data to return in callback\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000061}{Deprecated}}]\end{DoxyRefDesc}
\Hypertarget{group__Efreet__Menu_ga2d4b22d42c74714622d6df39e320ab36}\label{group__Efreet__Menu_ga2d4b22d42c74714622d6df39e320ab36} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_parse@{efreet\_menu\_parse}}
\index{efreet\_menu\_parse@{efreet\_menu\_parse}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_parse()}{efreet\_menu\_parse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*} efreet\+\_\+menu\+\_\+parse (\begin{DoxyParamCaption}\item[{const char \texorpdfstring{$\ast$}{*}}]{path }\end{DoxyParamCaption})}



Parses the given .menu file and creates the menu representation. 


\begin{DoxyParams}{Parameters}
{\em path} & The path of the menu to load \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation on success or NULL on failure 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Hash__Group_ga9fdef2647ff77d42d2b3271c1f71030e}{eina\+\_\+hash\+\_\+string\+\_\+superfast\+\_\+new()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{structEfreet__Xml_af47e321caa59598f72cf76d34cbb608f}{Efreet\+\_\+\+Xml\+::tag}}.



Referenced by \mbox{\hyperlink{group__Efreet__Menu_ga7d3bd603d4956fbb6dc315e3af8275bf}{efreet\+\_\+menu\+\_\+get()}}.

\Hypertarget{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}\label{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_save@{efreet\_menu\_save}}
\index{efreet\_menu\_save@{efreet\_menu\_save}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_save()}{efreet\_menu\_save()}}
{\footnotesize\ttfamily int efreet\+\_\+menu\+\_\+save (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu,  }\item[{const char \texorpdfstring{$\ast$}{*}}]{path }\end{DoxyParamCaption})}



Saves the menu to file. 


\begin{DoxyParams}{Parameters}
{\em menu} & The menu to work with \\
\hline
{\em path} & The path where the menu should be saved \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success, 0 on failure 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\Hypertarget{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}\label{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_free@{efreet\_menu\_free}}
\index{efreet\_menu\_free@{efreet\_menu\_free}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_free()}{efreet\_menu\_free()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu }\end{DoxyParamCaption})}



Frees the given structure (if refcount at 1 at the time of this call) 


\begin{DoxyParams}{Parameters}
{\em menu} & The \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} to free \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}


References \mbox{\hyperlink{structEfreet__Menu_a9cf64f5e8229382b583ba3088a663388}{desktop}}, \mbox{\hyperlink{group__Efreet__Desktop_ga47bb4e6529fd9d127930b7985fabeaf4}{efreet\+\_\+desktop\+\_\+free()}}, \mbox{\hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free()}}, \mbox{\hyperlink{group__Eina__List__Group_gae27a2c686a0a11693f9b06957c9bba83}{EINA\+\_\+\+LIST\+\_\+\+FREE}}, \mbox{\hyperlink{structEfreet__Menu_a9fd2fd765169bb26f2e3d2e80381116f}{entries}}, \mbox{\hyperlink{structEfreet__Menu_afb342ffebb8fa4bb43400f01b45db60f}{icon}}, \mbox{\hyperlink{structEfreet__Menu_a34af5e40eeb18e7a5753ad128ebcee15}{id}}, \mbox{\hyperlink{structEfreet__Menu_a2a050059045cd96190755bcd6f3c886c}{name}}, and \mbox{\hyperlink{structEfreet__Menu_a718a7acc25ecbd022e66885ed4358d4b}{references}}.



Referenced by \mbox{\hyperlink{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}{efreet\+\_\+menu\+\_\+desktop\+\_\+remove()}}, \mbox{\hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free()}}, and \mbox{\hyperlink{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}{efreet\+\_\+menu\+\_\+unref()}}.

\Hypertarget{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}\label{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_ref@{efreet\_menu\_ref}}
\index{efreet\_menu\_ref@{efreet\_menu\_ref}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_ref()}{efreet\_menu\_ref()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+ref (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu }\end{DoxyParamCaption})}



Incriments refcount for the menu. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} to reference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References \mbox{\hyperlink{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}{efreet\+\_\+menu\+\_\+ref()}}, \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}, \mbox{\hyperlink{structEfreet__Menu_a9fd2fd765169bb26f2e3d2e80381116f}{entries}}, and \mbox{\hyperlink{structEfreet__Menu_a718a7acc25ecbd022e66885ed4358d4b}{references}}.



Referenced by \mbox{\hyperlink{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}{efreet\+\_\+menu\+\_\+ref()}}.

\Hypertarget{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}\label{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_unref@{efreet\_menu\_unref}}
\index{efreet\_menu\_unref@{efreet\_menu\_unref}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_unref()}{efreet\_menu\_unref()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+unref (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu }\end{DoxyParamCaption})}



Decrements refcount for the menu, and on 0 frees. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \doxylink{structEfreet__Menu}{Efreet\+\_\+\+Menu} to unreference \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References \mbox{\hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free()}}.

\Hypertarget{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}\label{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_desktop\_insert@{efreet\_menu\_desktop\_insert}}
\index{efreet\_menu\_desktop\_insert@{efreet\_menu\_desktop\_insert}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_desktop\_insert()}{efreet\_menu\_desktop\_insert()}}
{\footnotesize\ttfamily int efreet\+\_\+menu\+\_\+desktop\+\_\+insert (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu,  }\item[{\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}}]{desktop,  }\item[{int}]{pos }\end{DoxyParamCaption})}



Insert a desktop element in a menu structure. Only accepts desktop files in default directories. 


\begin{DoxyParams}{Parameters}
{\em menu} & The menu to work with \\
\hline
{\em desktop} & The desktop to insert \\
\hline
{\em pos} & The position to place the new desktop \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success, 0 on failure 
\end{DoxyReturn}


References \mbox{\hyperlink{structEfreet__Menu_a9cf64f5e8229382b583ba3088a663388}{desktop}}, \mbox{\hyperlink{group__Efreet__Desktop_ga45d70a94b4e86cc4e5014e4f07944edd}{efreet\+\_\+desktop\+\_\+ref()}}, \mbox{\hyperlink{group__Efreet__Utils_ga42d43919c34de92f12f81225f9c93933}{efreet\+\_\+util\+\_\+path\+\_\+to\+\_\+file\+\_\+id()}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__List__Group_ga2cc230dec347eaf4dee2e77637063ba5}{eina\+\_\+list\+\_\+append\+\_\+relative()}}, \mbox{\hyperlink{group__Eina__List__Group_ga5638b455370e1b4a2fb230b59ce9c631}{eina\+\_\+list\+\_\+nth()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, \mbox{\hyperlink{structEfreet__Menu_a9fd2fd765169bb26f2e3d2e80381116f}{entries}}, \mbox{\hyperlink{struct__Efreet__Desktop_a5e3f645fa8dbcb83d1da4299248ef98f}{\+\_\+\+Efreet\+\_\+\+Desktop\+::icon}}, \mbox{\hyperlink{structEfreet__Menu_afb342ffebb8fa4bb43400f01b45db60f}{icon}}, \mbox{\hyperlink{structEfreet__Menu_a34af5e40eeb18e7a5753ad128ebcee15}{id}}, \mbox{\hyperlink{struct__Efreet__Desktop_a8509a0c3759b119cd3e1801e8d256879}{\+\_\+\+Efreet\+\_\+\+Desktop\+::name}}, \mbox{\hyperlink{structEfreet__Menu_a2a050059045cd96190755bcd6f3c886c}{name}}, and \mbox{\hyperlink{struct__Efreet__Desktop_a36ec4732dc80a241e3b886c2449a8554}{\+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path}}.

\Hypertarget{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}\label{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_desktop\_remove@{efreet\_menu\_desktop\_remove}}
\index{efreet\_menu\_desktop\_remove@{efreet\_menu\_desktop\_remove}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_desktop\_remove()}{efreet\_menu\_desktop\_remove()}}
{\footnotesize\ttfamily int efreet\+\_\+menu\+\_\+desktop\+\_\+remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu,  }\item[{\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} \texorpdfstring{$\ast$}{*}}]{desktop }\end{DoxyParamCaption})}



Remove a desktop element in a menu structure. Only accepts desktop files in default directories. 


\begin{DoxyParams}{Parameters}
{\em menu} & The menu to work with \\
\hline
{\em desktop} & The desktop to remove \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 1 on success, 0 on failure 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free()}}, \mbox{\hyperlink{group__Eina__Types__Group_gac9036655ab41aa7eb047e03acfe2b2ab}{EINA\+\_\+\+COMPARE\+\_\+\+CB}}, \mbox{\hyperlink{group__Eina__List__Group_ga6e81c26272c54177d087b29c965af4d8}{eina\+\_\+list\+\_\+remove()}}, \mbox{\hyperlink{group__Eina__List__Group_ga5e876264e6b2de0485c4a701f447db80}{eina\+\_\+list\+\_\+search\+\_\+unsorted()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{structEfreet__Menu_a9fd2fd765169bb26f2e3d2e80381116f}{entries}}.

\Hypertarget{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}\label{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169} 
\index{Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}!efreet\_menu\_dump@{efreet\_menu\_dump}}
\index{efreet\_menu\_dump@{efreet\_menu\_dump}!Efreet\_Menu: The FDO Desktop Menu Specification@{Efreet\_Menu: The FDO Desktop Menu Specification}}
\doxysubsubsubsection{\texorpdfstring{efreet\_menu\_dump()}{efreet\_menu\_dump()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+dump (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \texorpdfstring{$\ast$}{*}}]{menu,  }\item[{const char \texorpdfstring{$\ast$}{*}}]{indent }\end{DoxyParamCaption})}



Dumps the contents of the menu to the command line. 


\begin{DoxyParams}{Parameters}
{\em menu} & The menu to work with \\
\hline
{\em menu} & The menu to work with \\
\hline
{\em indent} & The indent level to print the menu at \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns no value 
\end{DoxyReturn}


References \mbox{\hyperlink{eina__alloca_8h_ae13861224cb6597c3171a910683cb5fc}{alloca()}}, \mbox{\hyperlink{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}{efreet\+\_\+menu\+\_\+dump()}}, \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{structEfreet__Menu_a9fd2fd765169bb26f2e3d2e80381116f}{entries}}, \mbox{\hyperlink{structEfreet__Menu_afb342ffebb8fa4bb43400f01b45db60f}{icon}}, and \mbox{\hyperlink{structEfreet__Menu_a2a050059045cd96190755bcd6f3c886c}{name}}.



Referenced by \mbox{\hyperlink{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}{efreet\+\_\+menu\+\_\+dump()}}.

