\hypertarget{group__Efl__Events}{}\doxysection{Eo\textquotesingle{}s Event Handling}
\label{group__Efl__Events}\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group__Efl__Events_gadfdd0ace65e57a00937b6b6a35bfa290}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+ON}}(name)~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} \}
\item 
\#define \mbox{\hyperlink{group__Efl__Events_ga91183194a72406a5aea5d005f8879303}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+H\+OT}}(name)~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} \}
\item 
\mbox{\Hypertarget{group__Efl__Events_ga00cd934ab88a3f36769902043c63c021}\label{group__Efl__Events_ga00cd934ab88a3f36769902043c63c021}} 
\#define {\bfseries E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+R\+E\+S\+T\+A\+RT}(name)~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} \}
\item 
\mbox{\Hypertarget{group__Efl__Events_ga9b014f71965016eda3d840ef7bb99d31}\label{group__Efl__Events_ga9b014f71965016eda3d840ef7bb99d31}} 
\#define {\bfseries E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+H\+O\+T\+\_\+\+R\+E\+S\+T\+A\+RT}(name)~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} \}
\item 
\#define \mbox{\hyperlink{group__Efl__Events_ga0e3e7266e176a957add323bd6ffabfc2}{E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+S\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+D\+E\+F\+I\+NE}}(Name, ...)
\begin{DoxyCompactList}\small\item\em Helper for creating global callback arrays. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group__Efl__Events_ga235d09eb720fe8ba8dbab3e40068f664}{efl\+\_\+event\+\_\+callback\+\_\+add}}(obj,  desc,  cb,  data)
\item 
\#define \mbox{\hyperlink{group__Efl__Events_gadcb44b6599e213fd3856e334bc459dd8}{efl\+\_\+event\+\_\+callback\+\_\+array\+\_\+add}}(obj,  array,  data)
\item 
\#define \mbox{\hyperlink{group__Efl__Events_ga339b48d5629c663691ccdd382d35a7e0}{efl\+\_\+event\+\_\+callback\+\_\+forwarder\+\_\+add}}(obj,  desc,  new\+\_\+obj)~efl\+\_\+event\+\_\+callback\+\_\+forwarder\+\_\+priority\+\_\+add(obj, desc, E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y\+\_\+\+D\+E\+F\+A\+U\+LT, new\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Add an event callback forwarder for an event and an object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Efl__Events_ga04b3acfffd424e780a78ccdf9b4fcec4}\label{group__Efl__Events_ga04b3acfffd424e780a78ccdf9b4fcec4}} 
\#define \mbox{\hyperlink{group__Efl__Events_ga04b3acfffd424e780a78ccdf9b4fcec4}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+A\+DD}}~(\&(\+\_\+\+E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+A\+DD))
\begin{DoxyCompactList}\small\item\em Event triggered when a callback was added to the object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Efl__Events_ga90dfba8c5f56a0154f942c33f2e19ebd}\label{group__Efl__Events_ga90dfba8c5f56a0154f942c33f2e19ebd}} 
\#define \mbox{\hyperlink{group__Efl__Events_ga90dfba8c5f56a0154f942c33f2e19ebd}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+D\+EL}}~(\&(\+\_\+\+E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+D\+EL))
\begin{DoxyCompactList}\small\item\em Event triggered when a callback was removed from the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Efl__Events_ga42c7979f6f85fc21cd2368e3274f1bfb}{efl\+\_\+callbacks\+\_\+cmp}} (const \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}} $\ast$a, const \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}} $\ast$b)
\begin{DoxyCompactList}\small\item\em Helper for sorting callbacks array. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Efl__Events_ga2b6518aa84d984e011eba4484591bcc2}\label{group__Efl__Events_ga2b6518aa84d984e011eba4484591bcc2}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries efl\+\_\+replace} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$$\ast$storage, const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$new\+\_\+obj)
\item 
static \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$ \mbox{\hyperlink{group__Efl__Events_ga72d8d5c47db54f686d683e5a5af3a783}{eina\+\_\+value\+\_\+object\+\_\+new}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Create a new \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} containing the passed parameter. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \mbox{\hyperlink{group__Efl__Events_gacf08cef594c081d8a50dc204d0cf560c}{eina\+\_\+value\+\_\+object\+\_\+init}} (\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Create a new \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} initialized with the passed parameter. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$ \mbox{\hyperlink{group__Efl__Events_ga215b5bf5ce6b2855241f8f3f20db27a3}{eina\+\_\+value\+\_\+object\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$v)
\begin{DoxyCompactList}\small\item\em Get the object contained in an \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Efl__Events_ga3931ee7fcf07dff0a9b91511d2bd6c23}{efl\+\_\+alive\+\_\+get}} (const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get if the object is in its main lifetime. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Efl__Events_ga5a94d670c6394b083c23191b12928ee8}\label{group__Efl__Events_ga5a94d670c6394b083c23191b12928ee8}} 
const E\+O\+A\+PI \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\ast$ {\bfseries E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+O\+B\+J\+E\+CT}
\item 
\mbox{\Hypertarget{group__Efl__Events_gaaf986214e5ea8ef48d28cf676e5c517e}\label{group__Efl__Events_gaaf986214e5ea8ef48d28cf676e5c517e}} 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Efl\+\_\+\+Event\+\_\+\+Description {\bfseries \+\_\+\+E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+A\+DD}
\item 
\mbox{\Hypertarget{group__Efl__Events_gac7f0c36d0cfd38543bf139c21e22d0e3}\label{group__Efl__Events_gac7f0c36d0cfd38543bf139c21e22d0e3}} 
const \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Efl\+\_\+\+Event\+\_\+\+Description {\bfseries \+\_\+\+E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+D\+EL}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Efl__Events_gadfdd0ace65e57a00937b6b6a35bfa290}\label{group__Efl__Events_gadfdd0ace65e57a00937b6b6a35bfa290}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!EFL\_EVENT\_DESCRIPTION@{EFL\_EVENT\_DESCRIPTION}}
\index{EFL\_EVENT\_DESCRIPTION@{EFL\_EVENT\_DESCRIPTION}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{EFL\_EVENT\_DESCRIPTION}{EFL\_EVENT\_DESCRIPTION}}
{\footnotesize\ttfamily \#define E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+ON(\begin{DoxyParamCaption}\item[{}]{name }\end{DoxyParamCaption})~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} \}}

A helper macro to help populate \#\+Efl\+\_\+\+Event\+\_\+\+Description 
\begin{DoxyParams}{Parameters}
{\em name} & The name of the event. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Event\+\_\+\+Description
\end{DoxySeeAlso}
A helper macro to help populating \#\+Efl\+\_\+\+Event\+\_\+\+Description 
\begin{DoxyParams}{Parameters}
{\em name} & The name of the event. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Event\+\_\+\+Description 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Efl__Events_ga91183194a72406a5aea5d005f8879303}\label{group__Efl__Events_ga91183194a72406a5aea5d005f8879303}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!EFL\_EVENT\_DESCRIPTION\_HOT@{EFL\_EVENT\_DESCRIPTION\_HOT}}
\index{EFL\_EVENT\_DESCRIPTION\_HOT@{EFL\_EVENT\_DESCRIPTION\_HOT}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{EFL\_EVENT\_DESCRIPTION\_HOT}{EFL\_EVENT\_DESCRIPTION\_HOT}}
{\footnotesize\ttfamily \#define E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+H\+OT(\begin{DoxyParamCaption}\item[{}]{name }\end{DoxyParamCaption})~\{ name, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} \}}

A helper macro to help populate \#\+Efl\+\_\+\+Event\+\_\+\+Description and make the event impossible to freeze. 
\begin{DoxyParams}{Parameters}
{\em name} & The name of the event. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Event\+\_\+\+Description 

\mbox{\hyperlink{group__Efl__Events_gadfdd0ace65e57a00937b6b6a35bfa290}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+ON}}
\end{DoxySeeAlso}
A helper macro to help populating \#\+Efl\+\_\+\+Event\+\_\+\+Description and make the event impossible to freeze. 
\begin{DoxyParams}{Parameters}
{\em name} & The name of the event. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Event\+\_\+\+Description 

\mbox{\hyperlink{group__Efl__Events_gadfdd0ace65e57a00937b6b6a35bfa290}{E\+F\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+ON}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Efl__Events_ga0e3e7266e176a957add323bd6ffabfc2}\label{group__Efl__Events_ga0e3e7266e176a957add323bd6ffabfc2}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!EFL\_CALLBACKS\_ARRAY\_DEFINE@{EFL\_CALLBACKS\_ARRAY\_DEFINE}}
\index{EFL\_CALLBACKS\_ARRAY\_DEFINE@{EFL\_CALLBACKS\_ARRAY\_DEFINE}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{EFL\_CALLBACKS\_ARRAY\_DEFINE}{EFL\_CALLBACKS\_ARRAY\_DEFINE}}
{\footnotesize\ttfamily \#define E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+S\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+D\+E\+F\+I\+NE(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\_Callback\_Array\_Item}} *                                      \(\backslash\)}
\DoxyCodeLine{  Name(\textcolor{keywordtype}{void})                                                            \(\backslash\)}
\DoxyCodeLine{  \{                                                                     \(\backslash\)}
\DoxyCodeLine{     Efl\_Callback\_Array\_Item tmp[] = \{ \_\_VA\_ARGS\_\_ \}; \(\backslash\)}
\DoxyCodeLine{     static \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\_Callback\_Array\_Item}} \textcolor{keyword}{internal}[\mbox{\hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{EINA\_C\_ARRAY\_LENGTH}}(tmp) + 1] = \(\backslash\)}
\DoxyCodeLine{       \{ \{ 0, 0 \} \};         \(\backslash\)}
\DoxyCodeLine{     if (\textcolor{keyword}{internal}[0].desc == NULL)                                      \(\backslash\)}
\DoxyCodeLine{       \{                                                                \(\backslash\)}
\DoxyCodeLine{          memcpy(\textcolor{keyword}{internal}, tmp, \textcolor{keyword}{sizeof}(tmp)); \(\backslash\)}
\DoxyCodeLine{          qsort(\textcolor{keyword}{internal}, \mbox{\hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{EINA\_C\_ARRAY\_LENGTH}}(\textcolor{keyword}{internal}) -\/ 1, \textcolor{keyword}{sizeof} (\textcolor{keyword}{internal}[0]), \(\backslash\)}
\DoxyCodeLine{                (\textcolor{keywordtype}{int}(*)(\textcolor{keyword}{const} \textcolor{keywordtype}{void}*,\textcolor{keyword}{const} \textcolor{keywordtype}{void}*)) \mbox{\hyperlink{group__Efl__Events_ga42c7979f6f85fc21cd2368e3274f1bfb}{efl\_callbacks\_cmp}});   \(\backslash\)}
\DoxyCodeLine{       \}                                                                \(\backslash\)}
\DoxyCodeLine{     return \textcolor{keyword}{internal};                                                   \(\backslash\)}
\DoxyCodeLine{  \}}

\end{DoxyCode}


Helper for creating global callback arrays. 

Problems occur here in windows where you can\textquotesingle{}t declare a static array with external symbols in them. These addresses are only known at runtime. This also allows for automatic sorting for better performance. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{emotion_signals_example_8c-example}{emotion\+\_\+signals\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Efl__Events_ga235d09eb720fe8ba8dbab3e40068f664}\label{group__Efl__Events_ga235d09eb720fe8ba8dbab3e40068f664}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!efl\_event\_callback\_add@{efl\_event\_callback\_add}}
\index{efl\_event\_callback\_add@{efl\_event\_callback\_add}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{efl\_event\_callback\_add}{efl\_event\_callback\_add}}
{\footnotesize\ttfamily \#define efl\+\_\+event\+\_\+callback\+\_\+add(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{desc,  }\item[{}]{cb,  }\item[{}]{data }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{group__Eo_gaf3a8f41bf1f61462c2ac61580e944ce8}{efl\_event\_callback\_priority\_add}}(obj, desc, \(\backslash\)}
\DoxyCodeLine{         EFL\_CALLBACK\_PRIORITY\_DEFAULT, cb, data)}

\end{DoxyCode}
Add a callback for an event. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em desc} & An \#\+Efl\+\_\+\+Event\+\_\+\+Description of the event to listen to. \\
\hline
\mbox{\texttt{ in}}  & {\em cb} & the callback to call. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & additional data to pass to the callback.\\
\hline
\end{DoxyParams}
Callbacks of the same priority are called in reverse order of creation.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eo_gaf3a8f41bf1f61462c2ac61580e944ce8}{efl\+\_\+event\+\_\+callback\+\_\+priority\+\_\+add()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{emotion_basic_example_8c-example}{emotion\+\_\+basic\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Efl__Events_gadcb44b6599e213fd3856e334bc459dd8}\label{group__Efl__Events_gadcb44b6599e213fd3856e334bc459dd8}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!efl\_event\_callback\_array\_add@{efl\_event\_callback\_array\_add}}
\index{efl\_event\_callback\_array\_add@{efl\_event\_callback\_array\_add}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{efl\_event\_callback\_array\_add}{efl\_event\_callback\_array\_add}}
{\footnotesize\ttfamily \#define efl\+\_\+event\+\_\+callback\+\_\+array\+\_\+add(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{array,  }\item[{}]{data }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{group__Eo_ga4d3c54c354c8c254913f5241ffa181a9}{efl\_event\_callback\_array\_priority\_add}}(obj, array, \(\backslash\)}
\DoxyCodeLine{         EFL\_CALLBACK\_PRIORITY\_DEFAULT, data)}

\end{DoxyCode}
Add an array of callbacks for an event.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em array} & an \#\+Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item of events to listen to. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & additional data to pass to the callback.\\
\hline
\end{DoxyParams}
Callbacks of the same priority are called in reverse order of creation. The array should have been created by \mbox{\hyperlink{group__Efl__Events_ga0e3e7266e176a957add323bd6ffabfc2}{E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+S\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+D\+E\+F\+I\+NE}}. If this isn\textquotesingle{}t the case, be careful of portability issues and make sure that it is properly sorted with \mbox{\hyperlink{group__Efl__Events_ga42c7979f6f85fc21cd2368e3274f1bfb}{efl\+\_\+callbacks\+\_\+cmp}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eo_ga4d3c54c354c8c254913f5241ffa181a9}{efl\+\_\+event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{emotion_signals_example_8c-example}{emotion\+\_\+signals\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Efl__Events_ga339b48d5629c663691ccdd382d35a7e0}\label{group__Efl__Events_ga339b48d5629c663691ccdd382d35a7e0}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!efl\_event\_callback\_forwarder\_add@{efl\_event\_callback\_forwarder\_add}}
\index{efl\_event\_callback\_forwarder\_add@{efl\_event\_callback\_forwarder\_add}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{efl\_event\_callback\_forwarder\_add}{efl\_event\_callback\_forwarder\_add}}
{\footnotesize\ttfamily \#define efl\+\_\+event\+\_\+callback\+\_\+forwarder\+\_\+add(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{desc,  }\item[{}]{new\+\_\+obj }\end{DoxyParamCaption})~efl\+\_\+event\+\_\+callback\+\_\+forwarder\+\_\+priority\+\_\+add(obj, desc, E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y\+\_\+\+D\+E\+F\+A\+U\+LT, new\+\_\+obj)}



Add an event callback forwarder for an event and an object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em obj} & The object. \\
\hline
\mbox{\texttt{ in}}  & {\em desc} & An \#\+Efl\+\_\+\+Event\+\_\+\+Description of the event to forward to. \\
\hline
\mbox{\texttt{ in}}  & {\em new\+\_\+obj} & The object to emit events from \\
\hline
\end{DoxyParams}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Efl__Events_ga42c7979f6f85fc21cd2368e3274f1bfb}\label{group__Efl__Events_ga42c7979f6f85fc21cd2368e3274f1bfb}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!efl\_callbacks\_cmp@{efl\_callbacks\_cmp}}
\index{efl\_callbacks\_cmp@{efl\_callbacks\_cmp}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{efl\_callbacks\_cmp()}{efl\_callbacks\_cmp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int efl\+\_\+callbacks\+\_\+cmp (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}} $\ast$}]{a,  }\item[{const \mbox{\hyperlink{struct__Efl__Callback__Array__Item}{Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}} $\ast$}]{b }\end{DoxyParamCaption})}



Helper for sorting callbacks array. 

Automatically used by \mbox{\hyperlink{group__Efl__Events_ga0e3e7266e176a957add323bd6ffabfc2}{E\+F\+L\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+S\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+D\+E\+F\+I\+NE}} \mbox{\Hypertarget{group__Efl__Events_ga72d8d5c47db54f686d683e5a5af3a783}\label{group__Efl__Events_ga72d8d5c47db54f686d683e5a5af3a783}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!eina\_value\_object\_new@{eina\_value\_object\_new}}
\index{eina\_value\_object\_new@{eina\_value\_object\_new}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{eina\_value\_object\_new()}{eina\_value\_object\_new()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}$\ast$ eina\+\_\+value\+\_\+object\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create a new \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} containing the passed parameter. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to use \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Efl__Events_ga215b5bf5ce6b2855241f8f3f20db27a3}{eina\+\_\+value\+\_\+object\+\_\+get()}}, \mbox{\hyperlink{group__Efl__Events_gacf08cef594c081d8a50dc204d0cf560c}{eina\+\_\+value\+\_\+object\+\_\+init()}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


References eina\+\_\+value\+\_\+new().

\mbox{\Hypertarget{group__Efl__Events_gacf08cef594c081d8a50dc204d0cf560c}\label{group__Efl__Events_gacf08cef594c081d8a50dc204d0cf560c}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!eina\_value\_object\_init@{eina\_value\_object\_init}}
\index{eina\_value\_object\_init@{eina\_value\_object\_init}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{eina\_value\_object\_init()}{eina\_value\_object\_init()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} eina\+\_\+value\+\_\+object\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create a new \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} initialized with the passed parameter. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to use \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Efl__Events_ga72d8d5c47db54f686d683e5a5af3a783}{eina\+\_\+value\+\_\+object\+\_\+new()}}, \mbox{\hyperlink{group__Efl__Events_ga215b5bf5ce6b2855241f8f3f20db27a3}{eina\+\_\+value\+\_\+object\+\_\+get()}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+V\+A\+L\+U\+E\+\_\+\+E\+M\+P\+TY, and eina\+\_\+value\+\_\+setup().

\mbox{\Hypertarget{group__Efl__Events_ga215b5bf5ce6b2855241f8f3f20db27a3}\label{group__Efl__Events_ga215b5bf5ce6b2855241f8f3f20db27a3}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!eina\_value\_object\_get@{eina\_value\_object\_get}}
\index{eina\_value\_object\_get@{eina\_value\_object\_get}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{eina\_value\_object\_get()}{eina\_value\_object\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}}$\ast$ eina\+\_\+value\+\_\+object\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Get the object contained in an \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}. 


\begin{DoxyParams}{Parameters}
{\em v} & The \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} to extract the object from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The object. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Efl__Events_ga72d8d5c47db54f686d683e5a5af3a783}{eina\+\_\+value\+\_\+object\+\_\+new()}}, \mbox{\hyperlink{group__Efl__Events_gacf08cef594c081d8a50dc204d0cf560c}{eina\+\_\+value\+\_\+object\+\_\+init()}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}


References eina\+\_\+value\+\_\+type\+\_\+get().

\mbox{\Hypertarget{group__Efl__Events_ga3931ee7fcf07dff0a9b91511d2bd6c23}\label{group__Efl__Events_ga3931ee7fcf07dff0a9b91511d2bd6c23}} 
\index{Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}!efl\_alive\_get@{efl\_alive\_get}}
\index{efl\_alive\_get@{efl\_alive\_get}!Eo\textquotesingle{}s Event Handling@{Eo\textquotesingle{}s Event Handling}}
\doxysubsubsection{\texorpdfstring{efl\_alive\_get()}{efl\_alive\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} efl\+\_\+alive\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Get if the object is in its main lifetime. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to check \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if the object is finalized, but not invalidating nor invalidated. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+22 
\end{DoxySince}
