\hypertarget{group__Efreet__Menu}{}\section{Efreet\+\_\+\+Menu\+: The F\+DO Desktop Menu Specification}
\label{group__Efreet__Menu}\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}


functions and structures  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} Stores information on a entry in the menu. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}\label{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}} 
typedef enum \mbox{\hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}} \mbox{\hyperlink{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}}
\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}\label{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}} 
typedef struct \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} \mbox{\hyperlink{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}{Efreet\+\_\+\+Menu}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} $\ast$menu)
\begin{DoxyCompactList}\small\item\em A callback used with \mbox{\hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get()}} and \mbox{\hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse()}} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}\label{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}} 
enum \mbox{\hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}} \{ \newline
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+M\+E\+NU}, 
\newline
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+D\+E\+S\+K\+T\+OP}, 
\newline
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+E\+P\+A\+R\+A\+T\+OR}, 
\newline
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+H\+E\+A\+D\+ER}
 \}
\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{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}} $\ast$ \mbox{\hyperlink{group__Efreet__Menu_ga262bbe7b490a69fd81bcae77a9edc207}{efreet\+\_\+menu\+\_\+new}} (const char $\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 $\ast$file)
\begin{DoxyCompactList}\small\item\em Override which file is used for menu creation. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get}} (\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Creates the \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} representation of the default menu or N\+U\+LL if none found and returns it in the callback. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} $\ast$ \mbox{\hyperlink{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}{efreet\+\_\+menu\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Creates the default menu representation. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse}} (const char $\ast$path, \mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}} func, const void $\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}} $\ast$ \mbox{\hyperlink{group__Efreet__Menu_gaf771866e8e43479d7f989a9a785f8af1}{efreet\+\_\+menu\+\_\+parse}} (const char $\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}} $\ast$menu, const char $\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}} $\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}} $\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}} $\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}} $\ast$menu, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\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}} $\ast$menu, \mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\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}} $\ast$menu, const char $\ast$indent)
\begin{DoxyCompactList}\small\item\em Dumps the contents of the menu to the command line. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
functions and structures 



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



A callback used with \mbox{\hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get()}} and \mbox{\hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse()}} 

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


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}\label{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O 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 F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\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}
\mbox{\Hypertarget{group__Efreet__Menu_ga262bbe7b490a69fd81bcae77a9edc207}\label{group__Efreet__Menu_ga262bbe7b490a69fd81bcae77a9edc207}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+new@{efreet\+\_\+menu\+\_\+new}}
\index{efreet\+\_\+menu\+\_\+new@{efreet\+\_\+menu\+\_\+new}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+new()}{efreet\_menu\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}$\ast$ efreet\+\_\+menu\+\_\+new (\begin{DoxyParamCaption}\item[{const char $\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 \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} on success or N\+U\+LL on failure 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}\label{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+file\+\_\+set@{efreet\+\_\+menu\+\_\+file\+\_\+set}}
\index{efreet\+\_\+menu\+\_\+file\+\_\+set@{efreet\+\_\+menu\+\_\+file\+\_\+set}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+file\+\_\+set()}{efreet\_menu\_file\_set()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+file\+\_\+set (\begin{DoxyParamCaption}\item[{const char $\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 eina\+\_\+stringshare\+\_\+add().

\mbox{\Hypertarget{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}\label{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+async\+\_\+get@{efreet\+\_\+menu\+\_\+async\+\_\+get}}
\index{efreet\+\_\+menu\+\_\+async\+\_\+get@{efreet\+\_\+menu\+\_\+async\+\_\+get}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+async\+\_\+get()}{efreet\_menu\_async\_get()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+async\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}}]{func,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Creates the \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} representation of the default menu or N\+U\+LL 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{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}\label{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+get@{efreet\+\_\+menu\+\_\+get}}
\index{efreet\+\_\+menu\+\_\+get@{efreet\+\_\+menu\+\_\+get}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+get()}{efreet\_menu\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}$\ast$ efreet\+\_\+menu\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Creates the default menu representation. 

\begin{DoxyReturn}{Returns}
Returns the \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} representation of the default menu or N\+U\+LL if none found 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}\label{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+async\+\_\+parse@{efreet\+\_\+menu\+\_\+async\+\_\+parse}}
\index{efreet\+\_\+menu\+\_\+async\+\_\+parse@{efreet\+\_\+menu\+\_\+async\+\_\+parse}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+async\+\_\+parse()}{efreet\_menu\_async\_parse()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+async\+\_\+parse (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path,  }\item[{\mbox{\hyperlink{group__Efreet__Menu_gaab91b46110e8e15125a8ddfae0a3164f}{Efreet\+\_\+\+Menu\+\_\+\+Cb}}}]{func,  }\item[{const void $\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{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References ecore\+\_\+thread\+\_\+run(), and eina\+\_\+stringshare\+\_\+add().

\mbox{\Hypertarget{group__Efreet__Menu_gaf771866e8e43479d7f989a9a785f8af1}\label{group__Efreet__Menu_gaf771866e8e43479d7f989a9a785f8af1}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+parse@{efreet\+\_\+menu\+\_\+parse}}
\index{efreet\+\_\+menu\+\_\+parse@{efreet\+\_\+menu\+\_\+parse}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+parse()}{efreet\_menu\_parse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}}$\ast$ efreet\+\_\+menu\+\_\+parse (\begin{DoxyParamCaption}\item[{const char $\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 \mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} representation on success or N\+U\+LL on failure 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}\label{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+save@{efreet\+\_\+menu\+\_\+save}}
\index{efreet\+\_\+menu\+\_\+save@{efreet\+\_\+menu\+\_\+save}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+save()}{efreet\_menu\_save()}}
{\footnotesize\ttfamily int efreet\+\_\+menu\+\_\+save (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} $\ast$}]{menu,  }\item[{const char $\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}
\mbox{\Hypertarget{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}\label{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+free@{efreet\+\_\+menu\+\_\+free}}
\index{efreet\+\_\+menu\+\_\+free@{efreet\+\_\+menu\+\_\+free}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+free()}{efreet\_menu\_free()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} $\ast$}]{menu }\end{DoxyParamCaption})}



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


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


References desktop, efreet\+\_\+desktop\+\_\+free(), efreet\+\_\+menu\+\_\+free(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+EE, entries, icon, id, name, and references.



Referenced by efreet\+\_\+menu\+\_\+free(), and efreet\+\_\+menu\+\_\+unref().

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



Incriments refcount for the menu. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \mbox{\hyperlink{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 efreet\+\_\+menu\+\_\+ref(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH, entries, and references.



Referenced by efreet\+\_\+menu\+\_\+ref().

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



Decrements refcount for the menu, and on 0 frees. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \mbox{\hyperlink{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 efreet\+\_\+menu\+\_\+free().

\mbox{\Hypertarget{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}\label{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+desktop\+\_\+insert@{efreet\+\_\+menu\+\_\+desktop\+\_\+insert}}
\index{efreet\+\_\+menu\+\_\+desktop\+\_\+insert@{efreet\+\_\+menu\+\_\+desktop\+\_\+insert}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\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}} $\ast$}]{menu,  }\item[{\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\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}
\mbox{\Hypertarget{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}\label{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+desktop\+\_\+remove@{efreet\+\_\+menu\+\_\+desktop\+\_\+remove}}
\index{efreet\+\_\+menu\+\_\+desktop\+\_\+remove@{efreet\+\_\+menu\+\_\+desktop\+\_\+remove}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\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}} $\ast$}]{menu,  }\item[{\mbox{\hyperlink{group__Efreet__Desktop_gae7a86664465318833378738e118a2575}{Efreet\+\_\+\+Desktop}} $\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}
\mbox{\Hypertarget{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}\label{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}} 
\index{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}!efreet\+\_\+menu\+\_\+dump@{efreet\+\_\+menu\+\_\+dump}}
\index{efreet\+\_\+menu\+\_\+dump@{efreet\+\_\+menu\+\_\+dump}!Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification@{Efreet\+\_\+\+Menu\+: The F\+D\+O Desktop Menu Specification}}
\subsubsection{\texorpdfstring{efreet\+\_\+menu\+\_\+dump()}{efreet\_menu\_dump()}}
{\footnotesize\ttfamily void efreet\+\_\+menu\+\_\+dump (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}} $\ast$}]{menu,  }\item[{const char $\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}
