\doxysubsubsubsubsection{Generic Value management}
\hypertarget{group__Eina__Value__Value__Group}{}\label{group__Eina__Value__Value__Group}\index{Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Value}{\+\_\+\+Eina\+\_\+\+Value}}
\begin{DoxyCompactList}\small\item\em defines the contents of a value \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\+\_\+value\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}type)
\begin{DoxyCompactList}\small\item\em Creates generic value storage. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void \mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\+\_\+value\+\_\+free}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Frees value and its data. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}type)
\begin{DoxyCompactList}\small\item\em Initializes generic value storage. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Empties a generic value storage. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga7000fb4fa0ca5b1d73a15820ddb0d560}{eina\+\_\+value\+\_\+copy}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}copy)
\begin{DoxyCompactList}\small\item\em Copies generic value storage. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603}{eina\+\_\+value\+\_\+compare}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}a, const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}b)
\begin{DoxyCompactList}\small\item\em Compares generic value storage. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value,...)
\begin{DoxyCompactList}\small\item\em Sets the generic value. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value,...)
\begin{DoxyCompactList}\small\item\em Gets the generic value. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Sets the generic value. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}{eina\+\_\+value\+\_\+vget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Gets the generic value. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const void \texorpdfstring{$\ast$}{*}ptr)
\begin{DoxyCompactList}\small\item\em Sets the generic value from pointer. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, void \texorpdfstring{$\ast$}{*}ptr)
\begin{DoxyCompactList}\small\item\em Gets the generic value to pointer. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}convert)
\begin{DoxyCompactList}\small\item\em Converts one value to another type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Value__Value__Group_gab5ec863437aca32d2b3847fed8e08925}{eina\+\_\+value\+\_\+to\+\_\+binbuf}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Converts one value to Eina\+\_\+\+Binbuf. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af}{eina\+\_\+value\+\_\+to\+\_\+string}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Converts value to string. \end{DoxyCompactList}\item 
static const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Eina__Value__Value__Group_ga3f10e60088b5a5b0e7d94147433aa7c5}{eina\+\_\+value\+\_\+type\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Queries value type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsubsubsection{Detailed Description}




\doxysubsubsubsubsubsection{Function Documentation}
\Hypertarget{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}\label{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549} 
\index{Generic Value management@{Generic Value management}!eina\_value\_new@{eina\_value\_new}}
\index{eina\_value\_new@{eina\_value\_new}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_new()}{eina\_value\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*} eina\+\_\+value\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}}]{type }\end{DoxyParamCaption})}



Creates generic value storage. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em type} & How to manage this value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new value or {\ttfamily NULL} on failure.
\end{DoxyReturn}
Create a new generic value storage. The members are managed using the description specified by {\itshape type}.

Some types may specify more operations\+: e.\+g.. \doxylink{group__Eina__Value__Group_ga8ec6d5bfa2fed9250e2dabc6d82d12c4}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY} uses \doxylink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()}, \doxylink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} and so on.

On failure, {\ttfamily NULL} is returned.

\begin{DoxyNote}{Note}
This calls creates from mempool and then uses \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()}. Consider using \doxylink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} and \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} instead to avoid memory allocations.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\+\_\+value\+\_\+free()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Eina__Value_gae9a68896e9c25312fcbedbd5c3061f43}{eina\+\_\+value\+\_\+util\+\_\+time\+\_\+string\+\_\+new()}}.

\Hypertarget{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}\label{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850} 
\index{Generic Value management@{Generic Value management}!eina\_value\_free@{eina\_value\_free}}
\index{eina\_value\_free@{eina\_value\_free}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_free()}{eina\_value\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} void eina\+\_\+value\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})}



Frees value and its data. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & value object\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}\label{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6} 
\index{Generic Value management@{Generic Value management}!eina\_value\_setup@{eina\_value\_setup}}
\index{eina\_value\_setup@{eina\_value\_setup}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_setup()}{eina\_value\_setup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+setup (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}}]{type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Initializes generic value storage. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em value} & Value object \\
\hline
\mbox{\texttt{ out}}  & {\em type} & How to manage this value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
Initializes existing generic value storage. The members are managed using the description specified by {\itshape type}.

Some types may specify more operations, as an example \doxylink{group__Eina__Value__Group_ga8ec6d5bfa2fed9250e2dabc6d82d12c4}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY} uses \doxylink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()}, \doxylink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} and so on.

\begin{DoxyNote}{Note}
Existing contents are ignored! If the value was previously used, then use \doxylink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} first.
\end{DoxyNote}
On failure, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} is returned.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}\label{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68} 
\index{Generic Value management@{Generic Value management}!eina\_value\_flush@{eina\_value\_flush}}
\index{eina\_value\_flush@{eina\_value\_flush}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_flush()}{eina\_value\_flush()}}
{\footnotesize\ttfamily static void eina\+\_\+value\+\_\+flush (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Empties a generic value storage. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Value object\\
\hline
\end{DoxyParams}
Releases all the resources associated with an \doxylink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}. The value must be already set with \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} or \doxylink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\+\_\+value\+\_\+new()}.

After this call returns, the contents of the value are undefined, but the value can be reused by calling \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} again.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} 

\doxylink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\+\_\+value\+\_\+free()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga7000fb4fa0ca5b1d73a15820ddb0d560}\label{group__Eina__Value__Value__Group_ga7000fb4fa0ca5b1d73a15820ddb0d560} 
\index{Generic Value management@{Generic Value management}!eina\_value\_copy@{eina\_value\_copy}}
\index{eina\_value\_copy@{eina\_value\_copy}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_copy()}{eina\_value\_copy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+copy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{copy }\end{DoxyParamCaption})}



Copies generic value storage. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ out}}  & {\em copy} & Destination value object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The {\itshape copy} object is considered uninitialized and its existing contents are overwritten (just as if \doxylink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()} was called on it).

The copy happens by calling \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} on {\itshape copy}, followed by getting the contents of {\itshape value} and setting it to {\itshape copy}.

\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Eina__Value__Type__Group_ga1793a92bdd3e6544ac63fd59cd76c2a2}{eina\+\_\+value\+\_\+type\+\_\+check()}}.



Referenced by \mbox{\hyperlink{group__Elm__Prefs_ga2b692083e7d307512858f1adc2563519}{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+get()}}, and \mbox{\hyperlink{group__Elm__Prefs_gaae2c2d085d8c0e9d6c24ff580807a54e}{elm\+\_\+prefs\+\_\+data\+\_\+value\+\_\+set()}}.

\Hypertarget{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603}\label{group__Eina__Value__Value__Group_ga7b136e61a22724f3dcdcbb715c28e603} 
\index{Generic Value management@{Generic Value management}!eina\_value\_compare@{eina\_value\_compare}}
\index{eina\_value\_compare@{eina\_value\_compare}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_compare()}{eina\_value\_compare()}}
{\footnotesize\ttfamily static int eina\+\_\+value\+\_\+compare (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{a,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Compares generic value storage. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em a} & left side of comparison \\
\hline
\mbox{\texttt{ in}}  & {\em b} & right side of comparison \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
less than zero if a \texorpdfstring{$<$}{<} b, greater than zero if a \texorpdfstring{$>$}{>} b, zero if a == b
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}\label{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294} 
\index{Generic Value management@{Generic Value management}!eina\_value\_set@{eina\_value\_set}}
\index{eina\_value\_set@{eina\_value\_set}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_set()}{eina\_value\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Data to set. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The variable argument is dependent on chosen type. The list for basic types\+:

\begin{DoxyItemize}
\item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+VALUE\+: Eina\+\_\+\+Value \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char \texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char \texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY\+: Eina\+\_\+\+Value\+\_\+\+Array \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LIST\+: Eina\+\_\+\+Value\+\_\+\+List \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm\texorpdfstring{$\ast$}{*}\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}}\ *value\ =\ \mbox{\hyperlink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\_value\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}});}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x\ =\ 567;}
\DoxyCodeLine{eina\_value\_set(value,\ 1234);}
\DoxyCodeLine{eina\_value\_set(value,\ x);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_flush(value);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_setup(value,\ \mbox{\hyperlink{group__Eina__Value__Group_ga916f76c8d5ffd4c3ee3c322a54efd0b7}{EINA\_VALUE\_TYPE\_STRING}});}
\DoxyCodeLine{eina\_value\_set(value,\ \textcolor{stringliteral}{"{}hello\ world!"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_gac833bf34f56ba77e87bbe6b79734b653}{eina\+\_\+value\+\_\+array\+\_\+set()} 

for list member see \doxylink{group__Eina__Value__List__Group_gafc779df6ff45d16b7ee83d82c0862964}{eina\+\_\+value\+\_\+list\+\_\+set()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get()} 

\doxylink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\doxylink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}\label{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb} 
\index{Generic Value management@{Generic Value management}!eina\_value\_get@{eina\_value\_get}}
\index{eina\_value\_get@{eina\_value\_get}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_get()}{eina\_value\_get()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object. \\
\hline
\mbox{\texttt{ out}}  & {\em ...} & Data value retrieved. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The value is returned in the variable argument parameter, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries{not}} be freed.

The variable argument is dependent on chosen type. The list for basic types\+:

\begin{DoxyItemize}
\item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+VALUE\+: Eina\+\_\+\+Value\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY\+: Eina\+\_\+\+Value\+\_\+\+Array\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LIST\+: Eina\+\_\+\+Value\+\_\+\+List\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm\texorpdfstring{$\ast$}{*}\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}}\ *value\ =\ \mbox{\hyperlink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\_value\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}});}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x;}
\DoxyCodeLine{\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_set(value,\ 1234);}
\DoxyCodeLine{eina\_value\_get(value,\ \&x);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_flush(value);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_setup(value,\ \mbox{\hyperlink{group__Eina__Value__Group_ga916f76c8d5ffd4c3ee3c322a54efd0b7}{EINA\_VALUE\_TYPE\_STRING}});}
\DoxyCodeLine{eina\_value\_set(value,\ \textcolor{stringliteral}{"{}hello\ world!"{}});}
\DoxyCodeLine{eina\_value\_get(value,\ \&s);}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} 

for list member see \doxylink{group__Eina__Value__List__Group_gaf1b31fc2085b8077f3789bb9365e6818}{eina\+\_\+value\+\_\+list\+\_\+get()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\doxylink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\doxylink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}\label{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4} 
\index{Generic Value management@{Generic Value management}!eina\_value\_vset@{eina\_value\_vset}}
\index{eina\_value\_vset@{eina\_value\_vset}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_vset()}{eina\_value\_vset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+vset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em args} & Variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_gaee7ba765015a4a8664d6cf0fad6f28bf}{eina\+\_\+value\+\_\+array\+\_\+vset()} 

for list member see \doxylink{group__Eina__Value__List__Group_gaaf1a01660592d3c6c563732420d6bd5d}{eina\+\_\+value\+\_\+list\+\_\+vset()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}{eina\+\_\+value\+\_\+vget()} 

\doxylink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\doxylink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10}\label{group__Eina__Value__Value__Group_ga4fbda28f76e3f9f9a62136fd00ea0e10} 
\index{Generic Value management@{Generic Value management}!eina\_value\_vget@{eina\_value\_vget}}
\index{eina\_value\_vget@{eina\_value\_vget}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_vget()}{eina\_value\_vget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+vget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{va\+\_\+list}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ out}}  & {\em args} & Variable argument \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The value is returned in the variable argument parameter, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries{not}} be freed.

\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_ga71628a82af073c59a241cf8c93c95d5d}{eina\+\_\+value\+\_\+array\+\_\+vget()} 

for list member see \doxylink{group__Eina__Value__List__Group_ga4d1be252489e727e0b396e67b9e10232}{eina\+\_\+value\+\_\+list\+\_\+vget()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{eina\+\_\+value\+\_\+hash\+\_\+vget()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\doxylink{group__Eina__Value__Value__Group_ga6f088fe6c6127d808cdf214b355cbdeb}{eina\+\_\+value\+\_\+get()} 

\doxylink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}\label{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e} 
\index{Generic Value management@{Generic Value management}!eina\_value\_pset@{eina\_value\_pset}}
\index{eina\_value\_pset@{eina\_value\_pset}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_pset()}{eina\_value\_pset()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+pset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{const void \texorpdfstring{$\ast$}{*}}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value from pointer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em ptr} & Pointer to specify the contents. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The pointer type is dependent on chosen value type. The list for basic types\+:

\begin{DoxyItemize}
\item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+VALUE\+: Eina\+\_\+\+Value\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY\+: Eina\+\_\+\+Value\+\_\+\+Array\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LIST\+: Eina\+\_\+\+Value\+\_\+\+List\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm\texorpdfstring{$\ast$}{*}\end{DoxyItemize}
\begin{DoxyNote}{Note}
the pointer contents are written using the size defined by type. It can be larger than void\texorpdfstring{$\ast$}{*} or uint64\+\_\+t.
\end{DoxyNote}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}}\ *value\ =\ \mbox{\hyperlink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\_value\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}});}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x\ =\ 567;}
\DoxyCodeLine{\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s\ =\ \textcolor{stringliteral}{"{}hello\ world!"{}};}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_pset(value,\ \&x);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_flush(value);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_setup(value,\ \mbox{\hyperlink{group__Eina__Value__Group_ga916f76c8d5ffd4c3ee3c322a54efd0b7}{EINA\_VALUE\_TYPE\_STRING}});}
\DoxyCodeLine{eina\_value\_pset(value,\ \&s);}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_ga2bbd3aa89ec9ac0cc01b86f5e5b139cd}{eina\+\_\+value\+\_\+array\+\_\+pset()} 

for list member see \doxylink{group__Eina__Value__List__Group_ga3394c575297f44f51510cdafe518a135}{eina\+\_\+value\+\_\+list\+\_\+pset()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}{eina\+\_\+value\+\_\+pget()} 

\doxylink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\doxylink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725}\label{group__Eina__Value__Value__Group_ga60f5603f5075da14f3cfd3ddc7766725} 
\index{Generic Value management@{Generic Value management}!eina\_value\_pget@{eina\_value\_pget}}
\index{eina\_value\_pget@{eina\_value\_pget}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_pget()}{eina\_value\_pget()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+pget (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{void \texorpdfstring{$\ast$}{*}}]{ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the generic value to pointer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ out}}  & {\em ptr} & Pointer to receive the contents. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} on success, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
The value is returned in pointer contents, the actual value is type-\/dependent, but usually it will be what is stored inside the object. There shouldn\textquotesingle{}t be any memory allocation, thus the contents should {\bfseries{not}} be freed.

The pointer type is dependent on chosen value type. The list for basic types\+:

\begin{DoxyItemize}
\item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+VALUE\+: Eina\+\_\+\+Value\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ARRAY\+: Eina\+\_\+\+Value\+\_\+\+Array\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LIST\+: Eina\+\_\+\+Value\+\_\+\+List\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob\texorpdfstring{$\ast$}{*} \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm\texorpdfstring{$\ast$}{*}\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}}\ *value\ =\ \mbox{\hyperlink{group__Eina__Value__Value__Group_ga5ca9b1b51f6ab84b1f714508f511c549}{eina\_value\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}});}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x;}
\DoxyCodeLine{\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_set(value,\ 1234);}
\DoxyCodeLine{eina\_value\_pget(value,\ \&x);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_flush(value);}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_setup(value,\ \mbox{\hyperlink{group__Eina__Value__Group_ga916f76c8d5ffd4c3ee3c322a54efd0b7}{EINA\_VALUE\_TYPE\_STRING}});}
\DoxyCodeLine{eina\_value\_set(value,\ \textcolor{stringliteral}{"{}hello\ world!"{}});}
\DoxyCodeLine{eina\_value\_pget(value,\ \&s);}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxyNote}{Note}
for array member see \doxylink{group__Eina__Value__Array__Group_ga9358dce2404ed0926db502539f8a1318}{eina\+\_\+value\+\_\+array\+\_\+get()} 

for list member see \doxylink{group__Eina__Value__List__Group_gaf1b31fc2085b8077f3789bb9365e6818}{eina\+\_\+value\+\_\+list\+\_\+get()} 

for hash member see \doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()}
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} 

\doxylink{group__Eina__Value__Value__Group_gab268bdee7835a81769ca56503f9addd4}{eina\+\_\+value\+\_\+vset()} 

\doxylink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}\label{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de} 
\index{Generic Value management@{Generic Value management}!eina\_value\_convert@{eina\_value\_convert}}
\index{eina\_value\_convert@{eina\_value\_convert}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_convert()}{eina\_value\_convert()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+convert (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{convert }\end{DoxyParamCaption})}



Converts one value to another type. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object. \\
\hline
\mbox{\texttt{ out}}  & {\em convert} & Destination value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\doxylink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE} if converted, \doxylink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
Converts one value to another trying first {\itshape value} type {\ttfamily convert\+\_\+to()} function. If unsuccessful, tries using {\ttfamily convert\+\_\+from()} function in {\itshape convert}.

Conversion functions are type defined, and the basic types can convert between themselves, but conversion is strict! That is, if converting from negative value to unsigned type, it will fail. It also fails on value overflow.

It is recommended that all types implement at least convert to string, used by \doxylink{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af}{eina\+\_\+value\+\_\+to\+\_\+string()}.

\begin{DoxyNote}{Note}
Both objects must have \doxylink{group__Eina__Value__Value__Group_gab5c6558b1b8be2ad597d71a765cbf5f6}{eina\+\_\+value\+\_\+setup()} called on them beforehand!
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{struct__Eina__Value__Type_aba1a36fc853a104df8dc458306e3d844}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Type\+::convert\+\_\+from}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Value__Type__Group_ga1793a92bdd3e6544ac63fd59cd76c2a2}{eina\+\_\+value\+\_\+type\+\_\+check()}}, and \mbox{\hyperlink{struct__Eina__Value_a1fd07b3214c901eec252a786cca47239}{\+\_\+\+Eina\+\_\+\+Value\+::type}}.



Referenced by \mbox{\hyperlink{group__Eina__Value__Value__Group_gab5ec863437aca32d2b3847fed8e08925}{eina\+\_\+value\+\_\+to\+\_\+binbuf()}}, and \mbox{\hyperlink{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af}{eina\+\_\+value\+\_\+to\+\_\+string()}}.

\Hypertarget{group__Eina__Value__Value__Group_gab5ec863437aca32d2b3847fed8e08925}\label{group__Eina__Value__Value__Group_gab5ec863437aca32d2b3847fed8e08925} 
\index{Generic Value management@{Generic Value management}!eina\_value\_to\_binbuf@{eina\_value\_to\_binbuf}}
\index{eina\_value\_to\_binbuf@{eina\_value\_to\_binbuf}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_to\_binbuf()}{eina\_value\_to\_binbuf()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga914e43cfe068d65db0dd3fbb80bcfd2a}{Eina\+\_\+\+Binbuf}} \texorpdfstring{$\ast$}{*} eina\+\_\+value\+\_\+to\+\_\+binbuf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})}



Converts one value to Eina\+\_\+\+Binbuf. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily NULL} if it failed to get a memory content, a valid Eina\+\_\+\+Binbuf otherwise.
\end{DoxyReturn}
Converts one value to EINA\+\_\+\+TYPE\+\_\+\+VALUE\+\_\+\+BLOB if necessary by calling {\ttfamily \doxylink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert()}} function.

\begin{DoxyNote}{Note}
You are responsible for destroying the Eina\+\_\+\+Binbuf returned.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af}{eina\+\_\+value\+\_\+to\+\_\+string()} 

\doxylink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_gafed8f157ce1542b0e92fc6668649af08}{eina\+\_\+binbuf\+\_\+append\+\_\+length()}}, \mbox{\hyperlink{group__Eina__Binary__Buffer__Group_ga9cad59aa480e4b9daebe278507db4e5a}{eina\+\_\+binbuf\+\_\+new()}}, \mbox{\hyperlink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert()}}, \mbox{\hyperlink{group__Eina__Value__Group_ga06540fbaf4a53dd90133deb813d4f102}{EINA\+\_\+\+VALUE\+\_\+\+EMPTY}}, and \mbox{\hyperlink{group__Eina__Value__Group_ga6ef66e48be1ba5e291096b6efeb1200d}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB}}.

\Hypertarget{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af}\label{group__Eina__Value__Value__Group_ga6d5197504d68bd4a72ff212fdda2b6af} 
\index{Generic Value management@{Generic Value management}!eina\_value\_to\_string@{eina\_value\_to\_string}}
\index{eina\_value\_to\_string@{eina\_value\_to\_string}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_to\_string()}{eina\_value\_to\_string()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga6ac08753ba12bc9c7a0390cf67868f4f}{EINA\+\_\+\+API}} char \texorpdfstring{$\ast$}{*} eina\+\_\+value\+\_\+to\+\_\+string (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})}



Converts value to string. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
newly allocated memory or {\ttfamily NULL} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert()} 

\doxylink{group__Eina__Value__Value__Group_gab5ec863437aca32d2b3847fed8e08925}{eina\+\_\+value\+\_\+to\+\_\+binbuf()} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Value__Value__Group_gafd6de1bb3ae7aecd804d7da76e3860de}{eina\+\_\+value\+\_\+convert()}}, \mbox{\hyperlink{group__Eina__Value__Type__Group_ga1793a92bdd3e6544ac63fd59cd76c2a2}{eina\+\_\+value\+\_\+type\+\_\+check()}}, \mbox{\hyperlink{group__Eina__Value__Group_ga916f76c8d5ffd4c3ee3c322a54efd0b7}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING}}, \mbox{\hyperlink{union__Eina__Value__Union_ad4839aa74c324cd3003954ccf656fccd}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Union\+::ptr}}, and \mbox{\hyperlink{struct__Eina__Value_a3b07134cb8ddb664e83d414f99d55bf6}{\+\_\+\+Eina\+\_\+\+Value\+::value}}.

\Hypertarget{group__Eina__Value__Value__Group_ga3f10e60088b5a5b0e7d94147433aa7c5}\label{group__Eina__Value__Value__Group_ga3f10e60088b5a5b0e7d94147433aa7c5} 
\index{Generic Value management@{Generic Value management}!eina\_value\_type\_get@{eina\_value\_type\_get}}
\index{eina\_value\_type\_get@{eina\_value\_type\_get}!Generic Value management@{Generic Value management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_type\_get()}{eina\_value\_type\_get()}}
{\footnotesize\ttfamily static const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*} eina\+\_\+value\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Queries value type. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Type instance, or {\ttfamily NULL} if type is invalid.
\end{DoxyReturn}
Check if value type is valid and returns it. A type is invalid if it does not exist or if it is using a different version field.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Type__Group_ga1793a92bdd3e6544ac63fd59cd76c2a2}{eina\+\_\+value\+\_\+type\+\_\+check()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
