\hypertarget{structefl_1_1model_1_1base}{}\section{efl\+:\+:model\+:\+:base Struct Reference}
\label{structefl_1_1model_1_1base}\index{efl\+::model\+::base@{efl\+::model\+::base}}


Class base.  


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

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1model_1_1base_a4bfabfc209272dd54c79ca515c2914f8}{load} () const 
\begin{DoxyCompactList}\small\item\em Load emodel. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1model_1_1base_a521a90cf40ecae8257c637ba49628b16}{unload} () const 
\begin{DoxyCompactList}\small\item\em Unload emodel. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1model_1_1base_ad4afa9009bc7d7c745e3fd0694a3ad6e}{properties\+\_\+load} () const 
\begin{DoxyCompactList}\small\item\em Properties emodel load. \end{DoxyCompactList}\item 
void \hyperlink{structefl_1_1model_1_1base_a3131eb0760b5461142349a660657d774}{children\+\_\+load} () const 
\begin{DoxyCompactList}\small\item\em Children emodel load. \end{DoxyCompactList}\item 
\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} \hyperlink{structefl_1_1model_1_1base_a29ed39a842c0765cd3a5a820c1469940}{child\+\_\+add} () const 
\begin{DoxyCompactList}\small\item\em Add a new child. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_aa0f28b637fa9909f9f27f540ed0c6b20}{child\+\_\+del} (\+::\hyperlink{structefl_1_1eo_1_1concrete}{efl\+::eo\+::concrete} child\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Remove a child. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_a27ba39b0673db9b81128b2eeb2f3a069}{load\+\_\+status\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Get a load emodel current status. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_aabcfe2806e1cb5c00a46596219f61298}{properties\+\_\+get} (\hyperlink{group__Eina__Array__Group_ga2a57284ee83a7e767485b7ae2f5df86c}{Eina\+\_\+\+Array} $\ast$const $\ast$properties\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get properties from model. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_a3ec7f38ff8a44e1cb4c6e6304450e2fe}{property\+\_\+get} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} property\+\_\+, const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$$\ast$value\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Retrieve the value of a given property name. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_a1a3cacd02263733e421b56210378cbe7}{property\+\_\+set} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} property\+\_\+, const \hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value} $\ast$value\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set a property value of a given property name. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_aa53cdb440d62994329692350eab8ac0f}{children\+\_\+slice\+\_\+get} (unsigned start\+\_\+, unsigned count\+\_\+, \hyperlink{group__Eina__Accessor__Group_ga65199ea5201a1867471028477dc26744}{Eina\+\_\+\+Accessor} $\ast$$\ast$children\+\_\+accessor\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get children slice O\+R full range. \end{DoxyCompactList}\item 
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \hyperlink{structefl_1_1model_1_1base_a345e29f6009ad7a710df915a269cd720}{children\+\_\+count\+\_\+get} (unsigned $\ast$children\+\_\+count\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get children count. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a8d9497c882a2ebe0166eb1aeaa0b08d0}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structefl_1_1model_1_1base_a8d9497c882a2ebe0166eb1aeaa0b08d0}{callback\+\_\+child\+\_\+added\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structefl_1_1model_1_1base_a8d9497c882a2ebe0166eb1aeaa0b08d0}

\begin{DoxyCompactList}\small\item\em Event dispatched when new child is added. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a84832a3f0608abe7b4c7e8f4c14c3036}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structefl_1_1model_1_1base_a84832a3f0608abe7b4c7e8f4c14c3036}{callback\+\_\+child\+\_\+added\+\_\+call} (T $\ast$info)\label{structefl_1_1model_1_1base_a84832a3f0608abe7b4c7e8f4c14c3036}

\begin{DoxyCompactList}\small\item\em Event dispatched when new child is added. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a1c98bf311caf1b1fcfbe71ceed41d966}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structefl_1_1model_1_1base_a1c98bf311caf1b1fcfbe71ceed41d966}{callback\+\_\+child\+\_\+removed\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structefl_1_1model_1_1base_a1c98bf311caf1b1fcfbe71ceed41d966}

\begin{DoxyCompactList}\small\item\em Event dispatched when child is removed. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a51c1bb7a17299a704305412386b8b34c}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structefl_1_1model_1_1base_a51c1bb7a17299a704305412386b8b34c}{callback\+\_\+child\+\_\+removed\+\_\+call} (T $\ast$info)\label{structefl_1_1model_1_1base_a51c1bb7a17299a704305412386b8b34c}

\begin{DoxyCompactList}\small\item\em Event dispatched when child is removed. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_aaac49c26e825edba7df4c12839e3f6f1}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structefl_1_1model_1_1base_aaac49c26e825edba7df4c12839e3f6f1}{callback\+\_\+children\+\_\+count\+\_\+changed\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structefl_1_1model_1_1base_aaac49c26e825edba7df4c12839e3f6f1}

\begin{DoxyCompactList}\small\item\em Event dispatched when children count is finished. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a1fa9d0f13f28238d62c5e1050514e0ca}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structefl_1_1model_1_1base_a1fa9d0f13f28238d62c5e1050514e0ca}{callback\+\_\+children\+\_\+count\+\_\+changed\+\_\+call} (T $\ast$info)\label{structefl_1_1model_1_1base_a1fa9d0f13f28238d62c5e1050514e0ca}

\begin{DoxyCompactList}\small\item\em Event dispatched when children count is finished. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a244d04893c17013e9895bab1f98d2368}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structefl_1_1model_1_1base_a244d04893c17013e9895bab1f98d2368}{callback\+\_\+load\+\_\+status\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structefl_1_1model_1_1base_a244d04893c17013e9895bab1f98d2368}

\begin{DoxyCompactList}\small\item\em Event dispatch when load status changes. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a2216c74b31202404797a2ebb1ceca550}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structefl_1_1model_1_1base_a2216c74b31202404797a2ebb1ceca550}{callback\+\_\+load\+\_\+status\+\_\+call} (T $\ast$info)\label{structefl_1_1model_1_1base_a2216c74b31202404797a2ebb1ceca550}

\begin{DoxyCompactList}\small\item\em Event dispatch when load status changes. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a44afa5f8daf836dd1cbaf71c0a3fbd8e}{}{\footnotesize template$<$typename F $>$ }\\\+::\hyperlink{structefl_1_1eo_1_1signal__connection}{efl\+::eo\+::signal\+\_\+connection} \hyperlink{structefl_1_1model_1_1base_a44afa5f8daf836dd1cbaf71c0a3fbd8e}{callback\+\_\+properties\+\_\+changed\+\_\+add} (F \&\&callback\+\_\+,\+::efl\+::eo\+::callback\+\_\+priority priority\+\_\+=\+::efl\+::eo\+::callback\+\_\+priorities\+::default\+\_\+)\label{structefl_1_1model_1_1base_a44afa5f8daf836dd1cbaf71c0a3fbd8e}

\begin{DoxyCompactList}\small\item\em Event dispatched when properties list is available. \end{DoxyCompactList}\item 
\hypertarget{structefl_1_1model_1_1base_a66774831da9d83bd52fee0bf63ce1170}{}{\footnotesize template$<$typename T $>$ }\\void \hyperlink{structefl_1_1model_1_1base_a66774831da9d83bd52fee0bf63ce1170}{callback\+\_\+properties\+\_\+changed\+\_\+call} (T $\ast$info)\label{structefl_1_1model_1_1base_a66774831da9d83bd52fee0bf63ce1170}

\begin{DoxyCompactList}\small\item\em Event dispatched when properties list is available. \end{DoxyCompactList}\end{DoxyCompactItemize}
{\bf }\par
\begin{DoxyCompactItemize}
\item 
\hyperlink{structefl_1_1model_1_1base_a6ec85e0243296dd20abf85389c38930c}{base} (\+::\hyperlink{structefl_1_1eo_1_1parent__type}{efl\+::eo\+::parent\+\_\+type} \+\_\+p)
\begin{DoxyCompactList}\small\item\em Constructs a new \hyperlink{structefl_1_1model_1_1base}{efl\+::model\+::base} object. \end{DoxyCompactList}\end{DoxyCompactItemize}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structefl_1_1model_1_1base_abd788435dc9b378bc1c64f29b206d43e}{}static \hyperlink{group__Eo_ga88d29df76a2921aa5478803156d83be5}{Eo\+\_\+\+Class} const $\ast$ {\bfseries \+\_\+eo\+\_\+class} ()\label{structefl_1_1model_1_1base_abd788435dc9b378bc1c64f29b206d43e}

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


\subsection{Detailed Description}
Class base. 

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


Constructs a new \hyperlink{structefl_1_1model_1_1base}{efl\+::model\+::base} object. 

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

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


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


Eo Constructor. 

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


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


nullptr\+\_\+t Constructor. 

Constructs an empty (null) object. 

\subsection{Member Function Documentation}
\hypertarget{structefl_1_1model_1_1base_a4bfabfc209272dd54c79ca515c2914f8}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!load@{load}}
\index{load@{load}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{load}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::model\+::base\+::load (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a4bfabfc209272dd54c79ca515c2914f8}


Load emodel. 

By convention this means loading data from an external source and populating the models properties and children with it. For example in the case of file system backed model, this means opening the relevant files and reading the data from them(creating the properties and children from it). the model emit E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S after end with Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status \begin{DoxyWarning}{Warning}
This convention should be followed, but no guarantees of behaviour by user defined types can be given.
\end{DoxyWarning}
Alternatively is possible to use properties\+\_\+load to load only properties and children\+\_\+load to load only children. If efl\+\_\+model\+\_\+load is called then calling properties\+\_\+load and/or children\+\_\+load is not necessary.

\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status 

efl\+\_\+model\+\_\+properties\+\_\+load 

efl\+\_\+model\+\_\+children\+\_\+load 

efl\+\_\+model\+\_\+unload 

efl\+\_\+model\+\_\+load\+\_\+status\+\_\+get
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_a521a90cf40ecae8257c637ba49628b16}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!unload@{unload}}
\index{unload@{unload}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{unload}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::model\+::base\+::unload (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a521a90cf40ecae8257c637ba49628b16}


Unload emodel. 

By convention this means releasing data received/read from an external source. For example of a database backed model this might mean releasing the iterator for the currently loaded data or deleting a temporary table. the model emit E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S after end with model load status \begin{DoxyWarning}{Warning}
This convention should be followed, but no guarantees of behaviour by user defined types can be given.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status 

efl\+\_\+model\+\_\+load 

efl\+\_\+model\+\_\+load\+\_\+status\+\_\+get
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_ad4afa9009bc7d7c745e3fd0694a3ad6e}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!properties\+\_\+load@{properties\+\_\+load}}
\index{properties\+\_\+load@{properties\+\_\+load}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{properties\+\_\+load}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::model\+::base\+::properties\+\_\+load (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_ad4afa9009bc7d7c745e3fd0694a3ad6e}


Properties emodel load. 

By convention this means loading data from an external source and populating the models properties only. This method is a subset of efl\+\_\+model\+\_\+load, meaning that it won\textquotesingle{}t load children, it is a hint. For loadind both properties and children use efl\+\_\+model\+\_\+load instead.

\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+load
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_a3131eb0760b5461142349a660657d774}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!children\+\_\+load@{children\+\_\+load}}
\index{children\+\_\+load@{children\+\_\+load}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{children\+\_\+load}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::model\+::base\+::children\+\_\+load (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a3131eb0760b5461142349a660657d774}


Children emodel load. 

By convention this means loading data from an external source and populating the models children only. This method is a subset of efl\+\_\+model\+\_\+load, meaning that it won\textquotesingle{}t load properties. For loadind both properties and children use efl\+\_\+model\+\_\+load instead.

\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+load
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_a29ed39a842c0765cd3a5a820c1469940}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!child\+\_\+add@{child\+\_\+add}}
\index{child\+\_\+add@{child\+\_\+add}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{child\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf efl\+::eo\+::concrete} efl\+::model\+::base\+::child\+\_\+add (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a29ed39a842c0765cd3a5a820c1469940}


Add a new child. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Emodel$\ast$} on success, {\ttfamily N\+U\+L\+L} otherwise
\end{DoxyReturn}
Add a new child, possibly dummy, depending on the implementation, of a internal keeping. When the child is effectively added the event E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+H\+I\+L\+D\+\_\+\+A\+D\+D is then raised and the new child is kept along with other children.

\begin{DoxySeeAlso}{See also}
E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+H\+I\+L\+D\+\_\+\+A\+D\+D 

\hyperlink{structefl_1_1model_1_1base_a27ba39b0673db9b81128b2eeb2f3a069}{load\+\_\+status\+\_\+get}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_aa0f28b637fa9909f9f27f540ed0c6b20}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!child\+\_\+del@{child\+\_\+del}}
\index{child\+\_\+del@{child\+\_\+del}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{child\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::child\+\_\+del (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eo\+::concrete}}]{child\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_aa0f28b637fa9909f9f27f540ed0c6b20}


Remove a child. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status} on success, {\ttfamily E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+E\+R\+R\+O\+R} otherwise.
\end{DoxyReturn}
Remove a child of a internal keeping. When the child is effectively removed the event E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+H\+I\+L\+D\+\_\+\+R\+E\+M\+O\+V\+E\+D is then raised to give a chance for listeners to perform any cleanup and/or update references.

\begin{DoxySeeAlso}{See also}
E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+H\+I\+L\+D\+\_\+\+R\+E\+M\+O\+V\+E\+D 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em child} & Child to be removed \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1model_1_1base_a27ba39b0673db9b81128b2eeb2f3a069}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!load\+\_\+status\+\_\+get@{load\+\_\+status\+\_\+get}}
\index{load\+\_\+status\+\_\+get@{load\+\_\+status\+\_\+get}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{load\+\_\+status\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::load\+\_\+status\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a27ba39b0673db9b81128b2eeb2f3a069}


Get a load emodel current status. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status} 
\end{DoxyReturn}
By convention this means get the current model status. Possible values are defined Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status enumerator.

\begin{DoxySeeAlso}{See also}
Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status 

efl\+\_\+model\+\_\+load
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{structefl_1_1model_1_1base_aabcfe2806e1cb5c00a46596219f61298}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!properties\+\_\+get@{properties\+\_\+get}}
\index{properties\+\_\+get@{properties\+\_\+get}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{properties\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::properties\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Array} $\ast$const $\ast$}]{properties\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_aabcfe2806e1cb5c00a46596219f61298}


Get properties from model. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status} 
\end{DoxyReturn}
properties\+\_\+get is due to provide callers a way the fetch the current properties implemented/used by the model. The event E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E will be raised to notify listeners of any modifications in the properties.

\begin{DoxySeeAlso}{See also}
E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em properties} & array of current properties \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1model_1_1base_a3ec7f38ff8a44e1cb4c6e6304450e2fe}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!property\+\_\+get@{property\+\_\+get}}
\index{property\+\_\+get@{property\+\_\+get}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{property\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::property\+\_\+get (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{property\+\_\+, }
\item[{const {\bf Eina\+\_\+\+Value} $\ast$$\ast$}]{value\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a3ec7f38ff8a44e1cb4c6e6304450e2fe}


Retrieve the value of a given property name. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Load} Status, on success, {\ttfamily E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+E\+R\+R\+O\+R} otherwise
\end{DoxyReturn}
property\+\_\+get will only be available when load status is equal to E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+L\+O\+A\+D\+E\+D.

At this point the caller is free to get values from properties. The event E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E may be raised to notify listeners of the property/value.

\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+properties\+\_\+get 

E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em value} & New value \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1model_1_1base_a1a3cacd02263733e421b56210378cbe7}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!property\+\_\+set@{property\+\_\+set}}
\index{property\+\_\+set@{property\+\_\+set}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{property\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::property\+\_\+set (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{property\+\_\+, }
\item[{const {\bf Eina\+\_\+\+Value} $\ast$}]{value\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a1a3cacd02263733e421b56210378cbe7}


Set a property value of a given property name. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} in readonly property or error
\end{DoxyReturn}
The caller must ensure to call at least efl\+\_\+model\+\_\+prop\+\_\+list before being able to see/set properties. This function sets a new property value into given property name. Once the operation is completed the concrete implementation should raise E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E event in order to notify listeners of the new value of the property.

If the model doesn\textquotesingle{}t have the property then there are two possibilities, either raise an error or create the new property in model

\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+property\+\_\+get 

E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+E\+V\+E\+N\+T\+\_\+\+P\+R\+O\+P\+E\+R\+T\+I\+E\+S\+\_\+\+C\+H\+A\+N\+G\+E 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em value} & New value \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1model_1_1base_aa53cdb440d62994329692350eab8ac0f}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!children\+\_\+slice\+\_\+get@{children\+\_\+slice\+\_\+get}}
\index{children\+\_\+slice\+\_\+get@{children\+\_\+slice\+\_\+get}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{children\+\_\+slice\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::children\+\_\+slice\+\_\+get (
\begin{DoxyParamCaption}
\item[{unsigned}]{start\+\_\+, }
\item[{unsigned}]{count\+\_\+, }
\item[{{\bf Eina\+\_\+\+Accessor} $\ast$$\ast$}]{children\+\_\+accessor\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_aa53cdb440d62994329692350eab8ac0f}


Get children slice O\+R full range. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status}. See below for more info.
\end{DoxyReturn}
Before being able to get the children list the model status must be on loaded status (E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+L\+O\+A\+D\+E\+D). However there may be circunstancies where the model could be in a different state, in such cases it is advisable to simply return\+: its current state, which will be of course, different than {\ttfamily E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+L\+O\+A\+D\+\_\+\+S\+T\+A\+T\+U\+S\+\_\+\+L\+O\+A\+D\+E\+D\+\_\+\+C\+H\+I\+L\+D\+R\+E\+N}. When children accessor is return\+:ed as N\+U\+L\+L one should then test the current load status return\+:ed by  in order to check against an empty list or real error.

children\+\_\+slice\+\_\+get behaves in two different ways, it may provide the slice if both {\ttfamily start} A\+N\+D {\ttfamily count} are non-\/zero O\+R full range otherwise.

The return\+:ed Eina\+\_\+\+Accessor must be freed when it is no longer needed and eo\+\_\+unref() must be invoked for children if caller wants a copy.

Since \textquotesingle{}slice\textquotesingle{} is a range, for example if we have 20 childs a slice could be the range from 3(start) to 4(count), see\+: child 0 \mbox{[}no\mbox{]} child 1 \mbox{[}no\mbox{]} child 2 \mbox{[}yes\mbox{]} child 3 \mbox{[}yes\mbox{]} child 4 \mbox{[}yes\mbox{]} child 5 \mbox{[}yes\mbox{]} child 6 \mbox{[}no\mbox{]} child 7 \mbox{[}no\mbox{]}

Optionally the user can call children\+\_\+count\+\_\+get to know the number of children so a valid range can be known in advance.

Below are examples of both usage types\+: slices and full ranges. 
\begin{DoxyCode}
\textcolor{comment}{// Returns full list}
eo\_do(obj, efl\_model\_children\_slice\_get(0, 0, &children\_accessor));

\textcolor{comment}{// Returns 5 items, counting from item #5}
eo\_do(obj, efl\_model\_children\_slice\_get(5, 5, &children\_accessor));
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+children\+\_\+get 

efl\+\_\+model\+\_\+children\+\_\+count\+\_\+get 

efl\+\_\+model\+\_\+load 

efl\+\_\+model\+\_\+load\+\_\+status\+\_\+get 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em children\+\_\+accessor} & \\
\hline
\end{DoxyParams}
\hypertarget{structefl_1_1model_1_1base_a345e29f6009ad7a710df915a269cd720}{}\index{efl\+::model\+::base@{efl\+::model\+::base}!children\+\_\+count\+\_\+get@{children\+\_\+count\+\_\+get}}
\index{children\+\_\+count\+\_\+get@{children\+\_\+count\+\_\+get}!efl\+::model\+::base@{efl\+::model\+::base}}
\subsubsection[{children\+\_\+count\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Efl\+\_\+\+Model\+\_\+\+Load\+\_\+\+Status efl\+::model\+::base\+::children\+\_\+count\+\_\+get (
\begin{DoxyParamCaption}
\item[{unsigned $\ast$}]{children\+\_\+count\+\_\+}
\end{DoxyParamCaption}
) const}\label{structefl_1_1model_1_1base_a345e29f6009ad7a710df915a269cd720}


Get children count. 

\begin{DoxyReturn}{Returns}
\+: {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
When efl\+\_\+model\+\_\+load is completed efl\+\_\+model\+\_\+coildren\+\_\+count\+\_\+get can be use to get the number of children. children\+\_\+count\+\_\+get can also be used before calling children\+\_\+slice\+\_\+get so a valid range is known. Event E\+F\+L\+\_\+\+M\+O\+D\+E\+L\+\_\+\+C\+H\+I\+L\+D\+R\+E\+N\+\_\+\+C\+O\+U\+N\+T\+\_\+\+C\+H\+A\+N\+G\+E\+D is emitted when count is finished.

\begin{DoxySeeAlso}{See also}
efl\+\_\+model\+\_\+children\+\_\+get 

efl\+\_\+model\+\_\+children\+\_\+slice\+\_\+get 

efl\+\_\+model\+\_\+load 

efl\+\_\+model\+\_\+load\+\_\+status\+\_\+get 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+14
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em children\+\_\+count} & \\
\hline
\end{DoxyParams}
