\hypertarget{efreet__menu_8h}{\section{efreet\-\_\-menu.\-h File Reference}
\label{efreet__menu_8h}\index{efreet\-\_\-menu.\-h@{efreet\-\_\-menu.\-h}}
}


Contains the structures and methods to support the Desktop Menu Specification.  


\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 
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}
 \}
\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. \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}
Contains the structures and methods to support the Desktop Menu Specification. 