\hypertarget{group__Eo}{}\section{Eo}
\label{group__Eo}\index{Eo@{Eo}}


Generic object system.  


\subsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eo__Debug__Information}{Eo\textquotesingle{}s Debug information helper.}
\item 
\hyperlink{group__Eo__Events}{Eo\textquotesingle{}s Event Handling}
\item 
\hyperlink{group__Eo__Class}{Eo Class}
\item 
\hyperlink{group__Eo__Class__Class}{Eo\textquotesingle{}s Class class.}
\item 
\hyperlink{group__Eo__Class__Base}{Eo\textquotesingle{}s Base class.}
\end{DoxyCompactItemize}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eo__Op__Call__Data}{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Call\+\_\+\+Data}
\item 
struct \hyperlink{struct__Eo__Call__Cache__Index}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Index}
\item 
struct \hyperlink{struct__Eo__Call__Cache__Entry}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Entry}
\item 
struct \hyperlink{struct__Eo__Call__Cache__Off}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Off}
\item 
struct \hyperlink{struct__Eo__Call__Cache}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache}
\item 
struct \hyperlink{struct__Eo__Event}{\+\_\+\+Eo\+\_\+\+Event}
\begin{DoxyCompactList}\small\item\em Parameter passed in event callbacks holding extra event parameters. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Eo__Callback__Array__Item}{\+\_\+\+Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}
\begin{DoxyCompactList}\small\item\em An item in an array of callback desc/func. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Eo__Dbg__Info}{\+\_\+\+Eo\+\_\+\+Dbg\+\_\+\+Info}
\begin{DoxyCompactList}\small\item\em The structure for the debug info used by Eo. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eo_ga77366a414f854855190c8c3a297f10ba}{}\label{group__Eo_ga77366a414f854855190c8c3a297f10ba} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+T\+Y\+PE}
\item 
\hypertarget{group__Eo_gaf971c08ee1a4ee1f0a79776336625e6b}{}\label{group__Eo_gaf971c08ee1a4ee1f0a79776336625e6b} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+B\+A\+S\+E\+\_\+\+E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+T\+Y\+PE}
\item 
\hypertarget{group__Eo_ga2bf694c3a95bfdc8e23b7ca6b86e82e6}{}\label{group__Eo_ga2bf694c3a95bfdc8e23b7ca6b86e82e6} 
\#define {\bfseries E\+O\+\_\+\+C\+L\+A\+SS}~E\+O\+\_\+\+B\+A\+S\+E\+\_\+\+C\+L\+A\+SS
\item 
\hypertarget{group__Eo_gaa4ce018445e532ec89612472a8655a91}{}\label{group__Eo_gaa4ce018445e532ec89612472a8655a91} 
\#define \hyperlink{group__Eo_gaa4ce018445e532ec89612472a8655a91}{E\+O\+\_\+\+N\+O\+OP}~((\hyperlink{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a}{Eo\+\_\+\+Op}) 0)
\begin{DoxyCompactList}\small\item\em A special \hyperlink{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a}{Eo\+\_\+\+Op} meaning \char`\"{}\+No operation\char`\"{}. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_gade0d3295e76c3aa012e37c21f14b769a}{}\label{group__Eo_gade0d3295e76c3aa012e37c21f14b769a} 
\#define {\bfseries E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+N\+O\+O\+PS}()~\{ N\+U\+LL, 0\}
\item 
\hypertarget{group__Eo_ga44c44325f49e70e82a60f620a0207b86}{}\label{group__Eo_ga44c44325f49e70e82a60f620a0207b86} 
\#define {\bfseries E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+I\+O\+N\+\_\+\+O\+PS}(op\+\_\+descs)~\{ op\+\_\+descs, \hyperlink{group__Eina__Types__Group_ga7c1b6f81660b4e30516169e9e7d3261c}{E\+I\+N\+A\+\_\+\+C\+\_\+\+A\+R\+R\+A\+Y\+\_\+\+L\+E\+N\+G\+TH}(op\+\_\+descs) \}
\item 
\hypertarget{group__Eo_ga4680f012a6251da010db36fa01b30678}{}\label{group__Eo_ga4680f012a6251da010db36fa01b30678} 
\#define {\bfseries E\+O\+\_\+\+C\+A\+L\+L\+\_\+\+C\+A\+C\+H\+E\+\_\+\+S\+I\+ZE}~1
\item 
\hypertarget{group__Eo_ga013d50405d128f25d6bf815c9a969b79}{}\label{group__Eo_ga013d50405d128f25d6bf815c9a969b79} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+A\+LL}(...)~\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+
\item 
\hypertarget{group__Eo_ga02ac3914f88dc2428b3d5f9dc6deb079}{}\label{group__Eo_ga02ac3914f88dc2428b3d5f9dc6deb079} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+O\+P\+\_\+\+F\+U\+NC}(Name)~((const void $\ast$) Name)
\item 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP}(Obj,  Name,  Def\+Ret)
\item 
\hypertarget{group__Eo_ga57472039b0da1cf073d71dab1ceaba85}{}\label{group__Eo_ga57472039b0da1cf073d71dab1ceaba85} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+A\+P\+I\+\_\+\+B\+E\+F\+O\+R\+E\+\_\+\+H\+O\+OK}
\item 
\hypertarget{group__Eo_ga3ff082775f479ef604f22faa16808ee7}{}\label{group__Eo_ga3ff082775f479ef604f22faa16808ee7} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+A\+P\+I\+\_\+\+A\+F\+T\+E\+R\+\_\+\+H\+O\+OK}
\item 
\hypertarget{group__Eo_gab7cc63ee91fe9d12d0fa6ee2c73c6393}{}\label{group__Eo_gab7cc63ee91fe9d12d0fa6ee2c73c6393} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+A\+P\+I\+\_\+\+C\+A\+L\+L\+\_\+\+H\+O\+OK}(x)~x
\item 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}(Name,  Obj\+Type,  Ret,  Def\+Ret)
\item 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}(Name,  Obj\+Type)
\item 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}(Name,  Obj\+Type,  Ret,  Def\+Ret,  Arguments, ...)
\item 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}(Name,  Obj\+Type,  Arguments, ...)
\item 
\hypertarget{group__Eo_ga567b38d37bb14fa93e544531ea9726ea}{}\label{group__Eo_ga567b38d37bb14fa93e544531ea9726ea} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}(Name,  Ret,  Def\+Ret)~\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(Name, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, Ret, Def\+Ret)
\item 
\hypertarget{group__Eo_gac1214b5430084987396165a274919fee}{}\label{group__Eo_gac1214b5430084987396165a274919fee} 
\#define {\bfseries E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}(Name)~\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(Name, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$)
\item 
\hypertarget{group__Eo_ga01fb529db759396c86c9aa1fb71d5c68}{}\label{group__Eo_ga01fb529db759396c86c9aa1fb71d5c68} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}(Name,  Ret,  Def\+Ret,  Arguments, ...)~\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(Name, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, Ret, Def\+Ret, E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+A\+LL(Arguments), \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\item 
\hypertarget{group__Eo_ga8f538747358cdc39c118079c1aa75862}{}\label{group__Eo_ga8f538747358cdc39c118079c1aa75862} 
\#define {\bfseries E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}(Name,  Arguments, ...)~\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(Name, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+A\+LL(Arguments), \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\item 
\hypertarget{group__Eo_gad0664643fea11ca7a0f8147434319f11}{}\label{group__Eo_gad0664643fea11ca7a0f8147434319f11} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+N\+ST}(Name,  Ret,  Def\+Ret)~\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(Name, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, Ret, Def\+Ret)
\item 
\hypertarget{group__Eo_gad266631facd248ca6729c3fcd0b7aa03}{}\label{group__Eo_gad266631facd248ca6729c3fcd0b7aa03} 
\#define {\bfseries E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+Y\+\_\+\+C\+O\+N\+ST}(Name)~\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(Name, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$)
\item 
\hypertarget{group__Eo_ga376af205404c2030e6923492294c0f0d}{}\label{group__Eo_ga376af205404c2030e6923492294c0f0d} 
\#define {\bfseries E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+Y\+V\+\_\+\+C\+O\+N\+ST}(Name,  Ret,  Def\+Ret,  Arguments, ...)~\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(Name, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, Ret, Def\+Ret, E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+A\+LL(Arguments), \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\item 
\hypertarget{group__Eo_gac13acae9fe9b99f3a42c6d49275153cf}{}\label{group__Eo_gac13acae9fe9b99f3a42c6d49275153cf} 
\#define {\bfseries E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+Y\+V\+\_\+\+C\+O\+N\+ST}(Name,  Arguments, ...)~\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(Name, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$, E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+A\+LL(Arguments), \+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\item 
\hypertarget{group__Eo_ga95aa005b42e2efb162b2807577fa30bb}{}\label{group__Eo_ga95aa005b42e2efb162b2807577fa30bb} 
\#define {\bfseries \+\_\+\+E\+O\+\_\+\+O\+P\+\_\+\+A\+P\+I\+\_\+\+E\+N\+T\+RY}(a)~(void$\ast$)a
\item 
\hypertarget{group__Eo_ga0a2deefc6a55babed76a79d0fc047797}{}\label{group__Eo_ga0a2deefc6a55babed76a79d0fc047797} 
\#define {\bfseries E\+O\+\_\+\+O\+P\+\_\+\+F\+U\+NC}(\+\_\+api,  \+\_\+private)~\{ \+\_\+\+E\+O\+\_\+\+O\+P\+\_\+\+A\+P\+I\+\_\+\+E\+N\+T\+RY(\+\_\+api), (void$\ast$)\+\_\+private, \hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ac4e797545871cc62ab5285181f81ca30}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR} \}
\item 
\hypertarget{group__Eo_ga03bf90351e8a17d371607d5f20010f5a}{}\label{group__Eo_ga03bf90351e8a17d371607d5f20010f5a} 
\#define {\bfseries E\+O\+\_\+\+O\+P\+\_\+\+C\+L\+A\+S\+S\+\_\+\+F\+U\+NC}(\+\_\+api,  \+\_\+private)~\{ \+\_\+\+E\+O\+\_\+\+O\+P\+\_\+\+A\+P\+I\+\_\+\+E\+N\+T\+RY(\+\_\+api), (void$\ast$)\+\_\+private, \hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a0cf29bf4e1e4a4af016cae21e22a6119}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS} \}
\item 
\hypertarget{group__Eo_gacebb31d8970354ac9520fcd11bc92f45}{}\label{group__Eo_gacebb31d8970354ac9520fcd11bc92f45} 
\#define {\bfseries E\+O\+\_\+\+O\+P\+\_\+\+F\+U\+N\+C\+\_\+\+O\+V\+E\+R\+R\+I\+DE}(\+\_\+api,  \+\_\+private)~\{ \+\_\+\+E\+O\+\_\+\+O\+P\+\_\+\+A\+P\+I\+\_\+\+E\+N\+T\+RY(\+\_\+api), (void$\ast$)\+\_\+private, \hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a59dbdfbffa9c3f19233a3a9c40d99ae3}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE} \}
\item 
\hypertarget{group__Eo_gac7b257395413c78af14555c3025478d1}{}\label{group__Eo_gac7b257395413c78af14555c3025478d1} 
\#define {\bfseries E\+O\+\_\+\+O\+P\+\_\+\+C\+L\+A\+S\+S\+\_\+\+F\+U\+N\+C\+\_\+\+O\+V\+E\+R\+R\+I\+DE}(\+\_\+api,  \+\_\+private)~\{ \+\_\+\+E\+O\+\_\+\+O\+P\+\_\+\+A\+P\+I\+\_\+\+E\+N\+T\+RY(\+\_\+api), (void$\ast$)\+\_\+private, \hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ab7758e017580b94cfe84e586aa9930ea}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE} \}
\item 
\hypertarget{group__Eo_gacbe479ac93a982d0a4537fe93c5f6b7c}{}\label{group__Eo_gacbe479ac93a982d0a4537fe93c5f6b7c} 
\#define {\bfseries eo\+\_\+self}~\+\_\+eo\+\_\+self\+\_\+get()
\item 
\#define {\bfseries \+\_\+eo\+\_\+add\+\_\+common}(klass,  parent,  is\+\_\+ref, ...)
\item 
\#define \hyperlink{group__Eo_ga5a832ab70d280281cca80fc6d4f29741}{eo\+\_\+add}(klass,  parent, ...)~\+\_\+eo\+\_\+add\+\_\+common(klass, parent, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\begin{DoxyCompactList}\small\item\em Create a new object and call its constructor(\+If it exits). \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga93605d246a13f5dfdd68b4fcbd898538}{eo\+\_\+add\+\_\+ref}(klass,  parent, ...)~\+\_\+eo\+\_\+add\+\_\+common(klass, parent, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)
\begin{DoxyCompactList}\small\item\em Create a new object and call its constructor(\+If it exists). \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga1e85aff00c69f0ec5b835b409c557f3e}{eo\+\_\+data\+\_\+xref}(obj,  klass,  ref\+\_\+obj)~\hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, klass, ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Use this macro if you want to associate a referencer object. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga89005ecf791b0e4d7b516b0537e7dbbb}{eo\+\_\+data\+\_\+ref}(obj,  klass)~\hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, klass, (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$)obj)
\begin{DoxyCompactList}\small\item\em Use this macro if you don\textquotesingle{}t want to associate a referencer object. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga71648d4468c17c3e789e0ae7beca1e29}{eo\+\_\+data\+\_\+xunref}(obj,  data,  ref\+\_\+obj)~\hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal}(obj, data, ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Use this function if you used eo\+\_\+data\+\_\+xref to reference the data. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga18c6aca226abd9f6b4e35cc165ccb1cc}{eo\+\_\+data\+\_\+unref}(obj,  data)~\hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal}(obj, data, obj)
\begin{DoxyCompactList}\small\item\em Use this function if you used eo\+\_\+data\+\_\+ref to reference the data. \end{DoxyCompactList}\item 
\#define \hyperlink{group__Eo_ga67fca40382aa902b28dd3eb5a9a70ea5}{eo\+\_\+xref}(obj,  ref\+\_\+obj)~\hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Convenience macro around \hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal()} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eo_gae92542aa4e1cf1e19a5e1930510dfeac}{}\label{group__Eo_gae92542aa4e1cf1e19a5e1930510dfeac} 
typedef struct \+\_\+\+Eo\+\_\+\+Object {\bfseries \+\_\+\+Eo\+\_\+\+Object}
\item 
\hypertarget{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{}\label{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c} 
typedef struct \+\_\+\+Eo\+\_\+\+Opaque \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}
\begin{DoxyCompactList}\small\item\em The basic Object type. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_ga88d29df76a2921aa5478803156d83be5}{}\label{group__Eo_ga88d29df76a2921aa5478803156d83be5} 
typedef \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class}
\begin{DoxyCompactList}\small\item\em The basic class type -\/ should be removed, just for compat. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_ga69dab58d2a06967da2e2ce102c455cbe}{}\label{group__Eo_ga69dab58d2a06967da2e2ce102c455cbe} 
typedef \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} {\bfseries Eo\+\_\+\+Base}
\item 
\hypertarget{group__Eo_ga8448c305a64d7888d20bd8458e947593}{}\label{group__Eo_ga8448c305a64d7888d20bd8458e947593} 
typedef enum \hyperlink{group__Eo_ga472ce3b4fd12355db81217d7594d6b56}{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type} {\bfseries Eo\+\_\+\+Op\+\_\+\+Type}
\item 
typedef void($\ast$ \hyperlink{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{Eo\+\_\+\+Del\+\_\+\+Intercept}) (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj\+\_\+id)
\begin{DoxyCompactList}\small\item\em A function to be called on object deletion/destruction instead of normal destruction taking place. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a}{}\label{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a} 
typedef unsigned int \hyperlink{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a}{Eo\+\_\+\+Op}
\begin{DoxyCompactList}\small\item\em The Eo operation type id. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_ga69694b43346c61d28fc242d704dee7d3}{}\label{group__Eo_ga69694b43346c61d28fc242d704dee7d3} 
typedef struct \hyperlink{struct__Eo__Op__Call__Data}{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Call\+\_\+\+Data} {\bfseries Eo\+\_\+\+Op\+\_\+\+Call\+\_\+\+Data}
\item 
\hypertarget{group__Eo_ga8ad7310d9e885cd13f9dc1cfc9f81513}{}\label{group__Eo_ga8ad7310d9e885cd13f9dc1cfc9f81513} 
typedef struct \hyperlink{struct__Eo__Call__Cache__Index}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Index} {\bfseries Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Index}
\item 
\hypertarget{group__Eo_ga8dbc5d5ea9aa8695f02c5c1a21b718d3}{}\label{group__Eo_ga8dbc5d5ea9aa8695f02c5c1a21b718d3} 
typedef struct \hyperlink{struct__Eo__Call__Cache__Entry}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Entry} {\bfseries Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Entry}
\item 
\hypertarget{group__Eo_ga1aef1724a258807c164fc121372536dd}{}\label{group__Eo_ga1aef1724a258807c164fc121372536dd} 
typedef struct \hyperlink{struct__Eo__Call__Cache__Off}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Off} {\bfseries Eo\+\_\+\+Call\+\_\+\+Cache\+\_\+\+Off}
\item 
\hypertarget{group__Eo_gaab2eb1aaf218ea62d4fc1c0e4b06daa0}{}\label{group__Eo_gaab2eb1aaf218ea62d4fc1c0e4b06daa0} 
typedef struct \hyperlink{struct__Eo__Call__Cache}{\+\_\+\+Eo\+\_\+\+Call\+\_\+\+Cache} {\bfseries Eo\+\_\+\+Call\+\_\+\+Cache}
\item 
\hypertarget{group__Eo_ga84086312b7575eb5136f4c2ef16df043}{}\label{group__Eo_ga84086312b7575eb5136f4c2ef16df043} 
typedef struct \hyperlink{struct__Eo__Event}{\+\_\+\+Eo\+\_\+\+Event} \hyperlink{group__Eo_ga84086312b7575eb5136f4c2ef16df043}{Eo\+\_\+\+Event}
\begin{DoxyCompactList}\small\item\em Parameter passed in event callbacks holding extra event parameters. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{group__Eo_gad670648d5fda11a332b52e28d5bc6ffc}{Eo\+\_\+\+Event\+\_\+\+Cb}) (void $\ast$data, const \hyperlink{group__Eo_ga84086312b7575eb5136f4c2ef16df043}{Eo\+\_\+\+Event} $\ast$event)
\begin{DoxyCompactList}\small\item\em An event callback prototype. \end{DoxyCompactList}\item 
typedef struct \hyperlink{struct__Eo__Callback__Array__Item}{\+\_\+\+Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item} \hyperlink{group__Eo_ga9c6f106377afb7cdba1fe8d17f71a5f7}{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}
\begin{DoxyCompactList}\small\item\em An item in an array of callback desc/func. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_gaeb3b77f7c0931738570665c5a4843fc5}{}\label{group__Eo_gaeb3b77f7c0931738570665c5a4843fc5} 
typedef struct \hyperlink{struct__Eo__Dbg__Info}{\+\_\+\+Eo\+\_\+\+Dbg\+\_\+\+Info} \hyperlink{group__Eo_gaeb3b77f7c0931738570665c5a4843fc5}{Eo\+\_\+\+Dbg\+\_\+\+Info}
\begin{DoxyCompactList}\small\item\em The structure for the debug info used by Eo. \end{DoxyCompactList}\item 
typedef short \hyperlink{group__Eo_gac7db0831a9f86713a4bd623fd3e0a46e}{Eo\+\_\+\+Callback\+\_\+\+Priority}
\begin{DoxyCompactList}\small\item\em Callback priority value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__Eo_ga472ce3b4fd12355db81217d7594d6b56}{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type} \{ \newline
\hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a4d697ec91df7a0500ab176a48f01a3d8}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID} = -\/1, 
\newline
\hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ac4e797545871cc62ab5285181f81ca30}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR} = 0, 
\newline
\hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a0cf29bf4e1e4a4af016cae21e22a6119}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS}, 
\newline
\hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a59dbdfbffa9c3f19233a3a9c40d99ae3}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE}, 
\newline
\hyperlink{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ab7758e017580b94cfe84e586aa9930ea}{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eo_ga530a3dba7b46b40c20aeaeaab5bc322e}{eo\+\_\+init} (void)
\begin{DoxyCompactList}\small\item\em Init the eo subsystem. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eo_ga46ddce2ed4814e951e824a7b213729dc}{eo\+\_\+shutdown} (void)
\begin{DoxyCompactList}\small\item\em Shutdown the eo subsystem. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_gae91357edafba7c5a0c67c04726588f5e}{}\label{group__Eo_gae91357edafba7c5a0c67c04726588f5e} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga1a06287b1c079b0bf84e6427eefd637a}{Eo\+\_\+\+Op} {\bfseries \+\_\+eo\+\_\+api\+\_\+op\+\_\+id\+\_\+get} (const void $\ast$api\+\_\+func)
\item 
\hypertarget{group__Eo_ga44e4f69ee3f870fc271fb94aa9b9cefe}{}\label{group__Eo_ga44e4f69ee3f870fc271fb94aa9b9cefe} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries \+\_\+eo\+\_\+call\+\_\+resolve} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const char $\ast$func\+\_\+name, \hyperlink{struct__Eo__Op__Call__Data}{Eo\+\_\+\+Op\+\_\+\+Call\+\_\+\+Data} $\ast$call, \hyperlink{struct__Eo__Call__Cache}{Eo\+\_\+\+Call\+\_\+\+Cache} $\ast$callcache, const char $\ast$file, int line)
\item 
\hypertarget{group__Eo_ga809e1ef2c4664183c5b54c16bcb02232}{}\label{group__Eo_ga809e1ef2c4664183c5b54c16bcb02232} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void {\bfseries \+\_\+eo\+\_\+call\+\_\+end} (\hyperlink{struct__Eo__Op__Call__Data}{Eo\+\_\+\+Op\+\_\+\+Call\+\_\+\+Data} $\ast$call)
\item 
\hypertarget{group__Eo_ga64644ce4e78d3b3462f7554960ef1b8e}{}\label{group__Eo_ga64644ce4e78d3b3462f7554960ef1b8e} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ {\bfseries \+\_\+eo\+\_\+add\+\_\+end} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} is\+\_\+ref, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} is\+\_\+fallback)
\item 
\hypertarget{group__Eo_ga134ec9036c4c2994f6b4fb2b1b736d56}{}\label{group__Eo_ga134ec9036c4c2994f6b4fb2b1b736d56} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ {\bfseries eo\+\_\+super} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$cur\+\_\+klass)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$ \hyperlink{group__Eo_ga477fd56134445a5be7a70ca49dfec4a4}{eo\+\_\+class\+\_\+get} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Gets the class of the object. \end{DoxyCompactList}\item 
\hypertarget{group__Eo_gacacf763ea852ed3a36283cd5c33e7692}{}\label{group__Eo_gacacf763ea852ed3a36283cd5c33e7692} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ {\bfseries \+\_\+eo\+\_\+self\+\_\+get} (void)
\item 
\hypertarget{group__Eo_ga64d03ffddbbb29d13bf976eddf56050b}{}\label{group__Eo_ga64d03ffddbbb29d13bf976eddf56050b} 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ {\bfseries \+\_\+eo\+\_\+add\+\_\+internal\+\_\+start} (const char $\ast$file, int line, const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$klass\+\_\+id, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$parent, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ref, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} is\+\_\+fallback)
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void $\ast$ \hyperlink{group__Eo_gab58151bff38dca3ce1f01568004e61cf}{eo\+\_\+data\+\_\+scope\+\_\+get} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$klass)
\begin{DoxyCompactList}\small\item\em Get a pointer to the data of an object for a specific class. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void $\ast$ \hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal} (const char $\ast$file, int line, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$klass, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Get a pointer to the data of an object for a specific class and increment the data reference count. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, void $\ast$data, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Decrement the object data reference count by 1. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ \hyperlink{group__Eo_gaf04e78757d6913f8d437515d0baf5c6d}{eo\+\_\+ref} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Increment the object\textquotesingle{}s reference count by 1. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Decrement the object\textquotesingle{}s reference count by 1 and free it if needed. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int \hyperlink{group__Eo_gad5568684512a49ac83ae9af52d79d539}{eo\+\_\+ref\+\_\+get} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Return the ref count of the object passed. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eo_ga61f942d8d9e6d8b08235e643d64cde90}{eo\+\_\+del\+\_\+intercept\+\_\+set} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, \hyperlink{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{Eo\+\_\+\+Del\+\_\+\+Intercept} del\+\_\+intercept\+\_\+func)
\begin{DoxyCompactList}\small\item\em Set a deletion interceptor function. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{Eo\+\_\+\+Del\+\_\+\+Intercept} \hyperlink{group__Eo_ga8d39664e9bc2c5be5abe3173563ebda6}{eo\+\_\+del\+\_\+intercept\+\_\+get} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the deletion interceptor function. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ \hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal} (const char $\ast$file, int line, \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Increment the object\textquotesingle{}s reference count by 1 (and associate the ref with ref\+\_\+obj) \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eo_ga554c4ed26d69bd5fbd2f6c6871e83d63}{eo\+\_\+xunref} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$ref\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Decrement the object\textquotesingle{}s reference count by 1 and free it if needed. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void \hyperlink{group__Eo_ga898921f03bd535612c442ffcfa084cf1}{eo\+\_\+manual\+\_\+free\+\_\+set} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} manual\+\_\+free)
\begin{DoxyCompactList}\small\item\em Enable or disable the manual free feature. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eo_gad885d4fb6f7f6fa7644f2f8d0d06158a}{eo\+\_\+manual\+\_\+free} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Frees the object. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eo_gad815a5f04d144d04dfecfd2dad9f431c}{eo\+\_\+destructed\+\_\+is} (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Checks if the object was already descructed (only relevant for manual\+\_\+free objects). \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} Eina\+\_\+\+Spinlock \hyperlink{group__Eo_gaf20d0fd14d4342416d3591c211a9e81f}{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}
\begin{DoxyCompactList}\small\item\em This variable is used for locking purposes in the class\+\_\+get function defined in \hyperlink{group__Eo__Class_gacd443a75109f3e7092fae1b4d4bfee38}{E\+O\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+C\+L\+A\+SS}. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} unsigned int \hyperlink{group__Eo_ga676cf86088cccbd7f7de084fcb4e1dc5}{\+\_\+eo\+\_\+init\+\_\+generation}
\begin{DoxyCompactList}\small\item\em This variable stores the current eo init generation. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} Eina\+\_\+\+Spinlock \hyperlink{group__Eo_ga44b5710f56e35a78cbaf94bb5cd1a870}{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}
\begin{DoxyCompactList}\small\item\em This variable is used for locking purposes in the class\+\_\+get function defined in \hyperlink{group__Eo__Class_gacd443a75109f3e7092fae1b4d4bfee38}{E\+O\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+C\+L\+A\+SS}. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} unsigned int \hyperlink{group__Eo_ga0d3f564a41f9e0b30525998d8c0a2515}{\+\_\+eo\+\_\+init\+\_\+generation} = 1
\begin{DoxyCompactList}\small\item\em This variable stores the current eo init generation. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Generic object system. 



\subsection{Macro Definition Documentation}
\hypertarget{group__Eo_gacb90aeca21645e0610fc03635eddc817}{}\label{group__Eo_gacb90aeca21645e0610fc03635eddc817} 
\index{Eo@{Eo}!E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP@{E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP}}
\index{E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP@{E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP}!Eo@{Eo}}
\subsubsection{\texorpdfstring{E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP}{EO\_FUNC\_COMMON\_OP}}
{\footnotesize\ttfamily \#define E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+C\+O\+M\+M\+O\+N\+\_\+\+OP(\begin{DoxyParamCaption}\item[{}]{Obj,  }\item[{}]{Name,  }\item[{}]{Def\+Ret }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keyword}{static} \hyperlink{struct__Eo__Call__Cache}{Eo\_Call\_Cache} \_\_\_cache; \textcolor{comment}{/* static 0 by default */}           \(\backslash\)
     Eo\_Op\_Call\_Data \_\_\_call;                                           \(\backslash\)
     if (\hyperlink{group__Eina__Types__Group_ga70675a75a5fb3e9a51d5af985a1fd3aa}{EINA\_UNLIKELY}((\_\_\_cache.op == \hyperlink{group__Eo_gaa4ce018445e532ec89612472a8655a91}{EO\_NOOP}) ||                      \(\backslash\)
                       (\_\_\_cache.generation != \hyperlink{group__Eo_ga676cf86088cccbd7f7de084fcb4e1dc5}{\_eo\_init\_generation})))   \(\backslash\)
       \{                                                                \(\backslash\)
          \_\_\_cache.op = \_eo\_api\_op\_id\_get(EO\_FUNC\_COMMON\_OP\_FUNC(Name)); \(\backslash\)
          if (\_\_\_cache.op == \hyperlink{group__Eo_gaa4ce018445e532ec89612472a8655a91}{EO\_NOOP}) return DefRet;                    \(\backslash\)
          \_\_\_cache.generation = \hyperlink{group__Eo_ga676cf86088cccbd7f7de084fcb4e1dc5}{\_eo\_init\_generation};                    \(\backslash\)
       \}                                                                \(\backslash\)
     if (!\_eo\_call\_resolve((\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} *) Obj, \textcolor{preprocessor}{#Name, &\_\_\_call, &\_\_\_cache,                  \(\backslash\)}
\textcolor{preprocessor}{                           \_\_FILE\_\_, \_\_LINE\_\_)) return DefRet;          \(\backslash\)}
\textcolor{preprocessor}{     \_Eo\_##Name##\_func \_func\_ = (\_Eo\_##Name##\_func) \_\_\_call.func;       \(\backslash\)}
\end{DoxyCode}
\hypertarget{group__Eo_gac0195adae74a80d87311190e2d42bd22}{}\label{group__Eo_gac0195adae74a80d87311190e2d42bd22} 
\index{Eo@{Eo}!\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY@{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}}
\index{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY@{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}{\_EO\_FUNC\_BODY}}
{\footnotesize\ttfamily \#define \+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{Obj\+Type,  }\item[{}]{Ret,  }\item[{}]{Def\+Ret }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
Ret                                                                   \(\backslash\)
  Name(ObjType obj)                                                            \(\backslash\)
  \{                                                                     \(\backslash\)
     typedef Ret (*\_Eo\_##Name##\_func)(\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} *, \textcolor{keywordtype}{void} *obj\_data);            \(\backslash\)
     Ret \_r;                                                            \(\backslash\)
     EO\_FUNC\_COMMON\_OP(obj, Name, DefRet);                                   \(\backslash\)
     \_EO\_API\_BEFORE\_HOOK                                                       \(\backslash\)
     \_r = \_EO\_API\_CALL\_HOOK(\_func\_(\_\_\_call.eo\_id, \_\_\_call.data));     \(\backslash\)
     \_eo\_call\_end(&\_\_\_call); \(\backslash\)
     \_EO\_API\_AFTER\_HOOK                                                       \(\backslash\)
     return \_r;                                                         \(\backslash\)
  \}
\end{DoxyCode}
\hypertarget{group__Eo_gaab3dd7da70ec6094c7632f500f38c9fb}{}\label{group__Eo_gaab3dd7da70ec6094c7632f500f38c9fb} 
\index{Eo@{Eo}!\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY@{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}}
\index{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY@{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY}{\_EO\_VOID\_FUNC\_BODY}}
{\footnotesize\ttfamily \#define \+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+DY(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{Obj\+Type }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
void                                                                    \(\backslash\)
  Name(ObjType obj)                                                            \(\backslash\)
  \{                                                                     \(\backslash\)
     typedef void (*\_Eo\_##Name##\_func)(\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} *, \textcolor{keywordtype}{void} *obj\_data);           \(\backslash\)
     EO\_FUNC\_COMMON\_OP(obj, Name, );                                         \(\backslash\)
     \_EO\_API\_BEFORE\_HOOK                                                       \(\backslash\)
     \_EO\_API\_CALL\_HOOK(\_func\_(\_\_\_call.eo\_id, \_\_\_call.data));          \(\backslash\)
     \_eo\_call\_end(&\_\_\_call);                                            \(\backslash\)
     \_EO\_API\_AFTER\_HOOK                                                       \(\backslash\)
  \}
\end{DoxyCode}
\hypertarget{group__Eo_ga86f96dc1a83b6aa8668088f7d99e8744}{}\label{group__Eo_ga86f96dc1a83b6aa8668088f7d99e8744} 
\index{Eo@{Eo}!\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV@{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}}
\index{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV@{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}{\_EO\_FUNC\_BODYV}}
{\footnotesize\ttfamily \#define \+\_\+\+E\+O\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{Obj\+Type,  }\item[{}]{Ret,  }\item[{}]{Def\+Ret,  }\item[{}]{Arguments,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
Ret                                                                   \(\backslash\)
  Name(ObjType obj, \_\_VA\_ARGS\_\_)                                                     \(\backslash\)
  \{                                                                     \(\backslash\)
     typedef Ret (*\_Eo\_##Name##\_func)(\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} *, \textcolor{keywordtype}{void} *obj\_data, \_\_VA\_ARGS\_\_); \(\backslash\)
     Ret \_r;                                                            \(\backslash\)
     EO\_FUNC\_COMMON\_OP(obj, Name, DefRet);                                   \(\backslash\)
     \_EO\_API\_BEFORE\_HOOK                                                       \(\backslash\)
     \_r = \_EO\_API\_CALL\_HOOK(\_func\_(\_\_\_call.eo\_id, \_\_\_call.data, Arguments)); \(\backslash\)
     \_eo\_call\_end(&\_\_\_call); \(\backslash\)
     \_EO\_API\_AFTER\_HOOK                                                        \(\backslash\)
     return \_r;                                                         \(\backslash\)
  \}
\end{DoxyCode}
\hypertarget{group__Eo_ga5a9a9d189b044190bb982975119519ef}{}\label{group__Eo_ga5a9a9d189b044190bb982975119519ef} 
\index{Eo@{Eo}!\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV@{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}}
\index{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV@{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV}{\_EO\_VOID\_FUNC\_BODYV}}
{\footnotesize\ttfamily \#define \+\_\+\+E\+O\+\_\+\+V\+O\+I\+D\+\_\+\+F\+U\+N\+C\+\_\+\+B\+O\+D\+YV(\begin{DoxyParamCaption}\item[{}]{Name,  }\item[{}]{Obj\+Type,  }\item[{}]{Arguments,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
void                                                                  \(\backslash\)
  Name(ObjType obj, \_\_VA\_ARGS\_\_)                                                     \(\backslash\)
  \{                                                                     \(\backslash\)
     typedef void (*\_Eo\_##Name##\_func)(\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} *, \textcolor{keywordtype}{void} *obj\_data, \_\_VA\_ARGS\_\_); \(\backslash\)
     EO\_FUNC\_COMMON\_OP(obj, Name, );                                         \(\backslash\)
     \_EO\_API\_BEFORE\_HOOK                                                       \(\backslash\)
     \_EO\_API\_CALL\_HOOK(\_func\_(\_\_\_call.eo\_id, \_\_\_call.data, Arguments)); \(\backslash\)
     \_eo\_call\_end(&\_\_\_call); \(\backslash\)
     \_EO\_API\_AFTER\_HOOK                                                        \(\backslash\)
  \}
\end{DoxyCode}
\hypertarget{group__Eo_ga0f2f5c3431264a01ee4145019b3456e9}{}\label{group__Eo_ga0f2f5c3431264a01ee4145019b3456e9} 
\index{Eo@{Eo}!\+\_\+eo\+\_\+add\+\_\+common@{\+\_\+eo\+\_\+add\+\_\+common}}
\index{\+\_\+eo\+\_\+add\+\_\+common@{\+\_\+eo\+\_\+add\+\_\+common}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+eo\+\_\+add\+\_\+common}{\_eo\_add\_common}}
{\footnotesize\ttfamily \#define \+\_\+eo\+\_\+add\+\_\+common(\begin{DoxyParamCaption}\item[{}]{klass,  }\item[{}]{parent,  }\item[{}]{is\+\_\+ref,  }\item[{}]{... }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
( \(\backslash\)
     \_eo\_add\_internal\_start(\_\_FILE\_\_, \_\_LINE\_\_, klass, parent, is\_ref, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}), \(\backslash\)
\textcolor{preprocessor}{     ##\_\_VA\_ARGS\_\_, \(\backslash\)}
\textcolor{preprocessor}{     (Eo *) \_eo\_add\_end(eo\_self, is\_ref, EINA\_TRUE) \(\backslash\)}
\textcolor{preprocessor}{   )}
\end{DoxyCode}
\hypertarget{group__Eo_ga5a832ab70d280281cca80fc6d4f29741}{}\label{group__Eo_ga5a832ab70d280281cca80fc6d4f29741} 
\index{Eo@{Eo}!eo\+\_\+add@{eo\+\_\+add}}
\index{eo\+\_\+add@{eo\+\_\+add}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+add}{eo\_add}}
{\footnotesize\ttfamily \#define eo\+\_\+add(\begin{DoxyParamCaption}\item[{}]{klass,  }\item[{}]{parent,  }\item[{}]{... }\end{DoxyParamCaption})~\+\_\+eo\+\_\+add\+\_\+common(klass, parent, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}



Create a new object and call its constructor(\+If it exits). 

The object returned by this function will always have 1 ref (reference count) irrespective of whether the parent is N\+U\+LL or not. If the object is created using this function, then it would automatically gets deleted when the parent object is deleted. There is no need to call eo\+\_\+unref on the child. This is convenient in C.

If you want a more \char`\"{}consistent\char`\"{} behaviour, take a look at \hyperlink{group__Eo_ga93605d246a13f5dfdd68b4fcbd898538}{eo\+\_\+add\+\_\+ref}.


\begin{DoxyParams}{Parameters}
{\em klass} & the class of the object to create. \\
\hline
{\em parent} & the parent to set to the object. \\
\hline
{\em ...} & The ops to run. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An handle to the new object on success, N\+U\+LL otherwise. 
\end{DoxyReturn}


Referenced by ecore\+\_\+con\+\_\+eet\+\_\+client\+\_\+new(), ecore\+\_\+con\+\_\+eet\+\_\+server\+\_\+new(), ecore\+\_\+con\+\_\+server\+\_\+add(), ecore\+\_\+con\+\_\+server\+\_\+connect(), ecore\+\_\+con\+\_\+url\+\_\+new(), ecore\+\_\+exe\+\_\+pipe\+\_\+run(), ecore\+\_\+init(), ecore\+\_\+main\+\_\+fd\+\_\+handler\+\_\+active\+\_\+set(), ecore\+\_\+poller\+\_\+add(), ecore\+\_\+timer\+\_\+add(), ecore\+\_\+timer\+\_\+loop\+\_\+add(), edje\+\_\+3d\+\_\+object\+\_\+add(), edje\+\_\+audio\+\_\+channel\+\_\+mute\+\_\+get(), edje\+\_\+edit\+\_\+object\+\_\+add(), eio\+\_\+init(), elm\+\_\+fileselector\+\_\+entry\+\_\+path\+\_\+get(), elm\+\_\+fileselector\+\_\+path\+\_\+set(), elm\+\_\+fileselector\+\_\+selected\+\_\+set(), elm\+\_\+layout\+\_\+table\+\_\+clear(), elm\+\_\+web\+\_\+add(), elm\+\_\+win\+\_\+add(), elm\+\_\+win\+\_\+fake\+\_\+add(), emotion\+\_\+object\+\_\+add(), evas\+\_\+device\+\_\+add(), evas\+\_\+new(), evas\+\_\+object\+\_\+box\+\_\+add(), evas\+\_\+object\+\_\+grid\+\_\+add(), evas\+\_\+object\+\_\+polygon\+\_\+add(), evas\+\_\+object\+\_\+rectangle\+\_\+add(), evas\+\_\+object\+\_\+smart\+\_\+add(), evas\+\_\+object\+\_\+table\+\_\+add(), evas\+\_\+object\+\_\+text\+\_\+add(), evas\+\_\+object\+\_\+textblock\+\_\+add(), and evas\+\_\+object\+\_\+textgrid\+\_\+add().

\hypertarget{group__Eo_ga93605d246a13f5dfdd68b4fcbd898538}{}\label{group__Eo_ga93605d246a13f5dfdd68b4fcbd898538} 
\index{Eo@{Eo}!eo\+\_\+add\+\_\+ref@{eo\+\_\+add\+\_\+ref}}
\index{eo\+\_\+add\+\_\+ref@{eo\+\_\+add\+\_\+ref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+add\+\_\+ref}{eo\_add\_ref}}
{\footnotesize\ttfamily \#define eo\+\_\+add\+\_\+ref(\begin{DoxyParamCaption}\item[{}]{klass,  }\item[{}]{parent,  }\item[{}]{... }\end{DoxyParamCaption})~\+\_\+eo\+\_\+add\+\_\+common(klass, parent, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}, \#\#\+\_\+\+\_\+\+V\+A\+\_\+\+A\+R\+G\+S\+\_\+\+\_\+)}



Create a new object and call its constructor(\+If it exists). 

The object returned by this function has 1 ref for itself, 1 ref from the parent (if exists) and possible other refs if were added during construction. If a child object is created using this, then it won\textquotesingle{}t get deleted when the parent object is deleted until you manually remove the ref by calling \hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref()}.


\begin{DoxyParams}{Parameters}
{\em klass} & the class of the object to create. \\
\hline
{\em parent} & the parent to set to the object. \\
\hline
{\em ...} & The ops to run. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An handle to the new object on success, N\+U\+LL otherwise. 
\end{DoxyReturn}
\hypertarget{group__Eo_ga1e85aff00c69f0ec5b835b409c557f3e}{}\label{group__Eo_ga1e85aff00c69f0ec5b835b409c557f3e} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+xref@{eo\+\_\+data\+\_\+xref}}
\index{eo\+\_\+data\+\_\+xref@{eo\+\_\+data\+\_\+xref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+xref}{eo\_data\_xref}}
{\footnotesize\ttfamily \#define eo\+\_\+data\+\_\+xref(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{klass,  }\item[{}]{ref\+\_\+obj }\end{DoxyParamCaption})~\hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, klass, ref\+\_\+obj)}



Use this macro if you want to associate a referencer object. 

Convenience macro around \hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal()} 

Referenced by elm\+\_\+layout\+\_\+table\+\_\+clear().

\hypertarget{group__Eo_ga89005ecf791b0e4d7b516b0537e7dbbb}{}\label{group__Eo_ga89005ecf791b0e4d7b516b0537e7dbbb} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+ref@{eo\+\_\+data\+\_\+ref}}
\index{eo\+\_\+data\+\_\+ref@{eo\+\_\+data\+\_\+ref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+ref}{eo\_data\_ref}}
{\footnotesize\ttfamily \#define eo\+\_\+data\+\_\+ref(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{klass }\end{DoxyParamCaption})~\hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, klass, (const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$)obj)}



Use this macro if you don\textquotesingle{}t want to associate a referencer object. 

Convenience macro around \hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal()} 

Referenced by edje\+\_\+edit\+\_\+object\+\_\+add(), evas\+\_\+gl\+\_\+new(), evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+description\+\_\+find(), evas\+\_\+object\+\_\+smart\+\_\+data\+\_\+set(), and evas\+\_\+object\+\_\+smart\+\_\+member\+\_\+add().

\hypertarget{group__Eo_ga71648d4468c17c3e789e0ae7beca1e29}{}\label{group__Eo_ga71648d4468c17c3e789e0ae7beca1e29} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+xunref@{eo\+\_\+data\+\_\+xunref}}
\index{eo\+\_\+data\+\_\+xunref@{eo\+\_\+data\+\_\+xunref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+xunref}{eo\_data\_xunref}}
{\footnotesize\ttfamily \#define eo\+\_\+data\+\_\+xunref(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{data,  }\item[{}]{ref\+\_\+obj }\end{DoxyParamCaption})~\hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal}(obj, data, ref\+\_\+obj)}



Use this function if you used eo\+\_\+data\+\_\+xref to reference the data. 

Convenience macro around \hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal()} \begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga1e85aff00c69f0ec5b835b409c557f3e}{eo\+\_\+data\+\_\+xref()} 
\end{DoxySeeAlso}
\hypertarget{group__Eo_ga18c6aca226abd9f6b4e35cc165ccb1cc}{}\label{group__Eo_ga18c6aca226abd9f6b4e35cc165ccb1cc} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+unref@{eo\+\_\+data\+\_\+unref}}
\index{eo\+\_\+data\+\_\+unref@{eo\+\_\+data\+\_\+unref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+unref}{eo\_data\_unref}}
{\footnotesize\ttfamily \#define eo\+\_\+data\+\_\+unref(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{data }\end{DoxyParamCaption})~\hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal}(obj, data, obj)}



Use this function if you used eo\+\_\+data\+\_\+ref to reference the data. 

Convenience macro around eo\+\_\+data\+\_\+unref\+\_\+internal() \begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga89005ecf791b0e4d7b516b0537e7dbbb}{eo\+\_\+data\+\_\+ref()} 
\end{DoxySeeAlso}


Referenced by evas\+\_\+gl\+\_\+free(), evas\+\_\+gl\+\_\+new(), evas\+\_\+object\+\_\+smart\+\_\+data\+\_\+set(), and evas\+\_\+object\+\_\+smart\+\_\+member\+\_\+del().

\hypertarget{group__Eo_ga67fca40382aa902b28dd3eb5a9a70ea5}{}\label{group__Eo_ga67fca40382aa902b28dd3eb5a9a70ea5} 
\index{Eo@{Eo}!eo\+\_\+xref@{eo\+\_\+xref}}
\index{eo\+\_\+xref@{eo\+\_\+xref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+xref}{eo\_xref}}
{\footnotesize\ttfamily \#define eo\+\_\+xref(\begin{DoxyParamCaption}\item[{}]{obj,  }\item[{}]{ref\+\_\+obj }\end{DoxyParamCaption})~\hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal}(\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, \+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, obj, ref\+\_\+obj)}



Convenience macro around \hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal()} 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga67fca40382aa902b28dd3eb5a9a70ea5}{eo\+\_\+xref()} 
\end{DoxySeeAlso}


\subsection{Typedef Documentation}
\hypertarget{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{}\label{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3} 
\index{Eo@{Eo}!Eo\+\_\+\+Del\+\_\+\+Intercept@{Eo\+\_\+\+Del\+\_\+\+Intercept}}
\index{Eo\+\_\+\+Del\+\_\+\+Intercept@{Eo\+\_\+\+Del\+\_\+\+Intercept}!Eo@{Eo}}
\subsubsection{\texorpdfstring{Eo\+\_\+\+Del\+\_\+\+Intercept}{Eo\_Del\_Intercept}}
{\footnotesize\ttfamily Eo\+\_\+\+Del\+\_\+\+Intercept}



A function to be called on object deletion/destruction instead of normal destruction taking place. 


\begin{DoxyParams}{Parameters}
{\em obj\+\_\+id} & The object needing destruction \\
\hline
\end{DoxyParams}
\hypertarget{group__Eo_gad670648d5fda11a332b52e28d5bc6ffc}{}\label{group__Eo_gad670648d5fda11a332b52e28d5bc6ffc} 
\index{Eo@{Eo}!Eo\+\_\+\+Event\+\_\+\+Cb@{Eo\+\_\+\+Event\+\_\+\+Cb}}
\index{Eo\+\_\+\+Event\+\_\+\+Cb@{Eo\+\_\+\+Event\+\_\+\+Cb}!Eo@{Eo}}
\subsubsection{\texorpdfstring{Eo\+\_\+\+Event\+\_\+\+Cb}{Eo\_Event\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Eo\+\_\+\+Event\+\_\+\+Cb) (void $\ast$data, const \hyperlink{group__Eo_ga84086312b7575eb5136f4c2ef16df043}{Eo\+\_\+\+Event} $\ast$event)}



An event callback prototype. 

return {\ttfamily E\+O\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+S\+T\+OP} to stop calling additional callbacks for the event, {\ttfamily E\+O\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+C\+O\+N\+T\+I\+N\+UE} to continue. \hypertarget{group__Eo_ga9c6f106377afb7cdba1fe8d17f71a5f7}{}\label{group__Eo_ga9c6f106377afb7cdba1fe8d17f71a5f7} 
\index{Eo@{Eo}!Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item@{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}}
\index{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item@{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}!Eo@{Eo}}
\subsubsection{\texorpdfstring{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}{Eo\_Callback\_Array\_Item}}
{\footnotesize\ttfamily typedef struct \hyperlink{struct__Eo__Callback__Array__Item}{\+\_\+\+Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}  \hyperlink{group__Eo_ga9c6f106377afb7cdba1fe8d17f71a5f7}{Eo\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item}}



An item in an array of callback desc/func. 

See also \hyperlink{group__Eo__Events_gaadbce94bea31aa8934ed7be15ddd7378}{eo\+\_\+event\+\_\+callback\+\_\+array\+\_\+add}. \hypertarget{group__Eo_gac7db0831a9f86713a4bd623fd3e0a46e}{}\label{group__Eo_gac7db0831a9f86713a4bd623fd3e0a46e} 
\index{Eo@{Eo}!Eo\+\_\+\+Callback\+\_\+\+Priority@{Eo\+\_\+\+Callback\+\_\+\+Priority}}
\index{Eo\+\_\+\+Callback\+\_\+\+Priority@{Eo\+\_\+\+Callback\+\_\+\+Priority}!Eo@{Eo}}
\subsubsection{\texorpdfstring{Eo\+\_\+\+Callback\+\_\+\+Priority}{Eo\_Callback\_Priority}}
{\footnotesize\ttfamily typedef short \hyperlink{group__Eo_gac7db0831a9f86713a4bd623fd3e0a46e}{Eo\+\_\+\+Callback\+\_\+\+Priority}}



Callback priority value. 

Range is -\/32k -\/ 32k. The lower the number, the higher the priority.

See \hyperlink{group__Eo__Events_gab2b15bcbd9189ba6dcdaef166eb71f36}{E\+O\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y\+\_\+\+A\+F\+T\+ER}, \hyperlink{group__Eo__Events_ga479914d5806b43aee48cc425f05916d6}{E\+O\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y\+\_\+\+B\+E\+F\+O\+RE} \hyperlink{group__Eo__Events_gaf5206517b6537c67a1d772ff88ce128b}{E\+O\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y\+\_\+\+D\+E\+F\+A\+U\+LT} 

\subsection{Enumeration Type Documentation}
\hypertarget{group__Eo_ga472ce3b4fd12355db81217d7594d6b56}{}\label{group__Eo_ga472ce3b4fd12355db81217d7594d6b56} 
\index{Eo@{Eo}!\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type@{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type}}
\index{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type@{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type}{\_Eo\_Op\_Type}}
{\footnotesize\ttfamily enum \hyperlink{group__Eo_ga472ce3b4fd12355db81217d7594d6b56}{\+\_\+\+Eo\+\_\+\+Op\+\_\+\+Type}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID}!Eo@{Eo}}\index{Eo@{Eo}!E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID}}}\hypertarget{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a4d697ec91df7a0500ab176a48f01a3d8}{}\label{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a4d697ec91df7a0500ab176a48f01a3d8} 
E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+N\+V\+A\+L\+ID&Invalid op. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR}!Eo@{Eo}}\index{Eo@{Eo}!E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR}}}\hypertarget{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ac4e797545871cc62ab5285181f81ca30}{}\label{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ac4e797545871cc62ab5285181f81ca30} 
E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+AR&Regular op. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS}!Eo@{Eo}}\index{Eo@{Eo}!E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS}}}\hypertarget{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a0cf29bf4e1e4a4af016cae21e22a6119}{}\label{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a0cf29bf4e1e4a4af016cae21e22a6119} 
E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+SS&Class op -\/ a class op. Like static in Java/\+C++. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE}!Eo@{Eo}}\index{Eo@{Eo}!E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE}}}\hypertarget{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a59dbdfbffa9c3f19233a3a9c40d99ae3}{}\label{group__Eo_gga472ce3b4fd12355db81217d7594d6b56a59dbdfbffa9c3f19233a3a9c40d99ae3} 
E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+R\+E\+G\+U\+L\+A\+R\+\_\+\+O\+V\+E\+R\+R\+I\+DE&Regular op override (previously defined) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE}!Eo@{Eo}}\index{Eo@{Eo}!E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE@{E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE}}}\hypertarget{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ab7758e017580b94cfe84e586aa9930ea}{}\label{group__Eo_gga472ce3b4fd12355db81217d7594d6b56ab7758e017580b94cfe84e586aa9930ea} 
E\+O\+\_\+\+O\+P\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+L\+A\+S\+S\+\_\+\+O\+V\+E\+R\+R\+I\+DE&Class op override (previously defined) \\
\hline

\end{DoxyEnumFields}


\subsection{Function Documentation}
\hypertarget{group__Eo_ga530a3dba7b46b40c20aeaeaab5bc322e}{}\label{group__Eo_ga530a3dba7b46b40c20aeaeaab5bc322e} 
\index{Eo@{Eo}!eo\+\_\+init@{eo\+\_\+init}}
\index{eo\+\_\+init@{eo\+\_\+init}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+init()}{eo\_init()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} eo\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Init the eo subsystem. 

\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if eo is init, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
eo\+\_\+shutfown() 
\end{DoxySeeAlso}


References \+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+hash\+\_\+pointer\+\_\+new(), eina\+\_\+hash\+\_\+string\+\_\+superfast\+\_\+new(), eina\+\_\+init(), eina\+\_\+log\+\_\+domain\+\_\+register(), E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+E\+RR, eina\+\_\+log\+\_\+timing(), eina\+\_\+magic\+\_\+string\+\_\+static\+\_\+set(), eina\+\_\+spinlock\+\_\+new(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by ecore\+\_\+audio\+\_\+init(), ecore\+\_\+init(), ector\+\_\+init(), and evas\+\_\+init().

\hypertarget{group__Eo_ga46ddce2ed4814e951e824a7b213729dc}{}\label{group__Eo_ga46ddce2ed4814e951e824a7b213729dc} 
\index{Eo@{Eo}!eo\+\_\+shutdown@{eo\+\_\+shutdown}}
\index{eo\+\_\+shutdown@{eo\+\_\+shutdown}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+shutdown()}{eo\_shutdown()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} eo\+\_\+shutdown (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Shutdown the eo subsystem. 

\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if eo is init, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga530a3dba7b46b40c20aeaeaab5bc322e}{eo\+\_\+init()} 
\end{DoxySeeAlso}


References eina\+\_\+log\+\_\+timing(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Eo_ga477fd56134445a5be7a70ca49dfec4a4}{}\label{group__Eo_ga477fd56134445a5be7a70ca49dfec4a4} 
\index{Eo@{Eo}!eo\+\_\+class\+\_\+get@{eo\+\_\+class\+\_\+get}}
\index{eo\+\_\+class\+\_\+get@{eo\+\_\+class\+\_\+get}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+class\+\_\+get()}{eo\_class\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class}$\ast$ eo\+\_\+class\+\_\+get (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Gets the class of the object. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to work on \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The object\textquotesingle{}s class.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo__Class_gaf311ca2f656a401d20b9f90f3947350d}{eo\+\_\+class\+\_\+name\+\_\+get()} 
\end{DoxySeeAlso}


Referenced by elm\+\_\+fileselector\+\_\+entry\+\_\+path\+\_\+get(), elm\+\_\+fileselector\+\_\+path\+\_\+get(), and elm\+\_\+fileselector\+\_\+path\+\_\+set().

\hypertarget{group__Eo_gab58151bff38dca3ce1f01568004e61cf}{}\label{group__Eo_gab58151bff38dca3ce1f01568004e61cf} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+scope\+\_\+get@{eo\+\_\+data\+\_\+scope\+\_\+get}}
\index{eo\+\_\+data\+\_\+scope\+\_\+get@{eo\+\_\+data\+\_\+scope\+\_\+get}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+scope\+\_\+get()}{eo\_data\_scope\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void$\ast$ eo\+\_\+data\+\_\+scope\+\_\+get (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$}]{klass }\end{DoxyParamCaption})}



Get a pointer to the data of an object for a specific class. 

The data reference count is not incremented. The pointer must be used only in the scope of the function and its callees. 
\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em klass} & the klass associated with the data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to the data.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga89005ecf791b0e4d7b516b0537e7dbbb}{eo\+\_\+data\+\_\+ref()} 

\hyperlink{group__Eo_ga18c6aca226abd9f6b4e35cc165ccb1cc}{eo\+\_\+data\+\_\+unref()} 
\end{DoxySeeAlso}


References E\+RR.



Referenced by ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get(), ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set(), ecore\+\_\+con\+\_\+client\+\_\+del(), ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get(), ecore\+\_\+con\+\_\+eet\+\_\+client\+\_\+connect\+\_\+callback\+\_\+add(), ecore\+\_\+con\+\_\+eet\+\_\+client\+\_\+connect\+\_\+callback\+\_\+del(), ecore\+\_\+con\+\_\+eet\+\_\+client\+\_\+disconnect\+\_\+callback\+\_\+add(), ecore\+\_\+con\+\_\+eet\+\_\+client\+\_\+disconnect\+\_\+callback\+\_\+del(), ecore\+\_\+con\+\_\+eet\+\_\+server\+\_\+connect\+\_\+callback\+\_\+add(), ecore\+\_\+con\+\_\+eet\+\_\+server\+\_\+connect\+\_\+callback\+\_\+del(), ecore\+\_\+con\+\_\+eet\+\_\+server\+\_\+disconnect\+\_\+callback\+\_\+add(), ecore\+\_\+con\+\_\+eet\+\_\+server\+\_\+disconnect\+\_\+callback\+\_\+del(), ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get(), ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set(), ecore\+\_\+con\+\_\+server\+\_\+del(), ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get(), ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+additional\+\_\+header\+\_\+add(), ecore\+\_\+con\+\_\+url\+\_\+additional\+\_\+headers\+\_\+clear(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+clear(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+file\+\_\+add(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+ignore\+\_\+old\+\_\+session\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+init(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+jar\+\_\+file\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+jar\+\_\+write(), ecore\+\_\+con\+\_\+url\+\_\+cookies\+\_\+session\+\_\+clear(), ecore\+\_\+con\+\_\+url\+\_\+custom\+\_\+new(), ecore\+\_\+con\+\_\+url\+\_\+data\+\_\+get(), ecore\+\_\+con\+\_\+url\+\_\+data\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+fd\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+ftp\+\_\+upload(), ecore\+\_\+con\+\_\+url\+\_\+ftp\+\_\+use\+\_\+epsv\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+http\+\_\+version\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+httpauth\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+proxy\+\_\+password\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+proxy\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+proxy\+\_\+username\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+received\+\_\+bytes\+\_\+get(), ecore\+\_\+con\+\_\+url\+\_\+response\+\_\+headers\+\_\+get(), ecore\+\_\+con\+\_\+url\+\_\+ssl\+\_\+ca\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+ssl\+\_\+verify\+\_\+peer\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+status\+\_\+code\+\_\+get(), ecore\+\_\+con\+\_\+url\+\_\+time(), ecore\+\_\+con\+\_\+url\+\_\+timeout\+\_\+set(), ecore\+\_\+con\+\_\+url\+\_\+verbose\+\_\+set(), ecore\+\_\+exe\+\_\+auto\+\_\+limits\+\_\+set(), ecore\+\_\+exe\+\_\+callback\+\_\+pre\+\_\+free\+\_\+set(), ecore\+\_\+exe\+\_\+close\+\_\+stdin(), ecore\+\_\+exe\+\_\+data\+\_\+get(), ecore\+\_\+exe\+\_\+data\+\_\+set(), ecore\+\_\+exe\+\_\+event\+\_\+data\+\_\+get(), ecore\+\_\+exe\+\_\+flags\+\_\+get(), ecore\+\_\+exe\+\_\+free(), ecore\+\_\+exe\+\_\+hup(), ecore\+\_\+exe\+\_\+interrupt(), ecore\+\_\+exe\+\_\+kill(), ecore\+\_\+exe\+\_\+pid\+\_\+get(), ecore\+\_\+exe\+\_\+quit(), ecore\+\_\+exe\+\_\+send(), ecore\+\_\+exe\+\_\+signal(), ecore\+\_\+exe\+\_\+tag\+\_\+get(), ecore\+\_\+exe\+\_\+tag\+\_\+set(), ecore\+\_\+exe\+\_\+terminate(), ecore\+\_\+idler\+\_\+del(), ecore\+\_\+poller\+\_\+del(), edje\+\_\+edit\+\_\+sound\+\_\+tones\+\_\+list\+\_\+get(), edje\+\_\+evas\+\_\+global\+\_\+perspective\+\_\+get(), edje\+\_\+perspective\+\_\+global\+\_\+set(), edje\+\_\+perspective\+\_\+set(), elm\+\_\+image\+\_\+animated\+\_\+get(), elm\+\_\+image\+\_\+animated\+\_\+play\+\_\+get(), elm\+\_\+image\+\_\+animated\+\_\+play\+\_\+set(), elm\+\_\+image\+\_\+animated\+\_\+set(), elm\+\_\+layout\+\_\+content\+\_\+swallow\+\_\+list\+\_\+get(), elm\+\_\+layout\+\_\+table\+\_\+clear(), elm\+\_\+win\+\_\+util\+\_\+dialog\+\_\+add(), eo\+\_\+base\+\_\+legacy\+\_\+only\+\_\+event\+\_\+description\+\_\+get(), evas\+\_\+device\+\_\+add(), evas\+\_\+device\+\_\+class\+\_\+set(), evas\+\_\+device\+\_\+description\+\_\+set(), evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+get(), evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+set(), evas\+\_\+device\+\_\+list(), evas\+\_\+device\+\_\+name\+\_\+set(), evas\+\_\+device\+\_\+parent\+\_\+set(), evas\+\_\+device\+\_\+pop(), evas\+\_\+device\+\_\+push(), evas\+\_\+device\+\_\+subclass\+\_\+set(), evas\+\_\+event\+\_\+callback\+\_\+del(), evas\+\_\+event\+\_\+callback\+\_\+del\+\_\+full(), evas\+\_\+event\+\_\+callback\+\_\+priority\+\_\+add(), evas\+\_\+event\+\_\+feed\+\_\+axis\+\_\+update(), evas\+\_\+event\+\_\+feed\+\_\+hold(), evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down(), evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down\+\_\+with\+\_\+keycode(), evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up(), evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up\+\_\+with\+\_\+keycode(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+cancel(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+down(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+in(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+move(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+out(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+up(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+wheel(), evas\+\_\+event\+\_\+input\+\_\+mouse\+\_\+move(), evas\+\_\+event\+\_\+thaw\+\_\+eval(), evas\+\_\+font\+\_\+path\+\_\+global\+\_\+list(), evas\+\_\+map\+\_\+util\+\_\+clockwise\+\_\+get(), evas\+\_\+map\+\_\+util\+\_\+points\+\_\+populate\+\_\+from\+\_\+object(), evas\+\_\+map\+\_\+util\+\_\+points\+\_\+populate\+\_\+from\+\_\+object\+\_\+full(), evas\+\_\+object\+\_\+del(), evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+del(), evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+del\+\_\+full(), evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+priority\+\_\+add(), evas\+\_\+object\+\_\+layer\+\_\+get(), evas\+\_\+object\+\_\+name\+\_\+get(), evas\+\_\+object\+\_\+name\+\_\+set(), evas\+\_\+object\+\_\+ref(), evas\+\_\+object\+\_\+ref\+\_\+get(), evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+del(), evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+del\+\_\+full(), evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+description\+\_\+find(), evas\+\_\+object\+\_\+smart\+\_\+callback\+\_\+priority\+\_\+add(), evas\+\_\+object\+\_\+smart\+\_\+callbacks\+\_\+descriptions\+\_\+get(), evas\+\_\+object\+\_\+smart\+\_\+interface\+\_\+data\+\_\+get(), evas\+\_\+object\+\_\+smart\+\_\+member\+\_\+add(), evas\+\_\+object\+\_\+smart\+\_\+member\+\_\+del(), evas\+\_\+object\+\_\+smart\+\_\+members\+\_\+get(), evas\+\_\+object\+\_\+stack\+\_\+above(), evas\+\_\+object\+\_\+stack\+\_\+below(), evas\+\_\+object\+\_\+textblock\+\_\+add(), evas\+\_\+object\+\_\+textblock\+\_\+line\+\_\+number\+\_\+geometry\+\_\+get(), evas\+\_\+object\+\_\+textblock\+\_\+replace\+\_\+char\+\_\+get(), evas\+\_\+object\+\_\+textblock\+\_\+replace\+\_\+char\+\_\+set(), evas\+\_\+object\+\_\+textblock\+\_\+style\+\_\+get(), evas\+\_\+object\+\_\+textblock\+\_\+style\+\_\+set(), evas\+\_\+object\+\_\+textblock\+\_\+style\+\_\+user\+\_\+peek(), evas\+\_\+object\+\_\+textblock\+\_\+style\+\_\+user\+\_\+pop(), evas\+\_\+object\+\_\+textblock\+\_\+style\+\_\+user\+\_\+push(), evas\+\_\+object\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+get(), evas\+\_\+object\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+prepend(), evas\+\_\+object\+\_\+textblock\+\_\+text\+\_\+markup\+\_\+set(), evas\+\_\+object\+\_\+textblock\+\_\+valign\+\_\+get(), evas\+\_\+object\+\_\+textblock\+\_\+valign\+\_\+set(), evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get(), evas\+\_\+object\+\_\+unref(), evas\+\_\+output\+\_\+framespace\+\_\+get(), evas\+\_\+output\+\_\+framespace\+\_\+set(), evas\+\_\+output\+\_\+method\+\_\+get(), evas\+\_\+output\+\_\+method\+\_\+set(), evas\+\_\+output\+\_\+size\+\_\+get(), evas\+\_\+output\+\_\+size\+\_\+set(), evas\+\_\+output\+\_\+viewport\+\_\+get(), evas\+\_\+output\+\_\+viewport\+\_\+set(), evas\+\_\+post\+\_\+event\+\_\+callback\+\_\+push(), evas\+\_\+post\+\_\+event\+\_\+callback\+\_\+remove(), evas\+\_\+post\+\_\+event\+\_\+callback\+\_\+remove\+\_\+full(), evas\+\_\+render\+\_\+updates\+\_\+free(), evas\+\_\+smart\+\_\+legacy\+\_\+type\+\_\+register(), evas\+\_\+textblock\+\_\+cursor\+\_\+at\+\_\+format\+\_\+set(), evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+coord\+\_\+set(), evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+next(), evas\+\_\+textblock\+\_\+cursor\+\_\+char\+\_\+prev(), evas\+\_\+textblock\+\_\+cursor\+\_\+content\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+copy(), evas\+\_\+textblock\+\_\+cursor\+\_\+eol\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+append(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+is\+\_\+visible\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+item\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+next(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+prepend(), evas\+\_\+textblock\+\_\+cursor\+\_\+format\+\_\+prev(), evas\+\_\+textblock\+\_\+cursor\+\_\+geometry\+\_\+bidi\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+is\+\_\+format(), evas\+\_\+textblock\+\_\+cursor\+\_\+line\+\_\+coord\+\_\+set(), evas\+\_\+textblock\+\_\+cursor\+\_\+line\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+line\+\_\+set(), evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+next(), evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+prev(), evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+text\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+paragraph\+\_\+text\+\_\+length\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+pen\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+delete(), evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+formats\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+simple\+\_\+geometry\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+range\+\_\+text\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+visible\+\_\+range\+\_\+get(), evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+end(), evas\+\_\+textblock\+\_\+cursor\+\_\+word\+\_\+start(), evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+first\+\_\+get(), evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+last\+\_\+get(), evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+list\+\_\+get(), evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+remove\+\_\+pair(), evas\+\_\+textblock\+\_\+node\+\_\+format\+\_\+text\+\_\+get(), evas\+\_\+textblock\+\_\+string\+\_\+escape\+\_\+get(), evas\+\_\+textblock\+\_\+style\+\_\+set(), and evas\+\_\+textblock\+\_\+text\+\_\+utf8\+\_\+to\+\_\+markup().

\hypertarget{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{}\label{group__Eo_ga15f990bde472472ddca13ad5a099f9fc} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+xref\+\_\+internal@{eo\+\_\+data\+\_\+xref\+\_\+internal}}
\index{eo\+\_\+data\+\_\+xref\+\_\+internal@{eo\+\_\+data\+\_\+xref\+\_\+internal}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+xref\+\_\+internal()}{eo\_data\_xref\_internal()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void$\ast$ eo\+\_\+data\+\_\+xref\+\_\+internal (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file,  }\item[{int}]{line,  }\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{const \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} $\ast$}]{klass,  }\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{ref\+\_\+obj }\end{DoxyParamCaption})}



Get a pointer to the data of an object for a specific class and increment the data reference count. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em klass} & the klass associated with the data. \\
\hline
{\em ref\+\_\+obj} & the object that references the data. \\
\hline
{\em file} & the call\textquotesingle{}s filename. \\
\hline
{\em line} & the call\textquotesingle{}s line number. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to the data.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{eo\+\_\+data\+\_\+xunref\+\_\+internal()} 
\end{DoxySeeAlso}


References E\+RR.

\hypertarget{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa}{}\label{group__Eo_ga62cdfb6c91cd5b95f612bac2c1c5fcaa} 
\index{Eo@{Eo}!eo\+\_\+data\+\_\+xunref\+\_\+internal@{eo\+\_\+data\+\_\+xunref\+\_\+internal}}
\index{eo\+\_\+data\+\_\+xunref\+\_\+internal@{eo\+\_\+data\+\_\+xunref\+\_\+internal}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+data\+\_\+xunref\+\_\+internal()}{eo\_data\_xunref\_internal()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void eo\+\_\+data\+\_\+xunref\+\_\+internal (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{void $\ast$}]{data,  }\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{ref\+\_\+obj }\end{DoxyParamCaption})}



Decrement the object data reference count by 1. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em data} & a pointer to the data to unreference \\
\hline
{\em file} & the call\textquotesingle{}s filename. \\
\hline
{\em line} & the call\textquotesingle{}s line number.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga15f990bde472472ddca13ad5a099f9fc}{eo\+\_\+data\+\_\+xref\+\_\+internal()} 
\end{DoxySeeAlso}
\hypertarget{group__Eo_gaf04e78757d6913f8d437515d0baf5c6d}{}\label{group__Eo_gaf04e78757d6913f8d437515d0baf5c6d} 
\index{Eo@{Eo}!eo\+\_\+ref@{eo\+\_\+ref}}
\index{eo\+\_\+ref@{eo\+\_\+ref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+ref()}{eo\_ref()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}$\ast$ eo\+\_\+ref (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Increment the object\textquotesingle{}s reference count by 1. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The object passed.
\end{DoxyReturn}
It\textquotesingle{}s very easy to get a refcount leak and start leaking memory because of a forgotten unref or an extra ref. That is why there are eo\+\_\+xref and eo\+\_\+xunref that will make debugging easier in such a case. Therefor, these functions should only be used in small scopes, i.\+e at the start of some section in which the object may get freed, or if you know what you are doing.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref()} 

\hyperlink{group__Eo_gad5568684512a49ac83ae9af52d79d539}{eo\+\_\+ref\+\_\+get()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+LY.



Referenced by elm\+\_\+fileselector\+\_\+button\+\_\+is\+\_\+save\+\_\+get(), elm\+\_\+fileselector\+\_\+button\+\_\+path\+\_\+set(), elm\+\_\+fileselector\+\_\+entry\+\_\+selected\+\_\+set(), eo\+\_\+xref\+\_\+internal(), evas\+\_\+device\+\_\+push(), evas\+\_\+event\+\_\+feed\+\_\+hold(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+cancel(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+down(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+in(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+move(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+out(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+wheel(), evas\+\_\+event\+\_\+thaw\+\_\+eval(), evas\+\_\+free(), evas\+\_\+object\+\_\+ref(), and evas\+\_\+smart\+\_\+legacy\+\_\+type\+\_\+register().

\hypertarget{group__Eo_ga436137248d916d6dee56bb6ec545251e}{}\label{group__Eo_ga436137248d916d6dee56bb6ec545251e} 
\index{Eo@{Eo}!eo\+\_\+unref@{eo\+\_\+unref}}
\index{eo\+\_\+unref@{eo\+\_\+unref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+unref()}{eo\_unref()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void eo\+\_\+unref (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Decrement the object\textquotesingle{}s reference count by 1 and free it if needed. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_gaf04e78757d6913f8d437515d0baf5c6d}{eo\+\_\+ref()} 

\hyperlink{group__Eo_gad5568684512a49ac83ae9af52d79d539}{eo\+\_\+ref\+\_\+get()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+LY, and E\+RR.



Referenced by ecore\+\_\+timer\+\_\+del(), elm\+\_\+fileselector\+\_\+button\+\_\+is\+\_\+save\+\_\+get(), elm\+\_\+fileselector\+\_\+button\+\_\+path\+\_\+set(), eo\+\_\+xunref(), evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+get(), evas\+\_\+device\+\_\+pop(), evas\+\_\+event\+\_\+feed\+\_\+hold(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+cancel(), evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+in(), evas\+\_\+free(), evas\+\_\+object\+\_\+unref(), and evas\+\_\+smart\+\_\+legacy\+\_\+type\+\_\+register().

\hypertarget{group__Eo_gad5568684512a49ac83ae9af52d79d539}{}\label{group__Eo_gad5568684512a49ac83ae9af52d79d539} 
\index{Eo@{Eo}!eo\+\_\+ref\+\_\+get@{eo\+\_\+ref\+\_\+get}}
\index{eo\+\_\+ref\+\_\+get@{eo\+\_\+ref\+\_\+get}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+ref\+\_\+get()}{eo\_ref\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int eo\+\_\+ref\+\_\+get (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Return the ref count of the object passed. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the ref count of the object.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_gaf04e78757d6913f8d437515d0baf5c6d}{eo\+\_\+ref()} 

\hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref()} 
\end{DoxySeeAlso}


Referenced by evas\+\_\+free().

\hypertarget{group__Eo_ga61f942d8d9e6d8b08235e643d64cde90}{}\label{group__Eo_ga61f942d8d9e6d8b08235e643d64cde90} 
\index{Eo@{Eo}!eo\+\_\+del\+\_\+intercept\+\_\+set@{eo\+\_\+del\+\_\+intercept\+\_\+set}}
\index{eo\+\_\+del\+\_\+intercept\+\_\+set@{eo\+\_\+del\+\_\+intercept\+\_\+set}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+del\+\_\+intercept\+\_\+set()}{eo\_del\_intercept\_set()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void eo\+\_\+del\+\_\+intercept\+\_\+set (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{\hyperlink{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{Eo\+\_\+\+Del\+\_\+\+Intercept}}]{del\+\_\+intercept\+\_\+func }\end{DoxyParamCaption})}



Set a deletion interceptor function. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to set the interceptor on \\
\hline
{\em del\+\_\+intercept\+\_\+func} & The interceptor function to call\\
\hline
\end{DoxyParams}
This sets the function {\ttfamily del\+\_\+intercept\+\_\+func} to be called when an object is about to go from a reference count of 1 to 0, thus triggering actual destruction of the object. Instead of going to a reference count of 0 and being destroyed, the object will stay alive with a reference count of 1 and this intercept function will be called instead. It is the job of this interceptor function to handle any further deletion of of the object from here.

Note that by default objects have no interceptor function set, and thus will be destroyed as normal. To return an object to this state, simply set the {\ttfamily del\+\_\+intercept\+\_\+func} to N\+U\+LL which is the default.

A good use for this feature is to ensure an object is destroyed by its owning main loop and not in a foreign loop. This makes it possible to safely unrefor delete objects from any loop as an interceptor can be set on an object that will abort destruction and instead queue the object on its owning loop to be destroyed at some time in the future and now set the intercept function to N\+U\+LL so it is not called again on the next \char`\"{}real deletion\char`\"{}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga8d39664e9bc2c5be5abe3173563ebda6}{eo\+\_\+del\+\_\+intercept\+\_\+get()} 

\hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref()} 

eo\+\_\+del() 
\end{DoxySeeAlso}


Referenced by elm\+\_\+config\+\_\+web\+\_\+backend\+\_\+get().

\hypertarget{group__Eo_ga8d39664e9bc2c5be5abe3173563ebda6}{}\label{group__Eo_ga8d39664e9bc2c5be5abe3173563ebda6} 
\index{Eo@{Eo}!eo\+\_\+del\+\_\+intercept\+\_\+get@{eo\+\_\+del\+\_\+intercept\+\_\+get}}
\index{eo\+\_\+del\+\_\+intercept\+\_\+get@{eo\+\_\+del\+\_\+intercept\+\_\+get}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+del\+\_\+intercept\+\_\+get()}{eo\_del\_intercept\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga11a2d5370c8e8ddde678dcf0a480d6d3}{Eo\+\_\+\+Del\+\_\+\+Intercept} eo\+\_\+del\+\_\+intercept\+\_\+get (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Get the deletion interceptor function. 


\begin{DoxyParams}{Parameters}
{\em obj} & The object to get the interceptor of \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The intercept function or N\+U\+LL if none is set.
\end{DoxyReturn}
This returns the interceptor function set by \hyperlink{group__Eo_ga61f942d8d9e6d8b08235e643d64cde90}{eo\+\_\+del\+\_\+intercept\+\_\+set()}. Note that objects by default have no interceptor (N\+U\+LL) set, but certain classes may set one up in a constructor, so it is important to be able to get the interceptor function to know if this has happend and if you want to override this interceptor, be sure to call it after your own interceptor function has finished. It would generally be a bad idea though to override these functions.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga61f942d8d9e6d8b08235e643d64cde90}{eo\+\_\+del\+\_\+intercept\+\_\+set()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH, E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+ET, eina\+\_\+inlist\+\_\+prepend(), eina\+\_\+inlist\+\_\+remove(), E\+I\+N\+A\+\_\+\+L\+I\+K\+E\+LY, E\+I\+N\+A\+\_\+\+T\+R\+UE, E\+I\+N\+A\+\_\+\+U\+N\+L\+I\+K\+E\+LY, E\+O\+\_\+\+C\+L\+A\+S\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+I\+X\+IN, and E\+RR.

\hypertarget{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{}\label{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810} 
\index{Eo@{Eo}!eo\+\_\+xref\+\_\+internal@{eo\+\_\+xref\+\_\+internal}}
\index{eo\+\_\+xref\+\_\+internal@{eo\+\_\+xref\+\_\+internal}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+xref\+\_\+internal()}{eo\_xref\_internal()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}$\ast$ eo\+\_\+xref\+\_\+internal (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file,  }\item[{int}]{line,  }\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{ref\+\_\+obj }\end{DoxyParamCaption})}



Increment the object\textquotesingle{}s reference count by 1 (and associate the ref with ref\+\_\+obj) 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em ref\+\_\+obj} & the object that references obj. \\
\hline
{\em file} & the call\textquotesingle{}s filename. \\
\hline
{\em line} & the call\textquotesingle{}s line number. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The object passed (obj)
\end{DoxyReturn}
People should not use this function, use \hyperlink{group__Eo_ga67fca40382aa902b28dd3eb5a9a70ea5}{eo\+\_\+xref} instead. A compile flag my make it and eobj\+\_\+xunref() behave the same as eobj\+\_\+ref() and eobj\+\_\+unref() respectively. So this should be used wherever possible.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga554c4ed26d69bd5fbd2f6c6871e83d63}{eo\+\_\+xunref()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+ET, eina\+\_\+inlist\+\_\+prepend(), and eo\+\_\+ref().

\hypertarget{group__Eo_ga554c4ed26d69bd5fbd2f6c6871e83d63}{}\label{group__Eo_ga554c4ed26d69bd5fbd2f6c6871e83d63} 
\index{Eo@{Eo}!eo\+\_\+xunref@{eo\+\_\+xunref}}
\index{eo\+\_\+xunref@{eo\+\_\+xunref}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+xunref()}{eo\_xunref()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void eo\+\_\+xunref (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{ref\+\_\+obj }\end{DoxyParamCaption})}



Decrement the object\textquotesingle{}s reference count by 1 and free it if needed. 

Will free the ref associated with ref\+\_\+obj). 
\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em ref\+\_\+obj} & the object that references obj.\\
\hline
\end{DoxyParams}
This function only enforces the checks for object association. I.\+e don\textquotesingle{}t rely on it. If such enforces are compiled out, this function behaves the same as \hyperlink{group__Eo_ga436137248d916d6dee56bb6ec545251e}{eo\+\_\+unref()}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga7e81f986e5dc8d971d73ad34212f3810}{eo\+\_\+xref\+\_\+internal()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH, E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+ET, eina\+\_\+inlist\+\_\+remove(), eo\+\_\+unref(), and E\+RR.

\hypertarget{group__Eo_ga898921f03bd535612c442ffcfa084cf1}{}\label{group__Eo_ga898921f03bd535612c442ffcfa084cf1} 
\index{Eo@{Eo}!eo\+\_\+manual\+\_\+free\+\_\+set@{eo\+\_\+manual\+\_\+free\+\_\+set}}
\index{eo\+\_\+manual\+\_\+free\+\_\+set@{eo\+\_\+manual\+\_\+free\+\_\+set}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+manual\+\_\+free\+\_\+set()}{eo\_manual\_free\_set()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} void eo\+\_\+manual\+\_\+free\+\_\+set (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj,  }\item[{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}]{manual\+\_\+free }\end{DoxyParamCaption})}



Enable or disable the manual free feature. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. \\
\hline
{\em manual\+\_\+free} & indicates if the free is manual (E\+I\+N\+A\+\_\+\+T\+R\+UE) or automatic (E\+I\+N\+A\+\_\+\+F\+A\+L\+SE).\\
\hline
\end{DoxyParams}
The developer is in charge to call the function eo\+\_\+manual\+\_\+free to free the memory allocated for this object.

Do not use, unless you really know what you are doing. It\textquotesingle{}s used by Evas because evas wants to keep its private data available even after the object is deleted. Setting this to true makes Eo destruct the object but not free the private data or the object itself.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_gad885d4fb6f7f6fa7644f2f8d0d06158a}{eo\+\_\+manual\+\_\+free()} 
\end{DoxySeeAlso}


Referenced by ecore\+\_\+poller\+\_\+del(), and evas\+\_\+object\+\_\+del().

\hypertarget{group__Eo_gad885d4fb6f7f6fa7644f2f8d0d06158a}{}\label{group__Eo_gad885d4fb6f7f6fa7644f2f8d0d06158a} 
\index{Eo@{Eo}!eo\+\_\+manual\+\_\+free@{eo\+\_\+manual\+\_\+free}}
\index{eo\+\_\+manual\+\_\+free@{eo\+\_\+manual\+\_\+free}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+manual\+\_\+free()}{eo\_manual\_free()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} eo\+\_\+manual\+\_\+free (\begin{DoxyParamCaption}\item[{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Frees the object. 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to work on. This function must be called by the developer if the function eo\+\_\+manual\+\_\+free\+\_\+set has been called before with the parameter E\+I\+N\+A\+\_\+\+T\+R\+UE. An error will be printed if this function is called when the manual free option is not set to E\+I\+N\+A\+\_\+\+T\+R\+UE or the number of refs is not 0. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if successfully freed. E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga898921f03bd535612c442ffcfa084cf1}{eo\+\_\+manual\+\_\+free\+\_\+set()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, and E\+RR.



Referenced by ecore\+\_\+poller\+\_\+del().

\hypertarget{group__Eo_gad815a5f04d144d04dfecfd2dad9f431c}{}\label{group__Eo_gad815a5f04d144d04dfecfd2dad9f431c} 
\index{Eo@{Eo}!eo\+\_\+destructed\+\_\+is@{eo\+\_\+destructed\+\_\+is}}
\index{eo\+\_\+destructed\+\_\+is@{eo\+\_\+destructed\+\_\+is}!Eo@{Eo}}
\subsubsection{\texorpdfstring{eo\+\_\+destructed\+\_\+is()}{eo\_destructed\_is()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} eo\+\_\+destructed\+\_\+is (\begin{DoxyParamCaption}\item[{const \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$}]{obj }\end{DoxyParamCaption})}



Checks if the object was already descructed (only relevant for manual\+\_\+free objects). 


\begin{DoxyParams}{Parameters}
{\em obj} & the object to check. This function checks if the object was already destructed (but not alraedy freed). It should only be used with objects that are supposed to be manually freed, but not yet freed (but possibly destructed).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eo_ga898921f03bd535612c442ffcfa084cf1}{eo\+\_\+manual\+\_\+free\+\_\+set()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.



Referenced by ecore\+\_\+poller\+\_\+del().



\subsection{Variable Documentation}
\hypertarget{group__Eo_gaf20d0fd14d4342416d3591c211a9e81f}{}\label{group__Eo_gaf20d0fd14d4342416d3591c211a9e81f} 
\index{Eo@{Eo}!\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock@{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}}
\index{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock@{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}{\_eo\_class\_creation\_lock}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} Eina\+\_\+\+Spinlock \+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}



This variable is used for locking purposes in the class\+\_\+get function defined in \hyperlink{group__Eo__Class_gacd443a75109f3e7092fae1b4d4bfee38}{E\+O\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+C\+L\+A\+SS}. 

This is just to work around the fact that we need to init locks before using them. Don\textquotesingle{}t touch it if you don\textquotesingle{}t know what you are doing. 

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

\hypertarget{group__Eo_ga676cf86088cccbd7f7de084fcb4e1dc5}{}\label{group__Eo_ga676cf86088cccbd7f7de084fcb4e1dc5} 
\index{Eo@{Eo}!\+\_\+eo\+\_\+init\+\_\+generation@{\+\_\+eo\+\_\+init\+\_\+generation}}
\index{\+\_\+eo\+\_\+init\+\_\+generation@{\+\_\+eo\+\_\+init\+\_\+generation}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+eo\+\_\+init\+\_\+generation}{\_eo\_init\_generation}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} unsigned int \+\_\+eo\+\_\+init\+\_\+generation}



This variable stores the current eo init generation. 

That is, how many times we have completed full init/shutdown cycles. Starts at 1 and incremeted on every call to shutdown that actually shuts down eo. \hypertarget{group__Eo_ga44b5710f56e35a78cbaf94bb5cd1a870}{}\label{group__Eo_ga44b5710f56e35a78cbaf94bb5cd1a870} 
\index{Eo@{Eo}!\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock@{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}}
\index{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock@{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}{\_eo\_class\_creation\_lock}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \+\_\+eo\+\_\+class\+\_\+creation\+\_\+lock}



This variable is used for locking purposes in the class\+\_\+get function defined in \hyperlink{group__Eo__Class_gacd443a75109f3e7092fae1b4d4bfee38}{E\+O\+\_\+\+D\+E\+F\+I\+N\+E\+\_\+\+C\+L\+A\+SS}. 

This is just to work around the fact that we need to init locks before using them. Don\textquotesingle{}t touch it if you don\textquotesingle{}t know what you are doing. 

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

\hypertarget{group__Eo_ga0d3f564a41f9e0b30525998d8c0a2515}{}\label{group__Eo_ga0d3f564a41f9e0b30525998d8c0a2515} 
\index{Eo@{Eo}!\+\_\+eo\+\_\+init\+\_\+generation@{\+\_\+eo\+\_\+init\+\_\+generation}}
\index{\+\_\+eo\+\_\+init\+\_\+generation@{\+\_\+eo\+\_\+init\+\_\+generation}!Eo@{Eo}}
\subsubsection{\texorpdfstring{\+\_\+eo\+\_\+init\+\_\+generation}{\_eo\_init\_generation}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \+\_\+eo\+\_\+init\+\_\+generation = 1}



This variable stores the current eo init generation. 

That is, how many times we have completed full init/shutdown cycles. Starts at 1 and incremeted on every call to shutdown that actually shuts down eo. 