\hypertarget{structeo_1_1base}{}\section{eo\+:\+:base Struct Reference}
\label{structeo_1_1base}\index{eo\+::base@{eo\+::base}}


Class base.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structeo_1_1base_aa2b14494ad8f39b2163680ffafa04748}{base} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$eo)
\begin{DoxyCompactList}\small\item\em Eo Constructor. \end{DoxyCompactList}\item 
\hyperlink{structeo_1_1base_a8312fdaa5e86d8702cb9a868279e1276}{base} (std\+::nullptr\+\_\+t)
\begin{DoxyCompactList}\small\item\em nullptr\+\_\+t Constructor. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a627ae7e464710ce9ce2e38345661e030}{}\hyperlink{structeo_1_1base_a627ae7e464710ce9ce2e38345661e030}{base} (\hyperlink{structeo_1_1base}{base} const \&other)\label{structeo_1_1base_a627ae7e464710ce9ce2e38345661e030}

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_abba8a44e71ab61ae3b968cc24dcd97ac}{event\+\_\+callback\+\_\+forwarder\+\_\+del} (const Eo\+\_\+\+Event\+\_\+\+Description $\ast$desc\+\_\+,\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} new\+\_\+obj\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Remove an event callback forwarder for an event and an object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a6f8d73412a89ec8ccf2797d88454dd6f}{event\+\_\+thaw} () const 
\begin{DoxyCompactList}\small\item\em thaw events of object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a61730955b42e9f88f9829032bfcb1938}{event\+\_\+freeze} () const 
\begin{DoxyCompactList}\small\item\em freeze events of object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a64111487177140862cb7aa03e3c1a2df}{event\+\_\+callback\+\_\+array\+\_\+del} (const Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$array\+\_\+, const void $\ast$user\+\_\+data\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Del a callback array with a specific data associated to it for an event. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_aa0f66b2282c68cca9c135df0026fc7d4}{wref\+\_\+del} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$$\ast$wref\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Delete the weak reference passed. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a83da1269dd7ba3e626d58b1cbaad0aad}{destructor} () const 
\begin{DoxyCompactList}\small\item\em Call the object\textquotesingle{}s destructor. \end{DoxyCompactList}\item 
\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} \hyperlink{structeo_1_1base_a6eac110e58a7f0ac07b9a703c9d8dd66}{finalize} () const 
\begin{DoxyCompactList}\small\item\em Called at the end of \#eo\+\_\+add. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a4b054bc887f32dd43ec6adb6c4e9843a}{key\+\_\+data\+\_\+set} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} key\+\_\+, const void $\ast$data\+\_\+, eo\+\_\+key\+\_\+data\+\_\+free\+\_\+func free\+\_\+func\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set generic data to object. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{structeo_1_1base_aa07e72dcc8ab2cc6ebcbc4a3e80b51c3}{key\+\_\+data\+\_\+get} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} key\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get generic data from object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_aea9ef17bef79f8e9db01dd278cf3315a}{event\+\_\+callback\+\_\+del} (const Eo\+\_\+\+Event\+\_\+\+Description $\ast$desc\+\_\+, Eo\+\_\+\+Event\+\_\+\+Cb func\+\_\+, const void $\ast$user\+\_\+data\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Del a callback with a specific data associated to it for an event. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a11dfd8c9d60118202fed268d5fa5e987}{key\+\_\+data\+\_\+del} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} key\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Del generic data from object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a78e9aace437cafea2ae9f2bcb7b27239}{event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add} (const Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$array\+\_\+, \hyperlink{group__Eo_ga47dc16c6cb366c7fd3a88cba65567880}{Eo\+\_\+\+Callback\+\_\+\+Priority} priority\+\_\+, const void $\ast$data\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Add a callback array for an event with a specific priority. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a2e61ee8b6f83e2d781795397f2640c0f}{wref\+\_\+add} (\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} $\ast$wref\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Add a new weak reference to obj. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a91ef79aeaa911844c44412fb93ded0b2}{dbg\+\_\+info\+\_\+get} (Eo\+\_\+\+Dbg\+\_\+\+Info $\ast$root\+\_\+node\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get dbg information from the object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a6ac0d41f73da330f5b7f3b9981b73a27}{event\+\_\+callback\+\_\+forwarder\+\_\+add} (const Eo\+\_\+\+Event\+\_\+\+Description $\ast$desc\+\_\+,\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} new\+\_\+obj\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Add an event callback forwarder for an event and an object. \end{DoxyCompactList}\item 
bool \hyperlink{structeo_1_1base_a7b11a8120b9a7c17a23693fc7a5b3d10}{event\+\_\+callback\+\_\+call} (const Eo\+\_\+\+Event\+\_\+\+Description $\ast$desc\+\_\+, void $\ast$event\+\_\+info\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Call the callbacks for an event of an object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a3b43fcf6648bee22dcf7cf2d67024839}{event\+\_\+callback\+\_\+priority\+\_\+add} (const Eo\+\_\+\+Event\+\_\+\+Description $\ast$desc\+\_\+, \hyperlink{group__Eo_ga47dc16c6cb366c7fd3a88cba65567880}{Eo\+\_\+\+Callback\+\_\+\+Priority} priority\+\_\+, Eo\+\_\+\+Event\+\_\+\+Cb cb\+\_\+, const void $\ast$data\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Add a callback for an event with a specific priority. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a91b64200fffddc81555d179d197ee109}{}\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator} $\ast$ \hyperlink{structeo_1_1base_a91b64200fffddc81555d179d197ee109}{children\+\_\+iterator\+\_\+new} () const \label{structeo_1_1base_a91b64200fffddc81555d179d197ee109}

\begin{DoxyCompactList}\small\item\em Get an iterator on all childrens. \end{DoxyCompactList}\item 
bool \hyperlink{structeo_1_1base_a79f32a36259b2751b8fc0ca15b58ca80}{composite\+\_\+attach} (\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} comp\+\_\+obj\+\_\+) const 
\item 
bool \hyperlink{structeo_1_1base_a679ed241cb44c3a5ee8c86ca0da50311}{composite\+\_\+detach} (\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} comp\+\_\+obj\+\_\+) const 
\item 
bool \hyperlink{structeo_1_1base_a3a1aed355dd8ba19820efcb4102e20bf}{composite\+\_\+part\+\_\+is} () const 
\item 
\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} \hyperlink{structeo_1_1base_a4c6ef8e01f67991a89f17e423f0e8085}{parent\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Get the parent of an object. \end{DoxyCompactList}\item 
void \hyperlink{structeo_1_1base_a019ac114e6dd74af44686692ca4915f4}{parent\+\_\+set} (\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} parent\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the parent of an object Parents keep references to their children so in order to delete objects that have parents you need to set parent to N\+U\+L\+L or use eo\+\_\+del() that does that for you (and also unrefs the object). \end{DoxyCompactList}\item 
int \hyperlink{structeo_1_1base_a64b23430d5889b528614ec37485a3735}{event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em return freeze events of object. \end{DoxyCompactList}\item 
int \hyperlink{structeo_1_1base_a2b62b34f9cd26c3f4d4189fccd328aa8}{event\+\_\+freeze\+\_\+count\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em return freeze events of object. \end{DoxyCompactList}\item 
bool \hyperlink{structeo_1_1base_a39ceae4a2f47f69590b244708eb764a8}{finalized\+\_\+get} () const 
\item 
\hypertarget{structeo_1_1base_ac94535c66143d2e87ae16c5fd1c48330}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structeo_1_1base_ac94535c66143d2e87ae16c5fd1c48330}{callback\+\_\+callback\+\_\+add\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structeo_1_1base_ac94535c66143d2e87ae16c5fd1c48330}

\begin{DoxyCompactList}\small\item\em A callback was added. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a7186feb09577bc8fe4f974e5b9cb4c9c}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structeo_1_1base_a7186feb09577bc8fe4f974e5b9cb4c9c}{callback\+\_\+callback\+\_\+add\+\_\+call} (T $\ast$info)\label{structeo_1_1base_a7186feb09577bc8fe4f974e5b9cb4c9c}

\begin{DoxyCompactList}\small\item\em A callback was added. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_ada68f7f25a39f48d9941c07f8bb9a92d}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structeo_1_1base_ada68f7f25a39f48d9941c07f8bb9a92d}{callback\+\_\+callback\+\_\+del\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structeo_1_1base_ada68f7f25a39f48d9941c07f8bb9a92d}

\begin{DoxyCompactList}\small\item\em A callback was deleted. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a748076a8c1eb1b3601b077630846b9c6}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structeo_1_1base_a748076a8c1eb1b3601b077630846b9c6}{callback\+\_\+callback\+\_\+del\+\_\+call} (T $\ast$info)\label{structeo_1_1base_a748076a8c1eb1b3601b077630846b9c6}

\begin{DoxyCompactList}\small\item\em A callback was deleted. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_af240c7a0d054437207112940917b3225}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structeo_1_1base_af240c7a0d054437207112940917b3225}{callback\+\_\+del\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structeo_1_1base_af240c7a0d054437207112940917b3225}

\begin{DoxyCompactList}\small\item\em Obj is being deleted. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a500bc616b4df323e3286441b61548154}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structeo_1_1base_a500bc616b4df323e3286441b61548154}{callback\+\_\+del\+\_\+call} (T $\ast$info)\label{structeo_1_1base_a500bc616b4df323e3286441b61548154}

\begin{DoxyCompactList}\small\item\em Obj is being deleted. \end{DoxyCompactList}\end{DoxyCompactItemize}
{\bf }\par
\begin{DoxyCompactItemize}
\item 
\hyperlink{structeo_1_1base_a04d0ed7d27c56f7253782394f640340c}{base} (\+::\hyperlink{structefl_1_1eo_1_1parent__type}{efl\+::eo\+::parent\+\_\+type} \+\_\+p)
\begin{DoxyCompactList}\small\item\em Constructs a new \hyperlink{structeo_1_1base}{eo\+::base} object. \end{DoxyCompactList}\end{DoxyCompactItemize}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{structeo_1_1base_ae4f158c247b61ebd02efa73f2785a692}{event\+\_\+global\+\_\+freeze} ()
\begin{DoxyCompactList}\small\item\em freeze events of object. \end{DoxyCompactList}\item 
static void \hyperlink{structeo_1_1base_ada56c34bc4dc65b6702ae6d162c6d9be}{event\+\_\+global\+\_\+thaw} ()
\begin{DoxyCompactList}\small\item\em thaw events of object. \end{DoxyCompactList}\item 
\hypertarget{structeo_1_1base_a6936713f88afa8cc9f09fddd68ab38b1}{}static \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$ {\bfseries \+\_\+eo\+\_\+class} ()\label{structeo_1_1base_a6936713f88afa8cc9f09fddd68ab38b1}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Class base. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{structeo_1_1base_a04d0ed7d27c56f7253782394f640340c}{}\index{eo\+::base@{eo\+::base}!base@{base}}
\index{base@{base}!eo\+::base@{eo\+::base}}
\subsubsection[{base}]{\setlength{\rightskip}{0pt plus 5cm}eo\+::base\+::base (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::parent\+\_\+type}}]{\+\_\+p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structeo_1_1base_a04d0ed7d27c56f7253782394f640340c}


Constructs a new \hyperlink{structeo_1_1base}{eo\+::base} object. 

Constructs a new \hyperlink{structeo_1_1base}{eo\+::base} object. If you want this object to be a child of another Eo object, use an efl\+::eo\+::parent expression, like the example.

Example\+: 
\begin{DoxyCode}
\hyperlink{structeo_1_1base}{eo::base} my\_base(\hyperlink{group__Efl__Cxx__API_ga9a67daec890c873d3df9cf33b2ddd187}{efl::eo::parent} = parent\_object);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\hyperlink{structeo_1_1base_aa2b14494ad8f39b2163680ffafa04748}{base(\+Eo$\ast$ eo)} 
\end{DoxySeeAlso}
\hypertarget{structeo_1_1base_aa2b14494ad8f39b2163680ffafa04748}{}\index{eo\+::base@{eo\+::base}!base@{base}}
\index{base@{base}!eo\+::base@{eo\+::base}}
\subsubsection[{base}]{\setlength{\rightskip}{0pt plus 5cm}eo\+::base\+::base (
\begin{DoxyParamCaption}
\item[{{\bf Eo} $\ast$}]{eo}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structeo_1_1base_aa2b14494ad8f39b2163680ffafa04748}


Eo Constructor. 

Constructs the object from an Eo$\ast$ pointer stealing its ownership.


\begin{DoxyParams}{Parameters}
{\em eo} & The Eo object pointer. \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a8312fdaa5e86d8702cb9a868279e1276}{}\index{eo\+::base@{eo\+::base}!base@{base}}
\index{base@{base}!eo\+::base@{eo\+::base}}
\subsubsection[{base}]{\setlength{\rightskip}{0pt plus 5cm}eo\+::base\+::base (
\begin{DoxyParamCaption}
\item[{std\+::nullptr\+\_\+t}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}\label{structeo_1_1base_a8312fdaa5e86d8702cb9a868279e1276}


nullptr\+\_\+t Constructor. 

Constructs an empty (null) object. 

\subsection{Member Function Documentation}
\hypertarget{structeo_1_1base_abba8a44e71ab61ae3b968cc24dcd97ac}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+forwarder\+\_\+del@{event\+\_\+callback\+\_\+forwarder\+\_\+del}}
\index{event\+\_\+callback\+\_\+forwarder\+\_\+del@{event\+\_\+callback\+\_\+forwarder\+\_\+del}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+forwarder\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+forwarder\+\_\+del (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Event\+\_\+\+Description $\ast$}]{desc\+\_\+, }
\item[{\+::{\bf efl\+::eo\+::concrete}}]{new\+\_\+obj\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_abba8a44e71ab61ae3b968cc24dcd97ac}


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


\begin{DoxyParams}{Parameters}
{\em desc} & The description of the event to listen to \\
\hline
{\em new\+\_\+obj} & The object to emit events from \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a6f8d73412a89ec8ccf2797d88454dd6f}{}\index{eo\+::base@{eo\+::base}!event\+\_\+thaw@{event\+\_\+thaw}}
\index{event\+\_\+thaw@{event\+\_\+thaw}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+thaw}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+thaw (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a6f8d73412a89ec8ccf2797d88454dd6f}


thaw events of object. 

Lets event callbacks be called for the object. \hypertarget{structeo_1_1base_a61730955b42e9f88f9829032bfcb1938}{}\index{eo\+::base@{eo\+::base}!event\+\_\+freeze@{event\+\_\+freeze}}
\index{event\+\_\+freeze@{event\+\_\+freeze}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+freeze}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+freeze (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a61730955b42e9f88f9829032bfcb1938}


freeze events of object. 

Prevents event callbacks from being called for the object. \hypertarget{structeo_1_1base_ae4f158c247b61ebd02efa73f2785a692}{}\index{eo\+::base@{eo\+::base}!event\+\_\+global\+\_\+freeze@{event\+\_\+global\+\_\+freeze}}
\index{event\+\_\+global\+\_\+freeze@{event\+\_\+global\+\_\+freeze}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+global\+\_\+freeze}]{\setlength{\rightskip}{0pt plus 5cm}static void eo\+::base\+::event\+\_\+global\+\_\+freeze (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{structeo_1_1base_ae4f158c247b61ebd02efa73f2785a692}


freeze events of object. 

Prevents event callbacks from being called for the object. \hypertarget{structeo_1_1base_a64111487177140862cb7aa03e3c1a2df}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+array\+\_\+del@{event\+\_\+callback\+\_\+array\+\_\+del}}
\index{event\+\_\+callback\+\_\+array\+\_\+del@{event\+\_\+callback\+\_\+array\+\_\+del}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+array\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+array\+\_\+del (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$}]{array\+\_\+, }
\item[{const void $\ast$}]{user\+\_\+data\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a64111487177140862cb7aa03e3c1a2df}


Del a callback array with a specific data associated to it for an event. 


\begin{DoxyParams}{Parameters}
{\em array} & an \#\+Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item of events to listen to \\
\hline
{\em user\+\_\+data} & The data to compare \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_aa0f66b2282c68cca9c135df0026fc7d4}{}\index{eo\+::base@{eo\+::base}!wref\+\_\+del@{wref\+\_\+del}}
\index{wref\+\_\+del@{wref\+\_\+del}!eo\+::base@{eo\+::base}}
\subsubsection[{wref\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::wref\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Eo} $\ast$$\ast$}]{wref\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_aa0f66b2282c68cca9c135df0026fc7d4}


Delete the weak reference passed. 


\begin{DoxyParams}{Parameters}
{\em wref} & \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a83da1269dd7ba3e626d58b1cbaad0aad}{}\index{eo\+::base@{eo\+::base}!destructor@{destructor}}
\index{destructor@{destructor}!eo\+::base@{eo\+::base}}
\subsubsection[{destructor}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::destructor (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a83da1269dd7ba3e626d58b1cbaad0aad}


Call the object\textquotesingle{}s destructor. 

Should not be used with \#eo\+\_\+do. Only use it with \#eo\+\_\+do\+\_\+super. \hypertarget{structeo_1_1base_a6eac110e58a7f0ac07b9a703c9d8dd66}{}\index{eo\+::base@{eo\+::base}!finalize@{finalize}}
\index{finalize@{finalize}!eo\+::base@{eo\+::base}}
\subsubsection[{finalize}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf efl\+::eo\+::concrete} eo\+::base\+::finalize (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a6eac110e58a7f0ac07b9a703c9d8dd66}


Called at the end of \#eo\+\_\+add. 

Should not be called, just overridden.

\begin{DoxyReturn}{Returns}
The new object created, can be N\+U\+L\+L if the finalize func decided to abort (though it should free the created object on it\textquotesingle{}s own). 
\end{DoxyReturn}
\hypertarget{structeo_1_1base_a4b054bc887f32dd43ec6adb6c4e9843a}{}\index{eo\+::base@{eo\+::base}!key\+\_\+data\+\_\+set@{key\+\_\+data\+\_\+set}}
\index{key\+\_\+data\+\_\+set@{key\+\_\+data\+\_\+set}!eo\+::base@{eo\+::base}}
\subsubsection[{key\+\_\+data\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::key\+\_\+data\+\_\+set (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{key\+\_\+, }
\item[{const void $\ast$}]{data\+\_\+, }
\item[{eo\+\_\+key\+\_\+data\+\_\+free\+\_\+func}]{free\+\_\+func\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a4b054bc887f32dd43ec6adb6c4e9843a}


Set generic data to object. 


\begin{DoxyParams}{Parameters}
{\em key} & the key associated with the data \\
\hline
{\em data} & the data to set \\
\hline
{\em free\+\_\+func} & the func to free data with (N\+U\+L\+L means \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_aa07e72dcc8ab2cc6ebcbc4a3e80b51c3}{}\index{eo\+::base@{eo\+::base}!key\+\_\+data\+\_\+get@{key\+\_\+data\+\_\+get}}
\index{key\+\_\+data\+\_\+get@{key\+\_\+data\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{key\+\_\+data\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ eo\+::base\+::key\+\_\+data\+\_\+get (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{key\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_aa07e72dcc8ab2cc6ebcbc4a3e80b51c3}


Get generic data from object. 


\begin{DoxyParams}{Parameters}
{\em key} & the key associated with the data \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_aea9ef17bef79f8e9db01dd278cf3315a}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+del@{event\+\_\+callback\+\_\+del}}
\index{event\+\_\+callback\+\_\+del@{event\+\_\+callback\+\_\+del}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+del (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Event\+\_\+\+Description $\ast$}]{desc\+\_\+, }
\item[{Eo\+\_\+\+Event\+\_\+\+Cb}]{func\+\_\+, }
\item[{const void $\ast$}]{user\+\_\+data\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_aea9ef17bef79f8e9db01dd278cf3315a}


Del a callback with a specific data associated to it for an event. 


\begin{DoxyParams}{Parameters}
{\em desc} & The description of the event to listen to \\
\hline
{\em func} & the callback to delete \\
\hline
{\em user\+\_\+data} & The data to compare \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_ada56c34bc4dc65b6702ae6d162c6d9be}{}\index{eo\+::base@{eo\+::base}!event\+\_\+global\+\_\+thaw@{event\+\_\+global\+\_\+thaw}}
\index{event\+\_\+global\+\_\+thaw@{event\+\_\+global\+\_\+thaw}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+global\+\_\+thaw}]{\setlength{\rightskip}{0pt plus 5cm}static void eo\+::base\+::event\+\_\+global\+\_\+thaw (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{structeo_1_1base_ada56c34bc4dc65b6702ae6d162c6d9be}


thaw events of object. 

Lets event callbacks be called for the object. \hypertarget{structeo_1_1base_a11dfd8c9d60118202fed268d5fa5e987}{}\index{eo\+::base@{eo\+::base}!key\+\_\+data\+\_\+del@{key\+\_\+data\+\_\+del}}
\index{key\+\_\+data\+\_\+del@{key\+\_\+data\+\_\+del}!eo\+::base@{eo\+::base}}
\subsubsection[{key\+\_\+data\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::key\+\_\+data\+\_\+del (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{key\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a11dfd8c9d60118202fed268d5fa5e987}


Del generic data from object. 


\begin{DoxyParams}{Parameters}
{\em key} & the key associated with the data \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a78e9aace437cafea2ae9f2bcb7b27239}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add@{event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add}}
\index{event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add@{event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+array\+\_\+priority\+\_\+add (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$}]{array\+\_\+, }
\item[{{\bf Eo\+\_\+\+Callback\+\_\+\+Priority}}]{priority\+\_\+, }
\item[{const void $\ast$}]{data\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a78e9aace437cafea2ae9f2bcb7b27239}


Add a callback array for an event with a specific priority. 

callbacks of the same priority are called in reverse order of creation.


\begin{DoxyParams}{Parameters}
{\em array} & an \#\+Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item of events to listen to \\
\hline
{\em priority} & The priority of the callback \\
\hline
{\em data} & additional data to pass to the callback \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a2e61ee8b6f83e2d781795397f2640c0f}{}\index{eo\+::base@{eo\+::base}!wref\+\_\+add@{wref\+\_\+add}}
\index{wref\+\_\+add@{wref\+\_\+add}!eo\+::base@{eo\+::base}}
\subsubsection[{wref\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::wref\+\_\+add (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::concrete} $\ast$}]{wref\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a2e61ee8b6f83e2d781795397f2640c0f}


Add a new weak reference to obj. 

This function registers the object handle pointed by wref to obj so when obj is deleted it\textquotesingle{}ll be updated to N\+U\+L\+L. This functions should be used when you want to keep track of an object in a safe way, but you don\textquotesingle{}t want to prevent it from being freed.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em wref} & \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a91ef79aeaa911844c44412fb93ded0b2}{}\index{eo\+::base@{eo\+::base}!dbg\+\_\+info\+\_\+get@{dbg\+\_\+info\+\_\+get}}
\index{dbg\+\_\+info\+\_\+get@{dbg\+\_\+info\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{dbg\+\_\+info\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::dbg\+\_\+info\+\_\+get (
\begin{DoxyParamCaption}
\item[{Eo\+\_\+\+Dbg\+\_\+\+Info $\ast$}]{root\+\_\+node\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a91ef79aeaa911844c44412fb93ded0b2}


Get dbg information from the object. 


\begin{DoxyParams}{Parameters}
{\em root\+\_\+node} & node of the tree \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a6ac0d41f73da330f5b7f3b9981b73a27}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+forwarder\+\_\+add@{event\+\_\+callback\+\_\+forwarder\+\_\+add}}
\index{event\+\_\+callback\+\_\+forwarder\+\_\+add@{event\+\_\+callback\+\_\+forwarder\+\_\+add}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+forwarder\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+forwarder\+\_\+add (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Event\+\_\+\+Description $\ast$}]{desc\+\_\+, }
\item[{\+::{\bf efl\+::eo\+::concrete}}]{new\+\_\+obj\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a6ac0d41f73da330f5b7f3b9981b73a27}


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


\begin{DoxyParams}{Parameters}
{\em desc} & The description of the event to listen to \\
\hline
{\em new\+\_\+obj} & The object to emit events from \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a7b11a8120b9a7c17a23693fc7a5b3d10}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+call@{event\+\_\+callback\+\_\+call}}
\index{event\+\_\+callback\+\_\+call@{event\+\_\+callback\+\_\+call}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+call}]{\setlength{\rightskip}{0pt plus 5cm}bool eo\+::base\+::event\+\_\+callback\+\_\+call (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Event\+\_\+\+Description $\ast$}]{desc\+\_\+, }
\item[{void $\ast$}]{event\+\_\+info\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a7b11a8120b9a7c17a23693fc7a5b3d10}


Call the callbacks for an event of an object. 


\begin{DoxyParams}{Parameters}
{\em desc} & The description of the event to call \\
\hline
{\em event\+\_\+info} & Extra event info to pass to the callbacks \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a3b43fcf6648bee22dcf7cf2d67024839}{}\index{eo\+::base@{eo\+::base}!event\+\_\+callback\+\_\+priority\+\_\+add@{event\+\_\+callback\+\_\+priority\+\_\+add}}
\index{event\+\_\+callback\+\_\+priority\+\_\+add@{event\+\_\+callback\+\_\+priority\+\_\+add}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+callback\+\_\+priority\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::event\+\_\+callback\+\_\+priority\+\_\+add (
\begin{DoxyParamCaption}
\item[{const Eo\+\_\+\+Event\+\_\+\+Description $\ast$}]{desc\+\_\+, }
\item[{{\bf Eo\+\_\+\+Callback\+\_\+\+Priority}}]{priority\+\_\+, }
\item[{Eo\+\_\+\+Event\+\_\+\+Cb}]{cb\+\_\+, }
\item[{const void $\ast$}]{data\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a3b43fcf6648bee22dcf7cf2d67024839}


Add a callback for an event with a specific priority. 

callbacks of the same priority are called in reverse order of creation.


\begin{DoxyParams}{Parameters}
{\em desc} & The description of the event to listen to \\
\hline
{\em priority} & The priority of the callback \\
\hline
{\em cb} & the callback to call \\
\hline
{\em data} & additional data to pass to the callback \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a79f32a36259b2751b8fc0ca15b58ca80}{}\index{eo\+::base@{eo\+::base}!composite\+\_\+attach@{composite\+\_\+attach}}
\index{composite\+\_\+attach@{composite\+\_\+attach}!eo\+::base@{eo\+::base}}
\subsubsection[{composite\+\_\+attach}]{\setlength{\rightskip}{0pt plus 5cm}bool eo\+::base\+::composite\+\_\+attach (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::concrete}}]{comp\+\_\+obj\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a79f32a36259b2751b8fc0ca15b58ca80}

\begin{DoxyParams}{Parameters}
{\em comp\+\_\+obj} & the object that will be used to composite the parent.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if successfull. E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise. 
\end{DoxyReturn}
\hypertarget{structeo_1_1base_a679ed241cb44c3a5ee8c86ca0da50311}{}\index{eo\+::base@{eo\+::base}!composite\+\_\+detach@{composite\+\_\+detach}}
\index{composite\+\_\+detach@{composite\+\_\+detach}!eo\+::base@{eo\+::base}}
\subsubsection[{composite\+\_\+detach}]{\setlength{\rightskip}{0pt plus 5cm}bool eo\+::base\+::composite\+\_\+detach (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::concrete}}]{comp\+\_\+obj\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a679ed241cb44c3a5ee8c86ca0da50311}

\begin{DoxyParams}{Parameters}
{\em comp\+\_\+obj} & the object that will be removed from the parent.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if successfull. E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise. 
\end{DoxyReturn}
\hypertarget{structeo_1_1base_a3a1aed355dd8ba19820efcb4102e20bf}{}\index{eo\+::base@{eo\+::base}!composite\+\_\+part\+\_\+is@{composite\+\_\+part\+\_\+is}}
\index{composite\+\_\+part\+\_\+is@{composite\+\_\+part\+\_\+is}!eo\+::base@{eo\+::base}}
\subsubsection[{composite\+\_\+part\+\_\+is}]{\setlength{\rightskip}{0pt plus 5cm}bool eo\+::base\+::composite\+\_\+part\+\_\+is (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a3a1aed355dd8ba19820efcb4102e20bf}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if it is. E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise. 
\end{DoxyReturn}
\hypertarget{structeo_1_1base_a4c6ef8e01f67991a89f17e423f0e8085}{}\index{eo\+::base@{eo\+::base}!parent\+\_\+get@{parent\+\_\+get}}
\index{parent\+\_\+get@{parent\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{parent\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf efl\+::eo\+::concrete} eo\+::base\+::parent\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a4c6ef8e01f67991a89f17e423f0e8085}


Get the parent of an object. 


\begin{DoxyParams}{Parameters}
{\em parent} & the new parent \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a019ac114e6dd74af44686692ca4915f4}{}\index{eo\+::base@{eo\+::base}!parent\+\_\+set@{parent\+\_\+set}}
\index{parent\+\_\+set@{parent\+\_\+set}!eo\+::base@{eo\+::base}}
\subsubsection[{parent\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eo\+::base\+::parent\+\_\+set (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::concrete}}]{parent\+\_\+}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a019ac114e6dd74af44686692ca4915f4}


Set the parent of an object Parents keep references to their children so in order to delete objects that have parents you need to set parent to N\+U\+L\+L or use eo\+\_\+del() that does that for you (and also unrefs the object). 


\begin{DoxyParams}{Parameters}
{\em parent} & the new parent \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a64b23430d5889b528614ec37485a3735}{}\index{eo\+::base@{eo\+::base}!event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get@{event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get}}
\index{event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get@{event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}int eo\+::base\+::event\+\_\+global\+\_\+freeze\+\_\+count\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a64b23430d5889b528614ec37485a3735}


return freeze events of object. 

Return event freeze count.


\begin{DoxyParams}{Parameters}
{\em fcount} & The event freeze count of the object \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a2b62b34f9cd26c3f4d4189fccd328aa8}{}\index{eo\+::base@{eo\+::base}!event\+\_\+freeze\+\_\+count\+\_\+get@{event\+\_\+freeze\+\_\+count\+\_\+get}}
\index{event\+\_\+freeze\+\_\+count\+\_\+get@{event\+\_\+freeze\+\_\+count\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{event\+\_\+freeze\+\_\+count\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}int eo\+::base\+::event\+\_\+freeze\+\_\+count\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a2b62b34f9cd26c3f4d4189fccd328aa8}


return freeze events of object. 

Return event freeze count.


\begin{DoxyParams}{Parameters}
{\em fcount} & The event freeze count of the object \\
\hline
\end{DoxyParams}
\hypertarget{structeo_1_1base_a39ceae4a2f47f69590b244708eb764a8}{}\index{eo\+::base@{eo\+::base}!finalized\+\_\+get@{finalized\+\_\+get}}
\index{finalized\+\_\+get@{finalized\+\_\+get}!eo\+::base@{eo\+::base}}
\subsubsection[{finalized\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}bool eo\+::base\+::finalized\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structeo_1_1base_a39ceae4a2f47f69590b244708eb764a8}

\begin{DoxyParams}{Parameters}
{\em finalized} & \\
\hline
\end{DoxyParams}
