\hypertarget{group__Emile__Group}{}\section{Top level functions}
\label{group__Emile__Group}\index{Top level functions@{Top level functions}}


Function that affect Emile as a whole.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int \hyperlink{group__Emile__Group_ga612ed9079d6ab739f2dbcb93f9ccb151}{emile\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Initialize the Emile library. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int \hyperlink{group__Emile__Group_ga075c27ac4c77467dc986de44fa3c2d01}{emile\+\_\+shutdown} (void)
\begin{DoxyCompactList}\small\item\em Shut down the Emile library. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Function that affect Emile as a whole. 



\subsection{Function Documentation}
\index{Top level functions@{Top level functions}!emile\+\_\+init@{emile\+\_\+init}}
\index{emile\+\_\+init@{emile\+\_\+init}!Top level functions@{Top level functions}}
\subsubsection[{\texorpdfstring{emile\+\_\+init(void)}{emile_init(void)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} int emile\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Emile__Group_ga612ed9079d6ab739f2dbcb93f9ccb151}{}\label{group__Emile__Group_ga612ed9079d6ab739f2dbcb93f9ccb151}


Initialize the Emile library. 

The first time this function is called, it will perform all the internal initialization required for the library to function properly and increment the initialization counter. Any subsequent call only increment this counter and return its new value, so it\textquotesingle{}s safe to call this function more than once.

\begin{DoxyReturn}{Returns}
The new init count. Will be 0 if initialization failed.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References eina\+\_\+init(), eina\+\_\+log\+\_\+domain\+\_\+register(), E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+E\+RR, E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+S\+T\+A\+T\+E\+\_\+\+I\+N\+IT, eina\+\_\+log\+\_\+timing(), and eina\+\_\+shutdown().



Referenced by eet\+\_\+init().

\index{Top level functions@{Top level functions}!emile\+\_\+shutdown@{emile\+\_\+shutdown}}
\index{emile\+\_\+shutdown@{emile\+\_\+shutdown}!Top level functions@{Top level functions}}
\subsubsection[{\texorpdfstring{emile\+\_\+shutdown(void)}{emile_shutdown(void)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+PI} int emile\+\_\+shutdown (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\hypertarget{group__Emile__Group_ga075c27ac4c77467dc986de44fa3c2d01}{}\label{group__Emile__Group_ga075c27ac4c77467dc986de44fa3c2d01}


Shut down the Emile library. 

If \hyperlink{group__Emile__Group_ga612ed9079d6ab739f2dbcb93f9ccb151}{emile\+\_\+init()} was called more than once for the running application, \hyperlink{group__Emile__Group_ga075c27ac4c77467dc986de44fa3c2d01}{emile\+\_\+shutdown()} will decrement the initialization counter and return its new value, without doing anything else. When the counter reaches 0, all of the internal elements will be shutdown and any memory used freed.

\begin{DoxyReturn}{Returns}
The new init count. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References alloca(), eina\+\_\+binbuf\+\_\+free(), eina\+\_\+binbuf\+\_\+manage\+\_\+new(), E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+log\+\_\+domain\+\_\+unregister(), E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+H\+U\+T\+D\+O\+WN, eina\+\_\+log\+\_\+timing(), eina\+\_\+shutdown(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by eet\+\_\+shutdown().

