\hypertarget{group__Eldbus__Message__Iter}{}\doxysection{Iterator}
\label{group__Eldbus__Message__Iter}\index{Iterator@{Iterator}}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$ \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, int type, const char $\ast$contained\+\_\+signature)
\begin{DoxyCompactList}\small\item\em Create and append a typed iterator to another iterator. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_gaf3be6a0eb61416b21f21b65c57109b97}{eldbus\+\_\+message\+\_\+iter\+\_\+basic\+\_\+append}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, int type,...)
\begin{DoxyCompactList}\small\item\em Append a basic type into an Eldbus\+\_\+\+Iterator. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_gae00cddea6435838b7189bcf5ca816332}{eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+append}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, const char $\ast$signature,...)
\begin{DoxyCompactList}\small\item\em Append an argument into an Eldbus\+\_\+\+Message\+\_\+\+Iter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga76daae758549ce10689d24acb9d851b7}{eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+vappend}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, const char $\ast$signature, va\+\_\+list ap)
\begin{DoxyCompactList}\small\item\em Set data to Eldbus\+\_\+\+Message\+\_\+\+Iter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga5482d43616555df5c91e0004085fb97a}{eldbus\+\_\+message\+\_\+iter\+\_\+fixed\+\_\+array\+\_\+append}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, int type, const void $\ast$array, unsigned int size)
\begin{DoxyCompactList}\small\item\em Append a array of basic type with fixed size to Eldbus\+\_\+\+Message\+\_\+\+Iter. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+close}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, \mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$sub)
\begin{DoxyCompactList}\small\item\em Closes a container-\/typed value appended to the message. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$ \mbox{\hyperlink{group__Eldbus__Message__Iter_ga7ca2412ef3cf3c8f77e3782413820814}{eldbus\+\_\+message\+\_\+iter\+\_\+get}} (const \mbox{\hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message}} $\ast$msg)
\begin{DoxyCompactList}\small\item\em Get the main Eldbus\+\_\+\+Message\+\_\+\+Iter from the Eldbus\+\_\+\+Message. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eldbus__Message__Iter_gad4549921e09633aa56599204278ffade}{eldbus\+\_\+message\+\_\+iter\+\_\+basic\+\_\+get}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, void $\ast$value)
\begin{DoxyCompactList}\small\item\em Get a basic type from Eldbus\+\_\+\+Iterator. \end{DoxyCompactList}\item 
char $\ast$ \mbox{\hyperlink{group__Eldbus__Message__Iter_gab0201e1d78d70477ba337d0aa2977802}{eldbus\+\_\+message\+\_\+iter\+\_\+signature\+\_\+get}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter)
\begin{DoxyCompactList}\small\item\em Returns the current signature of a message iterator. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga1c7d3e40bbb79e928881eca98c284162}{eldbus\+\_\+message\+\_\+iter\+\_\+next}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter)
\begin{DoxyCompactList}\small\item\em Moves the iterator to the next field, if any. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga45c7d707ee830ae5be39c17df05af615}{eldbus\+\_\+message\+\_\+iter\+\_\+get\+\_\+and\+\_\+next}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, char signature,...)
\begin{DoxyCompactList}\small\item\em Get a complete type from Eldbus\+\_\+\+Message\+\_\+\+Iter if is not at the end of iterator and move to next field. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_gaccd0410dc29928b34f90b3055600672a}{eldbus\+\_\+message\+\_\+iter\+\_\+fixed\+\_\+array\+\_\+get}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, int signature, void $\ast$value, int $\ast$n\+\_\+elements)
\begin{DoxyCompactList}\small\item\em Reads a block of fixed-\/length values from the message iterator. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_gae44918ce0b571a30546219d1d5040da0}{eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+get}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, const char $\ast$signature,...)
\begin{DoxyCompactList}\small\item\em Get data from Eldbus\+\_\+\+Message\+\_\+\+Iter, for each complete type must have a pointer to store his value, in case of complex type a Eldbus\+\_\+\+Message\+\_\+\+Iter will be need. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eldbus__Message__Iter_ga717a7e00c9cb7f2a55241d866668b567}{eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+vget}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter, const char $\ast$signature, va\+\_\+list ap)
\begin{DoxyCompactList}\small\item\em Get data from Eldbus\+\_\+\+Message\+\_\+\+Iter, for each complete type must have a pointer to store his value, in case of complex type a Eldbus\+\_\+\+Message\+\_\+\+Iter will be need. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eldbus__Message__Iter_gaac4004e9189b7bb6baddf3e65c9ec830}{eldbus\+\_\+message\+\_\+iter\+\_\+del}} (\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$iter)
\begin{DoxyCompactList}\small\item\em Manually delete the iterator. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}\label{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_container\_new@{eldbus\_message\_iter\_container\_new}}
\index{eldbus\_message\_iter\_container\_new@{eldbus\_message\_iter\_container\_new}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_container\_new()}{eldbus\_message\_iter\_container\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}}$\ast$ eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{int}]{type,  }\item[{const char $\ast$}]{contained\+\_\+signature }\end{DoxyParamCaption})}



Create and append a typed iterator to another iterator. 

After append data to returned iterator it must be closed calling \mbox{\hyperlink{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+close()}}.

Container types are for example struct, variant, and array. For variants, the contained\+\_\+signature should be the type of the single value inside the variant. For structs and dict entries, contained\+\_\+signature should be N\+U\+LL; it will be set to whatever types you write into the struct. For arrays, contained\+\_\+signature should be the type of the array elements.


\begin{DoxyParams}{Parameters}
{\em iter} & parent of the new iterator \\
\hline
{\em type} & of iterator (e.\+g struct, dict, variant or array) \\
\hline
{\em contained\+\_\+signature} & signature of what iterator will store\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the new iterator 
\end{DoxyReturn}


References eina\+\_\+inlist\+\_\+append(), E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+ET, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by eldbus\+\_\+proxy\+\_\+property\+\_\+set(), eldbus\+\_\+proxy\+\_\+property\+\_\+value\+\_\+set(), elocation\+\_\+address\+\_\+to\+\_\+position(), and elocation\+\_\+position\+\_\+to\+\_\+address().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gaf3be6a0eb61416b21f21b65c57109b97}\label{group__Eldbus__Message__Iter_gaf3be6a0eb61416b21f21b65c57109b97}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_basic\_append@{eldbus\_message\_iter\_basic\_append}}
\index{eldbus\_message\_iter\_basic\_append@{eldbus\_message\_iter\_basic\_append}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_basic\_append()}{eldbus\_message\_iter\_basic\_append()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+basic\+\_\+append (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{int}]{type,  }\item[{}]{... }\end{DoxyParamCaption})}



Append a basic type into an Eldbus\+\_\+\+Iterator. 


\begin{DoxyParams}{Parameters}
{\em iter} & The iterator in which basic type will be appended. \\
\hline
{\em type} & The basic type that will be appended. \\
\hline
{\em ...} & The values for the basic type.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, else E\+I\+N\+A\+\_\+\+F\+A\+L\+SE. 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+F\+A\+L\+S\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL.



Referenced by eldbus\+\_\+proxy\+\_\+property\+\_\+set(), eldbus\+\_\+proxy\+\_\+property\+\_\+value\+\_\+set(), elocation\+\_\+landmarks\+\_\+get(), and elocation\+\_\+position\+\_\+to\+\_\+address().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gae00cddea6435838b7189bcf5ca816332}\label{group__Eldbus__Message__Iter_gae00cddea6435838b7189bcf5ca816332}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_arguments\_append@{eldbus\_message\_iter\_arguments\_append}}
\index{eldbus\_message\_iter\_arguments\_append@{eldbus\_message\_iter\_arguments\_append}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_arguments\_append()}{eldbus\_message\_iter\_arguments\_append()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+append (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{const char $\ast$}]{signature,  }\item[{}]{... }\end{DoxyParamCaption})}



Append an argument into an Eldbus\+\_\+\+Message\+\_\+\+Iter. 

For each complete type you need to provide the correspondent value. In case of complex types you need to provide an Eldbus\+\_\+\+Message\+\_\+\+Iter$\ast$$\ast$ to be allocated and then filled in.

It\textquotesingle{}s not possible to open two iterators at same iterator with this function. For example, to create a message with signature=\char`\"{}aiai\char`\"{} you need to create the first container with \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}}, fill the array, close it with \mbox{\hyperlink{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+close()}} and then do the same for the second array.


\begin{DoxyParams}{Parameters}
{\em iter} & iterator in which data will be appended \\
\hline
{\em signature} & signature of the contained data \\
\hline
{\em ...} & values for each complete type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, else E\+I\+N\+A\+\_\+\+F\+A\+L\+SE
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}} 

\mbox{\hyperlink{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+close()}}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
This function doesn\textquotesingle{}t support variant, use \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}} instead to create the variant, fill with data and close it. 
\end{DoxyNote}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+vappend().



Referenced by elocation\+\_\+address\+\_\+to\+\_\+position().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga76daae758549ce10689d24acb9d851b7}\label{group__Eldbus__Message__Iter_ga76daae758549ce10689d24acb9d851b7}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_arguments\_vappend@{eldbus\_message\_iter\_arguments\_vappend}}
\index{eldbus\_message\_iter\_arguments\_vappend@{eldbus\_message\_iter\_arguments\_vappend}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_arguments\_vappend()}{eldbus\_message\_iter\_arguments\_vappend()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+vappend (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{const char $\ast$}]{signature,  }\item[{va\+\_\+list}]{ap }\end{DoxyParamCaption})}



Set data to Eldbus\+\_\+\+Message\+\_\+\+Iter. 

For each complete in signature you need pass the value, in case of complex type a pointer to be allocated a Eldbus\+\_\+\+Message\+\_\+\+Iter that you need fill and close.

It\textquotesingle{}s not possible open two iterators at same Iterator. Example\+: \char`\"{}aiai\char`\"{}, to set this you need create and put the first array with \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}} fill array with data and close then you could open the second array with \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}}.


\begin{DoxyParams}{Parameters}
{\em iter} & iterator \\
\hline
{\em signature} & of data \\
\hline
{\em ap} & va\+\_\+list with the values \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, else E\+I\+N\+A\+\_\+\+F\+A\+L\+SE
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function don\textquotesingle{}t support variant, use instead \mbox{\hyperlink{group__Eldbus__Message__Iter_gac053452551e924020d2105d87e73521e}{eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+new()}} to create the variant fill data and close it. 
\end{DoxyNote}


Referenced by eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+append().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga5482d43616555df5c91e0004085fb97a}\label{group__Eldbus__Message__Iter_ga5482d43616555df5c91e0004085fb97a}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_fixed\_array\_append@{eldbus\_message\_iter\_fixed\_array\_append}}
\index{eldbus\_message\_iter\_fixed\_array\_append@{eldbus\_message\_iter\_fixed\_array\_append}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_fixed\_array\_append()}{eldbus\_message\_iter\_fixed\_array\_append()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+fixed\+\_\+array\+\_\+append (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{int}]{type,  }\item[{const void $\ast$}]{array,  }\item[{unsigned int}]{size }\end{DoxyParamCaption})}



Append a array of basic type with fixed size to Eldbus\+\_\+\+Message\+\_\+\+Iter. 


\begin{DoxyParams}{Parameters}
{\em iter} & iterator \\
\hline
{\em type} & basic type that will be appended \\
\hline
{\em array} & data to append \\
\hline
{\em size} & of array \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, else E\+I\+N\+A\+\_\+\+F\+A\+L\+SE 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+F\+A\+L\+S\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL.

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}\label{group__Eldbus__Message__Iter_ga01840f4c9fb71cbf1c8081cf4e84189c}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_container\_close@{eldbus\_message\_iter\_container\_close}}
\index{eldbus\_message\_iter\_container\_close@{eldbus\_message\_iter\_container\_close}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_container\_close()}{eldbus\_message\_iter\_container\_close()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+container\+\_\+close (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{sub }\end{DoxyParamCaption})}



Closes a container-\/typed value appended to the message. 


\begin{DoxyParams}{Parameters}
{\em iter} & parent of the sub-\/iterator \\
\hline
{\em sub} & the iterator that will be closed\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE if iterator was already close or if not enough memory 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+F\+A\+L\+S\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL.



Referenced by eldbus\+\_\+proxy\+\_\+property\+\_\+set(), eldbus\+\_\+proxy\+\_\+property\+\_\+value\+\_\+set(), elocation\+\_\+address\+\_\+to\+\_\+position(), and elocation\+\_\+position\+\_\+to\+\_\+address().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga7ca2412ef3cf3c8f77e3782413820814}\label{group__Eldbus__Message__Iter_ga7ca2412ef3cf3c8f77e3782413820814}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_get@{eldbus\_message\_iter\_get}}
\index{eldbus\_message\_iter\_get@{eldbus\_message\_iter\_get}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_get()}{eldbus\_message\_iter\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}}$\ast$ eldbus\+\_\+message\+\_\+iter\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message}} $\ast$}]{msg }\end{DoxyParamCaption})}



Get the main Eldbus\+\_\+\+Message\+\_\+\+Iter from the Eldbus\+\_\+\+Message. 


\begin{DoxyParams}{Parameters}
{\em msg} & The message to get the iterator from.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The iterator of the message. 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL.



Referenced by eldbus\+\_\+message\+\_\+from\+\_\+eina\+\_\+value(), eldbus\+\_\+message\+\_\+to\+\_\+eina\+\_\+value(), eldbus\+\_\+proxy\+\_\+property\+\_\+set(), eldbus\+\_\+proxy\+\_\+property\+\_\+value\+\_\+set(), elocation\+\_\+address\+\_\+to\+\_\+position(), elocation\+\_\+landmarks\+\_\+get(), and elocation\+\_\+position\+\_\+to\+\_\+address().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gad4549921e09633aa56599204278ffade}\label{group__Eldbus__Message__Iter_gad4549921e09633aa56599204278ffade}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_basic\_get@{eldbus\_message\_iter\_basic\_get}}
\index{eldbus\_message\_iter\_basic\_get@{eldbus\_message\_iter\_basic\_get}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_basic\_get()}{eldbus\_message\_iter\_basic\_get()}}
{\footnotesize\ttfamily void eldbus\+\_\+message\+\_\+iter\+\_\+basic\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{void $\ast$}]{value }\end{DoxyParamCaption})}



Get a basic type from Eldbus\+\_\+\+Iterator. 


\begin{DoxyParams}{Parameters}
{\em iter} & The iterator to get the basic type from. \\
\hline
{\em value} & The basic type of the iterator. \\
\hline
\end{DoxyParams}


References E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+RN.

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gab0201e1d78d70477ba337d0aa2977802}\label{group__Eldbus__Message__Iter_gab0201e1d78d70477ba337d0aa2977802}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_signature\_get@{eldbus\_message\_iter\_signature\_get}}
\index{eldbus\_message\_iter\_signature\_get@{eldbus\_message\_iter\_signature\_get}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_signature\_get()}{eldbus\_message\_iter\_signature\_get()}}
{\footnotesize\ttfamily char$\ast$ eldbus\+\_\+message\+\_\+iter\+\_\+signature\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter }\end{DoxyParamCaption})}



Returns the current signature of a message iterator. 


\begin{DoxyParams}{Parameters}
{\em iter} & The iterator on which to query the signature. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string containing the message iterator signature.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned string must be freed. 
\end{DoxyNote}


Referenced by eldbus\+\_\+message\+\_\+iter\+\_\+dict\+\_\+iterate().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga1c7d3e40bbb79e928881eca98c284162}\label{group__Eldbus__Message__Iter_ga1c7d3e40bbb79e928881eca98c284162}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_next@{eldbus\_message\_iter\_next}}
\index{eldbus\_message\_iter\_next@{eldbus\_message\_iter\_next}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_next()}{eldbus\_message\_iter\_next()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter }\end{DoxyParamCaption})}



Moves the iterator to the next field, if any. 


\begin{DoxyParams}{Parameters}
{\em iter} & iterator\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
if iterator was reach to end return E\+I\+N\+A\+\_\+\+F\+A\+L\+SE 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL.

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga45c7d707ee830ae5be39c17df05af615}\label{group__Eldbus__Message__Iter_ga45c7d707ee830ae5be39c17df05af615}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_get\_and\_next@{eldbus\_message\_iter\_get\_and\_next}}
\index{eldbus\_message\_iter\_get\_and\_next@{eldbus\_message\_iter\_get\_and\_next}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_get\_and\_next()}{eldbus\_message\_iter\_get\_and\_next()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+get\+\_\+and\+\_\+next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{char}]{signature,  }\item[{}]{... }\end{DoxyParamCaption})}



Get a complete type from Eldbus\+\_\+\+Message\+\_\+\+Iter if is not at the end of iterator and move to next field. 

Useful to iterate over arrays.


\begin{DoxyParams}{Parameters}
{\em iter} & iterator \\
\hline
{\em signature} & of the next completed type in Iterator \\
\hline
{\em ...} & pointer of where data will be stored\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
if iterator was reach to end or if type different of the type that iterator points return E\+I\+N\+A\+\_\+\+F\+A\+L\+SE
\end{DoxyReturn}
Get a complete type from Eldbus\+\_\+\+Message\+\_\+\+Iter if is not at the end of iterator and move to next field. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+inlist\+\_\+append(), E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+G\+ET, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by efl\+\_\+net\+\_\+connman\+\_\+access\+\_\+point\+\_\+update(), efl\+\_\+net\+\_\+connman\+\_\+technology\+\_\+new(), and eldbus\+\_\+message\+\_\+iter\+\_\+dict\+\_\+iterate().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gaccd0410dc29928b34f90b3055600672a}\label{group__Eldbus__Message__Iter_gaccd0410dc29928b34f90b3055600672a}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_fixed\_array\_get@{eldbus\_message\_iter\_fixed\_array\_get}}
\index{eldbus\_message\_iter\_fixed\_array\_get@{eldbus\_message\_iter\_fixed\_array\_get}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_fixed\_array\_get()}{eldbus\_message\_iter\_fixed\_array\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+fixed\+\_\+array\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{int}]{signature,  }\item[{void $\ast$}]{value,  }\item[{int $\ast$}]{n\+\_\+elements }\end{DoxyParamCaption})}



Reads a block of fixed-\/length values from the message iterator. 

Fixed-\/length values are those basic types that are not string-\/like, such as integers, bool, double. The returned block will be from the current position in the array until the end of the array.

There is one exception here\+: although E\+L\+D\+B\+U\+S\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+I\+X\+\_\+\+FD is considered a \textquotesingle{}fixed\textquotesingle{} type arrays of this type may not be read with this function.

The value argument should be the address of a location to store the returned array. So for int32 it should be a \char`\"{}const dbus\+\_\+int32\+\_\+t$\ast$$\ast$\char`\"{} The returned value is by reference and should not be freed.

Because the array is not copied, this function runs in constant time and is fast; it\textquotesingle{}s much preferred over walking the entire array with an iterator.


\begin{DoxyParams}{Parameters}
{\em iter} & The message iterator \\
\hline
{\em signature} & \\
\hline
{\em value} & \\
\hline
{\em n\+\_\+elements} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, else E\+I\+N\+A\+\_\+\+F\+A\+L\+SE. 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+F\+A\+L\+S\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+N\+U\+L\+L\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, E\+I\+N\+A\+\_\+\+S\+A\+F\+E\+T\+Y\+\_\+\+O\+N\+\_\+\+T\+R\+U\+E\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+V\+AL, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Eldbus__Message__Iter_gae44918ce0b571a30546219d1d5040da0}\label{group__Eldbus__Message__Iter_gae44918ce0b571a30546219d1d5040da0}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_arguments\_get@{eldbus\_message\_iter\_arguments\_get}}
\index{eldbus\_message\_iter\_arguments\_get@{eldbus\_message\_iter\_arguments\_get}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_arguments\_get()}{eldbus\_message\_iter\_arguments\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{const char $\ast$}]{signature,  }\item[{}]{... }\end{DoxyParamCaption})}



Get data from Eldbus\+\_\+\+Message\+\_\+\+Iter, for each complete type must have a pointer to store his value, in case of complex type a Eldbus\+\_\+\+Message\+\_\+\+Iter will be need. 


\begin{DoxyParams}{Parameters}
{\em iter} & iterator \\
\hline
{\em signature} & of the complete data types on interator \\
\hline
{\em ...} & pointers of where data will be stored\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE if signature different from signature in iterator 
\end{DoxyReturn}


Referenced by eldbus\+\_\+message\+\_\+iter\+\_\+dict\+\_\+iterate().

\mbox{\Hypertarget{group__Eldbus__Message__Iter_ga717a7e00c9cb7f2a55241d866668b567}\label{group__Eldbus__Message__Iter_ga717a7e00c9cb7f2a55241d866668b567}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_arguments\_vget@{eldbus\_message\_iter\_arguments\_vget}}
\index{eldbus\_message\_iter\_arguments\_vget@{eldbus\_message\_iter\_arguments\_vget}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_arguments\_vget()}{eldbus\_message\_iter\_arguments\_vget()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eldbus\+\_\+message\+\_\+iter\+\_\+arguments\+\_\+vget (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter,  }\item[{const char $\ast$}]{signature,  }\item[{va\+\_\+list}]{ap }\end{DoxyParamCaption})}



Get data from Eldbus\+\_\+\+Message\+\_\+\+Iter, for each complete type must have a pointer to store his value, in case of complex type a Eldbus\+\_\+\+Message\+\_\+\+Iter will be need. 


\begin{DoxyParams}{Parameters}
{\em iter} & iterator \\
\hline
{\em signature} & of the complete data types on interator \\
\hline
{\em ap} & va\+\_\+list of the pointers of where data will be stored\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+F\+A\+L\+SE if signature different from signature in iterator 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Eldbus__Message__Iter_gaac4004e9189b7bb6baddf3e65c9ec830}\label{group__Eldbus__Message__Iter_gaac4004e9189b7bb6baddf3e65c9ec830}} 
\index{Iterator@{Iterator}!eldbus\_message\_iter\_del@{eldbus\_message\_iter\_del}}
\index{eldbus\_message\_iter\_del@{eldbus\_message\_iter\_del}!Iterator@{Iterator}}
\doxysubsubsection{\texorpdfstring{eldbus\_message\_iter\_del()}{eldbus\_message\_iter\_del()}}
{\footnotesize\ttfamily void eldbus\+\_\+message\+\_\+iter\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter}} $\ast$}]{iter }\end{DoxyParamCaption})}



Manually delete the iterator. 

Iterators are usually bound to the life of \mbox{\hyperlink{group__Eldbus__Message}{Message}} they were created from, being deleted automatically once the message is deleted.

However when dealing with huge arrays or dicts it may become a major memory impact to leave the unused iterators alive. By calling this function one states the iterator is not used anymore and can be deleted.


\begin{DoxyParams}{Parameters}
{\em iter} & the iterator to be deleted. \\
\hline
\end{DoxyParams}
