\hypertarget{group__Efreet__Menu}{\section{Efreet\+\_\+\+Menu\+: The F\+D\+O 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 \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}
\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} Stores information on a entry in the menu. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}{typedef enum \hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type} \hyperlink{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type}}\label{group__Efreet__Menu_ga5a0f81e93dce820cd5c55f1b96424530}

\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\item 
\hypertarget{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}{typedef struct \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} \hyperlink{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}{Efreet\+\_\+\+Menu}}\label{group__Efreet__Menu_ga09908f95fe36f7e5c52f0b33bf22ebe7}

\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu}. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{group__Efreet__Menu_gaacd89d9dc3a73a4a918e5a885dfeca12}{Efreet\+\_\+\+Menu\+\_\+\+Cb} )(void $\ast$data, \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em A callback used with \hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get()} and \hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse()} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{enum \hyperlink{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}{Efreet\+\_\+\+Menu\+\_\+\+Entry\+\_\+\+Type} \{ \\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+M\+E\+N\+U}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+D\+E\+S\+K\+T\+O\+P}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+S\+E\+P\+A\+R\+A\+T\+O\+R}, 
\\*
{\bfseries E\+F\+R\+E\+E\+T\+\_\+\+M\+E\+N\+U\+\_\+\+E\+N\+T\+R\+Y\+\_\+\+H\+E\+A\+D\+E\+R}
 \}}\label{group__Efreet__Menu_ga2991e288d08928c50a4da721f9845150}

\begin{DoxyCompactList}\small\item\em The type of entry. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \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 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \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 \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 \hyperlink{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}{efreet\+\_\+menu\+\_\+async\+\_\+get} (\hyperlink{group__Efreet__Menu_gaacd89d9dc3a73a4a918e5a885dfeca12}{Efreet\+\_\+\+Menu\+\_\+\+Cb} func, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Creates the \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or N\+U\+L\+L if none found and returns it in the callback. \end{DoxyCompactList}\item 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \hyperlink{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}{efreet\+\_\+menu\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Creates the default menu representation. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}{efreet\+\_\+menu\+\_\+async\+\_\+parse} (const char $\ast$path, \hyperlink{group__Efreet__Menu_gaacd89d9dc3a73a4a918e5a885dfeca12}{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 
\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$ \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 \hyperlink{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}{efreet\+\_\+menu\+\_\+save} (\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 \hyperlink{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}{efreet\+\_\+menu\+\_\+free} (\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 \hyperlink{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}{efreet\+\_\+menu\+\_\+ref} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu)
\begin{DoxyCompactList}\small\item\em Incriments refcount for the menu. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}{efreet\+\_\+menu\+\_\+unref} (\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 \hyperlink{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}{efreet\+\_\+menu\+\_\+desktop\+\_\+insert} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, \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 \hyperlink{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}{efreet\+\_\+menu\+\_\+desktop\+\_\+remove} (\hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} $\ast$menu, \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 \hyperlink{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}{efreet\+\_\+menu\+\_\+dump} (\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}
\hypertarget{group__Efreet__Menu_gaacd89d9dc3a73a4a918e5a885dfeca12}{\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[{Efreet\+\_\+\+Menu\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ Efreet\+\_\+\+Menu\+\_\+\+Cb)(void $\ast$data, {\bf Efreet\+\_\+\+Menu} $\ast$menu)}}\label{group__Efreet__Menu_gaacd89d9dc3a73a4a918e5a885dfeca12}


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

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


\subsection{Function Documentation}
\hypertarget{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[{efreet\+\_\+menu\+\_\+kde\+\_\+legacy\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+menu\+\_\+kde\+\_\+legacy\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gafdc0116e02086b5698fcc7e400bcc15c}


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

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


References eina\+\_\+list\+\_\+append(), eina\+\_\+stringshare\+\_\+add(), eina\+\_\+stringshare\+\_\+del(), and E\+R\+R.

\hypertarget{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[{efreet\+\_\+menu\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Menu}$\ast$ efreet\+\_\+menu\+\_\+new (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga262bbe7b490a69fd81bcae77a9edc207}


Creates a new menu. 


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


References eina\+\_\+stringshare\+\_\+add(), and name.

\hypertarget{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[{efreet\+\_\+menu\+\_\+file\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+file\+\_\+set (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gaf6de3882d42bccc068291bbcc1a0244a}


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().

\hypertarget{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[{efreet\+\_\+menu\+\_\+async\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+async\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu\+\_\+\+Cb}}]{func, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gab02e50a02650b8f37954fbd8867e0fb3}


Creates the \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or N\+U\+L\+L 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}


References ecore\+\_\+file\+\_\+exists(), efreet\+\_\+config\+\_\+dirs\+\_\+get(), efreet\+\_\+config\+\_\+home\+\_\+get(), efreet\+\_\+menu\+\_\+async\+\_\+parse(), and E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.

\hypertarget{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[{efreet\+\_\+menu\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Menu}$\ast$ efreet\+\_\+menu\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga3add55409db4cca3581973f3a22ff375}


Creates the default menu representation. 

\begin{DoxyReturn}{Returns}
Returns the \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation of the default menu or N\+U\+L\+L if none found 
\end{DoxyReturn}


References ecore\+\_\+file\+\_\+exists(), efreet\+\_\+config\+\_\+dirs\+\_\+get(), efreet\+\_\+config\+\_\+home\+\_\+get(), efreet\+\_\+menu\+\_\+parse(), and E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.

\hypertarget{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[{efreet\+\_\+menu\+\_\+async\+\_\+parse}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+async\+\_\+parse (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{{\bf Efreet\+\_\+\+Menu\+\_\+\+Cb}}]{func, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gacff1caff07b5d129a4e1b73f32349b8f}


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().



Referenced by efreet\+\_\+menu\+\_\+async\+\_\+get().

\hypertarget{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[{efreet\+\_\+menu\+\_\+parse}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Menu}$\ast$ efreet\+\_\+menu\+\_\+parse (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gaf771866e8e43479d7f989a9a785f8af1}


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 \hyperlink{structEfreet__Menu}{Efreet\+\_\+\+Menu} representation on success or N\+U\+L\+L on failure 
\end{DoxyReturn}


References eina\+\_\+hash\+\_\+string\+\_\+superfast\+\_\+new(), Efreet\+\_\+\+Xml\+::tag, and W\+R\+N.



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

\hypertarget{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[{efreet\+\_\+menu\+\_\+save}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+menu\+\_\+save (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu, }
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga11b1e15cbc386a7275930c8aa559e921}


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}
\hypertarget{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[{efreet\+\_\+menu\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gaf6ce6f6ac0038217fe874cad8bd3ae6a}


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


\begin{DoxyParams}{Parameters}
{\em menu} & The \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\+E\+E, entries, icon, id, name, and references.



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

\hypertarget{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[{efreet\+\_\+menu\+\_\+ref}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+ref (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga083aa9f37c0726db3b04ade41084a532}


Incriments refcount for the menu. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \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\+C\+H, entries, and references.



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

\hypertarget{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[{efreet\+\_\+menu\+\_\+unref}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+unref (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gace014272006d6dcac614fdb34960c0ac}


Decrements refcount for the menu, and on 0 frees. 


\begin{DoxyParams}{Parameters}
{\em menu} & The \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().

\hypertarget{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[{efreet\+\_\+menu\+\_\+desktop\+\_\+insert}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+menu\+\_\+desktop\+\_\+insert (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu, }
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop, }
\item[{int}]{pos}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_gad623606893391e7c32ff4f39fae0aab1}


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 desktop, efreet\+\_\+desktop\+\_\+ref(), efreet\+\_\+util\+\_\+path\+\_\+to\+\_\+file\+\_\+id(), eina\+\_\+list\+\_\+append(), eina\+\_\+list\+\_\+append\+\_\+relative(), eina\+\_\+list\+\_\+count(), eina\+\_\+list\+\_\+nth(), eina\+\_\+stringshare\+\_\+add(), entries, icon, \+\_\+\+Efreet\+\_\+\+Desktop\+::icon, id, name, \+\_\+\+Efreet\+\_\+\+Desktop\+::name, and \+\_\+\+Efreet\+\_\+\+Desktop\+::orig\+\_\+path.

\hypertarget{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[{efreet\+\_\+menu\+\_\+desktop\+\_\+remove}]{\setlength{\rightskip}{0pt plus 5cm}int efreet\+\_\+menu\+\_\+desktop\+\_\+remove (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu, }
\item[{{\bf Efreet\+\_\+\+Desktop} $\ast$}]{desktop}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga1341ea90ebef422eb859f6fe69e81a1b}


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 efreet\+\_\+menu\+\_\+free(), E\+I\+N\+A\+\_\+\+C\+O\+M\+P\+A\+R\+E\+\_\+\+C\+B, eina\+\_\+list\+\_\+remove(), eina\+\_\+list\+\_\+search\+\_\+unsorted(), and entries.

\hypertarget{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[{efreet\+\_\+menu\+\_\+dump}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+menu\+\_\+dump (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Menu} $\ast$}]{menu, }
\item[{const char $\ast$}]{indent}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Menu_ga25b14b29531706b9b2ca0f1bd378b169}


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 alloca(), efreet\+\_\+menu\+\_\+dump(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, entries, icon, I\+N\+F, and name.



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

