\hypertarget{group__Ecore__Init__Group}{\section{Ecore initialization, shutdown functions and reset on fork.}
\label{group__Ecore__Init__Group}\index{Ecore initialization, shutdown functions and reset on fork.@{Ecore initialization, shutdown functions and reset on fork.}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{group__Ecore__Init__Group_ga77757609684a2c922dc5ec398274751b}{ecore\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Set up connections, signal handlers, sockets etc. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__Init__Group_ga768298b932f18d7e7593a447493e5cde}{ecore\+\_\+shutdown} (void)
\begin{DoxyCompactList}\small\item\em Shut down connections, signal handlers sockets etc. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Function Documentation}
\hypertarget{group__Ecore__Init__Group_ga77757609684a2c922dc5ec398274751b}{\index{Ecore initialization, shutdown functions and reset on fork.@{Ecore initialization, shutdown functions and reset on fork.}!ecore\+\_\+init@{ecore\+\_\+init}}
\index{ecore\+\_\+init@{ecore\+\_\+init}!Ecore initialization, shutdown functions and reset on fork.@{Ecore initialization, shutdown functions and reset on fork.}}
\subsubsection[{ecore\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}int ecore\+\_\+init (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Init__Group_ga77757609684a2c922dc5ec398274751b}


Set up connections, signal handlers, sockets etc. 

\begin{DoxyReturn}{Returns}
1 or greater on success, 0 otherwise
\end{DoxyReturn}
This function sets up all singal handlers and the basic event loop. If it succeeds, 1 will be returned, otherwise 0 will be returned.


\begin{DoxyCode}
1 #include <Ecore.h>
2 
3 int main(int argc, char **argv)
4 \{
5   if (!ecore\_init())
6   \{
7     printf("ERROR: Cannot init Ecore!\(\backslash\)n");
8     return -1;
9   \}
10   ecore\_main\_loop\_begin();
11   ecore\_shutdown();
12 \}
\end{DoxyCode}
 

References ecore\+\_\+animator\+\_\+add(), ecore\+\_\+init(), ecore\+\_\+main\+\_\+loop\+\_\+glib\+\_\+integrate(), eina\+\_\+condition\+\_\+new(), eina\+\_\+init(), eina\+\_\+lock\+\_\+new(), eina\+\_\+log\+\_\+domain\+\_\+register(), E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+E\+R\+R, E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+S\+T\+A\+T\+E\+\_\+\+I\+N\+I\+T, eina\+\_\+log\+\_\+timing(), eina\+\_\+prefix\+\_\+new(), eina\+\_\+shutdown(), E\+R\+R, evil\+\_\+init(), evil\+\_\+shutdown(), I\+N\+F, and unsetenv().



Referenced by ecore\+\_\+audio\+\_\+init(), ecore\+\_\+con\+\_\+init(), ecore\+\_\+con\+\_\+url\+\_\+init(), ecore\+\_\+drm\+\_\+init(), ecore\+\_\+evas\+\_\+init(), ecore\+\_\+event\+\_\+init(), ecore\+\_\+file\+\_\+init(), ecore\+\_\+imf\+\_\+init(), ecore\+\_\+init(), ecore\+\_\+wl\+\_\+init(), ecore\+\_\+x\+\_\+init(), edje\+\_\+init(), eeze\+\_\+init(), efreet\+\_\+init(), efreet\+\_\+mime\+\_\+init(), eio\+\_\+init(), eldbus\+\_\+init(), emotion\+\_\+init(), and ethumb\+\_\+init().

\hypertarget{group__Ecore__Init__Group_ga768298b932f18d7e7593a447493e5cde}{\index{Ecore initialization, shutdown functions and reset on fork.@{Ecore initialization, shutdown functions and reset on fork.}!ecore\+\_\+shutdown@{ecore\+\_\+shutdown}}
\index{ecore\+\_\+shutdown@{ecore\+\_\+shutdown}!Ecore initialization, shutdown functions and reset on fork.@{Ecore initialization, shutdown functions and reset on fork.}}
\subsubsection[{ecore\+\_\+shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int ecore\+\_\+shutdown (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Init__Group_ga768298b932f18d7e7593a447493e5cde}


Shut down connections, signal handlers sockets etc. 

\begin{DoxyReturn}{Returns}
0 if ecore shuts down, greater than 0 otherwise. This function shuts down all things set up in \hyperlink{group__Ecore__Init__Group_ga77757609684a2c922dc5ec398274751b}{ecore\+\_\+init()} and cleans up all event queues, handlers, filters, timers, idlers, idle enterers/exiters etc. set up after \hyperlink{group__Ecore__Init__Group_ga77757609684a2c922dc5ec398274751b}{ecore\+\_\+init()} was called.
\end{DoxyReturn}
Do not call this function from any callback that may be called from the main loop, as the main loop will then fall over and not function properly. 

References ecore\+\_\+timer\+\_\+del(), eina\+\_\+condition\+\_\+free(), eina\+\_\+lock\+\_\+free(), eina\+\_\+log\+\_\+domain\+\_\+unregister(), E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+S\+T\+A\+T\+E\+\_\+\+S\+H\+U\+T\+D\+O\+W\+N, eina\+\_\+log\+\_\+timing(), eina\+\_\+prefix\+\_\+free(), eina\+\_\+shutdown(), E\+R\+R, and evil\+\_\+shutdown().



Referenced by ecore\+\_\+audio\+\_\+init(), ecore\+\_\+audio\+\_\+shutdown(), ecore\+\_\+con\+\_\+init(), ecore\+\_\+con\+\_\+shutdown(), ecore\+\_\+con\+\_\+url\+\_\+shutdown(), ecore\+\_\+drm\+\_\+init(), ecore\+\_\+drm\+\_\+shutdown(), ecore\+\_\+evas\+\_\+init(), ecore\+\_\+evas\+\_\+shutdown(), ecore\+\_\+event\+\_\+shutdown(), ecore\+\_\+file\+\_\+shutdown(), ecore\+\_\+imf\+\_\+init(), ecore\+\_\+imf\+\_\+shutdown(), ecore\+\_\+wl\+\_\+init(), ecore\+\_\+x\+\_\+init(), edje\+\_\+init(), eeze\+\_\+init(), eeze\+\_\+shutdown(), efreet\+\_\+init(), efreet\+\_\+mime\+\_\+init(), efreet\+\_\+mime\+\_\+shutdown(), efreet\+\_\+shutdown(), eio\+\_\+shutdown(), eldbus\+\_\+init(), eldbus\+\_\+shutdown(), emotion\+\_\+shutdown(), and ethumb\+\_\+shutdown().

